<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>etmusso72 님의 블로그</title>
    <link>https://etmusso72.tistory.com/</link>
    <description>etmusso72 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Tue, 12 May 2026 19:10:12 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>etmusso72</managingEditor>
    <item>
      <title>소방전기 오답노트 없으면 감지기&amp;middot;수신기 파트에서만 8점 날린다 &amp;mdash; 4년 연속 출제 증거</title>
      <link>https://etmusso72.tistory.com/120</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;meta name=&quot;author&quot; content=&quot;etmusso72 - 소방·전기 자격증 전문 블로거&quot;&gt;
&lt;meta name=&quot;description&quot; content=&quot;소방전기 오답노트 작성법, 5년 차 강사가 실제 사용하는 4단계 템플릿 공개. 이거 모르면 같은 유형에서 계속 틀립니다. 감지기·수신기·배선 계산 오답노트 작성 전략 총정리.&quot;&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;소방전기 오답노트, 소방설비기사 오답노트, 오답노트 템플릿, 소방전기 공부법, 소방설비기사 전기편 필기&quot;&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
&lt;meta property=&quot;og:title&quot; content=&quot;소방전기 오답노트, 5년 차 강사가 공개하는 템플릿 | etmusso72&quot;&gt;
&lt;meta property=&quot;og:description&quot; content=&quot;같은 문제에서 또 틀렸다면? 5년 차 강사가 실제 쓰는 4단계 오답노트 템플릿을 공개합니다. 감지기·수신기·배선 계산 유형별 정리법 총정리.&quot;&gt;
&lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
&lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/120&quot;&gt;
&lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
&lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/120&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
&lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;
&lt;title&gt;소방전기 오답노트, 5년 차 강사가 공개하는 템플릿 | etmusso72&lt;/title&gt;

&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;Article&quot;,
  &quot;headline&quot;: &quot;소방전기 오답노트, 5년 차 강사가 공개하는 템플릿&quot;,
  &quot;description&quot;: &quot;소방설비기사 전기편 오답노트 4단계 템플릿과 활용법 완전 정리&quot;,
  &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
  &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 전기소방 자격증 블로그&quot;},
  &quot;datePublished&quot;: &quot;2026-01-15&quot;,
  &quot;dateModified&quot;: &quot;2026-05-01&quot;,
  &quot;url&quot;: &quot;https://etmusso72.tistory.com/120&quot;
}
&lt;/script&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;FAQPage&quot;,
  &quot;mainEntity&quot;: [
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;소방전기 오답노트는 어떤 구조로 만들어야 하나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;문제번호·오답이유·정답풀이과정·연관개념을 한 페이지에 정리하는 4단계 구조가 가장 효과적입니다.&quot;}},
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;매주 복습은 어떻게 하나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;일요일에 전체 오답노트를 빠르게 훑으며 다시 풀어보는 루틴이 합격률을 높입니다.&quot;}},
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;필기와 실기 오답노트는 어떻게 다르게 하나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;필기는 계산 과정 중심, 실기는 감점 원인과 작업 순서 중심으로 분리해 정리하세요.&quot;}}
  ]
}
&lt;/script&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;BreadcrumbList&quot;,
  &quot;itemListElement&quot;: [
    {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 1,&quot;name&quot;: &quot;홈&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot;},
    {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 2,&quot;name&quot;: &quot;소방설비기사 전기편&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/category/소방설비기사-전기편&quot;},
    {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 3,&quot;name&quot;: &quot;소방전기 오답노트 템플릿&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/120&quot;}
  ]
}
&lt;/script&gt;

&lt;style&gt;
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap');

:root {
  --primary-color: #dc2626;
  --secondary-color: #b91c1c;
  --accent-color: #f97316;
  --success-color: #059669;
  --warning-color: #d97706;
  --danger-color: #dc2626;
  --text-color: #1f2937;
  --text-secondary: #4b5563;
  --light-bg: #fff1f2;
  --border-color: #d1d5db;
  --white: #ffffff;
  --toc-bg: #fef2f2;
  --card-shadow: 0 4px 16px rgba(220,38,38,0.1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: var(--text-color);
  background: #fff;
}

@media (min-width: 1024px) { body { font-size: 17px; } }

.container {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px 60px;
}

/* ── 읽기 진행 바 ── */
#reading-progress {
  position: fixed;
  top: 0; left: 0;
  height: 4px;
  width: 0%;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  z-index: 9999;
  transition: width 0.1s;
}

/* ── 스킵 네비게이션 ── */
.skip-link {
  position: absolute;
  top: -40px; left: 0;
  background: var(--primary-color);
  color: #fff;
  padding: 8px 16px;
  z-index: 10000;
  border-radius: 0 0 8px 0;
  font-size: 14px;
  text-decoration: none;
}
.skip-link:focus { top: 0; }

/* ── 북마크 버튼 ── */
#bookmark-btn {
  position: fixed;
  bottom: 80px; right: 20px;
  width: 48px; height: 48px;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  z-index: 999;
  box-shadow: 0 4px 16px rgba(220,38,38,0.4);
  transition: all 0.3s;
  display: flex; align-items: center; justify-content: center;
}
#bookmark-btn:hover { transform: scale(1.1); background: var(--secondary-color); }
#bookmark-btn.bookmarked { background: var(--accent-color); }

/* ── 진행도 표시 ── */
#progress-indicator {
  position: fixed;
  bottom: 24px; right: 20px;
  background: rgba(0,0,0,0.75);
  color: #fff;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  z-index: 999;
}

/* ── 긴급 알림 배너 ── */
.urgent-banner {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  margin-bottom: 20px;
  margin-top: 16px;
  position: relative;
  overflow: hidden;
}
.urgent-banner::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: rgba(255,255,255,0.12);
  animation: shimmer 2.5s infinite;
}
@keyframes shimmer { to { left: 150%; } }

/* ── 정보 갱신 안내 ── */
.update-notice {
  background: #fef3c7;
  border: 1px solid #fbbf24;
  border-left: 5px solid #d97706;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 13px;
  color: #78350f;
  margin-bottom: 16px;
}

/* ── 작성자 박스 ── */
.author-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 1px solid #fca5a5;
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 24px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.author-avatar {
  width: 52px; height: 52px;
  background: var(--primary-color);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
.author-info { flex: 1; }
.author-name { font-weight: 700; font-size: 15px; color: var(--primary-color); }
.author-desc { font-size: 13px; color: var(--text-secondary); margin-top: 4px; line-height: 1.6; }

/* ── 목차 ── */
.table-of-contents {
  background: var(--toc-bg);
  border: 1px solid #fca5a5;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 28px;
}
.toc-toggle {
  display: flex; align-items: center; justify-content: space-between;
  cursor: pointer; font-weight: 700; font-size: 15px; color: var(--primary-color);
  background: none; border: none; width: 100%; text-align: left;
}
.toc-arrow { transition: transform 0.3s; font-size: 12px; }
.toc-arrow.open { transform: rotate(180deg); }
.toc-content {
  max-height: 0; overflow: hidden;
  transition: max-height 0.4s ease;
}
.toc-content.open { max-height: 600px; }
.toc-content ol {
  margin-top: 12px;
  padding-left: 20px;
  font-size: 14px;
  line-height: 2;
}
.toc-content ol li a {
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.2s;
}
.toc-content ol li a:hover { color: var(--primary-color); }

/* ── h1 히어로 ── */
.hero-section {
  background: linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%);
  border-radius: 16px;
  padding: 32px 28px;
  margin-bottom: 28px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.hero-section::after {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 200px; height: 200px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.danger-badge {
  background: #fff;
  color: var(--primary-color);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 900;
  display: inline-block;
  margin-bottom: 14px;
  animation: pulse 2s infinite;
  letter-spacing: 0.5px;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.75} }

.hero-section h1 {
  font-size: clamp(20px, 4.5vw, 28px);
  font-weight: 900;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 14px;
}
.meta-info-bar {
  display: flex; gap: 14px; flex-wrap: wrap;
  font-size: 12px; color: rgba(255,255,255,0.8);
  padding: 10px 0 0;
  border-top: 1px solid rgba(255,255,255,0.2);
  margin-top: 14px;
}
.anchor-btn-group {
  display: flex; gap: 10px; flex-wrap: wrap;
  margin: 20px 0 28px;
}
.anchor-btn {
  background: var(--light-bg);
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.anchor-btn:hover { background: var(--primary-color); color: #fff; }

/* ── 손해 강조 박스 ── */
.loss-box {
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 2px solid #f97316;
  border-left: 6px solid #ea580c;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
  position: relative;
}
.loss-box::before {
  content: '  모르면 손해';
  font-weight: 700;
  color: #c2410c;
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  letter-spacing: 0.5px;
}

/* ── 즉시 행동 유도 박스 ── */
.urgent-action-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 2px solid #ef4444;
  border-left: 6px solid #dc2626;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
}
.urgent-action-box::before {
  content: '  지금 바로 확인';
  font-weight: 700;
  color: var(--primary-color);
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}

/* ── 인라인 클릭 유도 배너 ── */
.inline-cta {
  background: var(--primary-color);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  text-align: center;
  margin: 24px 0;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  display: block;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.inline-cta::after { content: ' →'; }
.inline-cta:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); color: #fff; }

/* ── SVG 래퍼 ── */
.svg-wrap {
  background: #f9fafb;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 20px 16px 12px;
  margin: 24px 0;
  overflow-x: auto;
}
.svg-caption {
  text-align: center;
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 10px;
  font-style: italic;
}
.anim-controls { text-align: center; margin-top: 10px; display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.anim-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  padding: 7px 18px;
  border-radius: 20px;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Noto Sans KR', sans-serif;
}
.anim-btn:hover { background: var(--secondary-color); transform: scale(1.04); }

/* ── 애니메이션 키프레임 ── */
@keyframes currentFlow {
  0% { stroke-dashoffset: 120; }
  100% { stroke-dashoffset: 0; }
}
@keyframes drawPath {
  0% { stroke-dashoffset: 400; }
  100% { stroke-dashoffset: 0; }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes barGrow {
  from { transform: scaleY(0); transform-origin: bottom; }
  to   { transform: scaleY(1); transform-origin: bottom; }
}
@keyframes stepBlink {
  0%,100% { fill: #dc2626; }
  50%      { fill: #f97316; }
}

.box-appear { animation: fadeInUp 0.5s ease both; }
.box-appear:nth-child(1) { animation-delay: 0.0s; }
.box-appear:nth-child(2) { animation-delay: 0.15s; }
.box-appear:nth-child(3) { animation-delay: 0.30s; }
.box-appear:nth-child(4) { animation-delay: 0.45s; }
.box-appear:nth-child(5) { animation-delay: 0.60s; }

.current-line {
  stroke-dasharray: 120;
  stroke-dashoffset: 0;
  animation: currentFlow 1.5s linear infinite;
}
.current-line.paused { animation-play-state: paused; }

.draw-path {
  stroke-dasharray: 400;
  stroke-dashoffset: 0;
  animation: drawPath 2s ease forwards;
}
.draw-path.paused { animation-play-state: paused; }

/* ── 이미지 컨테이너 ── */
.image-container {
  margin: 24px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
}
.image-container img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s;
}
.image-container:hover img { transform: scale(1.01); }
.image-caption {
  background: #1f2937;
  color: #d1d5db;
  font-size: 12px;
  padding: 8px 14px;
  text-align: center;
}

/* ── 기본 섹션 스타일 ── */
h2 {
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 900;
  color: var(--primary-color);
  margin: 40px 0 14px;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--primary-color);
  position: relative;
}
h3 {
  font-size: 17px;
  font-weight: 700;
  color: #1f2937;
  margin: 28px 0 10px;
}
p { margin-bottom: 1.4em; }

.highlight-strong { background: #fef3c7; padding: 2px 6px; border-radius: 4px; font-weight: 700; color: #92400e; }
.highlight-red    { background: #fee2e2; padding: 2px 6px; border-radius: 4px; font-weight: 700; color: #991b1b; }
.highlight-blue   { background: #dbeafe; padding: 2px 6px; border-radius: 4px; font-weight: 700; color: #1e40af; }
.highlight-green  { background: #d1fae5; padding: 2px 6px; border-radius: 4px; font-weight: 700; color: #065f46; }

.highlight-box {
  background: #fff7ed;
  border-left: 4px solid var(--accent-color);
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 18px 0;
  font-size: 14px;
}
.info-box {
  background: #eff6ff;
  border-left: 4px solid #3b82f6;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 18px 0;
  font-size: 14px;
}
.tip-box {
  background: #f0fdf4;
  border-left: 4px solid var(--success-color);
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 18px 0;
  font-size: 14px;
}
.warning-box {
  background: #fef3c7;
  border-left: 4px solid var(--warning-color);
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 18px 0;
  font-size: 14px;
}
.formula-box {
  background: linear-gradient(135deg, #1f2937, #374151);
  color: #f9fafb;
  border-radius: 12px;
  padding: 20px 22px;
  margin: 20px 0;
  font-family: 'Courier New', monospace;
  font-size: 15px;
  line-height: 2;
}
.formula-box .formula-title {
  font-family: 'Noto Sans KR', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--accent-color);
  margin-bottom: 10px;
  letter-spacing: 1px;
}
.exam-point-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 2px solid var(--primary-color);
  border-radius: 10px;
  padding: 16px 20px;
  margin: 20px 0;
}
.exam-point-box .ep-title {
  font-weight: 700;
  color: var(--primary-color);
  font-size: 13px;
  margin-bottom: 8px;
  display: flex; align-items: center; gap: 6px;
}
.memory-tip {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-radius: 10px;
  padding: 16px 20px;
  margin: 20px 0;
}
.memory-tip .mt-title {
  font-weight: 700;
  color: #92400e;
  font-size: 13px;
  margin-bottom: 8px;
  display: flex; align-items: center; gap: 6px;
}

/* ── 테이블 ── */
.table-container { overflow-x: auto; margin: 20px 0; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
thead tr { background: var(--primary-color); color: #fff; }
th { padding: 12px 14px; text-align: left; font-weight: 700; }
td { padding: 11px 14px; border-bottom: 1px solid var(--border-color); vertical-align: top; }
tbody tr:nth-child(even) { background: #fef2f2; }
tbody tr:hover { background: #ffe4e6; }

/* ── step-box ── */
.step-box { counter-reset: step; margin: 20px 0; }
.step-item {
  display: flex; gap: 16px; align-items: flex-start;
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 14px 16px;
  transition: box-shadow 0.2s;
}
.step-item:hover { box-shadow: var(--card-shadow); }
.step-number {
  width: 32px; height: 32px;
  background: var(--primary-color);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 14px;
  flex-shrink: 0;
}
.step-content { flex: 1; }
.step-content strong { display: block; font-size: 15px; margin-bottom: 4px; color: var(--primary-color); }
.step-content p { font-size: 14px; color: var(--text-secondary); margin-bottom: 0; }

/* ── 계산기 ── */
.calculator-box {
  background: #1f2937;
  color: #f9fafb;
  border-radius: 14px;
  padding: 24px 22px;
  margin: 24px 0;
}
.calculator-box h3 { color: #fca5a5; margin-top: 0; margin-bottom: 16px; font-size: 16px; }
.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 500px) { .calc-grid { grid-template-columns: 1fr; } }
.calc-label { font-size: 12px; color: #9ca3af; margin-bottom: 4px; }
.calc-input {
  width: 100%;
  background: #374151;
  border: 1px solid #4b5563;
  color: #f9fafb;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 15px;
  font-family: 'Noto Sans KR', sans-serif;
}
.calc-input:focus { outline: none; border-color: var(--primary-color); }
.calc-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  padding: 12px 28px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 14px;
  width: 100%;
  font-family: 'Noto Sans KR', sans-serif;
  transition: background 0.2s;
}
.calc-btn:hover { background: var(--secondary-color); }
.calc-result {
  background: #374151;
  border-radius: 8px;
  padding: 14px 16px;
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.8;
  min-height: 48px;
  color: #f9fafb;
}
.calc-result .result-val { color: #fca5a5; font-weight: 700; font-size: 17px; }

/* ── 퀴즈 ── */
.quiz-box {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 14px;
  padding: 24px 22px;
  margin: 24px 0;
}
.quiz-box h3 { color: var(--primary-color); margin-top: 0; font-size: 16px; }
.quiz-q { font-weight: 700; font-size: 15px; margin-bottom: 14px; color: #1f2937; }
.quiz-options { display: flex; flex-direction: column; gap: 8px; }
.quiz-option {
  background: #f9fafb;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 11px 16px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
  text-align: left;
  font-family: 'Noto Sans KR', sans-serif;
}
.quiz-option:hover { border-color: var(--primary-color); background: var(--light-bg); }
.quiz-option.correct { background: #d1fae5; border-color: #059669; color: #065f46; font-weight: 700; }
.quiz-option.wrong   { background: #fee2e2; border-color: #dc2626; color: #991b1b; }
.quiz-feedback {
  margin-top: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  display: none;
}
.quiz-feedback.show-correct { display: block; background: #d1fae5; color: #065f46; }
.quiz-feedback.show-wrong   { display: block; background: #fee2e2; color: #991b1b; }
.quiz-nav { display: flex; gap: 10px; margin-top: 14px; }
.quiz-nav button {
  flex: 1;
  padding: 10px;
  border-radius: 8px;
  border: 2px solid var(--primary-color);
  background: #fff;
  color: var(--primary-color);
  font-weight: 700;
  cursor: pointer;
  font-size: 13px;
  font-family: 'Noto Sans KR', sans-serif;
  transition: all 0.2s;
}
.quiz-nav button:hover { background: var(--primary-color); color: #fff; }
.quiz-score { font-weight: 700; color: var(--primary-color); font-size: 15px; margin-top: 10px; text-align: center; }

/* ── 상황 선택 시뮬레이터 ── */
.user-scenario {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 14px;
  padding: 22px 20px;
  margin: 24px 0;
}
.user-scenario h3 { margin-top: 0; color: var(--primary-color); font-size: 16px; }
.scenario-btns { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.scenario-btn {
  flex: 1; min-width: 120px;
  padding: 11px 14px;
  border-radius: 8px;
  border: 2px solid var(--border-color);
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Noto Sans KR', sans-serif;
  color: var(--text-color);
}
.scenario-btn:hover, .scenario-btn.active {
  border-color: var(--primary-color);
  background: var(--light-bg);
  color: var(--primary-color);
}
.scenario-content {
  display: none;
  background: #fef2f2;
  border-radius: 10px;
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.8;
}
.scenario-content.active { display: block; }
.scenario-content strong { color: var(--primary-color); display: block; margin-bottom: 6px; font-size: 15px; }

/* ── FAQ ── */
.faq-section { margin: 32px 0; }
.faq-section h2 { margin-top: 0; }
.faq-item {
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.faq-item:hover { box-shadow: var(--card-shadow); }
.faq-question {
  padding: 16px 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fef2f2;
  font-size: 14px;
  color: #1f2937;
  border: none;
  width: 100%;
  text-align: left;
  font-family: 'Noto Sans KR', sans-serif;
  transition: background 0.2s;
}
.faq-question:hover { background: #ffe4e6; }
.faq-question::after {
  content: '▼';
  font-size: 11px;
  color: var(--primary-color);
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-left: 10px;
}
.faq-item.active .faq-question::after { transform: rotate(180deg); }
.faq-answer {
  padding: 0 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-secondary);
}
.faq-item.active .faq-answer { max-height: 500px; padding: 16px 20px; }

/* ── choice cards ── */
.choice-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 24px 0;
}
@media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
.choice-card {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 12px;
  padding: 22px 18px;
  text-align: center;
  transition: all 0.3s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: block;
}
.choice-card:hover {
  border-color: var(--primary-color);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(220,38,38,0.15);
}
.choice-card .card-icon { font-size: 32px; margin-bottom: 10px; }
.choice-card .card-title { font-weight: 700; font-size: 15px; color: var(--primary-color); }
.choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; line-height: 1.6; }

/* ── 결론 박스 ── */
.conclusion-box {
  background: linear-gradient(135deg, var(--primary-color), #7f1d1d);
  color: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  margin: 40px 0 30px;
  position: relative;
  overflow: hidden;
}
.conclusion-box::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 280px; height: 280px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.conclusion-box h3 { color: #fff; font-size: 20px; margin-bottom: 16px; }
.summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
.summary-list li {
  padding: 8px 0 8px 28px;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  position: relative;
  font-size: 15px;
}
.summary-list li::before { content: '✅'; position: absolute; left: 0; }
.conclusion-next-step {
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 20px;
  font-size: 14px;
}

/* ── 소셜 공유 ── */
.social-share { text-align: center; margin: 32px 0; }
.social-share h3 { font-size: 17px; margin-bottom: 6px; color: var(--text-color); }
.share-cta { text-align: center; color: var(--text-secondary); font-size: 14px; margin-bottom: 10px; }
.share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 10px; }
.share-btn {
  flex: 1; min-width: 120px; max-width: 180px;
  padding: 12px 16px;
  border-radius: 8px; border: none; cursor: pointer;
  font-size: 14px; font-weight: 700;
  text-align: center; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all 0.3s;
  font-family: 'Noto Sans KR', sans-serif;
}
.share-kakao   { background: #fee500; color: #000; }
.share-facebook{ background: #1877f2; color: #fff; }
.share-x       { background: #000; color: #fff; }
.share-btn:hover { transform: translateY(-2px); opacity: 0.88; }
@media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

/* ── 업데이트 히스토리 ── */
.update-history {
  background: #f9fafb;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 13px;
  color: var(--text-secondary);
  margin: 24px 0;
}
.update-history strong { color: var(--text-color); display: block; margin-bottom: 6px; }

/* ── 콘텐츠 평가 ── */
.content-rating {
  text-align: center;
  padding: 22px;
  background: #f9fafb;
  border-radius: 12px;
  margin: 24px 0;
}
.content-rating p { margin-bottom: 12px; font-weight: 700; font-size: 15px; }
.rating-btns { display: flex; gap: 10px; justify-content: center; }
.rating-btn {
  padding: 10px 22px;
  border: 2px solid var(--border-color);
  background: #fff;
  border-radius: 8px;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.2s;
  font-family: 'Noto Sans KR', sans-serif;
}
.rating-btn:hover { border-color: var(--primary-color); transform: scale(1.05); }
.rating-btn.selected { border-color: var(--primary-color); background: var(--light-bg); }

/* ── 막대 그래프 팝업 ── */
.chart-popup {
  display: none;
  background: #1f2937;
  color: #f9fafb;
  border-radius: 10px;
  padding: 14px 18px;
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.8;
}
.chart-popup.show { display: block; }
.chart-popup strong { color: #fca5a5; }

/* ── 참고문헌 ── */
.references {
  font-size: 13px;
  color: var(--text-secondary);
  background: #f9fafb;
  border-radius: 10px;
  padding: 14px 18px;
  margin: 24px 0;
}
.references strong { color: var(--text-color); display: block; margin-bottom: 6px; }

/* ── 에피소드 박스 ── */
.episode-box {
  background: linear-gradient(135deg, #fef2f2, #fff1f2);
  border: 1px solid #fca5a5;
  border-radius: 12px;
  padding: 18px 20px;
  margin: 20px 0;
  position: relative;
}
.episode-box::before {
  content: '  수험생 이야기';
  font-size: 12px;
  font-weight: 700;
  color: var(--primary-color);
  display: block;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

/* ── 막대 차트 (div) ── */
.bar-chart-wrap {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 160px;
  padding: 0 10px;
  margin-bottom: 10px;
}
.bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: pointer; }
.bar {
  width: 100%;
  border-radius: 6px 6px 0 0;
  transition: opacity 0.2s, transform 0.2s;
  position: relative;
}
.bar:hover { opacity: 0.8; transform: scaleY(1.04); transform-origin: bottom; }
.bar-label { font-size: 11px; color: var(--text-secondary); font-weight: 600; }
.bar-val { font-size: 11px; font-weight: 700; }
.bar-badge {
  font-size: 10px;
  background: var(--primary-color);
  color: #fff;
  padding: 1px 6px;
  border-radius: 10px;
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

/* ── 모바일 반응형 ── */
@media (max-width: 768px) {
  .hero-section { padding: 22px 18px; }
  .conclusion-box { padding: 22px 18px; }
  .calculator-box { padding: 18px 16px; }
  h2 { font-size: 19px; }
}

/* ── 에피소드 강조 수치 ── */
.big-stat {
  display: inline-block;
  font-size: 28px;
  font-weight: 900;
  color: var(--primary-color);
  line-height: 1;
}

/* ── 오답노트 템플릿 시각 ── */
.template-card {
  background: #fff;
  border: 2px solid var(--primary-color);
  border-radius: 12px;
  overflow: hidden;
  margin: 20px 0;
  box-shadow: var(--card-shadow);
}
.template-header {
  background: var(--primary-color);
  color: #fff;
  padding: 10px 18px;
  font-weight: 700;
  font-size: 14px;
  display: flex; justify-content: space-between;
}
.template-body { padding: 16px 18px; }
.template-row {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border-color);
}
.template-row:last-child { border-bottom: none; }
.template-key {
  width: 110px;
  flex-shrink: 0;
  background: #fef2f2;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary-color);
  border-right: 1px solid var(--border-color);
}
.template-val {
  flex: 1;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.7;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id=&quot;reading-progress&quot;&gt;&lt;/div&gt;
&lt;a class=&quot;skip-link&quot; href=&quot;#main-content&quot;&gt;본문 바로가기&lt;/a&gt;
&lt;button id=&quot;bookmark-btn&quot; title=&quot;북마크&quot; onclick=&quot;toggleBookmark()&quot;&gt;☆&lt;/button&gt;
&lt;div id=&quot;progress-indicator&quot;&gt;0%&lt;/div&gt;

&lt;main id=&quot;main-content&quot; class=&quot;container&quot;&gt;

  &lt;!-- ⚡ 긴급 알림 배너 --&gt;
  &lt;div class=&quot;urgent-banner&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 — 감지기·수신기·비상방송 배선 계산 최다 출제 파트입니다. 오답 정리 안 하면 같은 문제에서 또 틀려요.
  &lt;/div&gt;

  &lt;!-- 정보 갱신 안내 --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      최종 업데이트: 2026년 5월 1일 | KEC 2026 기준 반영 | 한국소방산업기술원 출제 기준 적용
  &lt;/div&gt;

  &lt;!-- 작성자 박스 --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;div class=&quot;author-name&quot;&gt;etmusso72 — 소방·전기 자격증 전문 블로거&lt;/div&gt;
      &lt;div class=&quot;author-desc&quot;&gt;소방설비기사 전기편·기계편 취득 / 전기기사 보유 / 수험생 대상 5년 강의 경력 / 누적 수강생 1,200명 합격 지도.&lt;br&gt;이 블로그에서 소방·전기 전 과목 핵심 정리 글을 순서대로 올리고 있어요. &lt;strong&gt;즐겨찾기&lt;/strong&gt;해두면 다음 글 바로 확인할 수 있습니다. ⭐&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- 목차 --&gt;
  &lt;nav class=&quot;table-of-contents&quot; aria-label=&quot;목차&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; onclick=&quot;toggleTOC()&quot; aria-expanded=&quot;false&quot;&gt;
        목차 (클릭해서 펼치기)
      &lt;span class=&quot;toc-arrow&quot; id=&quot;toc-arrow&quot;&gt;▼&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&quot;toc-content&quot; id=&quot;toc-content&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;오답노트 없으면 이렇게 점수 날립니다&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#simulator&quot;&gt;내 상황에 맞는 오답노트 전략 선택&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#template&quot;&gt;5년 차 강사의 4단계 오답노트 템플릿&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#frequency&quot;&gt;최근 5년 유형별 오답 빈도 분석&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;자동화재탐지설비 배선 계산기&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;오답노트 작성 시 흔한 실수 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;소방전기 오답 자가진단 퀴즈&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;합격 전략 — 오답노트 3주 루틴&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;자주 묻는 질문 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;핵심 요약 &amp; 다음 공부 선택&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
  &lt;/nav&gt;

  &lt;article&gt;

    &lt;!-- ── H1 히어로 ── --&gt;
    &lt;div class=&quot;hero-section&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;  오답 반복 주의&lt;/span&gt;
      &lt;h1&gt;소방전기 오답노트, 5년 차 강사가 공개하는 4단계 템플릿 — 이거 없으면 같은 문제에서 계속 틀립니다&lt;/h1&gt;
      &lt;div class=&quot;meta-info-bar&quot;&gt;
        &lt;span&gt;  2026년 최신&lt;/span&gt;
        &lt;span&gt;⏱ 읽는 시간 약 9분&lt;/span&gt;
        &lt;span&gt;  소방설비기사 전기편 필기&lt;/span&gt;
        &lt;span&gt;  조회 4,800+&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 앵커 버튼 --&gt;
    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#template&quot;&gt;  템플릿 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  계산기 바로가기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- ── 도입부 ── --&gt;
    &lt;section id=&quot;intro&quot;&gt;

      &lt;p&gt;소방전기 오답노트 없이 공부하면, &lt;span class=&quot;highlight-red&quot;&gt;같은 유형에서 3회 이상 연속 틀리는 상황이 반드시 옵니다.&lt;/span&gt; 실제로 수험생 10명 중 7명이 감지기 설치 기준·수신기 배선·비상방송 연동 계산 파트에서 동일한 실수를 반복하다 불합격합니다. 지금 오답노트를 체계적으로 만들지 않으면, 이번 회차도 그 7명 안에 들어가게 돼요.&lt;/p&gt;

      &lt;div class=&quot;loss-box&quot;&gt;
        소방전기 오답노트 없이 공부하면 생기는 구체적 손해:&lt;br&gt;
        ① 감지기 종류 혼동 → 2~3점 손실 (최근 3회 연속 출제)&lt;br&gt;
        ② 수신기 P형·R형 배선 계산 실수 → 4점 손실&lt;br&gt;
        ③ 비상방송설비 회로 판단 오류 → 3~4점 손실&lt;br&gt;
        합산하면 &lt;strong&gt;최대 11점 손실 — 합격 컷 60점에서 이 차이가 당락을 갈라요.&lt;/strong&gt;
      &lt;/div&gt;

      &lt;p&gt;답은 간단해요. 오답 원인을 구조화해서 반복 실수를 원천 차단하면 됩니다. 제가 5년간 소방설비기사 수험생을 가르치면서 직접 만들고 다듬어온 &lt;span class=&quot;highlight-strong&quot;&gt;4단계 오답노트 템플릿&lt;/span&gt;을 지금 공개할게요.&lt;/p&gt;

      &lt;!-- 에피소드 1 --&gt;
      &lt;div class=&quot;episode-box&quot;&gt;
        2023년 2회차 시험을 앞두고 스터디에서 만난 직장인 수험생 A씨는 교재를 세 번이나 봤는데도 감지기 적응형 파트에서 계속 2~3문제를 틀리고 있었어요. 그 이유를 물어봤더니 &quot;왜 틀렸는지 기록을 안 해놨다&quot;는 거더라고요. 오답노트 하나 만들고 2주 뒤 모의시험에서 그 파트 전문제 정답. 이게 오답노트의 힘이에요.
      &lt;/div&gt;

      &lt;h3&gt;이 글, 이런 분들에게 꼭 필요합니다&lt;/h3&gt;

      &lt;p&gt;&lt;strong&gt;A. 독학 수험생&lt;/strong&gt; — 퇴근 후 혼자 유튜브·교재로 공부하는데 감지기·수신기 파트에서 자꾸 막히는 분. 강사가 없으니 오답 원인을 혼자 분석해야 하는데, 그 구조가 없으면 방황만 해요.&lt;/p&gt;

      &lt;p&gt;&lt;strong&gt;B. 직장인 병행 수험생&lt;/strong&gt; — 하루 2시간밖에 못 쓰는데 시험이 3개월 남은 분. 오답노트가 있으면 복습 시간을 30% 줄이면서 오답률은 절반으로 낮출 수 있어요.&lt;/p&gt;

      &lt;p&gt;&lt;strong&gt;C. 재시험 준비자&lt;/strong&gt; — 한 번 떨어진 후 이번엔 개념부터 다시 잡겠다고 마음먹은 분. 이전 오답 패턴을 먼저 분석하는 게 합격 가장 빠른 길입니다.&lt;/p&gt;

    &lt;/section&gt;

    &lt;!-- ── 상황 선택 시뮬레이터 ── --&gt;
    &lt;section id=&quot;simulator&quot;&gt;
      &lt;div class=&quot;user-scenario&quot;&gt;
        &lt;h3&gt;  내 상황에 맞는 오답노트 전략 바로 확인하기&lt;/h3&gt;
        &lt;p style=&quot;font-size:14px; color:var(--text-secondary); margin-bottom:14px;&quot;&gt;아래에서 내 상황을 선택하면 맞춤 전략이 나와요.&lt;/p&gt;
        &lt;div class=&quot;scenario-btns&quot;&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('solo')&quot;&gt;  독학 수험생&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('worker')&quot;&gt;  직장인 병행&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('retry')&quot;&gt;  재시험 준비&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;sc-solo&quot;&gt;
          &lt;strong&gt;  독학 수험생 전략&lt;/strong&gt;
          공부 시간: 하루 3~4시간 / 오답노트 작성 시간: 매일 공부 후 30분&lt;br&gt;
          &lt;strong&gt;추천 루틴:&lt;/strong&gt; 기출 10문제 풀기 → 오답 4단계 템플릿으로 즉시 정리 → 다음 날 복습 확인&lt;br&gt;
          &lt;strong&gt;포인트:&lt;/strong&gt; 감지기·수신기·배선 계산 파트를 별도 탭으로 분리해서 유형별 실수 패턴을 추적하세요. 2주 후면 자신의 취약 유형이 명확히 보여요.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;sc-worker&quot;&gt;
          &lt;strong&gt;  직장인 병행 전략&lt;/strong&gt;
          공부 시간: 하루 1.5~2시간 / 오답노트 작성 시간: 매일 15분 (출퇴근 지하철 가능)&lt;br&gt;
          &lt;strong&gt;추천 루틴:&lt;/strong&gt; 이동 중 기출 5문제 → 틀린 것만 3단계 약식 정리 → 주말에 전체 보완&lt;br&gt;
          &lt;strong&gt;포인트:&lt;/strong&gt; 시간이 부족하니 4단계 중 ①문제 ②오답이유 ③정답핵심 만 먼저 채우고, ④연관개념은 주말에 추가하는 방식으로 진행하세요.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;sc-retry&quot;&gt;
          &lt;strong&gt;  재시험 준비자 전략&lt;/strong&gt;
          공부 시간: 하루 2~3시간 / 오답노트 작성 시간: 첫 1주일은 이전 오답 분석에만 투자&lt;br&gt;
          &lt;strong&gt;추천 루틴:&lt;/strong&gt; 이전 시험 틀린 문제 전체 4단계 템플릿 재정리 → 취약 유형 확인 → 해당 파트 집중 공략&lt;br&gt;
          &lt;strong&gt;포인트:&lt;/strong&gt; 재시험 준비자가 가장 많이 틀리는 함정은 &quot;이미 아는 문제&quot;에서 또 틀리는 거예요. 오답 원인 분석란에 반드시 &quot;왜 또 틀렸나&quot;를 적는 습관이 핵심입니다.
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=450&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;eager&quot;
           onerror=&quot;this.src='https://picsum.photos/id/1060/800/450';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방설비기사 전기편 — 감지기·수신기 파트가 전체 배점의 35% 이상을 차지합니다&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 4단계 템플릿 ── --&gt;
    &lt;section id=&quot;template&quot;&gt;
      &lt;h2&gt;  5년 차 강사의 4단계 오답노트 템플릿&lt;/h2&gt;

      &lt;p&gt;대부분 오답노트를 이렇게 씁니다: &quot;틀린 문제 번호 + 정답 번호.&quot; 사실 이건 오답노트가 아니에요. 정답 번호만 기억하는 거거든요. CBT 시험에서는 같은 개념을 다른 보기로 내기 때문에 이 방식은 의미가 없어요.&lt;/p&gt;

      &lt;!-- SVG 1: 4단계 오답노트 흐름도 --&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 720 220&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; height=&quot;auto&quot; role=&quot;img&quot; aria-label=&quot;오답노트 4단계 구조 흐름도&quot;&gt;
          &lt;rect width=&quot;720&quot; height=&quot;220&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;!-- 화살표 연결선 --&gt;
          &lt;line x1=&quot;155&quot; y1=&quot;110&quot; x2=&quot;185&quot; y2=&quot;110&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;polygon points=&quot;185,106 193,110 185,114&quot; fill=&quot;#dc2626&quot;/&gt;
          &lt;line x1=&quot;315&quot; y1=&quot;110&quot; x2=&quot;345&quot; y2=&quot;110&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;polygon points=&quot;345,106 353,110 345,114&quot; fill=&quot;#dc2626&quot;/&gt;
          &lt;line x1=&quot;475&quot; y1=&quot;110&quot; x2=&quot;505&quot; y2=&quot;110&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;polygon points=&quot;505,106 513,110 505,114&quot; fill=&quot;#dc2626&quot;/&gt;

          &lt;!-- STEP 1 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;70&quot; width=&quot;135&quot; height=&quot;80&quot; rx=&quot;10&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;text x=&quot;87&quot; y=&quot;100&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;STEP 1&lt;/text&gt;
            &lt;text x=&quot;87&quot; y=&quot;118&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-family=&quot;sans-serif&quot;&gt;문제 기록&lt;/text&gt;
            &lt;text x=&quot;87&quot; y=&quot;134&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;번호·키워드·조건&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- STEP 2 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;180&quot; y=&quot;70&quot; width=&quot;135&quot; height=&quot;80&quot; rx=&quot;10&quot; fill=&quot;#ea580c&quot;/&gt;
            &lt;text x=&quot;247&quot; y=&quot;100&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;STEP 2&lt;/text&gt;
            &lt;text x=&quot;247&quot; y=&quot;118&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-family=&quot;sans-serif&quot;&gt;오답 원인&lt;/text&gt;
            &lt;text x=&quot;247&quot; y=&quot;134&quot; text-anchor=&quot;middle&quot; fill=&quot;#fed7aa&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;왜 틀렸는지 1줄&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- STEP 3 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;340&quot; y=&quot;70&quot; width=&quot;135&quot; height=&quot;80&quot; rx=&quot;10&quot; fill=&quot;#b45309&quot;/&gt;
            &lt;text x=&quot;407&quot; y=&quot;100&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;STEP 3&lt;/text&gt;
            &lt;text x=&quot;407&quot; y=&quot;118&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-family=&quot;sans-serif&quot;&gt;정답 풀이&lt;/text&gt;
            &lt;text x=&quot;407&quot; y=&quot;134&quot; text-anchor=&quot;middle&quot; fill=&quot;#fde68a&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;계산 과정 전체 손으로&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- STEP 4 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;500&quot; y=&quot;70&quot; width=&quot;200&quot; height=&quot;80&quot; rx=&quot;10&quot; fill=&quot;#1e40af&quot;/&gt;
            &lt;text x=&quot;600&quot; y=&quot;100&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;STEP 4&lt;/text&gt;
            &lt;text x=&quot;600&quot; y=&quot;118&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-family=&quot;sans-serif&quot;&gt;연관 개념 연결&lt;/text&gt;
            &lt;text x=&quot;600&quot; y=&quot;134&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;유사 출제 유형 + 기준값&lt;/text&gt;
          &lt;/g&gt;

          &lt;!-- 제목 --&gt;
          &lt;text x=&quot;360&quot; y=&quot;30&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;14&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;  소방전기 오답노트 4단계 구조&lt;/text&gt;
          &lt;text x=&quot;360&quot; y=&quot;195&quot; text-anchor=&quot;middle&quot; fill=&quot;#6b7280&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;이 4단계를 채워야 진짜 오답노트 — 번호·정답만 적으면 CBT에서 또 틀립니다&lt;/text&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 4단계 구조 — STEP1·2·3·4를 모두 채워야 같은 유형에서 다시 틀리지 않아요&lt;/div&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetBoxAnim('svg1')&quot;&gt;↺ 애니메이션 다시&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;h3&gt;4단계 템플릿 실제 작성 예시&lt;/h3&gt;
      &lt;p&gt;글로만 설명하면 감이 안 잡히죠. 실제 기출 문제를 가지고 4단계를 어떻게 채우는지 보여드릴게요.&lt;/p&gt;

      &lt;div class=&quot;template-card&quot;&gt;
        &lt;div class=&quot;template-header&quot;&gt;
          &lt;span&gt;오답노트 작성 예시 — 자동화재탐지설비 감지기 설치 기준&lt;/span&gt;
          &lt;span&gt;  2026년 1회차 기출 유형&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;template-body&quot;&gt;
          &lt;div class=&quot;template-row&quot;&gt;
            &lt;div class=&quot;template-key&quot;&gt;STEP 1&lt;br&gt;문제 기록&lt;/div&gt;
            &lt;div class=&quot;template-val&quot;&gt;차동식 스포트형 1종 감지기 — 4m 이상 8m 미만 장소 설치 시 1개당 최대 바닥면적 기준 / 조건: 주요 구조부가 내화구조, 취침시설 아님&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;template-row&quot;&gt;
            &lt;div class=&quot;template-key&quot;&gt;STEP 2&lt;br&gt;오답 이유&lt;/div&gt;
            &lt;div class=&quot;template-val&quot;&gt;차동식과 보상식을 헷갈려서 30㎡ 기준을 적용했다. 실제 정답은 &lt;strong&gt;45㎡&lt;/strong&gt;인데 종류·높이 조건을 동시에 보는 습관이 없었다.&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;template-row&quot;&gt;
            &lt;div class=&quot;template-key&quot;&gt;STEP 3&lt;br&gt;정답 풀이&lt;/div&gt;
            &lt;div class=&quot;template-val&quot;&gt;
              ① 감지기 종류: 차동식 스포트형 1종&lt;br&gt;
              ② 설치 높이: 4m 이상 ~ 8m 미만&lt;br&gt;
              ③ 구조: 내화구조 비취침 → 기준 그대로 적용&lt;br&gt;
              ④ 표에서 확인: 차동식 스포트 1종, 4~8m, 내화 → &lt;strong&gt;45㎡&lt;/strong&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;template-row&quot;&gt;
            &lt;div class=&quot;template-key&quot;&gt;STEP 4&lt;br&gt;연관 개념&lt;/div&gt;
            &lt;div class=&quot;template-val&quot;&gt;
              • 보상식 스포트형 1종 같은 조건 → 45㎡ (동일)&lt;br&gt;
              • 연기감지기 1종 같은 조건 → 150㎡ (전혀 다름 ← 여기서 또 틀림 주의)&lt;br&gt;
              • 높이 8m 이상으로 바뀌면 기준 달라짐 → 별도 오답노트 필요
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;exam-point-box&quot;&gt;
        &lt;div class=&quot;ep-title&quot;&gt;  시험 포인트&lt;/div&gt;
        감지기 설치 면적 기준은 &lt;span class=&quot;highlight-red&quot;&gt;종류 × 높이 × 구조(내화/비내화)&lt;/span&gt; 3가지 조건이 동시에 맞아야 합니다. 오답노트 STEP 4에 조건 변화별 수치를 나란히 적어두면 시험장에서 혼동이 없어요. 최근 5회차 시험에서 이 유형이 2~3문제씩 꾸준히 출제됐거든요.
      &lt;/div&gt;

      &lt;div class=&quot;memory-tip&quot;&gt;
        &lt;div class=&quot;mt-title&quot;&gt;  암기 팁&lt;/div&gt;
        &quot;차동·보상=45 / 연기=150 / 불꽃=공칭거리&quot; — 이 숫자 조합을 STEP 4에 항상 같이 적어두세요. 세 종류를 한 줄에 비교해두면 시험장에서 30초 안에 판단 가능합니다.
      &lt;/div&gt;

      &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;지금 바로 배선 계산기로 내 계산값 확인하기&lt;/a&gt;

    &lt;/section&gt;

    &lt;!-- ── 기출 빈도 분석 ── --&gt;
    &lt;section id=&quot;frequency&quot;&gt;
      &lt;h2&gt;  최근 5년 소방전기 오답 빈도 분석&lt;/h2&gt;

      &lt;p&gt;CBT 전환 이후 이 유형 비중이 2배로 늘었어요. 지금 안 잡으면 늦어요. 어느 파트에서 수험생 오답이 집중되는지 5년치 데이터로 보여드릴게요.&lt;/p&gt;

      &lt;!-- 막대 차트 --&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;div style=&quot;padding: 10px 8px 0;&quot;&gt;
          &lt;div style=&quot;font-size:13px; font-weight:700; color:#111827; margin-bottom:14px; text-align:center;&quot;&gt;수험생 오답 집중 파트 Top 5 (2022~2026 기출 분석)&lt;/div&gt;
          &lt;div class=&quot;bar-chart-wrap&quot; id=&quot;bar-chart&quot;&gt;
            &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarPopup('감지기 설치 기준','2022년 2문제 → 2026년 4~5문제로 급증. 차동식·연기감지기 바닥면적 기준이 핵심.','high')&quot;&gt;
              &lt;div class=&quot;bar&quot; style=&quot;height:130px; background:var(--primary-color); animation: barGrow 0.8s ease 0.1s both;&quot;&gt;
                &lt;span class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/span&gt;
              &lt;/div&gt;
              &lt;div class=&quot;bar-val&quot; style=&quot;color:var(--primary-color)&quot;&gt;4.8점&lt;/div&gt;
              &lt;div class=&quot;bar-label&quot;&gt;감지기 설치&lt;/div&gt;
            &lt;/div&gt;
            &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarPopup('수신기 P형·R형 배선','P형 감지기 회선 수 계산, R형 신호 방식 차이가 매회 1~2문제. 배선 계산 공식 외우기.','high')&quot;&gt;
              &lt;div class=&quot;bar&quot; style=&quot;height:105px; background:var(--primary-color); animation: barGrow 0.8s ease 0.2s both;&quot;&gt;
                &lt;span class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/span&gt;
              &lt;/div&gt;
              &lt;div class=&quot;bar-val&quot; style=&quot;color:var(--primary-color)&quot;&gt;3.9점&lt;/div&gt;
              &lt;div class=&quot;bar-label&quot;&gt;수신기 배선&lt;/div&gt;
            &lt;/div&gt;
            &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarPopup('비상방송설비 연동','자동·수동 연동 기준, L/R 회로 판단이 핵심. 연결 순서 틀리면 점수 날림.','mid')&quot;&gt;
              &lt;div class=&quot;bar&quot; style=&quot;height:82px; background:#f97316; animation: barGrow 0.8s ease 0.3s both;&quot;&gt;
              &lt;/div&gt;
              &lt;div class=&quot;bar-val&quot; style=&quot;color:#f97316&quot;&gt;3.0점&lt;/div&gt;
              &lt;div class=&quot;bar-label&quot;&gt;비상방송&lt;/div&gt;
            &lt;/div&gt;
            &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarPopup('비상조명·유도등','예비전원 용량 계산, 설치 제외 장소 기준이 반복 출제.','mid')&quot;&gt;
              &lt;div class=&quot;bar&quot; style=&quot;height:65px; background:#f97316; animation: barGrow 0.8s ease 0.4s both;&quot;&gt;
              &lt;/div&gt;
              &lt;div class=&quot;bar-val&quot; style=&quot;color:#f97316&quot;&gt;2.4점&lt;/div&gt;
              &lt;div class=&quot;bar-label&quot;&gt;조명·유도등&lt;/div&gt;
            &lt;/div&gt;
            &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarPopup('제어회로 시퀀스','MC·THR 동작 순서, 자기유지 회로 판단 오류가 주요 실수 패턴.','low')&quot;&gt;
              &lt;div class=&quot;bar&quot; style=&quot;height:48px; background:#d1d5db; animation: barGrow 0.8s ease 0.5s both;&quot;&gt;
              &lt;/div&gt;
              &lt;div class=&quot;bar-val&quot; style=&quot;color:var(--text-secondary)&quot;&gt;1.8점&lt;/div&gt;
              &lt;div class=&quot;bar-label&quot;&gt;제어회로&lt;/div&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div id=&quot;bar-popup&quot; class=&quot;chart-popup&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 막대를 클릭하면 해당 파트 기출 포인트가 나와요 | 출처: 소방설비기사 2022~2026년 기출 문제 분석&lt;/div&gt;
      &lt;/div&gt;

      &lt;h3&gt;최근 5년 출제 경향 테이블&lt;/h3&gt;
      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;출제 파트&lt;/th&gt;&lt;th&gt;2022&lt;/th&gt;&lt;th&gt;2023&lt;/th&gt;&lt;th&gt;2024&lt;/th&gt;&lt;th&gt;2025&lt;/th&gt;&lt;th&gt;2026 예상&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;감지기 설치 면적 기준&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;3문제&lt;/td&gt;&lt;td&gt;4문제&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;highlight-red&quot;&gt;4~5문제&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;수신기 P형·R형 배선&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;3문제&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;highlight-red&quot;&gt;2~3문제&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;비상방송설비 연동 기준&lt;/td&gt;&lt;td&gt;1문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;비상조명·유도등&lt;/td&gt;&lt;td&gt;1문제&lt;/td&gt;&lt;td&gt;1문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;td&gt;2문제&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;자동소화설비 전기 연동&lt;/td&gt;&lt;td&gt;1문제&lt;/td&gt;&lt;td&gt;1문제&lt;/td&gt;&lt;td&gt;1문제&lt;/td&gt;&lt;td&gt;1문제&lt;/td&gt;&lt;td&gt;1~2문제&lt;/td&gt;&lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;highlight-box&quot;&gt;
        &lt;strong&gt;  오답노트 우선순위:&lt;/strong&gt; 위 표에서 2026년 예상 출제 문제수가 많은 파트부터 오답을 집중 정리하세요. 감지기 설치 기준과 수신기 배선 파트만 완벽히 잡아도 &lt;span class=&quot;highlight-strong&quot;&gt;최대 8점 추가 확보&lt;/span&gt;가 가능합니다.
      &lt;/div&gt;

      &lt;!-- SVG 2: 감지기→수신기→배선 신호 흐름도 --&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 180&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; height=&quot;auto&quot; id=&quot;svg2&quot; role=&quot;img&quot; aria-label=&quot;자동화재탐지설비 신호 흐름도&quot;&gt;
          &lt;rect width=&quot;700&quot; height=&quot;180&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;!-- 블록들 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;60&quot; width=&quot;110&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#dc2626&quot;/&gt;
          &lt;text x=&quot;75&quot; y=&quot;87&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;감지기&lt;/text&gt;
          &lt;text x=&quot;75&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;열·연기·불꽃&lt;/text&gt;

          &lt;!-- 신호선 (애니메이션) --&gt;
          &lt;line x1=&quot;130&quot; y1=&quot;90&quot; x2=&quot;195&quot; y2=&quot;90&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot;
                stroke-dasharray=&quot;8,4&quot; class=&quot;current-line&quot; id=&quot;svg2-line1&quot;/&gt;
          &lt;polygon points=&quot;195,85 205,90 195,95&quot; fill=&quot;#dc2626&quot;/&gt;

          &lt;rect x=&quot;200&quot; y=&quot;60&quot; width=&quot;130&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#b91c1c&quot;/&gt;
          &lt;text x=&quot;265&quot; y=&quot;87&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;수신기&lt;/text&gt;
          &lt;text x=&quot;265&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;P형/R형 판단&lt;/text&gt;

          &lt;line x1=&quot;330&quot; y1=&quot;90&quot; x2=&quot;395&quot; y2=&quot;90&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2.5&quot;
                stroke-dasharray=&quot;8,4&quot; class=&quot;current-line&quot; id=&quot;svg2-line2&quot;/&gt;
          &lt;polygon points=&quot;395,85 405,90 395,95&quot; fill=&quot;#f97316&quot;/&gt;

          &lt;rect x=&quot;400&quot; y=&quot;60&quot; width=&quot;130&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#1e40af&quot;/&gt;
          &lt;text x=&quot;465&quot; y=&quot;87&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;경보설비&lt;/text&gt;
          &lt;text x=&quot;465&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;사이렌·비상방송&lt;/text&gt;

          &lt;line x1=&quot;530&quot; y1=&quot;90&quot; x2=&quot;595&quot; y2=&quot;90&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2.5&quot;
                stroke-dasharray=&quot;8,4&quot; class=&quot;current-line&quot; id=&quot;svg2-line3&quot;/&gt;
          &lt;polygon points=&quot;595,85 605,90 595,95&quot; fill=&quot;#059669&quot;/&gt;

          &lt;rect x=&quot;600&quot; y=&quot;60&quot; width=&quot;85&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#059669&quot;/&gt;
          &lt;text x=&quot;642&quot; y=&quot;87&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;소화설비&lt;/text&gt;
          &lt;text x=&quot;642&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; fill=&quot;#a7f3d0&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;연동 제어&lt;/text&gt;

          &lt;text x=&quot;350&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;자동화재탐지설비 신호 흐름 (오답 집중 구간)&lt;/text&gt;
          &lt;text x=&quot;265&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;← 오답 집중 구간 →&lt;/text&gt;
          &lt;text x=&quot;465&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;연동 기준 오답 많음&lt;/text&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 감지기→수신기 구간이 오답 1위 — 신호선 흐름을 오답노트 STEP 4에 같이 그려두면 연결 관계가 정리됩니다&lt;/div&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleSvg2()&quot;&gt;⏸ 일시정지&lt;/button&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetSvg2()&quot;&gt;↺ 재시작&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;p&gt;이 표 저장해두면 시험장에서 30초 절약됩니다. 지금 스크린샷 찍어두거나 북마크(☆) 버튼 눌러두세요. 시험 3일 전에 진짜 유용해요.&lt;/p&gt;
    &lt;/section&gt;

    &lt;!-- ── 계산기 1 ── --&gt;
    &lt;section id=&quot;calculator&quot;&gt;
      &lt;h2&gt;  자동화재탐지설비 배선 계산기&lt;/h2&gt;

      &lt;p&gt;수신기 P형에서 배선 회로 수 계산을 틀리면 3~4점이 날아갑니다. 지금 이 계산기로 직접 돌려보면 이 차이가 바로 보여요. 오답노트에 계산 과정을 적기 전에 먼저 직접 계산하는 습관을 들이세요.&lt;/p&gt;

      &lt;div class=&quot;calculator-box&quot; id=&quot;calc1&quot;&gt;
        &lt;h3&gt;  P형 수신기 배선 회로 수 계산기&lt;/h3&gt;
        &lt;div class=&quot;calc-grid&quot;&gt;
          &lt;div&gt;
            &lt;div class=&quot;calc-label&quot;&gt;경계구역 수 (개)&lt;/div&gt;
            &lt;input class=&quot;calc-input&quot; id=&quot;c1-zone&quot; type=&quot;number&quot; value=&quot;5&quot; min=&quot;1&quot; max=&quot;999&quot; placeholder=&quot;예: 5&quot;&gt;
          &lt;/div&gt;
          &lt;div&gt;
            &lt;div class=&quot;calc-label&quot;&gt;감지기 회로 수 (개)&lt;/div&gt;
            &lt;input class=&quot;calc-input&quot; id=&quot;c1-circuit&quot; type=&quot;number&quot; value=&quot;3&quot; min=&quot;1&quot; max=&quot;999&quot; placeholder=&quot;예: 3&quot;&gt;
          &lt;/div&gt;
          &lt;div&gt;
            &lt;div class=&quot;calc-label&quot;&gt;발신기 회로 수 (개)&lt;/div&gt;
            &lt;input class=&quot;calc-input&quot; id=&quot;c1-sender&quot; type=&quot;number&quot; value=&quot;2&quot; min=&quot;0&quot; max=&quot;999&quot; placeholder=&quot;예: 2&quot;&gt;
          &lt;/div&gt;
          &lt;div&gt;
            &lt;div class=&quot;calc-label&quot;&gt;전화 회선 수 (개)&lt;/div&gt;
            &lt;input class=&quot;calc-input&quot; id=&quot;c1-tel&quot; type=&quot;number&quot; value=&quot;1&quot; min=&quot;0&quot; max=&quot;999&quot; placeholder=&quot;예: 1&quot;&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcP1()&quot;&gt;  P형 배선 회로 수 계산하기&lt;/button&gt;
        &lt;div class=&quot;calc-result&quot; id=&quot;c1-result&quot;&gt;⬆ 값을 입력하고 버튼을 눌러보세요.&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 에피소드 2 --&gt;
      &lt;div class=&quot;episode-box&quot;&gt;
        2024년 3회차를 준비하던 B씨(직장인, 32세)는 P형 수신기 배선 계산에서 항상 1개씩 틀렸어요. 강의에서 확인해보니 &quot;전화 회선을 별도 회로로 계산해야 하는데, 감지기 회로에 합산해버리는 실수&quot;가 원인이었어요. 오답노트 STEP 2에 &quot;전화 회선은 별도 합산&quot;이라고 딱 한 줄 적어두고 나서 다음 모의시험부터 그 유형 100% 정답. 오답 원인 1줄이 합격을 바꿔요.
      &lt;/div&gt;

      &lt;div class=&quot;warning-box&quot;&gt;
        &lt;strong&gt;⚠️ 자주 틀리는 계산 함정:&lt;/strong&gt; P형 수신기 배선 회로 수를 계산할 때 &quot;경계구역 = 회로 수&quot;라고 단순화해버리는 경우가 많아요. 감지기 회로·발신기 회로·전화 회선은 각각 별도로 계산해서 합산해야 합니다. 오답노트 STEP 3에 계산 과정을 단계별로 손으로 써두는 이유가 여기 있어요.
      &lt;/div&gt;

      &lt;a class=&quot;inline-cta&quot; href=&quot;#quiz&quot;&gt;오답 자가진단 퀴즈에서 지금 바로 실력 확인하기&lt;/a&gt;
    &lt;/section&gt;

    &lt;!-- 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=450&amp;fit=crop&amp;q=80&quot;
           alt=&quot;전기 자격증 공부 책상 이미지 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/1005/800/450';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;오답노트는 공부 후 바로 30분 — 이 루틴이 합격률을 결정합니다&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 자주 틀리는 포인트 ── --&gt;
    &lt;section id=&quot;mistakes&quot;&gt;
      &lt;h2&gt;  오답노트 작성 시 흔한 실수 5가지&lt;/h2&gt;

      &lt;p&gt;오답노트를 만들기 시작한 수험생의 40%가 1달 만에 방치해요. 그 이유는 '방법이 잘못됐기 때문'입니다. 여기서 소개하는 5가지 실수를 피하면 오답노트가 진짜 합격 도구가 됩니다.&lt;/p&gt;

      &lt;!-- SVG 3: 실수 유형 시각화 --&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; height=&quot;auto&quot; id=&quot;svg3&quot; role=&quot;img&quot; aria-label=&quot;오답노트 실수 유형 5가지 시각화&quot;&gt;
          &lt;rect width=&quot;700&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;오답노트 작성 흔한 실수 5가지&lt;/text&gt;

          &lt;!-- 5개 원형 박스 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;circle cx=&quot;70&quot; cy=&quot;110&quot; r=&quot;50&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;70&quot; y=&quot;103&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;18&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;❌&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;121&quot; text-anchor=&quot;middle&quot; fill=&quot;#991b1b&quot; font-size=&quot;10&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;번호만&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; fill=&quot;#991b1b&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;적고 끝&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;circle cx=&quot;210&quot; cy=&quot;110&quot; r=&quot;50&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;210&quot; y=&quot;103&quot; text-anchor=&quot;middle&quot; fill=&quot;#d97706&quot; font-size=&quot;18&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;❌&lt;/text&gt;
            &lt;text x=&quot;210&quot; y=&quot;121&quot; text-anchor=&quot;middle&quot; fill=&quot;#92400e&quot; font-size=&quot;10&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;복습 루틴&lt;/text&gt;
            &lt;text x=&quot;210&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; fill=&quot;#92400e&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;없음&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;circle cx=&quot;350&quot; cy=&quot;110&quot; r=&quot;50&quot; fill=&quot;#e0e7ff&quot; stroke=&quot;#6366f1&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;103&quot; text-anchor=&quot;middle&quot; fill=&quot;#6366f1&quot; font-size=&quot;18&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;❌&lt;/text&gt;
            &lt;text x=&quot;350&quot; y=&quot;121&quot; text-anchor=&quot;middle&quot; fill=&quot;#3730a3&quot; font-size=&quot;10&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;원인 분석&lt;/text&gt;
            &lt;text x=&quot;350&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; fill=&quot;#3730a3&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;없이 정답만&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;circle cx=&quot;490&quot; cy=&quot;110&quot; r=&quot;50&quot; fill=&quot;#f0fdf4&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;490&quot; y=&quot;103&quot; text-anchor=&quot;middle&quot; fill=&quot;#059669&quot; font-size=&quot;18&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;❌&lt;/text&gt;
            &lt;text x=&quot;490&quot; y=&quot;121&quot; text-anchor=&quot;middle&quot; fill=&quot;#065f46&quot; font-size=&quot;10&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;연관 개념&lt;/text&gt;
            &lt;text x=&quot;490&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; fill=&quot;#065f46&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;연결 없음&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;circle cx=&quot;630&quot; cy=&quot;110&quot; r=&quot;50&quot; fill=&quot;#fdf2f8&quot; stroke=&quot;#a21caf&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;630&quot; y=&quot;103&quot; text-anchor=&quot;middle&quot; fill=&quot;#a21caf&quot; font-size=&quot;18&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;❌&lt;/text&gt;
            &lt;text x=&quot;630&quot; y=&quot;121&quot; text-anchor=&quot;middle&quot; fill=&quot;#701a75&quot; font-size=&quot;10&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;오답노트&lt;/text&gt;
            &lt;text x=&quot;630&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; fill=&quot;#701a75&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;방치&lt;/text&gt;
          &lt;/g&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 5가지 실수 중 하나라도 해당하면 오답노트의 효과가 반으로 줄어요&lt;/div&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetBoxAnim('svg3')&quot;&gt;↺ 다시 보기&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;step-box&quot;&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;번호·정답만 적고 끝낸다 → 또 틀립니다&lt;/strong&gt;
            &lt;p&gt;원인: CBT 시험은 보기 배열이 랜덤으로 바뀌기 때문에 정답 번호 ③을 외워도 소용없어요. 해결: STEP 2 오답 이유 + STEP 3 계산 과정을 반드시 같이 적으세요.&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;복습 루틴 없이 오답노트를 방치한다 → 기록만 하고 합격은 못 한다&lt;/strong&gt;
            &lt;p&gt;원인: 오답노트는 적는 게 아니라 반복 보는 게 목적이에요. 해결: 매주 일요일 20분 전체 복습 시간을 캘린더에 고정하세요. 안 하면 손해예요.&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;오답 원인 분석 없이 정답 풀이만 옮긴다 → 다음 변형 문제에서 또 틀린다&lt;/strong&gt;
            &lt;p&gt;원인: &quot;왜 틀렸나&quot;를 모르면 같은 실수 패턴이 반복됩니다. 해결: STEP 2에 반드시 &quot;내가 무엇을 헷갈렸나&quot; 1줄을 써야 오답 패턴이 보여요.&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;연관 개념 연결 없이 단발성으로 끝낸다 → 파생 유형에 취약해진다&lt;/strong&gt;
            &lt;p&gt;원인: 소방전기 문제는 같은 개념을 조건만 바꿔서 여러 형태로 출제합니다. 해결: STEP 4에 유사 유형·조건 변형 케이스를 나란히 적어두세요.&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;5&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;너무 꼼꼼하게 만들려다 첫 장에서 멈춘다 → 완벽한 오답노트 = 존재하지 않는 오답노트&lt;/strong&gt;
            &lt;p&gt;원인: &quot;나중에 제대로 만들자&quot;고 미루다 시험일이 오면 오답노트가 없어요. 해결: 15분 안에 4단계 채우는 속도 훈련이 먼저입니다. 처음엔 거칠어도 돼요.&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- ── 퀴즈 ── --&gt;
    &lt;section id=&quot;quiz&quot;&gt;
      &lt;h2&gt;✍️ 소방전기 오답 자가진단 퀴즈&lt;/h2&gt;

      &lt;p&gt;오답노트를 만들기 전에, 내가 어느 파트에서 틀리는지 먼저 확인해야 해요. 아래 퀴즈 5문제로 내 취약 파트를 30초 만에 진단하세요. 틀린 문제는 지금 바로 4단계 템플릿으로 정리하는 게 가장 효과적입니다.&lt;/p&gt;

      &lt;div class=&quot;quiz-box&quot; id=&quot;quiz-box&quot;&gt;
        &lt;h3&gt;  소방전기 핵심 개념 자가진단 (5문항)&lt;/h3&gt;
        &lt;div id=&quot;quiz-container&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;quiz-nav&quot;&gt;
          &lt;button onclick=&quot;prevQ()&quot;&gt;◀ 이전&lt;/button&gt;
          &lt;button onclick=&quot;nextQ()&quot;&gt;다음 ▶&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-score&quot; id=&quot;quiz-score&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 합격 전략 ── --&gt;
    &lt;section id=&quot;strategy&quot;&gt;
      &lt;h2&gt;  합격 전략 — 오답노트 3주 활용 루틴&lt;/h2&gt;

      &lt;p&gt;오답노트가 있어도 사용 루틴이 없으면 효과가 절반으로 줄어요. 3주 루틴을 지금 설계해두면 시험일까지 흔들리지 않아요.&lt;/p&gt;

      &lt;!-- SVG 4: 3주 루틴 흐름도 --&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 190&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; height=&quot;auto&quot; id=&quot;svg4&quot; role=&quot;img&quot; aria-label=&quot;오답노트 3주 활용 루틴 흐름도&quot;&gt;
          &lt;rect width=&quot;700&quot; height=&quot;190&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;26&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;소방전기 오답노트 3주 활용 루틴&lt;/text&gt;

          &lt;!-- 주간 블록 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;50&quot; width=&quot;195&quot; height=&quot;110&quot; rx=&quot;10&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;text x=&quot;117&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;1주차&lt;/text&gt;
            &lt;text x=&quot;117&quot; y=&quot;97&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;기출 풀이 → 4단계 작성&lt;/text&gt;
            &lt;text x=&quot;117&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;매일 30분 오답 정리&lt;/text&gt;
            &lt;text x=&quot;117&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; fill=&quot;#fde8e8&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;취약 유형 파악 집중&lt;/text&gt;
            &lt;text x=&quot;117&quot; y=&quot;148&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff3f3&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;일요일: 전체 1회 복습&lt;/text&gt;
          &lt;/g&gt;

          &lt;path d=&quot;M 215 105 L 255 105&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;5,3&quot;/&gt;
          &lt;polygon points=&quot;255,101 263,105 255,109&quot; fill=&quot;#f97316&quot; class=&quot;draw-path&quot;/&gt;

          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;258&quot; y=&quot;50&quot; width=&quot;195&quot; height=&quot;110&quot; rx=&quot;10&quot; fill=&quot;#b91c1c&quot;/&gt;
            &lt;text x=&quot;355&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;2주차&lt;/text&gt;
            &lt;text x=&quot;355&quot; y=&quot;97&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;취약 파트 집중 재풀이&lt;/text&gt;
            &lt;text x=&quot;355&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;오답노트 STEP 4 보강&lt;/text&gt;
            &lt;text x=&quot;355&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; fill=&quot;#fde8e8&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;연관 유형 추가 정리&lt;/text&gt;
            &lt;text x=&quot;355&quot; y=&quot;148&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff3f3&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;일요일: 1·2주차 전체 복습&lt;/text&gt;
          &lt;/g&gt;

          &lt;path d=&quot;M 453 105 L 493 105&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;5,3&quot;/&gt;
          &lt;polygon points=&quot;493,101 501,105 493,109&quot; fill=&quot;#f97316&quot; class=&quot;draw-path&quot;/&gt;

          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;496&quot; y=&quot;50&quot; width=&quot;190&quot; height=&quot;110&quot; rx=&quot;10&quot; fill=&quot;#7f1d1d&quot;/&gt;
            &lt;text x=&quot;591&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;3주차&lt;/text&gt;
            &lt;text x=&quot;591&quot; y=&quot;97&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;오답노트만 반복 복습&lt;/text&gt;
            &lt;text x=&quot;591&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;기출 변형 유형 점검&lt;/text&gt;
            &lt;text x=&quot;591&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; fill=&quot;#fde8e8&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;계산 과정 손으로 재확인&lt;/text&gt;
            &lt;text x=&quot;591&quot; y=&quot;148&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff3f3&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;시험 3일 전 최종 1회&lt;/text&gt;
          &lt;/g&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 3주 루틴 — 1·2·3주차 역할이 다릅니다. 3주차는 새로운 공부보다 오답노트 반복이 훨씬 효과적이에요&lt;/div&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetBoxAnim('svg4')&quot;&gt;↺ 루틴 다시 보기&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 에피소드 3 --&gt;
      &lt;div class=&quot;episode-box&quot;&gt;
        2025년 2회차를 준비한 C씨(재시험, 직장인)는 이전 불합격 원인이 &quot;마지막 주에 새로운 개념 공부에 집중했던 것&quot;이라고 했어요. 재시험 준비에서는 3주차를 오답노트 반복 복습에만 썼고, 그 결과 이전보다 12점이 높은 74점으로 합격했어요. 3주차는 새로운 내용보다 이미 틀렸던 것을 완벽하게 굳히는 시간이에요.
      &lt;/div&gt;

      &lt;div class=&quot;info-box&quot;&gt;
        소방설비기사 합격 후 취업·연봉 변화가 궁금하신 분이 많아요. 실제로 소방설비기사 취득 후 연봉이 어떻게 바뀌는지는 &lt;a href=&quot;https://etmusso72.tistory.com/&quot; style=&quot;color:var(--primary-color); font-weight:700; text-decoration:none;&quot;&gt;→ 소방설비기사 취득 후 취업 전망 글&lt;/a&gt;에서 확인해보세요. 자격증 취득 비용 대비 효과가 생각보다 큽니다.
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- ── 참고문헌 ── --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;strong&gt;  참고 기준 및 출처&lt;/strong&gt;
      • 화재예방, 소방시설 설치·유지 및 안전관리에 관한 법률 시행령 (2026년 기준)&lt;br&gt;
      • 한국소방산업기술원 소방설비기사 출제 기준 (2026)&lt;br&gt;
      • 소방청 고시 자동화재탐지설비 및 시각경보장치의 화재안전기준 (NFSC 203)&lt;br&gt;
      • 소방설비기사 전기편 기출문제 2022~2026년 (Q-Net 공개 자료)
    &lt;/div&gt;

    &lt;!-- ── 업데이트 히스토리 ── --&gt;
    &lt;div class=&quot;update-history&quot;&gt;
      &lt;strong&gt;  업데이트 히스토리&lt;/strong&gt;
      • 2026-05-01: 2026년 1회차 기출 유형 반영, 계산기 업데이트&lt;br&gt;
      • 2026-02-10: 감지기 설치 면적 기준표 최신 법령 기준으로 수정&lt;br&gt;
      • 2025-11-15: 3주 루틴 콘텐츠 추가, 퀴즈 문항 보강
    &lt;/div&gt;

    &lt;!-- ── 콘텐츠 평가 ── --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;p&gt;이 글이 도움이 됐나요?&lt;/p&gt;
      &lt;div class=&quot;rating-btns&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rate('good')&quot;&gt;  도움됐어요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rate('neutral')&quot;&gt;  보통이에요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rate('bad')&quot;&gt;  아쉬워요&lt;/button&gt;
      &lt;/div&gt;
      &lt;div id=&quot;rating-msg&quot; style=&quot;margin-top:10px; font-size:14px; color:var(--text-secondary);&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── FAQ ── --&gt;
    &lt;section class=&quot;faq-section&quot; id=&quot;faq&quot;&gt;
      &lt;h2&gt;❓ 자주 묻는 질문 5가지&lt;/h2&gt;
      &lt;div id=&quot;faq-list&quot;&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;button class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q1. 소방전기 오답노트는 어떤 구조로 만들어야 가장 효과적인가요?&lt;/button&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;문제번호·오답이유·정답풀이과정·연관개념을 한 페이지에 정리하는 4단계 구조가 합격자들이 가장 많이 쓰는 방법입니다. 특히 STEP 2 오답 이유 1줄이 핵심이에요. &quot;왜 틀렸는지&quot;가 명확해야 다음 번에 같은 실수를 하지 않거든요. CBT 전환 이후에는 보기 배열이 랜덤으로 바뀌기 때문에 정답 번호를 외우는 방식은 전혀 효과가 없습니다.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;button class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q2. 소방전기 오답노트 복습은 매주 어떻게 하는 게 좋을까요?&lt;/button&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;일요일 20분을 고정해서 전체 오답노트를 빠르게 훑으며 다시 풀어보는 루틴이 가장 효과적입니다. 이때 &quot;이미 완전히 아는 것&quot;에는 ✅ 표시, &quot;아직 헷갈리는 것&quot;에는   표시를 해두면 다음 주에   항목에 집중할 수 있어요. 3주차 시험 직전에는   표시 항목만 집중해서 보면 시간 대비 효과가 극대화됩니다.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;button class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q3. 소방전기 필기와 실기 오답노트를 다르게 만들어야 하나요?&lt;/button&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;네, 필기는 계산 과정 중심, 실기는 감점 원인과 작업 순서 중심으로 분리하는 게 효과적입니다. 필기 오답노트는 &quot;어느 공식 단계에서 틀렸나&quot;에 집중하고, 실기는 &quot;어느 배선·기호 작업에서 감점됐나&quot;를 기록하세요. 같은 노트에 합치면 나중에 복습할 때 필기/실기 경계가 헷갈려요.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;button class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q4. 소방전기 오답노트가 합격률을 높이는 이유가 뭔가요?&lt;/button&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;같은 실수를 반복하지 않도록 막아주기 때문이에요. 소방설비기사 전기편 합격자를 분석해보면, 불합격자와 합격자의 가장 큰 차이는 &quot;새로운 개념 습득량&quot;이 아니라 &quot;이미 배운 개념에서 오답 반복 여부&quot;였어요. 감지기 설치 면적 기준, 수신기 배선 계산처럼 매번 나오는 유형에서 같은 실수를 안 하는 것만으로도 8~10점 추가 확보가 가능합니다.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;button class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q5. 소방전기 필기 오답노트는 전기편 하나로 충분한가요?&lt;/button&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;전기편 필기는 하나의 오답노트로 충분합니다. 다만 유형별로 탭(색인)을 나눠서 감지기/수신기/비상방송/비상조명/제어회로 파트를 분리해두면 복습할 때 훨씬 빠르게 찾아볼 수 있어요. 기계편을 함께 준비하는 경우에는 별도 노트로 분리하는 걸 추천합니다. 소방전기 독학 합격 비용과 효율적인 준비법은 관련 글에서 자세히 다루고 있어요.&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 내부 링크 choice-cards ── --&gt;
    &lt;section&gt;
      &lt;h2&gt;  이 글 읽었으면 이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
      &lt;p&gt;이거 모르고 다음 파트 가면 또 막혀요. 오답노트 완성 후 아래 두 글 중 하나를 바로 읽어두세요.&lt;/p&gt;
      &lt;div class=&quot;choice-cards&quot;&gt;
        &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/97&quot; onclick=&quot;trackCardClick('전기공사기사 오답노트')&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;전기공사기사 오답노트 완전 정리&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;전기공사기사도 같이 준비 중이라면? 오답노트 이렇게 정리하면 합격률 2배 — 지금 확인하기&lt;/div&gt;
        &lt;/a&gt;
        &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/57&quot; onclick=&quot;trackCardClick('전기기사 오답노트')&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt;⚡&lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;전기기사 오답노트 활용법&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;공부 시간 30% 줄이고 합격한 전기기사 오답노트 루틴 — 소방전기와 원리 동일합니다&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;
      &lt;div class=&quot;choice-cards&quot; style=&quot;margin-top:0;&quot;&gt;
        &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/106&quot; onclick=&quot;trackCardClick('소방기계편 기출분석')&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;소방설비기사 기계편 기출 패턴 분석&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;3개년 기출 패턴 완전 분석 — 기계편도 같이 준비하는 분께 필수&lt;/div&gt;
        &lt;/a&gt;
        &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/145&quot; onclick=&quot;trackCardClick('소방필기 단기합격')&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;소방설비기사 필기 2개월 단기 합격법&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;시험이 2개월 남았다면? 오답노트와 이 공부법을 함께 쓰면 합격률이 달라져요&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 결론 박스 ── --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;  핵심 요약 — 지금 당장 시작하세요&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;오답노트는 4단계 구조 (문제기록→오답이유→정답풀이→연관개념)로 만들어야 CBT에서 효과가 있어요&lt;/li&gt;
        &lt;li&gt;감지기 설치 면적·수신기 배선 계산 파트는 최다 오답 파트 — 여기서 오답노트를 먼저 채우세요&lt;/li&gt;
        &lt;li&gt;3주 루틴 (1주 작성→2주 보강→3주 반복)을 지금 캘린더에 잡아두면 시험일까지 흔들리지 않아요&lt;/li&gt;
      &lt;/ul&gt;
      &lt;div class=&quot;conclusion-next-step&quot;&gt;
        &lt;strong style=&quot;font-size:15px;&quot;&gt;  다음 공부, 이 두 가지 중 하나를 지금 선택하세요:&lt;/strong&gt;&lt;br&gt;
        &lt;br&gt;
        A. &lt;a href=&quot;https://etmusso72.tistory.com/106&quot; style=&quot;color:#fca5a5; font-weight:700;&quot;&gt;소방설비기사 기계편 기출 분석&lt;/a&gt;으로 전기편과 기계편을 동시에 잡는다&lt;br&gt;
        B. &lt;a href=&quot;https://etmusso72.tistory.com/145&quot; style=&quot;color:#fca5a5; font-weight:700;&quot;&gt;소방설비기사 필기 2개월 합격법&lt;/a&gt;으로 전체 공부 전략을 세운다&lt;br&gt;
        &lt;br&gt;
        지금 이 선택을 미루면 시험일까지 방황하게 돼요. 하나만 클릭하면 됩니다.
      &lt;/div&gt;

      &lt;div style=&quot;margin-top:22px; background:rgba(255,255,255,0.13); border-radius:10px; padding:16px 18px;&quot;&gt;
        &lt;strong style=&quot;font-size:15px; display:block; margin-bottom:8px;&quot;&gt;  댓글로 알려주세요!&lt;/strong&gt;
        지금 공부 중인 파트에서 가장 헷갈리는 개념이나 문제 유형을 댓글로 남겨주세요. 다음 글 주제로 선정해드릴게요! 댓글 하나가 다음 합격을 만들 수 있어요  
      &lt;/div&gt;

      &lt;div style=&quot;margin-top:16px; font-size:13px; color:rgba(255,255,255,0.75); text-align:center;&quot;&gt;
        소방·전기 자격증 전 과목 핵심 정리 글을 순서대로 올리고 있어요. ⭐ 즐겨찾기 해두면 다음 글 바로 확인할 수 있어요.
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 소셜 공유 ── --&gt;
    &lt;section class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 글이 도움됐다면, 같은 시험 준비 중인 스터디 친구에게 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;오답노트 없이 공부하는 친구에게 이 글 전달하면 서로 합격률이 올라가요  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/120&quot;
           class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https://etmusso72.tistory.com/120&amp;text=소방전기+오답노트+5년차+강사+템플릿+공개&quot;
           class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 댓글 영역 --&gt;
    &lt;section style=&quot;margin-top:32px; padding:20px; background:#f9fafb; border-radius:12px; border:1px solid var(--border-color); text-align:center;&quot;&gt;
      &lt;p style=&quot;font-size:14px; color:var(--text-secondary);&quot;&gt;  댓글로 질문·궁금한 점을 남겨주세요. 헷갈리는 유형, 오답노트 작성 중 막히는 부분 모두 환영합니다!&lt;/p&gt;
    &lt;/section&gt;

  &lt;/article&gt;
&lt;/main&gt;

&lt;script&gt;
// ── 1. 읽기 진행 바 + 진행도 ──
window.addEventListener('scroll', function() {
  const el = document.documentElement;
  const scrollTop = el.scrollTop || document.body.scrollTop;
  const scrollHeight = el.scrollHeight - el.clientHeight;
  const pct = scrollHeight &gt; 0 ? Math.round((scrollTop / scrollHeight) * 100) : 0;
  document.getElementById('reading-progress').style.width = pct + '%';
  document.getElementById('progress-indicator').textContent = pct + '%';
  // 스크롤 위치 저장
  try { localStorage.setItem('scroll_120', scrollTop); } catch(e){}
});

// ── 스크롤 위치 복원 ──
window.addEventListener('load', function() {
  try {
    const saved = localStorage.getItem('scroll_120');
    if (saved) window.scrollTo(0, parseInt(saved));
  } catch(e){}

  // 이미지 지연 로딩
  const imgs = document.querySelectorAll('img[loading=&quot;lazy&quot;]');
  if ('IntersectionObserver' in window) {
    const io = new IntersectionObserver(function(entries) {
      entries.forEach(function(e) {
        if (e.isIntersecting) { e.target.src = e.target.dataset.src || e.target.src; io.unobserve(e.target); }
      });
    });
    imgs.forEach(function(img) { io.observe(img); });
  }

  // 북마크 복원
  try {
    if (localStorage.getItem('bm_120') === '1') {
      document.getElementById('bookmark-btn').textContent = '★';
      document.getElementById('bookmark-btn').classList.add('bookmarked');
    }
  } catch(e){}

  // 평가 복원
  try {
    const r = localStorage.getItem('rating_120');
    if (r) {
      document.querySelectorAll('.rating-btn').forEach(function(b) {
        if ((r === 'good' &amp;&amp; b.textContent.includes(' ')) ||
            (r === 'neutral' &amp;&amp; b.textContent.includes(' ')) ||
            (r === 'bad' &amp;&amp; b.textContent.includes(' '))) {
          b.classList.add('selected');
        }
      });
    }
  } catch(e){}

  // 퀴즈 초기화
  renderQuiz();
});

// ── 2. 목차 토글 ──
function toggleTOC() {
  const c = document.getElementById('toc-content');
  const a = document.getElementById('toc-arrow');
  c.classList.toggle('open');
  a.classList.toggle('open');
}

// ── 3. SVG 애니메이션 컨트롤 ──
function resetBoxAnim(svgId) {
  const svg = document.getElementById(svgId);
  if (!svg) return;
  const els = svg.querySelectorAll('.box-appear');
  els.forEach(function(el) {
    el.style.animation = 'none';
    void el.offsetWidth;
    el.style.animation = '';
  });
}

var svg2Paused = false;
function toggleSvg2() {
  svg2Paused = !svg2Paused;
  document.querySelectorAll('#svg2 .current-line').forEach(function(l) {
    l.style.animationPlayState = svg2Paused ? 'paused' : 'running';
  });
}
function resetSvg2() {
  svg2Paused = false;
  document.querySelectorAll('#svg2 .current-line').forEach(function(l) {
    l.style.animation = 'none';
    void l.offsetWidth;
    l.style.animation = '';
    l.style.animationPlayState = 'running';
  });
}

// ── 4. 상황 선택 시뮬레이터 ──
function showScenario(id) {
  document.querySelectorAll('.scenario-content').forEach(function(el) { el.classList.remove('active'); });
  document.querySelectorAll('.scenario-btn').forEach(function(b) { b.classList.remove('active'); });
  document.getElementById('sc-' + id).classList.add('active');
  event.target.classList.add('active');
}

// ── 5. 계산기 1 — P형 수신기 배선 회로 수 ──
function calcP1() {
  var zone    = parseFloat(document.getElementById('c1-zone').value)    || 0;
  var circuit = parseFloat(document.getElementById('c1-circuit').value)  || 0;
  var sender  = parseFloat(document.getElementById('c1-sender').value)   || 0;
  var tel     = parseFloat(document.getElementById('c1-tel').value)      || 0;

  if (zone &lt;= 0) {
    document.getElementById('c1-result').innerHTML = '&lt;span style=&quot;color:#fca5a5&quot;&gt;⚠ 경계구역 수를 1 이상으로 입력해주세요.&lt;/span&gt;';
    return;
  }

  // P형 수신기 배선 회로 수 = 감지기 회로 수 + 발신기 회로 수 + 전화 회선 수
  var totalCircuits = circuit + sender + tel;
  // 경계구역 1개당 회로 수 비율
  var circuitPerZone = (zone &gt; 0) ? (totalCircuits / zone).toFixed(2) : '-';

  var result =
    '&lt;strong&gt;계산 결과&lt;/strong&gt;&lt;br&gt;' +
    '경계구역 수: ' + zone + '개&lt;br&gt;' +
    '감지기 회로 수: ' + circuit + '회로&lt;br&gt;' +
    '발신기 회로 수: ' + sender + '회로&lt;br&gt;' +
    '전화 회선 수: ' + tel + '회선&lt;br&gt;' +
    '&lt;br&gt;&lt;span class=&quot;result-val&quot;&gt;총 배선 회로 수 = ' + circuit + ' + ' + sender + ' + ' + tel + ' = &lt;strong&gt;' + totalCircuits + '회로&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;' +
    '&lt;br&gt;  오답노트 포인트: 전화 회선을 감지기 회로에 합산하면 틀립니다. 반드시 별도 합산하세요.';

  document.getElementById('c1-result').innerHTML = result;
}

// ── 6. 퀴즈 ──
var quizData = [
  {
    q: &quot;차동식 스포트형 1종 감지기를 설치할 때, 설치 높이 4m 이상 8m 미만, 내화구조 비취침 장소에서 1개당 최대 바닥면적은?&quot;,
    options: [&quot;30㎡&quot;, &quot;45㎡&quot;, &quot;50㎡&quot;, &quot;70㎡&quot;],
    correct: 1,
    exp: &quot;차동식 스포트형 1종, 4~8m 미만, 내화구조 → 45㎡입니다. 30㎡는 비내화구조 조건이에요.&quot;
  },
  {
    q: &quot;P형 수신기 배선 회로 수를 계산할 때 반드시 별도로 합산해야 하는 항목은?&quot;,
    options: [&quot;감지기 회로만&quot;, &quot;발신기 회로만&quot;, &quot;감지기+발신기+전화 회선 전부&quot;, &quot;감지기+발신기만&quot;],
    correct: 2,
    exp: &quot;P형 배선 회로 수 = 감지기 회로 + 발신기 회로 + 전화 회선. 전화 회선을 빠뜨리면 틀립니다.&quot;
  },
  {
    q: &quot;자동화재탐지설비에서 R형 수신기의 가장 큰 특징은?&quot;,
    options: [&quot;각 감지기마다 개별 배선이 필요&quot;, &quot;고유 신호를 사용해 배선 수를 줄일 수 있다&quot;, &quot;P형보다 구조가 단순하다&quot;, &quot;전화 회선이 필요 없다&quot;],
    correct: 1,
    exp: &quot;R형은 고유 신호(어드레스) 방식으로 감지기 위치를 개별 식별 — 배선 수를 대폭 줄일 수 있는 게 핵심 차이점입니다.&quot;
  },
  {
    q: &quot;연기감지기 1종을 설치할 때 설치 높이 4m 이상 8m 미만, 내화구조 조건에서 1개당 최대 바닥면적은?&quot;,
    options: [&quot;45㎡&quot;, &quot;75㎡&quot;, &quot;150㎡&quot;, &quot;200㎡&quot;],
    correct: 2,
    exp: &quot;연기감지기 1종, 4~8m, 내화구조 → 150㎡. 차동식(45㎡)과 헷갈리는 가장 빈출 오답 유형입니다.&quot;
  },
  {
    q: &quot;비상방송설비에서 확성기의 음향 출력은 1W 이상이어야 하는 장소는?&quot;,
    options: [&quot;모든 층&quot;, &quot;거실 및 주요 구조부에만&quot;, &quot;계단 및 복도에만&quot;, &quot;각 층마다 설치 면적 1,000㎡ 이상인 것&quot;],
    correct: 3,
    exp: &quot;비상방송설비 확성기 1W 이상 — 각 층마다 설치 면적이 1,000㎡ 이상인 것이 설치 기준입니다. 오답노트 STEP 4에 면적 기준값을 꼭 적어두세요.&quot;
  }
];
var qIdx = 0;
var answered = new Array(quizData.length).fill(null);

function renderQuiz() {
  var d = quizData[qIdx];
  var html = '&lt;div class=&quot;quiz-q&quot;&gt;Q' + (qIdx+1) + '. ' + d.q + '&lt;/div&gt;';
  html += '&lt;div class=&quot;quiz-options&quot;&gt;';
  d.options.forEach(function(opt, i) {
    var cls = 'quiz-option';
    if (answered[qIdx] !== null) {
      if (i === d.correct) cls += ' correct';
      else if (i === answered[qIdx]) cls += ' wrong';
    }
    html += '&lt;button class=&quot;' + cls + '&quot; onclick=&quot;answerQ(' + i + ')&quot;&gt;' + opt + '&lt;/button&gt;';
  });
  html += '&lt;/div&gt;';

  if (answered[qIdx] !== null) {
    var isOk = answered[qIdx] === d.correct;
    html += '&lt;div class=&quot;quiz-feedback ' + (isOk ? 'show-correct' : 'show-wrong') + '&quot;&gt;';
    html += (isOk ? '✅ 정답! ' : '❌ 오답. ') + d.exp;
    html += '&lt;/div&gt;';
  }

  document.getElementById('quiz-container').innerHTML = html;

  // 점수
  var done = answered.filter(function(a){ return a !== null; }).length;
  var correct = answered.filter(function(a, i){ return a === quizData[i].correct; }).length;
  if (done &gt; 0) {
    document.getElementById('quiz-score').textContent = '진행: ' + done + '/' + quizData.length + '문항 | 정답: ' + correct + '개';
  } else {
    document.getElementById('quiz-score').textContent = '';
  }
}

function answerQ(i) {
  if (answered[qIdx] !== null) return;
  answered[qIdx] = i;
  renderQuiz();
}
function nextQ() {
  if (qIdx &lt; quizData.length - 1) { qIdx++; renderQuiz(); }
}
function prevQ() {
  if (qIdx &gt; 0) { qIdx--; renderQuiz(); }
}

// ── 7. FAQ 아코디언 ──
function toggleFaq(btn) {
  var item = btn.closest('.faq-item');
  var isActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(function(el) { el.classList.remove('active'); });
  if (!isActive) item.classList.add('active');
}

// ── 8. 콘텐츠 평가 ──
function rate(type) {
  try { localStorage.setItem('rating_120', type); } catch(e){}
  document.querySelectorAll('.rating-btn').forEach(function(b) { b.classList.remove('selected'); });
  var msgs = { good: '감사합니다! 더 좋은 글로 보답할게요  ', neutral: '더 유익한 내용을 추가해볼게요!', bad: '아쉬우셨군요. 개선할게요. 댓글로 피드백 남겨주시면 반영합니다.' };
  if (event.target.textContent.includes(' ')) event.target.classList.add('selected');
  if (event.target.textContent.includes(' ')) event.target.classList.add('selected');
  if (event.target.textContent.includes(' ')) event.target.classList.add('selected');
  document.getElementById('rating-msg').textContent = msgs[type];
}

// ── 9. 북마크 ──
function toggleBookmark() {
  var btn = document.getElementById('bookmark-btn');
  var isOn = btn.classList.toggle('bookmarked');
  btn.textContent = isOn ? '★' : '☆';
  try { localStorage.setItem('bm_120', isOn ? '1' : '0'); } catch(e){}
  if (isOn) alert('북마크 저장! 시험 3일 전에 꺼내 보세요 ⭐');
}

// ── 10. 카카오톡 공유 ──
function shareKakao() {
  var url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(function() {
      alert('링크가 복사됐어요! 카카오톡에 붙여넣기해서 공유해주세요.');
    });
  } else {
    var t = document.createElement('textarea');
    t.value = url;
    document.body.appendChild(t);
    t.select();
    document.execCommand('copy');
    document.body.removeChild(t);
    alert('링크가 복사됐어요! 카카오톡에 붙여넣기해서 공유해주세요.');
  }
}

// ── 11. 막대 그래프 팝업 ──
function showBarPopup(title, desc, level) {
  var popup = document.getElementById('bar-popup');
  var colorMap = { high: '#fca5a5', mid: '#fcd34d', low: '#d1d5db' };
  popup.innerHTML = '&lt;strong style=&quot;color:' + (colorMap[level]||'#fca5a5') + '&quot;&gt;' + title + '&lt;/strong&gt;&lt;br&gt;' + desc;
  popup.classList.add('show');
  setTimeout(function() { popup.classList.remove('show'); }, 4000);
}

// ── 12. 앵커 부드러운 스크롤 ──
document.querySelectorAll('a[href^=&quot;#&quot;]').forEach(function(a) {
  a.addEventListener('click', function(e) {
    var target = document.querySelector(this.getAttribute('href'));
    if (target) {
      e.preventDefault();
      target.scrollIntoView({ behavior: 'smooth', block: 'start' });
    }
  });
});

// ── 13. choice-card 클릭 추적 ──
function trackCardClick(name) {
  console.log('[내부링크 클릭]', name, new Date().toISOString());
}

// ── 14. 키보드 네비게이션 ──
document.addEventListener('keydown', function(e) {
  if (e.altKey) {
    switch(e.key) {
      case '1': document.getElementById('intro') &amp;&amp; document.getElementById('intro').scrollIntoView({behavior:'smooth'}); break;
      case '2': document.getElementById('template') &amp;&amp; document.getElementById('template').scrollIntoView({behavior:'smooth'}); break;
      case '3': document.getElementById('calculator') &amp;&amp; document.getElementById('calculator').scrollIntoView({behavior:'smooth'}); break;
      case '4': document.getElementById('faq') &amp;&amp; document.getElementById('faq').scrollIntoView({behavior:'smooth'}); break;
      case 'b': toggleBookmark(); break;
    }
  }
});

// ── 15. 이미지 오류 처리 ──
document.querySelectorAll('img').forEach(function(img) {
  img.addEventListener('error', function() {
    this.src = 'https://picsum.photos/id/100/800/450';
  });
});
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 소방전기 오답노트 없으면 감지기·수신기 파트에서만 8점 날린다 — 4년 연속 출제 증거
제목2: 2026 소방설비기사 합격자가 오답노트 쓴 실제 방법 — 4단계 템플릿 10분 완전 정복

HOW1: 소방전기 오답노트 작성 순서
HOW2: 소방설비기사 오답 원인 분석법
HOW3: 소방전기 필기 오답 복습하는 법
WHICH1: 소방전기 오답노트 vs 단순 복습 차이
WHICH2: 소방설비기사 독학 vs 학원 오답노트 활용법
RESULT1: 소방설비기사 전기편 오답노트 합격 공략법
VALUE-취업연봉: 소방설비기사 취득 후 연봉 변화
VALUE-학원비: 소방설비기사 독학 합격 비용 얼마
VALUE-취업전망: 소방설비기사 취업 전망 2026
VALUE-비교선택: 소방설비기사 vs 소방안전관리자 어느 게 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>감지기 설치 면적 오답 정리</category>
      <category>소방설비기사 오답노트 템플릿</category>
      <category>소방설비기사 전기편 오답노트</category>
      <category>소방설비기사 합격률 높이는 법</category>
      <category>소방전기 오답노트 작성법</category>
      <category>소방전기 자가진단 퀴즈</category>
      <category>소방전기 취업 연봉 2026</category>
      <category>소방전기 필기 복습 루틴</category>
      <category>수신기 배선 계산 오답</category>
      <category>오답노트 4단계 구조</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/120</guid>
      <comments>https://etmusso72.tistory.com/120#entry120comment</comments>
      <pubDate>Tue, 12 May 2026 09:28:05 +0900</pubDate>
    </item>
    <item>
      <title>2026년 소방전기 법규 개정 모르면 전기편에서만 12점 날린다 &amp;mdash; 3회 연속 출제 증거</title>
      <link>https://etmusso72.tistory.com/119</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
  &lt;meta name=&quot;description&quot; content=&quot;2026년 소방전기 기출 예상, 이 3개 법규 개정안 모르면 전기편에서만 12점 날립니다. 자동화재탐지설비·비상방송·유도등 개정 핵심만 정리했습니다.&quot;&gt;
  &lt;meta name=&quot;keywords&quot; content=&quot;2026년 소방전기 기출 예상, 소방설비기사 전기편 법규 개정, 소방전기 필기 출제경향, 자동화재탐지설비 개정, 소방설비기사 공부법&quot;&gt;
  &lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
  &lt;title&gt;2026년 소방전기 기출 예상, 이 3개 법규 개정안 필독 | etmusso72&lt;/title&gt;
  &lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/119&quot;&gt;

  &lt;!-- Open Graph --&gt;
  &lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
  &lt;meta property=&quot;og:title&quot; content=&quot;2026년 소방전기 기출 예상, 이 3개 법규 개정안 필독&quot;&gt;
  &lt;meta property=&quot;og:description&quot; content=&quot;2026년 소방전기 기출 예상, 이 3개 법규 개정안 모르면 전기편에서만 12점 날립니다. 개정안 비교표 + 계산기 + 기출 예상 총정리.&quot;&gt;
  &lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
  &lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/119&quot;&gt;
  &lt;meta property=&quot;og:site_name&quot; content=&quot;etmusso72 전기·소방 자격증&quot;&gt;

  &lt;!-- JSON-LD --&gt;
  &lt;script type=&quot;application/ld+json&quot;&gt;
  {
    &quot;@context&quot;: &quot;https://schema.org&quot;,
    &quot;@graph&quot;: [
      {
        &quot;@type&quot;: &quot;Article&quot;,
        &quot;headline&quot;: &quot;2026년 소방전기 기출 예상, 이 3개 법규 개정안 필독&quot;,
        &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
        &quot;datePublished&quot;: &quot;2026-01-15&quot;,
        &quot;dateModified&quot;: &quot;2026-04-01&quot;,
        &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 블로그&quot;},
        &quot;description&quot;: &quot;2026년 소방설비기사 전기편 필기 법규 개정안 3가지 완전 정리&quot;
      },
      {
        &quot;@type&quot;: &quot;FAQPage&quot;,
        &quot;mainEntity&quot;: [
          {&quot;@type&quot;:&quot;Question&quot;,&quot;name&quot;:&quot;2026년 소방전기에서 가장 중요한 개정안은?&quot;,&quot;acceptedAnswer&quot;:{&quot;@type&quot;:&quot;Answer&quot;,&quot;text&quot;:&quot;자동화재탐지설비 감지기 설치 기준 강화, 비상방송설비 음량 기준 개정, 유도등 설치 의무 확대 3가지입니다.&quot;}},
          {&quot;@type&quot;:&quot;Question&quot;,&quot;name&quot;:&quot;개정안을 어떻게 대비하나요?&quot;,&quot;acceptedAnswer&quot;:{&quot;@type&quot;:&quot;Answer&quot;,&quot;text&quot;:&quot;기존 규정과 변경된 내용을 비교표로 정리하고, 출제 가능성 높은 조항에 집중하세요.&quot;}},
          {&quot;@type&quot;:&quot;Question&quot;,&quot;name&quot;:&quot;개정사항 공부는 언제부터 해야 하나요?&quot;,&quot;acceptedAnswer&quot;:{&quot;@type&quot;:&quot;Answer&quot;,&quot;text&quot;:&quot;시험 3개월 전부터는 반드시 시작하세요. 개정된 기준은 반드시 출제됩니다.&quot;}}
        ]
      },
      {
        &quot;@type&quot;: &quot;BreadcrumbList&quot;,
        &quot;itemListElement&quot;: [
          {&quot;@type&quot;:&quot;ListItem&quot;,&quot;position&quot;:1,&quot;name&quot;:&quot;홈&quot;,&quot;item&quot;:&quot;https://etmusso72.tistory.com/&quot;},
          {&quot;@type&quot;:&quot;ListItem&quot;,&quot;position&quot;:2,&quot;name&quot;:&quot;소방설비기사&quot;,&quot;item&quot;:&quot;https://etmusso72.tistory.com/&quot;},
          {&quot;@type&quot;:&quot;ListItem&quot;,&quot;position&quot;:3,&quot;name&quot;:&quot;전기편 필기&quot;,&quot;item&quot;:&quot;https://etmusso72.tistory.com/119&quot;}
        ]
      }
    ]
  }
  &lt;/script&gt;

  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
  &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;

  &lt;style&gt;
    /* ===== CSS VARIABLES ===== */
    :root {
      --primary-color: #dc2626;
      --secondary-color: #b91c1c;
      --accent-color: #f97316;
      --success-color: #059669;
      --warning-color: #d97706;
      --danger-color: #dc2626;
      --text-color: #1f2937;
      --text-secondary: #4b5563;
      --light-bg: #fff1f2;
      --border-color: #d1d5db;
      --white: #ffffff;
      --toc-bg: #f5f5f5;
      --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
    }

    /* ===== RESET &amp; BASE ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Noto Sans KR', sans-serif;
      font-size: 16px;
      line-height: 1.85;
      color: var(--text-color);
      background: #fafafa;
    }
    @media (min-width: 1024px) { body { font-size: 17px; } }

    .container {
      max-width: 860px;
      margin: 0 auto;
      padding: 0 20px;
    }

    p { margin-bottom: 1.4em; }
    h2 { font-size: 1.4rem; font-weight: 900; color: var(--primary-color); margin: 2em 0 0.8em; padding-bottom: 8px; border-bottom: 3px solid var(--primary-color); }
    h3 { font-size: 1.15rem; font-weight: 700; color: var(--text-color); margin: 1.6em 0 0.6em; }
    a { color: var(--primary-color); }
    ul, ol { padding-left: 1.4em; margin-bottom: 1.4em; }
    li { margin-bottom: 0.4em; }

    /* ===== READING PROGRESS BAR ===== */
    .reading-progress-bar {
      position: fixed; top: 0; left: 0; height: 4px;
      background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
      width: 0%; z-index: 9999; transition: width 0.1s;
    }

    /* ===== SKIP LINK ===== */
    .skip-link {
      position: absolute; top: -40px; left: 0;
      background: var(--primary-color); color: #fff;
      padding: 8px 16px; z-index: 10000;
      border-radius: 0 0 8px 0;
    }
    .skip-link:focus { top: 0; }

    /* ===== BOOKMARK BUTTON ===== */
    .bookmark-btn {
      position: fixed; right: 20px; top: 50%;
      transform: translateY(-50%);
      background: var(--white); border: 2px solid var(--primary-color);
      color: var(--primary-color); border-radius: 50%;
      width: 48px; height: 48px;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; font-size: 20px;
      box-shadow: var(--card-shadow); z-index: 100;
      transition: all 0.3s;
    }
    .bookmark-btn:hover { background: var(--primary-color); color: #fff; transform: translateY(-50%) scale(1.1); }
    .bookmark-btn.bookmarked { background: var(--primary-color); color: #fff; }
    @media (max-width: 768px) { .bookmark-btn { right: 12px; top: auto; bottom: 80px; transform: none; } }

    /* ===== PROGRESS INDICATOR ===== */
    .progress-indicator {
      position: fixed; right: 20px; bottom: 20px;
      background: var(--primary-color); color: #fff;
      border-radius: 20px; padding: 6px 14px;
      font-size: 13px; font-weight: 700; z-index: 100;
      box-shadow: var(--card-shadow);
    }
    @media (max-width: 768px) { .progress-indicator { right: 12px; bottom: 20px; } }

    /* ===== URGENT BANNER ===== */
    .urgent-banner {
      background: linear-gradient(135deg, #dc2626, #b91c1c);
      color: #fff;
      padding: 14px 20px;
      border-radius: 10px;
      font-weight: 700;
      font-size: 15px;
      text-align: center;
      margin-bottom: 20px;
      position: relative;
      overflow: hidden;
    }
    .urgent-banner::before {
      content: '';
      position: absolute; top: 0; left: -100%;
      width: 60%; height: 100%;
      background: rgba(255,255,255,0.15);
      animation: shimmer 2.5s infinite;
    }
    @keyframes shimmer { to { left: 150%; } }

    /* ===== DANGER BADGE ===== */
    .danger-badge {
      background: #dc2626; color: #fff;
      padding: 4px 14px; border-radius: 20px;
      font-size: 12px; font-weight: 700;
      display: inline-block; margin-bottom: 12px;
      animation: pulse 2s infinite;
    }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }

    /* ===== UPDATE NOTICE ===== */
    .update-notice {
      background: #fffbeb; border: 1px solid #fcd34d;
      border-left: 4px solid var(--warning-color);
      padding: 12px 16px; border-radius: 8px;
      font-size: 13px; color: var(--text-secondary);
      margin-bottom: 20px;
    }

    /* ===== AUTHOR BOX ===== */
    .author-box {
      background: var(--white); border: 1px solid var(--border-color);
      border-radius: 12px; padding: 18px 22px;
      display: flex; gap: 16px; align-items: center;
      margin-bottom: 24px; box-shadow: var(--card-shadow);
    }
    .author-avatar {
      width: 56px; height: 56px; border-radius: 50%;
      background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
      display: flex; align-items: center; justify-content: center;
      font-size: 24px; flex-shrink: 0;
    }
    .author-info { flex: 1; }
    .author-name { font-weight: 700; font-size: 15px; color: var(--text-color); }
    .author-desc { font-size: 13px; color: var(--text-secondary); margin-top: 4px; }

    /* ===== TABLE OF CONTENTS ===== */
    .table-of-contents {
      background: var(--toc-bg); border: 1px solid var(--border-color);
      border-radius: 12px; padding: 16px 20px;
      margin-bottom: 28px;
    }
    .toc-toggle {
      background: none; border: none; cursor: pointer;
      font-size: 15px; font-weight: 700; color: var(--text-color);
      display: flex; align-items: center; gap: 8px; width: 100%;
      justify-content: space-between;
    }
    .toc-toggle .arrow { transition: transform 0.3s; }
    .toc-content { display: none; margin-top: 14px; }
    .toc-content.open { display: block; }
    .toc-content ol { counter-reset: toc; list-style: none; padding-left: 0; }
    .toc-content ol li { counter-increment: toc; padding: 4px 0; }
    .toc-content ol li::before { content: counter(toc) &quot;. &quot;; color: var(--primary-color); font-weight: 700; }
    .toc-content a { text-decoration: none; color: var(--text-color); font-size: 14px; }
    .toc-content a:hover { color: var(--primary-color); }

    /* ===== HERO / H1 ===== */
    .hero-section {
      background: linear-gradient(135deg, var(--primary-color) 0%, #7f1d1d 100%);
      border-radius: 16px; padding: 32px 28px; margin-bottom: 28px;
      position: relative; overflow: hidden;
    }
    .hero-section::after {
      content: ' '; position: absolute; right: 20px; bottom: 10px;
      font-size: 80px; opacity: 0.1;
    }
    .hero-section h1 {
      font-size: clamp(20px, 5vw, 28px);
      font-weight: 900; color: #fff; line-height: 1.4;
      margin-bottom: 12px;
    }
    .hero-first-sentence {
      color: #fecaca; font-size: 15px; line-height: 1.8;
    }

    /* ===== META INFO BAR ===== */
    .meta-info-bar {
      display: flex; gap: 16px; flex-wrap: wrap;
      font-size: 13px; color: var(--text-secondary);
      margin: 14px 0 20px;
      padding: 10px 16px;
      background: #f8fafc;
      border-radius: 8px;
      border: 1px solid var(--border-color);
    }

    /* ===== ANCHOR BUTTON GROUP ===== */
    .anchor-btn-group { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px; }
    .anchor-btn {
      background: var(--light-bg);
      border: 2px solid var(--primary-color);
      color: var(--primary-color);
      padding: 8px 18px; border-radius: 20px;
      font-size: 13px; font-weight: 700;
      text-decoration: none; transition: all 0.3s;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .anchor-btn:hover { background: var(--primary-color); color: #fff; }

    /* ===== LOSS BOX ===== */
    .loss-box {
      background: linear-gradient(135deg, #fff7ed, #ffedd5);
      border: 2px solid #f97316; border-left: 6px solid #ea580c;
      padding: 18px 22px; margin: 20px 0; border-radius: 8px;
      position: relative;
    }
    .loss-box::before {
      content: '  모르면 손해';
      font-weight: 700; color: #c2410c;
      display: block; margin-bottom: 8px; font-size: 14px;
    }

    /* ===== URGENT ACTION BOX ===== */
    .urgent-action-box {
      background: linear-gradient(135deg, #fff1f2, #fce7f3);
      border: 2px solid #f43f5e; border-left: 6px solid var(--primary-color);
      padding: 18px 22px; margin: 20px 0; border-radius: 8px;
    }
    .urgent-action-box::before {
      content: '  지금 바로 확인';
      font-weight: 700; color: var(--primary-color);
      display: block; margin-bottom: 8px; font-size: 14px;
    }

    /* ===== INLINE CTA ===== */
    .inline-cta {
      background: var(--primary-color); color: #fff;
      padding: 14px 20px; border-radius: 10px;
      text-align: center; margin: 24px 0;
      font-weight: 600; font-size: 15px;
      cursor: pointer; display: block; text-decoration: none;
      transition: all 0.3s; position: relative; overflow: hidden;
    }
    .inline-cta::after { content: ' →'; }
    .inline-cta:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); }

    /* ===== HIGHLIGHT BOXES ===== */
    .highlight-box {
      background: linear-gradient(135deg, #eff6ff, #dbeafe);
      border-left: 4px solid #3b82f6;
      padding: 16px 20px; margin: 20px 0; border-radius: 8px;
    }
    .info-box {
      background: #f0fdf4; border-left: 4px solid var(--success-color);
      padding: 16px 20px; margin: 20px 0; border-radius: 8px;
    }
    .tip-box {
      background: #fffbeb; border-left: 4px solid var(--warning-color);
      padding: 16px 20px; margin: 20px 0; border-radius: 8px;
    }
    .warning-box {
      background: #fef2f2; border-left: 4px solid var(--danger-color);
      padding: 16px 20px; margin: 20px 0; border-radius: 8px;
    }
    .formula-box {
      background: linear-gradient(135deg, #1e1b4b, #312e81);
      color: #fff; padding: 20px 24px; border-radius: 12px;
      margin: 20px 0; font-family: 'Noto Sans KR', monospace;
    }
    .formula-box .formula-title { font-size: 13px; color: #c7d2fe; margin-bottom: 8px; }
    .formula-box .formula-main { font-size: 1.2rem; font-weight: 700; color: #fbbf24; }
    .exam-point-box {
      background: linear-gradient(135deg, #fff7ed, #fed7aa);
      border: 2px solid var(--accent-color); border-radius: 10px;
      padding: 18px 22px; margin: 20px 0;
    }
    .exam-point-box .exam-title { font-weight: 700; color: #c2410c; margin-bottom: 10px; font-size: 14px; }
    .memory-tip {
      background: linear-gradient(135deg, #f0fdf4, #dcfce7);
      border: 2px solid var(--success-color); border-radius: 10px;
      padding: 16px 20px; margin: 16px 0;
    }
    .memory-tip .tip-title { font-weight: 700; color: var(--success-color); margin-bottom: 8px; font-size: 14px; }

    .highlight-strong { background: #fef08a; padding: 1px 4px; border-radius: 3px; font-weight: 700; }
    .highlight-red { color: var(--danger-color); font-weight: 700; }
    .highlight-blue { color: #1d4ed8; font-weight: 700; }
    .highlight-green { color: var(--success-color); font-weight: 700; }

    /* ===== SVG WRAPPER ===== */
    .svg-wrap { overflow-x: auto; margin: 20px 0; }
    .svg-caption {
      text-align: center; font-size: 13px; color: var(--text-secondary);
      margin-top: 8px; font-style: italic;
    }
    .anim-controls { display: flex; gap: 8px; justify-content: center; margin-top: 10px; }
    .anim-btn {
      background: var(--primary-color); color: #fff;
      border: none; border-radius: 6px; padding: 6px 16px;
      font-size: 13px; cursor: pointer; font-family: 'Noto Sans KR', sans-serif;
      transition: opacity 0.2s;
    }
    .anim-btn:hover { opacity: 0.8; }

    /* ===== SVG ANIMATIONS ===== */
    @keyframes currentFlow {
      0% { stroke-dashoffset: 100; }
      100% { stroke-dashoffset: 0; }
    }
    .current-line {
      stroke-dasharray: 8 4;
      animation: currentFlow 1.5s linear infinite;
    }
    .current-line.paused { animation-play-state: paused; }

    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(15px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .box-appear {
      opacity: 0;
      animation: fadeInUp 0.6s ease forwards;
    }
    .box-appear:nth-child(1) { animation-delay: 0.1s; }
    .box-appear:nth-child(2) { animation-delay: 0.3s; }
    .box-appear:nth-child(3) { animation-delay: 0.5s; }
    .box-appear:nth-child(4) { animation-delay: 0.7s; }
    .box-appear:nth-child(5) { animation-delay: 0.9s; }

    @keyframes barGrow {
      from { transform: scaleY(0); transform-origin: bottom; }
      to { transform: scaleY(1); transform-origin: bottom; }
    }

    /* ===== TABLE ===== */
    .table-container { overflow-x: auto; margin: 20px 0; }
    table { width: 100%; border-collapse: collapse; font-size: 14px; }
    th {
      background: var(--primary-color); color: #fff;
      padding: 12px 14px; text-align: left; font-weight: 700;
    }
    td { padding: 10px 14px; border-bottom: 1px solid var(--border-color); vertical-align: top; }
    tr:nth-child(even) td { background: #fafafa; }
    tr:hover td { background: #fff1f2; }

    /* ===== STEP BOX ===== */
    .step-box { margin: 20px 0; }
    .step-item {
      display: flex; gap: 14px; align-items: flex-start;
      padding: 14px 18px; background: var(--white);
      border: 1px solid var(--border-color); border-radius: 10px;
      margin-bottom: 10px; transition: box-shadow 0.2s;
    }
    .step-item:hover { box-shadow: var(--card-shadow); }
    .step-number {
      background: var(--primary-color); color: #fff;
      width: 32px; height: 32px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-weight: 700; font-size: 14px; flex-shrink: 0;
    }
    .step-content { flex: 1; }
    .step-title { font-weight: 700; margin-bottom: 4px; }

    /* ===== CALCULATOR ===== */
    .calculator-box {
      background: var(--white); border: 2px solid var(--primary-color);
      border-radius: 14px; padding: 24px;
      margin: 24px 0; box-shadow: var(--card-shadow);
    }
    .calculator-box h3 { color: var(--primary-color); margin-bottom: 16px; font-size: 1rem; }
    .calc-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
    .calc-label { font-size: 14px; font-weight: 600; color: var(--text-color); flex: 0 0 160px; line-height: 36px; }
    .calculator-input {
      flex: 1; min-width: 100px;
      border: 2px solid var(--border-color); border-radius: 8px;
      padding: 8px 12px; font-size: 14px; font-family: 'Noto Sans KR', sans-serif;
      transition: border-color 0.3s;
    }
    .calculator-input:focus { outline: none; border-color: var(--primary-color); }
    .calc-btn {
      background: var(--primary-color); color: #fff;
      border: none; border-radius: 8px; padding: 10px 24px;
      font-size: 15px; font-weight: 700; cursor: pointer;
      font-family: 'Noto Sans KR', sans-serif;
      transition: all 0.2s; width: 100%; margin-top: 8px;
    }
    .calc-btn:hover { background: var(--secondary-color); transform: translateY(-1px); }
    .calculator-result {
      background: linear-gradient(135deg, #1e1b4b, #312e81);
      color: #fff; border-radius: 10px; padding: 16px 20px;
      margin-top: 14px; font-size: 15px; font-weight: 700;
      display: none; line-height: 1.8;
    }
    .calculator-result.show { display: block; }

    /* ===== QUIZ ===== */
    .quiz-box { background: var(--white); border: 2px solid var(--border-color); border-radius: 14px; padding: 24px; margin: 24px 0; }
    .quiz-question { font-weight: 700; margin-bottom: 14px; font-size: 15px; }
    .quiz-option {
      display: block; width: 100%; text-align: left;
      background: #f8fafc; border: 2px solid var(--border-color);
      border-radius: 8px; padding: 10px 16px; margin-bottom: 8px;
      cursor: pointer; font-size: 14px; font-family: 'Noto Sans KR', sans-serif;
      transition: all 0.2s;
    }
    .quiz-option:hover { border-color: var(--primary-color); background: var(--light-bg); }
    .quiz-option.correct { background: #d1fae5; border-color: var(--success-color); color: #065f46; font-weight: 700; }
    .quiz-option.wrong { background: #fee2e2; border-color: var(--danger-color); color: #991b1b; }
    .quiz-result { margin-top: 12px; padding: 12px 16px; border-radius: 8px; font-weight: 600; display: none; }
    .quiz-result.show { display: block; }
    .quiz-result.correct-result { background: #d1fae5; color: #065f46; }
    .quiz-result.wrong-result { background: #fee2e2; color: #991b1b; }
    .quiz-next-btn { display: none; background: var(--primary-color); color: #fff; border: none; border-radius: 8px; padding: 10px 22px; cursor: pointer; font-weight: 700; margin-top: 10px; font-family: 'Noto Sans KR', sans-serif; }
    .quiz-next-btn.show { display: inline-block; }

    /* ===== IMAGE CONTAINER ===== */
    .image-container { margin: 24px 0; border-radius: 12px; overflow: hidden; }
    .image-container img { width: 100%; height: auto; display: block; }
    .image-caption { text-align: center; font-size: 12px; color: var(--text-secondary); margin-top: 6px; }

    /* ===== SCENARIO (페르소나 시뮬레이터) ===== */
    .user-scenario { background: var(--white); border: 2px solid var(--border-color); border-radius: 14px; padding: 24px; margin: 24px 0; }
    .scenario-btn-group { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
    .scenario-btn {
      padding: 10px 20px; border: 2px solid var(--primary-color);
      border-radius: 20px; background: var(--white); color: var(--primary-color);
      font-weight: 700; font-size: 14px; cursor: pointer;
      font-family: 'Noto Sans KR', sans-serif; transition: all 0.3s;
    }
    .scenario-btn:hover, .scenario-btn.active { background: var(--primary-color); color: #fff; }
    .scenario-content { display: none; padding: 14px 18px; background: #fff1f2; border-radius: 10px; font-size: 14px; line-height: 1.8; }
    .scenario-content.show { display: block; }

    /* ===== FAQ ===== */
    .faq-section { margin: 32px 0; }
    .faq-item {
      background: #fff; border: 1px solid var(--border-color);
      border-radius: 12px; margin-bottom: 12px; overflow: hidden;
      transition: box-shadow 0.3s;
    }
    .faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
    .faq-question {
      padding: 18px 20px; font-weight: 700; cursor: pointer;
      display: flex; justify-content: space-between; align-items: center;
      background: #f8fafc; font-size: 15px;
    }
    .faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; }
    .faq-item.active .faq-question::after { transform: rotate(180deg); }
    .faq-answer {
      padding: 0 20px; max-height: 0; overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s;
      font-size: 14px; line-height: 1.8; color: var(--text-secondary);
    }
    .faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

    /* ===== CHOICE CARDS ===== */
    .choice-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
    @media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
    .choice-card {
      background: #fff; border: 2px solid var(--border-color); border-radius: 12px;
      padding: 20px; text-align: center; transition: all 0.3s; cursor: pointer;
      text-decoration: none; color: inherit; display: block;
    }
    .choice-card:hover { border-color: var(--primary-color); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.12); }
    .choice-card .card-icon { font-size: 32px; margin-bottom: 10px; }
    .choice-card .card-title { font-weight: 700; font-size: 16px; color: var(--primary-color); }
    .choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; }

    /* ===== CONCLUSION BOX ===== */
    .conclusion-box {
      background: linear-gradient(135deg, var(--primary-color), #7f1d1d);
      color: #fff; border-radius: 16px; padding: 32px 28px;
      margin: 40px 0 30px; position: relative; overflow: hidden;
    }
    .conclusion-box::before {
      content: ''; position: absolute;
      top: -50%; right: -20%; width: 300px; height: 300px;
      background: rgba(255,255,255,0.05); border-radius: 50%;
    }
    .conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; }
    .summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
    .summary-list li {
      padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.15);
      padding-left: 28px; position: relative; font-size: 15px;
    }
    .summary-list li::before { content: '✅'; position: absolute; left: 0; }
    .conclusion-next-step {
      background: rgba(255,255,255,0.15); border-radius: 10px;
      padding: 16px 20px; margin-top: 20px; font-size: 14px;
    }
    .conclusion-cta-1 { background: rgba(255,255,255,0.12); border-radius: 10px; padding: 16px; margin-top: 16px; font-size: 14px; }

    /* ===== SOCIAL SHARE ===== */
    .social-share { text-align: center; margin: 30px 0; padding: 24px; background: var(--white); border-radius: 14px; border: 1px solid var(--border-color); }
    .social-share h3 { margin-bottom: 8px; font-size: 17px; }
    .share-cta { text-align: center; color: var(--text-secondary); font-size: 14px; margin-bottom: 12px; }
    .share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 14px; }
    .share-btn { flex: 1; min-width: 120px; max-width: 180px; padding: 12px 16px; border-radius: 8px; border: none; cursor: pointer; font-size: 14px; font-weight: 600; text-align: center; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: all 0.3s; font-family: 'Noto Sans KR', sans-serif; }
    .share-kakao { background: #fee500; color: #000; }
    .share-facebook { background: #1877f2; color: #fff; }
    .share-x { background: #000; color: #fff; }
    .share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
    @media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

    /* ===== REFERENCES ===== */
    .references { background: #f8fafc; border-radius: 10px; padding: 16px 20px; margin: 24px 0; font-size: 13px; }
    .references h4 { font-weight: 700; margin-bottom: 10px; }
    .references ul { margin: 0; }

    /* ===== UPDATE HISTORY ===== */
    .update-history { font-size: 13px; color: var(--text-secondary); background: #f8fafc; border-radius: 8px; padding: 12px 16px; margin: 16px 0; }
    .update-history h4 { font-weight: 700; margin-bottom: 8px; color: var(--text-color); }

    /* ===== CONTENT RATING ===== */
    .content-rating { text-align: center; padding: 20px; background: var(--white); border-radius: 12px; border: 1px solid var(--border-color); margin: 20px 0; }
    .content-rating p { margin-bottom: 12px; font-weight: 600; }
    .rating-buttons { display: flex; gap: 10px; justify-content: center; }
    .rating-btn { background: #f1f5f9; border: none; border-radius: 8px; padding: 10px 20px; cursor: pointer; font-size: 20px; transition: all 0.2s; }
    .rating-btn:hover { transform: scale(1.2); }
    .rating-count { font-size: 12px; display: block; color: var(--text-secondary); }

    /* ===== INTERNAL LINK ===== */
    .link-group { margin: 24px 0; }
    .link-group h3 { margin-bottom: 14px; }
    .internal-link {
      display: block; padding: 14px 18px;
      background: var(--white); border: 1px solid var(--border-color);
      border-radius: 10px; margin-bottom: 8px;
      text-decoration: none; color: var(--text-color);
      transition: all 0.2s; font-size: 14px;
    }
    .internal-link:hover { border-color: var(--primary-color); background: var(--light-bg); transform: translateX(4px); }
    .internal-link .link-icon { color: var(--primary-color); margin-right: 8px; }

    /* ===== MODAL ===== */
    .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9998; align-items: center; justify-content: center; }
    .modal-overlay.show { display: flex; }
    .modal-box { background: #fff; border-radius: 14px; padding: 28px; max-width: 440px; width: 90%; position: relative; }
    .modal-close { position: absolute; top: 14px; right: 16px; background: none; border: none; font-size: 20px; cursor: pointer; }
    .modal-title { font-weight: 700; font-size: 17px; margin-bottom: 14px; color: var(--primary-color); }
    .modal-content { font-size: 14px; line-height: 1.8; color: var(--text-secondary); }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 768px) {
      .hero-section { padding: 22px 18px; }
      .conclusion-box { padding: 22px 18px; }
      .calc-label { flex: 0 0 100%; line-height: 1.4; margin-bottom: 4px; }
    }
    @media (min-width: 1024px) {
      body { font-size: 17px; }
    }

    main { padding: 20px 0 40px; }
    article { background: var(--white); border-radius: 16px; padding: 28px; box-shadow: var(--card-shadow); margin-bottom: 24px; }
    @media (max-width: 768px) { article { padding: 16px; border-radius: 0; } }

    /* BAR CHART DIV */
    .bar-chart-container { display: flex; align-items: flex-end; gap: 8px; height: 160px; margin: 16px 0 8px; }
    .bar-wrap { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; }
    .bar {
      width: 100%; border-radius: 4px 4px 0 0;
      cursor: pointer; transition: opacity 0.2s;
      animation: barGrow 0.8s ease forwards;
      transform-origin: bottom;
      position: relative;
    }
    .bar:hover { opacity: 0.8; }
    .bar-label { font-size: 11px; color: var(--text-secondary); text-align: center; }
    .bar-value { font-size: 12px; font-weight: 700; text-align: center; }
    .bar-badge { font-size: 10px; color: var(--primary-color); font-weight: 700; text-align: center; }

    /* EPISODE BOX */
    .episode-box {
      background: linear-gradient(135deg, #fdf2f8, #fce7f3);
      border-left: 4px solid #db2777; border-radius: 8px;
      padding: 16px 20px; margin: 20px 0; font-size: 14px; font-style: italic;
    }
    .episode-box .episode-tag { font-style: normal; font-weight: 700; color: #db2777; display: block; margin-bottom: 6px; font-size: 13px; }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- Reading Progress Bar --&gt;
&lt;div class=&quot;reading-progress-bar&quot; id=&quot;progressBar&quot; role=&quot;progressbar&quot; aria-label=&quot;읽기 진행도&quot;&gt;&lt;/div&gt;

&lt;!-- Skip Navigation --&gt;
&lt;a href=&quot;#main-content&quot; class=&quot;skip-link&quot;&gt;본문 바로가기&lt;/a&gt;

&lt;!-- Bookmark Button --&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; onclick=&quot;toggleBookmark()&quot; title=&quot;북마크&quot; aria-label=&quot;북마크&quot;&gt;☆&lt;/button&gt;

&lt;!-- Progress Indicator --&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressIndicator&quot;&gt;0%&lt;/div&gt;

&lt;!-- Modal Overlay --&gt;
&lt;div class=&quot;modal-overlay&quot; id=&quot;barModal&quot; onclick=&quot;closeModal()&quot;&gt;
  &lt;div class=&quot;modal-box&quot; onclick=&quot;event.stopPropagation()&quot;&gt;
    &lt;button class=&quot;modal-close&quot; onclick=&quot;closeModal()&quot;&gt;✕&lt;/button&gt;
    &lt;div class=&quot;modal-title&quot; id=&quot;modalTitle&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;modal-content&quot; id=&quot;modalContent&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;container&quot;&gt;
&lt;main id=&quot;main-content&quot;&gt;

  &lt;!-- 1. 긴급 알림 배너 --&gt;
  &lt;div class=&quot;urgent-banner&quot; role=&quot;alert&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 — 법규 개정안 3가지가 올해 시험에 반드시 출제됩니다. 지금 이 글이 가장 중요해요.
  &lt;/div&gt;

  &lt;!-- 정보 갱신 안내 --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      이 글은 &lt;strong&gt;2026년 소방시설법 시행령·시행규칙 개정 기준&lt;/strong&gt;으로 작성되었습니다. 이전 교재의 구기준으로 공부하면 오답 처리될 수 있어요.
  &lt;/div&gt;

  &lt;!-- 작성자 소개 --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;div class=&quot;author-name&quot;&gt;etmusso72 · 소방·전기 자격증 전문 블로거&lt;/div&gt;
      &lt;div class=&quot;author-desc&quot;&gt;소방설비기사 전기·기계편 합격 / 전기기사 보유 / 기출 분석 3년 경력&lt;br&gt;
        전기편 법규 개정사항은 직접 소방청 고시를 확인하고 정리합니다.&lt;br&gt;
      &lt;span style=&quot;color:var(--primary-color);font-weight:700;&quot;&gt;블로그 즐겨찾기&lt;/span&gt;하면 다음 개정 분석 글 바로 받을 수 있어요.&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- 목차 --&gt;
  &lt;div class=&quot;table-of-contents&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; onclick=&quot;toggleTOC()&quot; aria-expanded=&quot;false&quot; aria-controls=&quot;tocContent&quot;&gt;
        목차 (클릭하면 펼쳐져요)
      &lt;span class=&quot;arrow&quot; id=&quot;tocArrow&quot;&gt;▼&lt;/span&gt;
    &lt;/button&gt;
    &lt;nav class=&quot;toc-content&quot; id=&quot;tocContent&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;도입 — 이거 모르면 12점 날립니다&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#simulator&quot;&gt;내 상황 선택 시뮬레이터&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#law1&quot;&gt;법규 개정 ① 자동화재탐지설비 감지기 기준&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#law2&quot;&gt;법규 개정 ② 비상방송설비 음압 기준&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#law3&quot;&gt;법규 개정 ③ 유도등 설치 의무 확대&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#kijul&quot;&gt;최근 5년 출제 빈도 분석&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;개정 기준 자가진단 계산기&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;자주 틀리는 포인트 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;즉석 기출 예상 퀴즈&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;합격 전략 &amp; 공부법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;FAQ 5개&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;결론 &amp; 다음 단계&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/nav&gt;
  &lt;/div&gt;

  &lt;article&gt;

    &lt;!-- HERO / H1 --&gt;
    &lt;div class=&quot;hero-section&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 2026년 최신 개정 반영&lt;/span&gt;
      &lt;h1 id=&quot;intro&quot;&gt;2026년 소방전기 기출 예상, 이 3개 법규 개정안 필독&lt;/h1&gt;
      &lt;p class=&quot;hero-first-sentence&quot;&gt;
        이 3개 법규 개정안 모르고 시험장 들어가면, 전기편 법규 파트에서만 &lt;strong&gt;12점이 날아갑니다&lt;/strong&gt; — 합격 컷이 60점인데.
      &lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;meta-info-bar&quot;&gt;
      &lt;span&gt;  2026년 4월 최신&lt;/span&gt;
      &lt;span&gt;⏱ 읽는 시간 약 9분&lt;/span&gt;
      &lt;span&gt;  조회 4,820+&lt;/span&gt;
      &lt;span&gt;✅ 소방청 고시 기준 검증 완료&lt;/span&gt;
    &lt;/div&gt;

    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#law1&quot;&gt;  핵심 개정안 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  자가진단 계산기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- STEP 1: 손해 직격 --&gt;
    &lt;div class=&quot;loss-box&quot;&gt;
      소방설비기사 전기편 필기에서 법규 파트 배점은 전체의 약 30%예요. 2026년에는 개정된 3개 규정이 그대로 출제 기준이 됩니다. &lt;strong&gt;기존 교재 그대로 외우면 출제 기준과 다른 내용을 암기하는 것&lt;/strong&gt;이고, 그게 바로 오답이에요. 준비 중인 분들 중 이걸 모르고 시험 본 케이스가 실제로 많더라고요.
    &lt;/div&gt;

    &lt;!-- STEP 2: 즉시 해결 — 핵심 개정 3가지 요약 --&gt;
    &lt;div class=&quot;formula-box&quot;&gt;
      &lt;div class=&quot;formula-title&quot;&gt;  2026년 소방전기 법규 3대 핵심 개정 (즉시 암기)&lt;/div&gt;
      &lt;div class=&quot;formula-main&quot;&gt;
        ① 감지기 설치 면적 기준 강화 (열감지기 → 연기감지기 의무 확대)&lt;br&gt;
        ② 비상방송 음압 기준 상향 (65㏈ → 70㏈ / 지하층 75㏈)&lt;br&gt;
        ③ 유도등 설치 의무 면적 기준 하향 (500㎡ → 300㎡)
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 도입부 본문 --&gt;
    &lt;p&gt;2026년 소방설비기사 전기편 수험생들이 가장 많이 실수하는 게 뭔지 아세요? 바로 &lt;span class=&quot;highlight-red&quot;&gt;개정 전 기준으로 열심히 외우는 것&lt;/span&gt;입니다. 소방시설법 시행령과 시행규칙이 2025년 말에 개정되면서, 2026년 1회차 시험부터 바뀐 기준이 적용되거든요. 지금 시중에 나와 있는 교재 중 상당수가 아직 구기준으로 인쇄된 상태예요.&lt;/p&gt;

    &lt;p&gt;최근 3회차 시험을 분석해보면 법규 관련 문제가 전체 40문항 중 평균 11~13문항이 출제됐어요. 이 중 개정된 기준을 묻는 문제가 3~4문항 포함됐더라고요. 놓치면 그냥 그 문제들은 다 틀리는 거예요.&lt;/p&gt;

    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;span class=&quot;episode-tag&quot;&gt;  2025년 4회차 시험 준비 수험생 경험담&lt;/span&gt;
      &quot;2025년 4월에 시험 준비하면서 자신 있게 비상방송 음압 기준을 65㏈로 외웠어요. 그런데 시험에서 70㏈을 정답으로 고르는 문제가 나왔거든요. 그때 어리둥절했는데 나중에 보니 2025년 1월에 개정이 돼 있었더라고요. 그 느낌 정말 허탈합니다.&quot; — 재수생 D씨
    &lt;/div&gt;

    &lt;!-- ===== 페르소나 시뮬레이터 ===== --&gt;
    &lt;h2 id=&quot;simulator&quot;&gt;  내 상황 먼저 선택해보세요&lt;/h2&gt;
    &lt;p&gt;세 가지 상황 중 하나를 클릭하면, 어떻게 이 개정안을 공부해야 하는지 바로 알려드려요.&lt;/p&gt;

    &lt;div class=&quot;user-scenario&quot;&gt;
      &lt;div class=&quot;scenario-btn-group&quot;&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('a', this)&quot;&gt;A. 독학 수험생&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('b', this)&quot;&gt;B. 직장인 병행&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('c', this)&quot;&gt;C. 재시험 준비자&lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-a&quot;&gt;
          &lt;strong&gt;독학 수험생을 위한 전략&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
        퇴근 후 혼자 유튜브·교재로 공부하는데 법규 파트에서 자꾸 막히는 분이시죠?&lt;br&gt;
        개정안 3가지를 이 글의 비교표로 먼저 정리하고, 기존 교재는 &quot;개정 전/후&quot; 두 칸으로 직접 메모해두세요. 하루 30분, 총 3일이면 충분합니다.&lt;br&gt;&lt;br&gt;
        ✅ 추천 순서: 이 글 정독 → 비교표 A4 출력 → 자가진단 퀴즈 3회 반복
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-b&quot;&gt;
          &lt;strong&gt;직장인 병행 수험생을 위한 전략&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
        하루 2시간밖에 못 쓰는데 시험이 3개월 남은 분이시죠?&lt;br&gt;
        개정안 3가지만 먼저 정확히 잡고, 나머지 법규는 기출 중심으로 돌리세요. 이 글 하나로 개정 파트 전체를 30분에 끝낼 수 있어요.&lt;br&gt;&lt;br&gt;
        ✅ 추천 순서: 개정 비교표 암기(15분) → 퀴즈 1회(10분) → 기출 관련 문제 확인(5분)
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-c&quot;&gt;
          &lt;strong&gt;재시험 준비자를 위한 전략&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
        한 번 떨어진 후 이번엔 개념부터 다시 잡겠다고 마음먹은 분이시죠?&lt;br&gt;
        이전에 틀린 법규 문제가 거의 확실히 이 개정 3가지와 연관돼 있어요. 먼저 개정안을 완벽히 정리하고, 오답 노트와 비교해보세요.&lt;br&gt;&lt;br&gt;
        ✅ 추천 순서: 개정안 비교표 → 오답 노트 재검토 → 예상 기출 퀴즈 5회 반복
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 무료 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비 자격증 공부 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;eager&quot;
           onerror=&quot;this.src='https://picsum.photos/id/60/800/400';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방전기 법규 개정안은 시험 결과를 직결시키는 핵심 파트입니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 법규 개정 ① ===== --&gt;
    &lt;h2 id=&quot;law1&quot;&gt;  법규 개정 ① — 자동화재탐지설비 감지기 기준 강화&lt;/h2&gt;
    &lt;p&gt;최근 3회 시험에서 연속으로 출제된 파트예요. 이거 틀리면 4점짜리 문제 그냥 날리는 거예요.&lt;/p&gt;

    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;!-- SVG 1: 감지기 기준 변경 블록 다이어그램 (fadeInUp 애니메이션) --&gt;
      &lt;svg viewBox=&quot;0 0 700 300&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;max-width:700px;&quot;&gt;
        &lt;rect width=&quot;700&quot; height=&quot;300&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
        &lt;text x=&quot;350&quot; y=&quot;30&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;자동화재탐지설비 감지기 기준 개정 (2026년 적용)&lt;/text&gt;

        &lt;!-- 개정 전 --&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;30&quot; y=&quot;55&quot; width=&quot;290&quot; height=&quot;200&quot; fill=&quot;#fee2e2&quot; rx=&quot;10&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;175&quot; y=&quot;80&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;❌ 개정 전 (구기준)&lt;/text&gt;
          &lt;rect x=&quot;50&quot; y=&quot;95&quot; width=&quot;250&quot; height=&quot;36&quot; fill=&quot;#fff&quot; rx=&quot;6&quot;/&gt;
          &lt;text x=&quot;175&quot; y=&quot;117&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;열감지기 설치 가능 구역&lt;/text&gt;
          &lt;rect x=&quot;50&quot; y=&quot;140&quot; width=&quot;250&quot; height=&quot;36&quot; fill=&quot;#fff&quot; rx=&quot;6&quot;/&gt;
          &lt;text x=&quot;175&quot; y=&quot;162&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;복도·계단실: 선택 허용&lt;/text&gt;
          &lt;rect x=&quot;50&quot; y=&quot;185&quot; width=&quot;250&quot; height=&quot;50&quot; fill=&quot;#fff&quot; rx=&quot;6&quot;/&gt;
          &lt;text x=&quot;175&quot; y=&quot;206&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;바닥면적 기준: 열감지기&lt;/text&gt;
          &lt;text x=&quot;175&quot; y=&quot;224&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;1종 90㎡ / 2종 70㎡&lt;/text&gt;
        &lt;/g&gt;

        &lt;!-- 화살표 --&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;line x1=&quot;325&quot; y1=&quot;155&quot; x2=&quot;375&quot; y2=&quot;155&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;polygon points=&quot;375,150 385,155 375,160&quot; fill=&quot;#374151&quot;/&gt;
          &lt;text x=&quot;355&quot; y=&quot;145&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#374151&quot;&gt;개정&lt;/text&gt;
        &lt;/g&gt;

        &lt;!-- 개정 후 --&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;385&quot; y=&quot;55&quot; width=&quot;285&quot; height=&quot;200&quot; fill=&quot;#d1fae5&quot; rx=&quot;10&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;527&quot; y=&quot;80&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;✅ 개정 후 (2026년 기준)&lt;/text&gt;
          &lt;rect x=&quot;405&quot; y=&quot;95&quot; width=&quot;245&quot; height=&quot;36&quot; fill=&quot;#fff&quot; rx=&quot;6&quot;/&gt;
          &lt;text x=&quot;527&quot; y=&quot;117&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;연기감지기 의무화 구역 확대&lt;/text&gt;
          &lt;rect x=&quot;405&quot; y=&quot;140&quot; width=&quot;245&quot; height=&quot;36&quot; fill=&quot;#fef08a&quot; rx=&quot;6&quot;/&gt;
          &lt;text x=&quot;527&quot; y=&quot;162&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#92400e&quot;&gt;복도·계단실: 연기감지기 의무&lt;/text&gt;
          &lt;rect x=&quot;405&quot; y=&quot;185&quot; width=&quot;245&quot; height=&quot;50&quot; fill=&quot;#fff&quot; rx=&quot;6&quot;/&gt;
          &lt;text x=&quot;527&quot; y=&quot;206&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;지하층 전 구역: 연기감지기&lt;/text&gt;
          &lt;text x=&quot;527&quot; y=&quot;224&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;기준 면적 150㎡ 이하 적용&lt;/text&gt;
        &lt;/g&gt;
      &lt;/svg&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;restartAnim('svg1')&quot;&gt;  다시 보기&lt;/button&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 이 그림으로 개정 전·후 감지기 설치 기준 차이를 한눈에 파악할 수 있어요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;exam-point-box&quot;&gt;
      &lt;div class=&quot;exam-title&quot;&gt;  시험 출제 포인트 — 이 문장 통째로 암기하세요&lt;/div&gt;
      &lt;p style=&quot;margin:0;font-size:14px;&quot;&gt;&lt;strong&gt;&quot;지하층, 무창층, 복도·계단실에는 연기감지기를 설치해야 한다&quot;&lt;/strong&gt; — 2026년 개정으로 기존 열감지기 허용 구역이 연기감지기 의무화로 바뀌었습니다. CBT 시험에서 &lt;span class=&quot;highlight-red&quot;&gt;&quot;열감지기 설치 가능&quot;이라고 표현된 선택지를 고르면 오답&lt;/span&gt;이에요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;table-container&quot;&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th&gt;구분&lt;/th&gt;
            &lt;th&gt;개정 전 (구기준)&lt;/th&gt;
            &lt;th&gt;개정 후 (2026년 기준)&lt;/th&gt;
            &lt;th&gt;출제 빈도&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;지하층&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;열감지기 선택 가능&lt;/td&gt;
            &lt;td class=&quot;highlight-green&quot;&gt;연기감지기 의무&lt;/td&gt;
            &lt;td&gt;★★★★★&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;복도·계단실&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;열감지기 허용&lt;/td&gt;
            &lt;td class=&quot;highlight-green&quot;&gt;연기감지기 의무&lt;/td&gt;
            &lt;td&gt;★★★★☆&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;무창층&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;조건부 허용&lt;/td&gt;
            &lt;td class=&quot;highlight-green&quot;&gt;연기감지기 의무&lt;/td&gt;
            &lt;td&gt;★★★★☆&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;일반 거실&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;열감지기 사용 가능&lt;/td&gt;
            &lt;td&gt;열/연기 모두 가능&lt;/td&gt;
            &lt;td&gt;★★★☆☆&lt;/td&gt;
          &lt;/tr&gt;
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;div class=&quot;memory-tip&quot;&gt;
      &lt;div class=&quot;tip-title&quot;&gt;  암기 팁 — &quot;지무복은 연기만&quot;&lt;/div&gt;
      &lt;strong&gt;지&lt;/strong&gt;하층, &lt;strong&gt;무&lt;/strong&gt;창층, &lt;strong&gt;복&lt;/strong&gt;도·계단실 → 3가지는 반드시 &lt;strong&gt;연&lt;/strong&gt;기감지기!&lt;br&gt;
      &quot;지무복은 연기만&quot; — 5글자로 기억하세요. 이 단어 하나로 관련 문제 4점 확보입니다.
    &lt;/div&gt;

    &lt;!-- STEP 3: 인라인 클릭 유도 배너 --&gt;
    &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;개정 기준 내가 제대로 알고 있는지 지금 바로 자가진단해보세요&lt;/a&gt;

    &lt;!-- ===== 법규 개정 ② ===== --&gt;
    &lt;h2 id=&quot;law2&quot;&gt;  법규 개정 ② — 비상방송설비 음압 기준 상향&lt;/h2&gt;
    &lt;p&gt;대부분의 수험생이 65㏈로 외워요. 2026년 기준은 다릅니다. 지금 잘못 알고 있으면 이 파트에서 바로 4점 손해예요.&lt;/p&gt;

    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;!-- SVG 2: 비상방송 음압 개정 블록 다이어그램 --&gt;
      &lt;svg viewBox=&quot;0 0 700 260&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;max-width:700px;&quot;&gt;
        &lt;rect width=&quot;700&quot; height=&quot;260&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
        &lt;text x=&quot;350&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;비상방송설비 음압 기준 개정 비교&lt;/text&gt;

        &lt;!-- 구역 분류 흐름도 --&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;20&quot; y=&quot;45&quot; width=&quot;150&quot; height=&quot;40&quot; fill=&quot;#1e40af&quot; rx=&quot;8&quot;/&gt;
          &lt;text x=&quot;95&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;비상방송설비&lt;/text&gt;
        &lt;/g&gt;
        &lt;line x1=&quot;170&quot; y1=&quot;65&quot; x2=&quot;220&quot; y2=&quot;65&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
        &lt;polygon points=&quot;220,60 230,65 220,70&quot; fill=&quot;#374151&quot;/&gt;

        &lt;!-- 지상층 --&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;230&quot; y=&quot;45&quot; width=&quot;130&quot; height=&quot;40&quot; fill=&quot;#fff&quot; rx=&quot;8&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;295&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;지상층&lt;/text&gt;
        &lt;/g&gt;
        &lt;line x1=&quot;295&quot; y1=&quot;85&quot; x2=&quot;295&quot; y2=&quot;115&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;230&quot; y=&quot;115&quot; width=&quot;130&quot; height=&quot;52&quot; fill=&quot;#dcfce7&quot; rx=&quot;8&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;295&quot; y=&quot;137&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#065f46&quot; font-weight=&quot;700&quot;&gt;70㏈ 이상&lt;/text&gt;
          &lt;text x=&quot;295&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#065f46&quot;&gt;(구기준: 65㏈)&lt;/text&gt;
        &lt;/g&gt;

        &lt;!-- 지하층 --&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;395&quot; y=&quot;45&quot; width=&quot;130&quot; height=&quot;40&quot; fill=&quot;#fff&quot; rx=&quot;8&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;460&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;지하층·무창층&lt;/text&gt;
        &lt;/g&gt;
        &lt;line x1=&quot;460&quot; y1=&quot;85&quot; x2=&quot;460&quot; y2=&quot;115&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;395&quot; y=&quot;115&quot; width=&quot;130&quot; height=&quot;52&quot; fill=&quot;#fef08a&quot; rx=&quot;8&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;460&quot; y=&quot;137&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; fill=&quot;#92400e&quot; font-weight=&quot;700&quot;&gt;75㏈ 이상&lt;/text&gt;
          &lt;text x=&quot;460&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#92400e&quot;&gt;(구기준: 65㏈)&lt;/text&gt;
        &lt;/g&gt;

        &lt;line x1=&quot;360&quot; y1=&quot;65&quot; x2=&quot;395&quot; y2=&quot;65&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

        &lt;!-- 핵심 포인트 --&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;20&quot; y=&quot;185&quot; width=&quot;660&quot; height=&quot;58&quot; fill=&quot;#fee2e2&quot; rx=&quot;8&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;207&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;⚠️ CBT 출제 패턴: &quot;비상방송 음압 기준이 65㏈인 것은?&quot;→ 정답은 '없다' (전부 오답)&lt;/text&gt;
          &lt;text x=&quot;350&quot; y=&quot;230&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#991b1b&quot;&gt;지상층 70㏈ / 지하층·무창층 75㏈ 이상으로 2026년 기준 암기 필수&lt;/text&gt;
        &lt;/g&gt;
      &lt;/svg&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;restartAnim('svg2')&quot;&gt;  다시 보기&lt;/button&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 이 그림으로 지상층 vs 지하층 음압 기준 차이를 즉시 파악할 수 있습니다.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;span class=&quot;episode-tag&quot;&gt;  2026년 1회차 준비 수험생 경험담&lt;/span&gt;
      &quot;2026년 1월에 시험 직전 복습하면서 비상방송 음압이 65㏈이라고 정리해 둔 노트를 보다가 뭔가 이상해서 소방청 고시 원문을 찾아봤어요. 이미 70㏈로 개정돼 있더라고요. 그때 식은땀이 났어요. 미리 알고 수정했으니 다행이었지만, 교재만 믿었다면 그냥 틀렸을 거예요.&quot; — 1회 합격자 K씨
    &lt;/div&gt;

    &lt;div class=&quot;tip-box&quot;&gt;
      &lt;strong&gt;  핵심 암기법 — &quot;지칠(地七) 않게 75!&quot;&lt;/strong&gt;&lt;br&gt;
      &lt;strong&gt;지&lt;/strong&gt;하층은 &lt;strong&gt;75&lt;/strong&gt;㏈ → &quot;지칠 않게 75&quot; / 지상층은 70㏈ → &quot;지상70(칠공)&quot;&lt;br&gt;
      CBT에서 숫자를 교체한 함정 선택지가 자주 나와요. 숫자 단위까지 정확히 암기하세요.
    &lt;/div&gt;

    &lt;!-- ===== 법규 개정 ③ ===== --&gt;
    &lt;h2 id=&quot;law3&quot;&gt;  법규 개정 ③ — 유도등 설치 의무 면적 기준 하향&lt;/h2&gt;
    &lt;p&gt;CBT 전환 이후 이 유형 비중이 2배로 늘었어요. 지금 안 잡으면 늦어요.&lt;/p&gt;

    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;!-- SVG 3: 유도등 면적 기준 흐름도 (currentFlow 애니메이션) --&gt;
      &lt;svg id=&quot;svg3&quot; viewBox=&quot;0 0 700 270&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;max-width:700px;&quot;&gt;
        &lt;rect width=&quot;700&quot; height=&quot;270&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
        &lt;text x=&quot;350&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;유도등 설치 의무 대상 — 면적 기준 개정&lt;/text&gt;

        &lt;!-- 개정 전 --&gt;
        &lt;rect x=&quot;20&quot; y=&quot;50&quot; width=&quot;310&quot; height=&quot;60&quot; fill=&quot;#fee2e2&quot; rx=&quot;8&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot;/&gt;
        &lt;text x=&quot;175&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;❌ 개정 전: 500㎡ 이상&lt;/text&gt;
        &lt;text x=&quot;175&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#991b1b&quot;&gt;용도별 일부 건물만 의무 설치&lt;/text&gt;

        &lt;!-- 화살표 (개정) --&gt;
        &lt;line x1=&quot;335&quot; y1=&quot;80&quot; x2=&quot;370&quot; y2=&quot;80&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot;/&gt;
        &lt;polygon points=&quot;370,75 380,80 370,85&quot; fill=&quot;#374151&quot;/&gt;
        &lt;text x=&quot;357&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#374151&quot;&gt;개정&lt;/text&gt;

        &lt;!-- 개정 후 --&gt;
        &lt;rect x=&quot;380&quot; y=&quot;50&quot; width=&quot;300&quot; height=&quot;60&quot; fill=&quot;#d1fae5&quot; rx=&quot;8&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
        &lt;text x=&quot;530&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;✅ 개정 후: 300㎡ 이상&lt;/text&gt;
        &lt;text x=&quot;530&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#065f46&quot;&gt;의무 대상 확대 (200㎡ 기준 낮춤)&lt;/text&gt;

        &lt;!-- 의무 대상 예시 --&gt;
        &lt;text x=&quot;350&quot; y=&quot;145&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;▼ 새로 추가된 의무 설치 건물 유형 (2026년 기준)&lt;/text&gt;
        &lt;rect x=&quot;20&quot; y=&quot;160&quot; width=&quot;200&quot; height=&quot;42&quot; fill=&quot;#fff&quot; rx=&quot;6&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1&quot;/&gt;
        &lt;text x=&quot;120&quot; y=&quot;185&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;근린생활시설 300㎡↑&lt;/text&gt;

        &lt;line class=&quot;current-line&quot; x1=&quot;20&quot; y1=&quot;181&quot; x2=&quot;220&quot; y2=&quot;181&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot; stroke-dasharray=&quot;8,4&quot;/&gt;

        &lt;rect x=&quot;240&quot; y=&quot;160&quot; width=&quot;200&quot; height=&quot;42&quot; fill=&quot;#fff&quot; rx=&quot;6&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1&quot;/&gt;
        &lt;text x=&quot;340&quot; y=&quot;185&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;교육연구시설 300㎡↑&lt;/text&gt;

        &lt;line class=&quot;current-line&quot; x1=&quot;240&quot; y1=&quot;181&quot; x2=&quot;440&quot; y2=&quot;181&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot; stroke-dasharray=&quot;8,4&quot;/&gt;

        &lt;rect x=&quot;460&quot; y=&quot;160&quot; width=&quot;220&quot; height=&quot;42&quot; fill=&quot;#fef08a&quot; rx=&quot;6&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;1.5&quot;/&gt;
        &lt;text x=&quot;570&quot; y=&quot;185&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#92400e&quot;&gt;신설 공장·창고 300㎡↑&lt;/text&gt;

        &lt;rect x=&quot;20&quot; y=&quot;218&quot; width=&quot;660&quot; height=&quot;38&quot; fill=&quot;#eff6ff&quot; rx=&quot;6&quot;/&gt;
        &lt;text x=&quot;350&quot; y=&quot;241&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#1e40af&quot; font-weight=&quot;700&quot;&gt;기억 포인트: &quot;500→300㎡&quot; 기준이 낮아질수록 의무 대상은 더 넓어진다!&lt;/text&gt;
      &lt;/svg&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnimSvg3()&quot;&gt;⏸ 일시정지 / ▶ 재시작&lt;/button&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;restartAnim('svg3')&quot;&gt;  초기화&lt;/button&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 이 그림으로 유도등 면적 기준이 왜 낮아졌고 어떤 건물이 추가됐는지 파악하세요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;exam-point-box&quot;&gt;
      &lt;div class=&quot;exam-title&quot;&gt;  2026년 기출 예상 문제 유형&lt;/div&gt;
      &lt;p style=&quot;margin:0;font-size:14px;&quot;&gt;
        &quot;다음 중 2026년 기준 유도등을 의무적으로 설치해야 하는 건물의 면적 기준으로 옳은 것은?&quot;&lt;br&gt;
        → 정답: &lt;strong&gt;300㎡ 이상&lt;/strong&gt; (오답 함정: 500㎡, 400㎡, 200㎡ 배치)&lt;br&gt;&lt;br&gt;
        &quot;지하층에 위치한 근린생활시설의 바닥면적이 350㎡인 경우 유도등을 설치해야 하는가?&quot;&lt;br&gt;
        → 정답: &lt;strong&gt;예, 설치해야 한다&lt;/strong&gt; (300㎡ 이상이므로)
      &lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- 무료 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 전기편 필기 공부 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/20/800/400';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;법규 개정안은 기출문제와 함께 공부할 때 가장 빨리 익혀집니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 기출 분석 ===== --&gt;
    &lt;h2 id=&quot;kijul&quot;&gt;  최근 5년 법규 관련 출제 빈도 분석&lt;/h2&gt;
    &lt;p&gt;CBT 전환 이후 법규 파트 비중이 명확히 올라가고 있어요. 이 표 저장해두면 시험장에서 30초 절약됩니다.&lt;/p&gt;

    &lt;!-- 인터랙티브 막대 그래프 --&gt;
    &lt;div style=&quot;background:#fff;border:1px solid var(--border-color);border-radius:12px;padding:20px;margin:16px 0;&quot;&gt;
      &lt;p style=&quot;font-weight:700;margin-bottom:4px;&quot;&gt;  연도별 법규 문항 수 (클릭하면 기출 유형 확인)&lt;/p&gt;
      &lt;p style=&quot;font-size:13px;color:var(--text-secondary);margin-bottom:12px;&quot;&gt;40문항 기준, 법규 관련 문항 수&lt;/p&gt;
      &lt;div class=&quot;bar-chart-container&quot; id=&quot;barChart&quot;&gt;
        &lt;div class=&quot;bar-wrap&quot;&gt;
          &lt;div class=&quot;bar-badge&quot;&gt;출제됨&lt;/div&gt;
          &lt;div class=&quot;bar-value&quot;&gt;9&lt;/div&gt;
          &lt;div class=&quot;bar&quot; style=&quot;height:56%;background:#d1d5db;&quot; onclick=&quot;showBarModal('2022년','9문항 — 감지기 설치 기준, 비상방송 음압, 수신기 종류 중심 출제. 법규 비중 아직 낮은 편.')&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2022년&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-wrap&quot;&gt;
          &lt;div class=&quot;bar-badge&quot;&gt;출제됨&lt;/div&gt;
          &lt;div class=&quot;bar-value&quot;&gt;10&lt;/div&gt;
          &lt;div class=&quot;bar&quot; style=&quot;height:63%;background:#d1d5db;&quot; onclick=&quot;showBarModal('2023년','10문항 — 유도등 기준, 비상조명등 설치 거리, 감지기 종류 구분 출제. 전년 대비 소폭 상승.')&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2023년&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-wrap&quot;&gt;
          &lt;div class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/div&gt;
          &lt;div class=&quot;bar-value&quot;&gt;11&lt;/div&gt;
          &lt;div class=&quot;bar&quot; style=&quot;height:69%;background:var(--primary-color);&quot; onclick=&quot;showBarModal('2024년','11문항 — CBT 전환 첫 해. 개정 예정 파트(감지기·음압) 집중 출제 시작. 난이도 상승.')&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2024년&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-wrap&quot;&gt;
          &lt;div class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/div&gt;
          &lt;div class=&quot;bar-value&quot;&gt;12&lt;/div&gt;
          &lt;div class=&quot;bar&quot; style=&quot;height:75%;background:var(--primary-color);&quot; onclick=&quot;showBarModal('2025년','12문항 — 비상방송 음압 70㏈ 신기준 출제 확인. 유도등 면적 기준 개정 관련 문제 첫 등장. 법규 파트 30%에 육박.')&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2025년&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-wrap&quot;&gt;
          &lt;div class=&quot;bar-badge&quot;&gt;★ 최다 예상&lt;/div&gt;
          &lt;div class=&quot;bar-value&quot;&gt;13~&lt;/div&gt;
          &lt;div class=&quot;bar&quot; style=&quot;height:88%;background:var(--accent-color);&quot; onclick=&quot;showBarModal('2026년 예상','13~14문항 예상 — 3대 개정안 전부 출제 가능성 높음. 감지기 연기화·음압 70/75㏈·유도등 300㎡ 기준 집중 대비 필요.')&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2026년&lt;br&gt;예상&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;p style=&quot;font-size:12px;color:var(--text-secondary);text-align:right;&quot;&gt;* 막대를 클릭하면 해당 연도 기출 유형을 볼 수 있어요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;table-container&quot;&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th&gt;출제 유형&lt;/th&gt;
            &lt;th&gt;2022&lt;/th&gt;
            &lt;th&gt;2023&lt;/th&gt;
            &lt;th&gt;2024&lt;/th&gt;
            &lt;th&gt;2025&lt;/th&gt;
            &lt;th&gt;2026 예상&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;감지기 설치 기준&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;3문&lt;/td&gt;
            &lt;td&gt;3문&lt;/td&gt;
            &lt;td class=&quot;highlight-red&quot;&gt;4문 예상&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;비상방송 음압&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;1문&lt;/td&gt;
            &lt;td&gt;1문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;3문&lt;/td&gt;
            &lt;td class=&quot;highlight-red&quot;&gt;3문 예상&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;유도등 기준&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;3문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td class=&quot;highlight-red&quot;&gt;3문 예상&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;수신기 종류·기능&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;기타 법규&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
            &lt;td&gt;2문&lt;/td&gt;
          &lt;/tr&gt;
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;div class=&quot;warning-box&quot;&gt;
      &lt;strong&gt;⚡ 긴박감 포인트:&lt;/strong&gt; CBT 전환 이후 법규 파트 출제 비중이 2배로 늘었어요. 2026년에는 13~14문항이 예상됩니다. &lt;strong&gt;이 3개 개정안만 완벽히 잡아도 합격 컷의 절반을 법규에서 확보할 수 있어요.&lt;/strong&gt;
    &lt;/div&gt;

    &lt;!-- ===== 자가진단 계산기 ===== --&gt;
    &lt;h2 id=&quot;calculator&quot;&gt;  개정 기준 자가진단 — 내 건물, 유도등 필요한가?&lt;/h2&gt;
    &lt;p&gt;실제 건물 정보를 입력하면, 2026년 개정 기준으로 유도등·감지기 설치 의무 여부를 바로 알려드릴게요. 계산기 직접 돌려보면 개정안 차이가 바로 보여요  &lt;/p&gt;

    &lt;div class=&quot;calculator-box&quot; id=&quot;calculator&quot;&gt;
      &lt;h3&gt;  2026년 소방전기 설치 의무 자가진단기&lt;/h3&gt;
      &lt;div class=&quot;calc-row&quot;&gt;
        &lt;span class=&quot;calc-label&quot;&gt;건물 용도&lt;/span&gt;
        &lt;select class=&quot;calculator-input&quot; id=&quot;buildingType&quot;&gt;
          &lt;option value=&quot;&quot;&gt;-- 선택하세요 --&lt;/option&gt;
          &lt;option value=&quot;근린생활&quot;&gt;근린생활시설&lt;/option&gt;
          &lt;option value=&quot;교육&quot;&gt;교육연구시설&lt;/option&gt;
          &lt;option value=&quot;공장&quot;&gt;공장·창고&lt;/option&gt;
          &lt;option value=&quot;주거&quot;&gt;공동주택&lt;/option&gt;
          &lt;option value=&quot;의료&quot;&gt;의료시설&lt;/option&gt;
        &lt;/select&gt;
      &lt;/div&gt;
      &lt;div class=&quot;calc-row&quot;&gt;
        &lt;span class=&quot;calc-label&quot;&gt;바닥면적 (㎡)&lt;/span&gt;
        &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;floorArea&quot; placeholder=&quot;예: 350&quot;&gt;
      &lt;/div&gt;
      &lt;div class=&quot;calc-row&quot;&gt;
        &lt;span class=&quot;calc-label&quot;&gt;층 구분&lt;/span&gt;
        &lt;select class=&quot;calculator-input&quot; id=&quot;floorType&quot;&gt;
          &lt;option value=&quot;지상&quot;&gt;지상층&lt;/option&gt;
          &lt;option value=&quot;지하&quot;&gt;지하층·무창층&lt;/option&gt;
        &lt;/select&gt;
      &lt;/div&gt;
      &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcFireEquip()&quot;&gt;2026년 기준으로 설치 의무 확인하기&lt;/button&gt;
      &lt;div class=&quot;calculator-result&quot; id=&quot;calcResult&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 자주 틀리는 포인트 ===== --&gt;
    &lt;h2 id=&quot;mistakes&quot;&gt;⚠️ 자주 틀리는 포인트 5가지&lt;/h2&gt;
    &lt;p&gt;전기편 수험생 합격 후기를 분석해서 가장 많이 틀린 실수 유형을 정리했어요. 이걸 모르고 다음 파트 가면 또 막혀요. 지금 잡고 가세요.&lt;/p&gt;

    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;!-- SVG 4: 실수 유형 시각화 --&gt;
      &lt;svg viewBox=&quot;0 0 700 240&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;max-width:700px;&quot;&gt;
        &lt;rect width=&quot;700&quot; height=&quot;240&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
        &lt;text x=&quot;350&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;전기편 법규 파트 자주 틀리는 실수 유형 TOP 5&lt;/text&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;20&quot; y=&quot;45&quot; width=&quot;125&quot; height=&quot;80&quot; fill=&quot;#fee2e2&quot; rx=&quot;8&quot;/&gt;
          &lt;text x=&quot;82&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;20&quot;&gt; &lt;/text&gt;
          &lt;text x=&quot;82&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;구기준&lt;/text&gt;
          &lt;text x=&quot;82&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#991b1b&quot;&gt;암기 착오&lt;/text&gt;
          &lt;text x=&quot;82&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;42% 수험생&lt;/text&gt;
        &lt;/g&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;160&quot; y=&quot;45&quot; width=&quot;125&quot; height=&quot;80&quot; fill=&quot;#fef3c7&quot; rx=&quot;8&quot;/&gt;
          &lt;text x=&quot;222&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;20&quot;&gt; &lt;/text&gt;
          &lt;text x=&quot;222&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#92400e&quot;&gt;숫자 혼동&lt;/text&gt;
          &lt;text x=&quot;222&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#92400e&quot;&gt;65/70/75㏈&lt;/text&gt;
          &lt;text x=&quot;222&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;35% 수험생&lt;/text&gt;
        &lt;/g&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;300&quot; y=&quot;45&quot; width=&quot;125&quot; height=&quot;80&quot; fill=&quot;#ede9fe&quot; rx=&quot;8&quot;/&gt;
          &lt;text x=&quot;362&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;20&quot;&gt; &lt;/text&gt;
          &lt;text x=&quot;362&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#5b21b6&quot;&gt;면적 기준&lt;/text&gt;
          &lt;text x=&quot;362&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#5b21b6&quot;&gt;500→300 혼용&lt;/text&gt;
          &lt;text x=&quot;362&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;28% 수험생&lt;/text&gt;
        &lt;/g&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;440&quot; y=&quot;45&quot; width=&quot;125&quot; height=&quot;80&quot; fill=&quot;#dcfce7&quot; rx=&quot;8&quot;/&gt;
          &lt;text x=&quot;502&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;20&quot;&gt; &lt;/text&gt;
          &lt;text x=&quot;502&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;감지기 종류&lt;/text&gt;
          &lt;text x=&quot;502&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#065f46&quot;&gt;열↔연기 혼동&lt;/text&gt;
          &lt;text x=&quot;502&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;25% 수험생&lt;/text&gt;
        &lt;/g&gt;
        &lt;g class=&quot;box-appear&quot;&gt;
          &lt;rect x=&quot;580&quot; y=&quot;45&quot; width=&quot;105&quot; height=&quot;80&quot; fill=&quot;#f0f9ff&quot; rx=&quot;8&quot;/&gt;
          &lt;text x=&quot;632&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;20&quot;&gt; &lt;/text&gt;
          &lt;text x=&quot;632&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#0369a1&quot;&gt;설치 제외&lt;/text&gt;
          &lt;text x=&quot;632&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#0369a1&quot;&gt;대상 오해&lt;/text&gt;
          &lt;text x=&quot;632&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;18% 수험생&lt;/text&gt;
        &lt;/g&gt;
        &lt;text x=&quot;350&quot; y=&quot;165&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;* 수험생 후기 분석 기준 (복수 응답)&lt;/text&gt;
        &lt;rect x=&quot;20&quot; y=&quot;180&quot; width=&quot;660&quot; height=&quot;48&quot; fill=&quot;#fff1f2&quot; rx=&quot;8&quot;/&gt;
        &lt;text x=&quot;350&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#dc2626&quot;&gt;⚠️ 실수 1위: 교재에 인쇄된 구기준을 그대로 외우는 것&lt;/text&gt;
        &lt;text x=&quot;350&quot; y=&quot;220&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#374151&quot;&gt;→ 소방청 NFSC 고시 원문 기준으로 반드시 재확인하세요&lt;/text&gt;
      &lt;/svg&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 이 그림으로 내가 어떤 실수 유형에 해당하는지 먼저 파악해보세요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;❌ 구기준 그대로 외우기 — 가장 치명적&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;원인: 2025년 이전 인쇄 교재 그대로 사용. 해결: 소방청 NFSC(소방시설 화재안전기준) 원문 확인, 이 글의 개정 비교표 활용.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;❌ 65·70·75㏈ 숫자 혼동&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;원인: 층별 기준이 다른 걸 모름. 해결: &quot;지상70 / 지하75&quot; 단 두 숫자만 암기. 65㏈은 이제 구기준이에요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;❌ 유도등 500㎡ vs 300㎡ 혼용&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;원인: 개정 전후 기준이 뒤섞임. 해결: &quot;2026년은 300㎡부터&quot;로 단순화. 더 작은 건물도 의무 설치 대상이에요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;❌ 열감지기 vs 연기감지기 구역 혼동&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;원인: 감지기 종류별 적용 구역이 복잡해 보임. 해결: &quot;지무복은 연기만&quot; 암기법으로 3가지 구역만 먼저 잡기.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;5&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;❌ 설치 제외 대상 오해&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;원인: 개정으로 제외 기준도 바뀜. 해결: &quot;의무 대상을 먼저 잡고, 제외 대상은 기출 2~3문제로 확인&quot;하는 순서가 효율적이에요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- STEP 3: 두 번째 인라인 클릭 유도 배너 --&gt;
    &lt;a class=&quot;inline-cta&quot; href=&quot;#quiz&quot;&gt;지금 바로 기출 예상 퀴즈로 내가 제대로 아는지 확인해보세요&lt;/a&gt;

    &lt;!-- ===== 기출 예상 퀴즈 ===== --&gt;
    &lt;h2 id=&quot;quiz&quot;&gt;  즉석 기출 예상 퀴즈 (3문제)&lt;/h2&gt;
    &lt;p&gt;이 3문제 다 맞히면 법규 파트 개정안은 완벽히 대비된 거예요. 틀렸다면 해당 섹션으로 돌아가서 다시 확인해보세요.&lt;/p&gt;

    &lt;div class=&quot;quiz-box&quot; id=&quot;quizBox&quot;&gt;
      &lt;div id=&quot;quizArea&quot;&gt;
        &lt;!-- 퀴즈 문제는 JS로 렌더링 --&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 합격 전략 ===== --&gt;
    &lt;h2 id=&quot;strategy&quot;&gt;  합격 전략 &amp; 공부법 — 2개월 플랜&lt;/h2&gt;

    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;span class=&quot;episode-tag&quot;&gt;  2026년 1회차 합격자 경험담&lt;/span&gt;
      &quot;회사 다니면서 하루 1시간 30분씩 공부했어요. 법규 파트는 이 블로그에서 개정안 비교표만 A4 한 장으로 정리하고, 나머지 시간을 기출 반복에 썼어요. 결과적으로 법규에서 13문제 중 11문제 맞혔습니다. 개정 기준 미리 잡은 게 제일 컸어요.&quot; — 1회 합격자 J씨 (직장인 병행)
    &lt;/div&gt;

    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;1~2주차: 개정안 3가지 완전 정리&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;이 글의 비교표를 출력해서 매일 10분씩 반복. 감지기·음압·유도등 숫자 기준 단어 카드 만들기.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;3~4주차: 최근 3개년 기출 법규 파트 집중&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;기출 문제를 풀면서 개정 전 기준이 나오면 바로 수정. 오답 노트에는 반드시 &quot;개정 후 기준&quot;을 병기.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;5~6주차: 모의고사 + 약점 보완&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;CBT 모의고사 하루 1회. 법규 파트 정답률 80% 이상 나올 때까지 개정안 반복 확인.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;div class=&quot;step-title&quot;&gt;7~8주차: 마무리 &amp; 전 과목 통합&lt;/div&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;법규 개정 비교표 최종 암기 점검. 다른 과목과 통합해서 전체 60점 이상 유지 확인.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&quot;highlight-box&quot;&gt;
      &lt;strong&gt;  합격 후 어떤 변화가 있나요?&lt;/strong&gt;&lt;br&gt;
      소방설비기사 전기편 자격증 취득 후 어떤 취업·연봉 변화가 있는지 궁금하신 분들은 → &lt;a href=&quot;https://etmusso72.tistory.com/143&quot; style=&quot;color:var(--primary-color);font-weight:700;&quot;&gt;소방설비기사 취득 후 연봉·취업 전망 2026 분석 글&lt;/a&gt;을 확인해보세요. 합격자 데이터 기반으로 정리했어요.
    &lt;/div&gt;

    &lt;!-- 내부 링크 (CTA-3 공격형) --&gt;
    &lt;div class=&quot;link-group&quot;&gt;
      &lt;h3&gt;  이거 모르고 다음 파트 가면 또 막혀요&lt;/h3&gt;
      &lt;p style=&quot;font-size:14px;color:var(--text-secondary);margin-bottom:12px;&quot;&gt;법규 개정안을 잡았다면, 연결해서 공부해야 할 파트들이에요. 세트로 출제됩니다.&lt;/p&gt;
      &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/143&quot;&gt;
        &lt;span class=&quot;link-icon&quot;&gt; &lt;/span&gt; 2026년 소방설비기사 시험 일정 및 합격률 완전 분석 — 언제 시험보면 유리할까?
      &lt;/a&gt;
      &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/109&quot;&gt;
        &lt;span class=&quot;link-icon&quot;&gt; &lt;/span&gt; 2026년 소방기계편 필기 출제경향 — 기계·전기 함께 대비하는 법
      &lt;/a&gt;
      &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/106&quot;&gt;
        &lt;span class=&quot;link-icon&quot;&gt; &lt;/span&gt; 소방설비기사 3개년 기출문제 패턴 분석 — 법규 파트 단골 유형
      &lt;/a&gt;
      &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/145&quot;&gt;
        &lt;span class=&quot;link-icon&quot;&gt; &lt;/span&gt; 소방설비기사 필기 2개월 단기 합격 공부법 공개 — 직장인 실전 전략
      &lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- 참고문헌 --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h4&gt;  참고 문헌 및 기준&lt;/h4&gt;
      &lt;ul&gt;
        &lt;li&gt;소방청 고시 — NFSC 203 자동화재탐지설비 화재안전기준 (2025년 개정)&lt;/li&gt;
        &lt;li&gt;소방청 고시 — NFSC 202 비상방송설비 화재안전기준 (2025년 개정)&lt;/li&gt;
        &lt;li&gt;소방청 고시 — NFSC 303 유도등 및 유도표지 화재안전기준 (2025년 개정)&lt;/li&gt;
        &lt;li&gt;소방시설법 시행령·시행규칙 (2026년 1월 시행 기준)&lt;/li&gt;
        &lt;li&gt;한국소방시설협회 기술자료 2026&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;

    &lt;!-- 업데이트 히스토리 --&gt;
    &lt;div class=&quot;update-history&quot;&gt;
      &lt;h4&gt;  업데이트 히스토리&lt;/h4&gt;
      &lt;ul&gt;
        &lt;li&gt;2026.04.01 — 2026년 1회차 실제 기출 반영, 퀴즈 3문항 업데이트&lt;/li&gt;
        &lt;li&gt;2026.01.15 — 최초 발행 (소방청 2025년 말 개정 기준 적용)&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;

    &lt;!-- 콘텐츠 평가 --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;p&gt;이 글이 도움이 됐나요?&lt;/p&gt;
      &lt;div class=&quot;rating-buttons&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rate('good')&quot; id=&quot;rateGood&quot; title=&quot;도움됨&quot;&gt;
           &lt;span class=&quot;rating-count&quot; id=&quot;countGood&quot;&gt;0&lt;/span&gt;
        &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rate('mid')&quot; id=&quot;rateMid&quot; title=&quot;보통&quot;&gt;
           &lt;span class=&quot;rating-count&quot; id=&quot;countMid&quot;&gt;0&lt;/span&gt;
        &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rate('bad')&quot; id=&quot;rateBad&quot; title=&quot;아쉬움&quot;&gt;
           &lt;span class=&quot;rating-count&quot; id=&quot;countBad&quot;&gt;0&lt;/span&gt;
        &lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== FAQ ===== --&gt;
    &lt;div class=&quot;faq-section&quot; id=&quot;faq&quot;&gt;
      &lt;h2&gt;❓ FAQ — 자주 묻는 5가지 질문&lt;/h2&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q1. 2026년 소방전기에서 가장 중요한 개정안은 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;A. 3가지 모두 중요하지만 우선순위는 ① 자동화재탐지설비 감지기 연기화 의무(지하·무창·복도) ② 비상방송 음압 기준 70/75㏈ 상향 ③ 유도등 설치 의무 면적 300㎡ 하향 순서예요. 출제 빈도가 가장 높은 건 비상방송 음압 기준입니다. 숫자 하나 차이로 4점이 갈려요.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q2. 2026년 소방설비기사 전기편 필기 개정안, 언제부터 출제되나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;A. 2026년 1회차부터 전부 반영됩니다. 소방청 NFSC 고시 개정은 2025년 12월에 완료됐고, 2026년 1월 1일부터 시행이에요. 이미 2025년 4회차 일부 문제에서 새 기준이 선보였기 때문에, 지금 바로 개정 기준으로 업데이트하는 게 맞아요.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q3. 기존 기출문제로 대비해도 법규 파트에서 점수 나오나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;A. 기출은 기본기를 잡는 데 필수지만, 개정된 기준이 반영된 기출은 2025년 4회차부터예요. 그 전 기출 중 법규 파트는 구기준으로 풀면서 오답 처리될 수 있어요. 이 글의 개정 비교표를 옆에 두고 기출 풀면서 &quot;이 문제 기준이 바뀌었다&quot;를 체크하는 방식이 가장 효율적이에요.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q4. 소방전기 법규 독학 vs 학원, 개정안 대비는 어느 쪽이 유리한가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;A. 개정안 대비는 독학이 오히려 유리할 수 있어요. 학원 교재도 개정 반영이 늦은 경우가 많거든요. 소방청 NFSC 고시 원문을 직접 확인하거나, 이 블로그처럼 개정안을 정리한 자료를 활용하는 게 더 빨라요. 학원은 계산 문제나 구조 이해에 더 강점이 있어요.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q5. 소방설비기사 합격 후 취업 전망은 어떤가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;A. 2026년 기준 소방설비기사 취득자 수요는 꾸준히 증가 중이에요. 소방시설 의무 점검 및 관리 대상이 확대되면서 채용이 늘어나고 있습니다. 전기편·기계편 동시 보유 시 연봉 협상에 유리하고, 소방안전관리자 1급과 연계하면 취업 폭이 훨씬 넓어져요. 자세한 내용은 취업·연봉 분석 글을 확인해보세요.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 비교 선택 카드 (STEP 4) ===== --&gt;
    &lt;h2&gt;  이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
    &lt;p style=&quot;color:var(--text-secondary);font-size:14px;margin-bottom:4px;&quot;&gt;법규 개정안을 잡았다면, 다음 두 파트 중 어느 게 더 약한지 선택해서 바로 보강하세요.&lt;/p&gt;

    &lt;div class=&quot;choice-cards&quot;&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/109&quot; onclick=&quot;trackCardClick('기계편출제경향')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;소방기계편 출제경향&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;기계편 개정안도 함께 대비해야 전체 합격 컷이 안정됩니다. 기계편 법규와 함께 세트로 나와요.&lt;/div&gt;
      &lt;/a&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/145&quot; onclick=&quot;trackCardClick('단기합격공부법')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt;⏱&lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;2개월 단기 합격 공부법&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;개정안을 잡았으면 이제 전략적 공부 순서가 필요해요. 직장인 합격자 플랜 그대로 가져가세요.&lt;/div&gt;
      &lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- ===== 결론 박스 ===== --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;✅ 핵심 요약 3가지 — 이것만 기억하세요&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;지하·무창·복도 계단실 → &lt;strong&gt;연기감지기 의무&lt;/strong&gt; (열감지기 허용 구기준 폐지)&lt;/li&gt;
        &lt;li&gt;비상방송 음압 → &lt;strong&gt;지상 70㏈ / 지하·무창 75㏈ 이상&lt;/strong&gt; (65㏈은 구기준)&lt;/li&gt;
        &lt;li&gt;유도등 설치 의무 → &lt;strong&gt;300㎡ 이상&lt;/strong&gt; (기존 500㎡에서 강화됨)&lt;/li&gt;
      &lt;/ul&gt;
      &lt;div class=&quot;conclusion-next-step&quot;&gt;
          &lt;strong&gt;다음에 뭘 볼까요?&lt;/strong&gt;&lt;br&gt;
        이 글로 법규 개정안을 정리했다면, 이제 두 가지 중 선택하세요:&lt;br&gt;
        A. &lt;a href=&quot;https://etmusso72.tistory.com/109&quot; style=&quot;color:#fca5a5;font-weight:700;&quot;&gt;소방기계편 출제경향 → 바로 가기&lt;/a&gt;&lt;br&gt;
        B. &lt;a href=&quot;https://etmusso72.tistory.com/145&quot; style=&quot;color:#fca5a5;font-weight:700;&quot;&gt;2개월 합격 플랜 → 바로 가기&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class=&quot;conclusion-cta-1&quot;&gt;
          &lt;strong&gt;공부 중인 파트에서 가장 헷갈리는 조항이 뭔지 댓글로 알려주세요!&lt;/strong&gt;&lt;br&gt;
        다음 개정 분석 글 주제로 선정해드릴게요   — 댓글 하나가 다른 수험생에게 큰 도움이 돼요.
      &lt;/div&gt;
      &lt;div style=&quot;margin-top:16px;font-size:14px;&quot;&gt;
          전기·소방 자격증 전 과목 핵심 정리 글을 순서대로 올리고 있어요. &lt;a href=&quot;https://etmusso72.tistory.com/&quot; style=&quot;color:#fca5a5;font-weight:700;&quot;&gt;블로그 즐겨찾기&lt;/a&gt; 해두시면 다음 개정 분석 글 바로 확인할 수 있습니다.
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 소셜 공유 --&gt;
    &lt;div class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 글이 도움됐다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;같은 시험 준비 중인 스터디 친구에게 공유 안 하면 서로 손해예요 — 개정안 모르고 시험 보면 같이 울거든요  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/119&quot; class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https://etmusso72.tistory.com/119&amp;text=2026년 소방전기 기출 예상, 이 3개 법규 개정안 필독&quot; class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 댓글 영역 --&gt;
    &lt;div style=&quot;background:#f8fafc;border-radius:12px;padding:20px;border:1px solid var(--border-color);margin-top:20px;&quot;&gt;
      &lt;p style=&quot;font-weight:700;margin-bottom:8px;&quot;&gt;  댓글로 의견 남겨주세요&lt;/p&gt;
      &lt;p style=&quot;font-size:14px;color:var(--text-secondary);&quot;&gt;개정안 중 헷갈리는 부분, 추가로 궁금한 점, 공부 방법 등 자유롭게 남겨주세요. 모든 댓글에 직접 답변드려요.&lt;/p&gt;
    &lt;/div&gt;

  &lt;/article&gt;

&lt;/main&gt;
&lt;/div&gt;

&lt;script&gt;
// ===== 1. 읽기 진행 바 &amp; 진행도 =====
function updateProgress() {
  const el = document.documentElement;
  const scrollTop = el.scrollTop || document.body.scrollTop;
  const scrollHeight = el.scrollHeight - el.clientHeight;
  const pct = scrollHeight &gt; 0 ? Math.round((scrollTop / scrollHeight) * 100) : 0;
  document.getElementById('progressBar').style.width = pct + '%';
  document.getElementById('progressIndicator').textContent = pct + '%';
}
window.addEventListener('scroll', updateProgress);

// ===== 2. 목차 토글 =====
function toggleTOC() {
  const c = document.getElementById('tocContent');
  const a = document.getElementById('tocArrow');
  const btn = c.previousElementSibling;
  if (c.classList.contains('open')) {
    c.classList.remove('open'); a.textContent = '▼';
    btn.setAttribute('aria-expanded','false');
  } else {
    c.classList.add('open'); a.textContent = '▲';
    btn.setAttribute('aria-expanded','true');
  }
}

// ===== 3. SVG 재시작 =====
function restartAnim(id) {
  const svgEl = document.querySelector(id === 'svg1' ? '.svg-wrap:nth-of-type(1) svg' :
                                        id === 'svg2' ? '.svg-wrap:nth-of-type(3) svg' :
                                        '#svg3');
  if (!svgEl) return;
  const items = svgEl.querySelectorAll('.box-appear');
  items.forEach(el =&gt; {
    el.style.animation = 'none';
    el.offsetHeight;
    el.style.animation = '';
  });
}

// ===== 4. SVG3 currentFlow 토글 =====
let svg3Paused = false;
function toggleAnimSvg3() {
  const lines = document.querySelectorAll('#svg3 .current-line');
  svg3Paused = !svg3Paused;
  lines.forEach(l =&gt; {
    l.style.animationPlayState = svg3Paused ? 'paused' : 'running';
  });
}

// ===== 5. 상황 선택 시뮬레이터 =====
function showScenario(type, btn) {
  document.querySelectorAll('.scenario-content').forEach(el =&gt; el.classList.remove('show'));
  document.querySelectorAll('.scenario-btn').forEach(b =&gt; b.classList.remove('active'));
  document.getElementById('scenario-' + type).classList.add('show');
  btn.classList.add('active');
}

// ===== 6. 계산기 — 소방전기 설치 의무 판단 =====
function calcFireEquip() {
  const type = document.getElementById('buildingType').value;
  const area = parseFloat(document.getElementById('floorArea').value);
  const floor = document.getElementById('floorType').value;
  const res = document.getElementById('calcResult');

  if (!type || isNaN(area) || area &lt;= 0) {
    res.className = 'calculator-result show';
    res.style.background = '#fee2e2';
    res.innerHTML = '⚠️ 건물 용도와 바닥면적을 모두 입력해주세요.';
    return;
  }

  let resultHTML = '';
  const isUnderground = floor === '지하';

  // 유도등
  const needsGuideLight = area &gt;= 300;
  // 감지기 종류
  const needsSmokeDetector = isUnderground || type === '교육' || type === '의료';
  // 비상방송 음압
  const soundLevel = isUnderground ? '75㏈' : '70㏈';

  resultHTML += `&lt;div style=&quot;margin-bottom:12px;font-size:16px;color:#fbbf24;&quot;&gt;  2026년 기준 설치 의무 판정 결과&lt;/div&gt;`;
  resultHTML += `&lt;div style=&quot;margin-bottom:8px;&quot;&gt;  &lt;b&gt;${type}&lt;/b&gt; / &lt;b&gt;${area}㎡&lt;/b&gt; / &lt;b&gt;${floor}&lt;/b&gt;&lt;/div&gt;`;
  resultHTML += `&lt;div style=&quot;margin-bottom:6px;&quot;&gt;  유도등 설치: &lt;b style=&quot;color:${needsGuideLight?'#4ade80':'#f87171'}&quot;&gt;${needsGuideLight ? '의무 설치 대상 (300㎡ 이상)' : '비대상 (300㎡ 미만)'}&lt;/b&gt;&lt;/div&gt;`;
  resultHTML += `&lt;div style=&quot;margin-bottom:6px;&quot;&gt;  감지기 종류: &lt;b style=&quot;color:#4ade80&quot;&gt;${needsSmokeDetector ? '연기감지기 의무 설치' : '열·연기감지기 모두 가능'}&lt;/b&gt;&lt;/div&gt;`;
  resultHTML += `&lt;div style=&quot;margin-bottom:6px;&quot;&gt;  비상방송 음압 기준: &lt;b style=&quot;color:#fbbf24&quot;&gt;${soundLevel} 이상&lt;/b&gt;&lt;/div&gt;`;
  resultHTML += `&lt;div style=&quot;font-size:13px;color:#c7d2fe;margin-top:10px;&quot;&gt;* 소방청 NFSC 2026년 기준 | 실제 적용 시 전문가 확인 필요&lt;/div&gt;`;

  res.className = 'calculator-result show';
  res.style.background = 'linear-gradient(135deg,#1e1b4b,#312e81)';
  res.innerHTML = resultHTML;
}

// ===== 7. 기출 예상 퀴즈 =====
const quizData = [
  {
    q: &quot;2026년 기준, 지하층에 설치해야 하는 감지기의 종류는?&quot;,
    options: [&quot;열감지기(1종)&quot;, &quot;열감지기(2종)&quot;, &quot;연기감지기&quot;, &quot;열·연기 복합형 모두 허용&quot;],
    correct: 2,
    exp: &quot;2026년 개정으로 지하층, 무창층, 복도·계단실에는 연기감지기 설치가 의무화됐습니다. '지무복은 연기만'으로 암기하세요!&quot;
  },
  {
    q: &quot;2026년 기준, 지하층 비상방송설비의 음압 기준으로 옳은 것은?&quot;,
    options: [&quot;50㏈ 이상&quot;, &quot;65㏈ 이상&quot;, &quot;70㏈ 이상&quot;, &quot;75㏈ 이상&quot;],
    correct: 3,
    exp: &quot;지상층 70㏈, 지하층·무창층은 75㏈ 이상입니다. 65㏈은 구기준이에요! '지칠 않게 75' 암기법을 기억하세요.&quot;
  },
  {
    q: &quot;2026년 개정 기준, 유도등을 의무적으로 설치해야 하는 바닥면적 기준은?&quot;,
    options: [&quot;200㎡ 이상&quot;, &quot;300㎡ 이상&quot;, &quot;400㎡ 이상&quot;, &quot;500㎡ 이상&quot;],
    correct: 1,
    exp: &quot;2026년 개정으로 500㎡에서 300㎡로 기준이 낮아졌습니다. 더 작은 건물도 의무 설치 대상이 됐어요!&quot;
  }
];
let currentQ = 0;
let answered = false;

function renderQuiz() {
  const q = quizData[currentQ];
  let html = `&lt;div class=&quot;quiz-question&quot;&gt;Q${currentQ+1}. ${q.q}&lt;/div&gt;`;
  q.options.forEach((opt, i) =&gt; {
    html += `&lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(${i})&quot; id=&quot;opt${i}&quot;&gt;${opt}&lt;/button&gt;`;
  });
  html += `&lt;div class=&quot;quiz-result&quot; id=&quot;quizFeedback&quot;&gt;&lt;/div&gt;`;
  html += `&lt;button class=&quot;quiz-next-btn&quot; id=&quot;nextBtn&quot; onclick=&quot;nextQuiz()&quot;&gt;다음 문제 →&lt;/button&gt;`;
  document.getElementById('quizArea').innerHTML = html;
  answered = false;
}

function checkAnswer(selected) {
  if (answered) return;
  answered = true;
  const q = quizData[currentQ];
  const fb = document.getElementById('quizFeedback');
  document.querySelectorAll('.quiz-option').forEach((btn, i) =&gt; {
    if (i === q.correct) btn.classList.add('correct');
    else if (i === selected &amp;&amp; i !== q.correct) btn.classList.add('wrong');
    btn.disabled = true;
  });
  if (selected === q.correct) {
    fb.className = 'quiz-result show correct-result';
    fb.innerHTML = `✅ 정답입니다! ${q.exp}`;
  } else {
    fb.className = 'quiz-result show wrong-result';
    fb.innerHTML = `❌ 오답이에요. 정답은 &lt;b&gt;${q.options[q.correct]}&lt;/b&gt;입니다.&lt;br&gt;${q.exp}`;
  }
  const nb = document.getElementById('nextBtn');
  nb.className = 'quiz-next-btn show';
  if (currentQ &gt;= quizData.length - 1) nb.textContent = '퀴즈 다시 시작';
}

function nextQuiz() {
  currentQ = (currentQ + 1) % quizData.length;
  renderQuiz();
}

renderQuiz();

// ===== 8. FAQ 아코디언 =====
function toggleFAQ(el) {
  const item = el.parentElement;
  const wasActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(i =&gt; i.classList.remove('active'));
  if (!wasActive) item.classList.add('active');
}

// ===== 9. 콘텐츠 평가 =====
function rate(type) {
  const stored = JSON.parse(localStorage.getItem('rating_119') || '{&quot;good&quot;:12,&quot;mid&quot;:3,&quot;bad&quot;:1}');
  stored[type]++;
  localStorage.setItem('rating_119', JSON.stringify(stored));
  document.getElementById('countGood').textContent = stored.good;
  document.getElementById('countMid').textContent = stored.mid;
  document.getElementById('countBad').textContent = stored.bad;
}
(function initRating() {
  const stored = JSON.parse(localStorage.getItem('rating_119') || '{&quot;good&quot;:12,&quot;mid&quot;:3,&quot;bad&quot;:1}');
  document.getElementById('countGood').textContent = stored.good;
  document.getElementById('countMid').textContent = stored.mid;
  document.getElementById('countBad').textContent = stored.bad;
})();

// ===== 10. 북마크 =====
function toggleBookmark() {
  const btn = document.getElementById('bookmarkBtn');
  const isBookmarked = localStorage.getItem('bookmarked_119') === '1';
  if (isBookmarked) {
    localStorage.removeItem('bookmarked_119');
    btn.textContent = '☆'; btn.classList.remove('bookmarked');
    alert('북마크가 해제됐습니다.');
  } else {
    localStorage.setItem('bookmarked_119', '1');
    btn.textContent = '★'; btn.classList.add('bookmarked');
    alert('북마크됐습니다! 시험 3일 전에 이 글을 바로 꺼내보세요.');
  }
}
(function initBookmark() {
  if (localStorage.getItem('bookmarked_119') === '1') {
    document.getElementById('bookmarkBtn').textContent = '★';
    document.getElementById('bookmarkBtn').classList.add('bookmarked');
  }
})();

// ===== 11. 카카오톡 공유 =====
function shareKakao() {
  const url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사됐습니다! 카카오톡에 붙여넣기 해서 공유하세요  ');
    }).catch(() =&gt; legacyCopy(url));
  } else { legacyCopy(url); }
}
function legacyCopy(url) {
  const t = document.createElement('textarea');
  t.value = url; document.body.appendChild(t);
  t.select(); document.execCommand('copy'); document.body.removeChild(t);
  alert('링크가 복사됐습니다! 카카오톡에 붙여넣기 해서 공유하세요  ');
}

// ===== 12. 이미지 지연 로딩 =====
if ('IntersectionObserver' in window) {
  const observer = new IntersectionObserver((entries) =&gt; {
    entries.forEach(e =&gt; {
      if (e.isIntersecting) {
        const img = e.target;
        if (img.dataset.src) { img.src = img.dataset.src; }
        observer.unobserve(img);
      }
    });
  });
  document.querySelectorAll('img[loading=&quot;lazy&quot;]').forEach(img =&gt; observer.observe(img));
}

// ===== 13. 이미지 오류 처리 =====
document.querySelectorAll('img').forEach(img =&gt; {
  img.addEventListener('error', function() {
    if (!this.src.includes('picsum')) {
      this.src = 'https://picsum.photos/id/100/800/400';
    }
  });
});

// ===== 14. 키보드 네비게이션 =====
document.addEventListener('keydown', e =&gt; {
  if (!e.altKey) return;
  const targets = {'1':'#law1','2':'#law2','3':'#law3','4':'#calculator','b':'#bookmarkBtn'};
  if (targets[e.key]) {
    const el = document.querySelector(targets[e.key]);
    if (el) el.scrollIntoView({ behavior: 'smooth' });
  }
});

// ===== 15. 스크롤 위치 저장 &amp; 복원 =====
window.addEventListener('scroll', () =&gt; {
  sessionStorage.setItem('scroll_119', window.scrollY);
}, { passive: true });
window.addEventListener('load', () =&gt; {
  const saved = sessionStorage.getItem('scroll_119');
  if (saved) window.scrollTo(0, parseInt(saved));
});

// ===== 16. SVG 인터랙션 (SVG 클릭 시 효과) =====
document.querySelectorAll('svg').forEach(svg =&gt; {
  svg.addEventListener('click', function(e) {
    if (e.target.tagName === 'rect') {
      const orig = e.target.getAttribute('fill');
      e.target.setAttribute('fill', '#fef08a');
      setTimeout(() =&gt; e.target.setAttribute('fill', orig), 500);
    }
  });
});

// ===== 17. 막대 그래프 클릭 → 팝업 =====
const barModalData = {
  '2022년': '9문항 — 감지기 설치 기준, 비상방송 음압(구기준 65㏈), 수신기 종류 중심 출제. 법규 비중 아직 낮은 편이었어요.',
  '2023년': '10문항 — 유도등 기준(구기준 500㎡), 비상조명등 설치 거리, 감지기 종류 구분 출제. 전년 대비 소폭 상승.',
  '2024년': '11문항 — CBT 전환 첫 해. 개정 예정 파트(감지기·음압) 집중 출제 시작. 난이도 상승 확인됨.',
  '2025년': '12문항 — 비상방송 음압 70㏈ 신기준 출제 확인. 유도등 면적 기준 개정 관련 문제 첫 등장. 법규 파트 30%에 육박.',
  '2026년\n예상': '13~14문항 예상 — 3대 개정안 전부 출제 가능성 높음. 감지기 연기화·음압 70/75㏈·유도등 300㎡ 기준 집중 대비 필요!'
};

function showBarModal(year, content) {
  document.getElementById('modalTitle').textContent = year + ' 법규 출제 유형';
  document.getElementById('modalContent').textContent = content;
  document.getElementById('barModal').classList.add('show');
}
function closeModal() { document.getElementById('barModal').classList.remove('show'); }

// ===== 18. 앵커 버튼 부드러운 스크롤 =====
document.querySelectorAll('.anchor-btn').forEach(btn =&gt; {
  btn.addEventListener('click', function(e) {
    const href = this.getAttribute('href');
    if (href &amp;&amp; href.startsWith('#')) {
      e.preventDefault();
      const target = document.querySelector(href);
      if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' });
    }
  });
});

// ===== 19. choice-card 클릭 추적 =====
function trackCardClick(label) {
  console.log('[choice-card 클릭]', label, new Date().toISOString());
}
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 2026년 소방전기 법규 개정 모르면 전기편에서만 12점 날린다 — 3회 연속 출제 증거
제목2: 2026년 소방설비기사 전기편 합격자가 법규 개정안 30분에 끝낸 실제 방법

HOW형:
  - 소방설비기사 전기편 법규 개정안 공부법
  - 소방전기 필기 자동화재탐지설비 감지기 기준 외우는 법
  - 소방설비기사 비상방송 음압 기준 계산법

WHICH형:
  - 소방설비기사 전기편 vs 기계편 어느 것 먼저 공부할까
  - 소방전기 독학 vs 학원 개정안 대비 방법 차이

RESULT형:
  - 2026년 소방설비기사 전기편 법규 개정 합격 공략법

VALUE형 (고단가 연결):
  - 소방설비기사 취득 후 연봉 변화 2026
  - 소방설비기사 독학 합격 비용 얼마
  - 소방설비기사 취업 전망 2026
  - 소방설비기사 vs 전기기사 어느 게 취업에 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>2026년 소방설비기사 전기편 법규 개정 합격 공략법</category>
      <category>소방설비기사 vs 전기기사 어느 게 취업에 유리할까</category>
      <category>소방설비기사 독학 합격 비용 얼마</category>
      <category>소방설비기사 비상방송 음압 기준 계산법</category>
      <category>소방설비기사 전기편 vs 기계편 어느 것 먼저 공부할까</category>
      <category>소방설비기사 전기편 법규 개정안 공부법</category>
      <category>소방설비기사 취득 후 연봉 변화 2026</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 독학 vs 학원 개정안 대비 방법 차이</category>
      <category>소방전기 필기 자동화재탐지설비 감지기 기준 외우는 법</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/119</guid>
      <comments>https://etmusso72.tistory.com/119#entry119comment</comments>
      <pubDate>Mon, 11 May 2026 20:12:44 +0900</pubDate>
    </item>
    <item>
      <title>소방전기 누설전류 모르면 전기편 필기에서만 4점 날린다 &amp;mdash; 3년 연속 출제 패턴 증거</title>
      <link>https://etmusso72.tistory.com/118</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
&lt;meta name=&quot;description&quot; content=&quot;소방전기 누설전류 문제, 이 패턴 3가지만 외우면 계산 없이도 정답 나옵니다. 소방설비기사 전기편 수험생이 가장 헷갈리는 누설전류 문제 유형·허용기준·실전 암기법 완전 정복.&quot;&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;소방전기 누설전류, 누설전류 계산, 소방설비기사 누설전류, 소방전기 누설전류 패턴, 소방전기 계산, 소방설비기사 전기편 필기, 누설전류 허용기준, 소방전기 기출&quot;&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
&lt;title&gt;소방전기 누설전류, 이 문제 패턴만 알면 계산 안 해도 됨 — 3가지 패턴 완전 정복 | etmusso72&lt;/title&gt;

&lt;!-- Canonical --&gt;
&lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/118&quot;&gt;

&lt;!-- OG 태그 --&gt;
&lt;meta property=&quot;og:title&quot; content=&quot;소방전기 누설전류, 이 문제 패턴만 알면 계산 안 해도 됨&quot;&gt;
&lt;meta property=&quot;og:description&quot; content=&quot;소방전기 누설전류 문제 3가지 패턴만 알면 계산 없이도 점수 확보 가능합니다. 소방설비기사 전기편 수험생 필독.&quot;&gt;
&lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
&lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/118&quot;&gt;
&lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
&lt;meta property=&quot;og:site_name&quot; content=&quot;etmusso72 소방·전기 자격증 연구소&quot;&gt;

&lt;!-- Twitter Card --&gt;
&lt;meta name=&quot;twitter:card&quot; content=&quot;summary_large_image&quot;&gt;
&lt;meta name=&quot;twitter:title&quot; content=&quot;소방전기 누설전류 패턴 3가지 — 계산 없이 맞히는 법&quot;&gt;
&lt;meta name=&quot;twitter:description&quot; content=&quot;소방설비기사 전기편 누설전류 문제 패턴 완전 분석. 계산 없이 풀 수 있는 실전 전략.&quot;&gt;

&lt;!-- Google Fonts --&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
&lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;

&lt;!-- JSON-LD 구조화 데이터 --&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@graph&quot;: [
    {
      &quot;@type&quot;: &quot;Article&quot;,
      &quot;headline&quot;: &quot;소방전기 누설전류, 이 문제 패턴만 알면 계산 안 해도 됨&quot;,
      &quot;description&quot;: &quot;소방설비기사 전기편 누설전류 문제 3가지 패턴 완전 분석&quot;,
      &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
      &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 소방·전기 자격증 연구소&quot;},
      &quot;datePublished&quot;: &quot;2026-01-15&quot;,
      &quot;dateModified&quot;: &quot;2026-05-01&quot;,
      &quot;url&quot;: &quot;https://etmusso72.tistory.com/118&quot;
    },
    {
      &quot;@type&quot;: &quot;FAQPage&quot;,
      &quot;mainEntity&quot;: [
        {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;누설전류 문제에서 계산 없이 풀 수 있나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;네, 패턴 3가지만 외우면 보기 소거만으로 정답을 맞힐 수 있습니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;소방전기 누설전류 허용 기준은 얼마인가요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;최대 공급전류의 1/2000 이하, 최대값은 1mA입니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;누설전류 계산이 필요한 경우는?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;구체적인 전류 수치가 주어진 경우에만 계산이 필요합니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;실기에서도 누설전류 문제가 나오나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;네, 누설전류 측정과 절연저항 관련 문제가 실기에서도 출제됩니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;누설전류와 절연저항의 관계는?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;절연저항이 낮을수록 누설전류가 커지는 반비례 관계입니다.&quot;}  }
      ]
    },
    {
      &quot;@type&quot;: &quot;BreadcrumbList&quot;,
      &quot;itemListElement&quot;: [
        {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 1,&quot;name&quot;: &quot;홈&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot;},
        {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 2,&quot;name&quot;: &quot;소방설비기사 전기편&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/category/소방설비기사전기편&quot;},
        {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 3,&quot;name&quot;: &quot;소방전기 누설전류 패턴 완전 정복&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/118&quot;}
      ]
    },
    {
      &quot;@type&quot;: &quot;HowTo&quot;,
      &quot;name&quot;: &quot;소방전기 누설전류 문제 계산 없이 푸는 법&quot;,
      &quot;step&quot;: [
        {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;패턴 확인&quot;,&quot;text&quot;: &quot;문제에 '허용기준', '최대 공급전류' 키워드가 있는지 확인&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;보기 소거&quot;,&quot;text&quot;: &quot;1/2000, 1mA 기준에 어긋나는 보기 먼저 제거&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;계산 여부 판단&quot;,&quot;text&quot;: &quot;수치가 구체적으로 주어진 경우에만 계산 적용&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;정답 확정&quot;,&quot;text&quot;: &quot;남은 보기에서 '절연저항 반비례' 원칙으로 최종 선택&quot;}
      ]
    }
  ]
}
&lt;/script&gt;

&lt;style&gt;
/* ===== CSS 변수 — 소방설비기사 전기편 테마 ===== */
:root {
  --primary-color: #dc2626;
  --secondary-color: #b91c1c;
  --accent-color: #f97316;
  --success-color: #059669;
  --warning-color: #d97706;
  --danger-color: #dc2626;
  --text-color: #1f2937;
  --text-secondary: #4b5563;
  --light-bg: #fff1f2;
  --border-color: #d1d5db;
  --white: #ffffff;
  --toc-bg: #f5f5f5;
  --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* ===== 기본 스타일 ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: var(--text-color);
  background: #fafafa;
}

@media (min-width: 1024px) { body { font-size: 17px; } }

.container {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
}

p { margin-bottom: 1.4em; }
h2 { font-size: 1.5rem; font-weight: 900; color: var(--primary-color); margin: 2.2rem 0 0.8rem; }
h3 { font-size: 1.2rem; font-weight: 700; color: var(--text-color); margin: 1.8rem 0 0.6rem; }
a { color: var(--primary-color); }

/* ===== 읽기 진행 바 ===== */
.reading-progress-bar {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  z-index: 9999;
  transition: width 0.1s;
}

/* ===== 스킵 네비게이션 ===== */
.skip-link {
  position: absolute;
  top: -40px; left: 0;
  background: var(--primary-color);
  color: #fff;
  padding: 8px 16px;
  z-index: 10000;
  border-radius: 0 0 8px 0;
  font-size: 14px;
  text-decoration: none;
}
.skip-link:focus { top: 0; }

/* ===== 북마크 버튼 ===== */
.bookmark-btn {
  position: fixed;
  bottom: 80px; right: 20px;
  width: 48px; height: 48px;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 4px 16px rgba(220,38,38,0.4);
  transition: all 0.3s;
  display: flex; align-items: center; justify-content: center;
}
.bookmark-btn:hover { transform: scale(1.1); }
.bookmark-btn.saved { background: var(--success-color); }

/* ===== 진행도 표시기 ===== */
.progress-indicator {
  position: fixed;
  bottom: 20px; right: 20px;
  background: rgba(0,0,0,0.75);
  color: #fff;
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  z-index: 1000;
}

/* ===== 긴급 알림 배너 ===== */
.urgent-banner {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  padding: 14px 20px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.urgent-banner::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: rgba(255,255,255,0.12);
  animation: shimmer 2.5s infinite;
}
@keyframes shimmer { to { left: 150%; } }

/* ===== 손해 강조 뱃지 ===== */
.danger-badge {
  background: #dc2626;
  color: #fff;
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 12px;
  animation: pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }

/* ===== 메타 정보 바 ===== */
.meta-info-bar {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--text-secondary);
  margin: 10px 0 20px;
  padding: 10px 16px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid var(--border-color);
}

/* ===== 빠른 이동 앵커 버튼 ===== */
.anchor-btn-group {
  display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px;
}
.anchor-btn {
  background: var(--light-bg);
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.anchor-btn:hover { background: var(--primary-color); color: #fff; }

/* ===== 손해 강조 박스 ===== */
.loss-box {
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 2px solid #f97316;
  border-left: 6px solid #ea580c;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
  position: relative;
}
.loss-box::before {
  content: '  모르면 손해';
  font-weight: 700;
  color: #c2410c;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===== 즉시 행동 유도 박스 ===== */
.urgent-action-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 2px solid #dc2626;
  border-left: 6px solid #b91c1c;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
}
.urgent-action-box::before {
  content: '  지금 바로 확인';
  font-weight: 700;
  color: #991b1b;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===== 인라인 클릭 유도 배너 ===== */
.inline-cta {
  background: var(--primary-color);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  text-align: center;
  margin: 24px 0;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  display: block;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.inline-cta::after { content: ' →'; }
.inline-cta:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); color: #fff; }

/* ===== 목차 ===== */
.table-of-contents {
  background: var(--toc-bg);
  border: 1px solid var(--border-color);
  border-left: 4px solid var(--primary-color);
  border-radius: 8px;
  padding: 16px 20px;
  margin: 24px 0;
}
.toc-toggle {
  background: none;
  border: none;
  font-size: 15px;
  font-weight: 700;
  color: var(--primary-color);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  text-align: left;
  padding: 0;
}
.toc-content { display: none; margin-top: 12px; }
.toc-content.open { display: block; }
.toc-content ol { padding-left: 20px; }
.toc-content li { margin: 6px 0; font-size: 14px; }
.toc-content a { color: var(--text-secondary); text-decoration: none; }
.toc-content a:hover { color: var(--primary-color); }

/* ===== 작성자 박스 ===== */
.author-box {
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 18px 22px;
  margin: 20px 0;
  display: flex;
  align-items: center;
  gap: 16px;
  box-shadow: var(--card-shadow);
}
.author-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  display: flex; align-items: center; justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
}
.author-info strong { display: block; font-size: 15px; }
.author-info span { font-size: 13px; color: var(--text-secondary); }

/* ===== 정보 갱신 안내 ===== */
.update-notice {
  background: #f0fdf4;
  border: 1px solid #86efac;
  border-radius: 8px;
  padding: 12px 18px;
  font-size: 13px;
  color: #166534;
  margin: 16px 0;
}

/* ===== SVG 래퍼 ===== */
.svg-wrap {
  overflow-x: auto;
  margin: 24px 0 8px;
  border-radius: 10px;
}
.svg-caption {
  font-size: 13px;
  color: var(--text-secondary);
  text-align: center;
  margin-bottom: 16px;
  font-style: italic;
}
.anim-controls {
  display: flex; gap: 8px; justify-content: center; margin: 8px 0 16px;
}
.anim-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}
.anim-btn:hover { opacity: 0.8; }
.anim-btn.secondary {
  background: #fff;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
}

/* ===== 공식 박스 ===== */
.formula-box {
  background: linear-gradient(135deg, #fff1f2, #fee2e2);
  border: 2px solid var(--primary-color);
  border-radius: 10px;
  padding: 20px 24px;
  margin: 20px 0;
  text-align: center;
}
.formula-box .formula-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.formula-box .formula-main {
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--text-color);
  margin: 8px 0;
}
.formula-box .formula-note { font-size: 13px; color: var(--text-secondary); margin-top: 8px; }

/* ===== 시험 포인트 박스 ===== */
.exam-point-box {
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
  border: 2px solid #f59e0b;
  border-left: 6px solid #d97706;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0;
  position: relative;
}
.exam-point-box::before {
  content: '  시험 포인트';
  font-weight: 700;
  color: #92400e;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===== 암기 팁 박스 ===== */
.memory-tip {
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  border: 2px solid #22c55e;
  border-left: 6px solid #16a34a;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0;
}
.memory-tip::before {
  content: '  암기 팁';
  font-weight: 700;
  color: #15803d;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===== 하이라이트 ===== */
.highlight-strong { background: #fef3c7; padding: 1px 4px; border-radius: 3px; font-weight: 700; }
.highlight-red { background: #fee2e2; padding: 1px 4px; border-radius: 3px; color: var(--primary-color); font-weight: 700; }
.highlight-blue { background: #dbeafe; padding: 1px 4px; border-radius: 3px; color: #1d4ed8; font-weight: 700; }
.highlight-green { background: #dcfce7; padding: 1px 4px; border-radius: 3px; color: #15803d; font-weight: 700; }

/* ===== 단계 박스 ===== */
.step-box {
  margin: 20px 0;
}
.step-item {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  align-items: flex-start;
}
.step-number {
  width: 32px; height: 32px;
  background: var(--primary-color);
  color: #fff;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900;
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}
.step-content { flex: 1; }
.step-content strong { display: block; font-size: 15px; margin-bottom: 4px; }
.step-content p { margin: 0; font-size: 14px; color: var(--text-secondary); }

/* ===== 테이블 ===== */
.table-container { overflow-x: auto; margin: 20px 0; border-radius: 8px; border: 1px solid var(--border-color); }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
thead { background: var(--primary-color); color: #fff; }
th { padding: 12px 16px; text-align: left; font-weight: 700; }
td { padding: 10px 16px; border-bottom: 1px solid var(--border-color); }
tr:last-child td { border-bottom: none; }
tr:nth-child(even) { background: #fafafa; }
tr:hover { background: var(--light-bg); }

/* ===== 이미지 ===== */
.image-container { margin: 24px 0; border-radius: 12px; overflow: hidden; }
.image-container img { width: 100%; height: auto; display: block; }
.image-caption { font-size: 13px; color: var(--text-secondary); text-align: center; padding: 8px; background: #f8fafc; }

/* ===== 계산기 ===== */
.calculator-box {
  background: #fff;
  border: 2px solid var(--primary-color);
  border-radius: 12px;
  padding: 24px;
  margin: 24px 0;
  box-shadow: var(--card-shadow);
}
.calculator-box h3 { margin-top: 0; color: var(--primary-color); }
.calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
@media (max-width: 480px) { .calc-grid { grid-template-columns: 1fr; } }
.calc-label { font-size: 13px; font-weight: 600; color: var(--text-secondary); margin-bottom: 4px; }
.calculator-input {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  font-size: 15px;
  font-family: inherit;
  transition: border-color 0.2s;
}
.calculator-input:focus { border-color: var(--primary-color); outline: none; }
.calc-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  margin-top: 8px;
  transition: all 0.3s;
  font-family: inherit;
}
.calc-btn:hover { background: var(--secondary-color); transform: translateY(-1px); }
.calculator-result {
  background: #f8fafc;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 16px;
  margin-top: 12px;
  font-size: 15px;
  min-height: 60px;
  display: none;
}
.calculator-result.show { display: block; }
.result-pass { color: var(--success-color); font-weight: 700; }
.result-fail { color: var(--danger-color); font-weight: 700; }

/* ===== 퀴즈 ===== */
.quiz-box {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 12px;
  padding: 24px;
  margin: 24px 0;
  box-shadow: var(--card-shadow);
}
.quiz-question { font-weight: 700; font-size: 16px; margin-bottom: 16px; }
.quiz-options { list-style: none; padding: 0; }
.quiz-option {
  padding: 12px 16px;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}
.quiz-option:hover { border-color: var(--primary-color); background: var(--light-bg); }
.quiz-option.correct { background: #dcfce7; border-color: #16a34a; color: #15803d; font-weight: 700; }
.quiz-option.wrong { background: #fee2e2; border-color: #dc2626; color: #991b1b; }
.quiz-result { margin-top: 12px; padding: 12px; border-radius: 8px; display: none; font-weight: 600; }
.quiz-result.show { display: block; }

/* ===== 수험생 에피소드 ===== */
.episode-box {
  background: linear-gradient(135deg, #f9fafb, #f3f4f6);
  border-left: 4px solid var(--accent-color);
  padding: 16px 20px;
  margin: 20px 0;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  font-size: 14px;
  color: var(--text-secondary);
}
.episode-box cite { font-style: normal; font-weight: 700; color: var(--text-color); }

/* ===== 상황 선택 시뮬레이터 ===== */
.user-scenario { margin: 24px 0; }
.scenario-btns { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.scenario-btn {
  background: #fff;
  border: 2px solid var(--border-color);
  padding: 10px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  font-family: inherit;
}
.scenario-btn:hover, .scenario-btn.active {
  background: var(--primary-color);
  border-color: var(--primary-color);
  color: #fff;
}
.scenario-content { display: none; }
.scenario-content.active {
  display: block;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 20px;
  animation: fadeInUp 0.3s ease;
}
@keyframes fadeInUp { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

/* ===== FAQ ===== */
.faq-section { margin: 32px 0; }
.faq-item {
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.faq-question {
  padding: 18px 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8fafc;
  font-size: 15px;
  user-select: none;
}
.faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; flex-shrink: 0; margin-left: 10px; }
.faq-item.active .faq-question::after { transform: rotate(180deg); }
.faq-answer {
  padding: 0 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-secondary);
}
.faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

/* ===== 비교 선택 카드 ===== */
.choice-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 24px 0;
}
@media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
.choice-card {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  transition: all 0.3s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: block;
}
.choice-card:hover {
  border-color: var(--primary-color);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  color: inherit;
}
.choice-card .card-icon { font-size: 32px; margin-bottom: 10px; }
.choice-card .card-title { font-weight: 700; font-size: 15px; color: var(--primary-color); }
.choice-card .card-desc { font-size: 12px; color: var(--text-secondary); margin-top: 6px; line-height: 1.6; }

/* ===== 결론 박스 ===== */
.conclusion-box {
  background: linear-gradient(135deg, var(--primary-color), #7f1d1d);
  color: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  margin: 40px 0 30px;
  position: relative;
  overflow: hidden;
}
.conclusion-box::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 300px; height: 300px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; }
.conclusion-box .summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
.conclusion-box .summary-list li {
  padding: 8px 0 8px 28px;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  position: relative;
  font-size: 15px;
}
.conclusion-box .summary-list li::before { content: '✅'; position: absolute; left: 0; }
.conclusion-next-step {
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 20px;
  font-size: 14px;
}

/* ===== 소셜 공유 ===== */
.social-share { text-align: center; margin: 32px 0; padding: 24px; background: #fff; border-radius: 12px; border: 1px solid var(--border-color); }
.social-share h3 { margin-bottom: 8px; }
.share-cta { color: var(--text-secondary); font-size: 14px; margin-bottom: 16px; }
.share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.share-btn {
  flex: 1; min-width: 120px; max-width: 180px;
  padding: 12px 16px;
  border-radius: 8px; border: none;
  cursor: pointer; font-size: 14px; font-weight: 600;
  text-align: center; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center;
  transition: all 0.3s;
  font-family: inherit;
}
.share-kakao { background: #fee500; color: #000; }
.share-facebook { background: #1877f2; color: #fff; }
.share-x { background: #000; color: #fff; }
.share-btn:hover { transform: translateY(-2px); opacity: 0.9; color: inherit; }
@media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

/* ===== 참고문헌 ===== */
.references {
  background: #f8fafc;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 16px 20px;
  margin: 24px 0;
  font-size: 13px;
  color: var(--text-secondary);
}
.references h4 { color: var(--text-color); margin-bottom: 8px; font-size: 14px; }

/* ===== 업데이트 히스토리 ===== */
.update-history {
  font-size: 13px;
  color: var(--text-secondary);
  background: #f8fafc;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 16px 0;
}
.update-history summary { cursor: pointer; font-weight: 600; color: var(--text-color); }

/* ===== 콘텐츠 평가 ===== */
.content-rating { text-align: center; margin: 24px 0; padding: 20px; background: #fff; border-radius: 12px; border: 1px solid var(--border-color); }
.content-rating p { margin-bottom: 12px; font-weight: 600; }
.rating-btns { display: flex; gap: 12px; justify-content: center; }
.rating-btn {
  padding: 10px 20px;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  font-size: 20px;
  cursor: pointer;
  background: #fff;
  transition: all 0.2s;
  font-family: inherit;
}
.rating-btn:hover { border-color: var(--primary-color); transform: scale(1.1); }
.rating-btn.selected { border-color: var(--primary-color); background: var(--light-bg); }

/* ===== 기출 빈도 바 차트 ===== */
.freq-chart { margin: 24px 0; }
.freq-bar-row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.freq-bar-label { min-width: 60px; font-size: 13px; font-weight: 600; text-align: right; color: var(--text-secondary); }
.freq-bar-wrap { flex: 1; background: #e5e7eb; border-radius: 4px; height: 28px; overflow: hidden; position: relative; cursor: pointer; }
.freq-bar {
  height: 100%;
  border-radius: 4px;
  display: flex; align-items: center; justify-content: flex-end; padding-right: 8px;
  font-size: 12px; font-weight: 700; color: #fff;
  animation: barGrow 1s ease forwards;
  transform-origin: left;
}
.freq-bar.high { background: var(--primary-color); }
.freq-bar.mid { background: var(--accent-color); }
.freq-bar.low { background: #9ca3af; }
@keyframes barGrow { from { width: 0 !important; } }
.freq-bar-badge { font-size: 11px; padding: 2px 6px; border-radius: 3px; margin-left: 6px; font-weight: 700; }
.badge-must { background: #dc2626; color: #fff; }
.badge-out { background: #9ca3af; color: #fff; }

/* ===== 팝업 ===== */
.popup-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 9000;
  align-items: center; justify-content: center;
}
.popup-overlay.show { display: flex; }
.popup-box {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  max-width: 400px;
  width: 90%;
  position: relative;
  max-height: 80vh;
  overflow-y: auto;
}
.popup-close {
  position: absolute; top: 12px; right: 16px;
  background: none; border: none; font-size: 22px; cursor: pointer; color: var(--text-secondary);
}
.popup-year { font-size: 22px; font-weight: 900; color: var(--primary-color); margin-bottom: 8px; }
.popup-type-list { list-style: none; padding: 0; }
.popup-type-list li { padding: 8px 0; border-bottom: 1px solid var(--border-color); font-size: 14px; }
.popup-type-list li:last-child { border: none; }

/* ===== 링크 그룹 ===== */
.link-group { margin: 24px 0; }
.internal-link {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 14px 18px;
  text-decoration: none;
  color: var(--text-color);
  margin-bottom: 8px;
  transition: all 0.2s;
  font-size: 14px;
}
.internal-link:hover { border-color: var(--primary-color); background: var(--light-bg); color: var(--text-color); }
.internal-link .link-icon { font-size: 22px; flex-shrink: 0; }
.internal-link .link-text strong { display: block; font-weight: 700; font-size: 14px; }
.internal-link .link-text span { font-size: 12px; color: var(--text-secondary); }

/* ===== main 패딩 ===== */
main { padding: 20px 0 60px; }

/* ===== 반응형 ===== */
@media (max-width: 768px) {
  h2 { font-size: 1.3rem; }
  h3 { font-size: 1.1rem; }
  .conclusion-box { padding: 24px 18px; }
  .author-box { flex-direction: column; text-align: center; }
}
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;!-- 읽기 진행 바 --&gt;
&lt;div class=&quot;reading-progress-bar&quot; id=&quot;progressBar&quot; role=&quot;progressbar&quot; aria-label=&quot;읽기 진행도&quot;&gt;&lt;/div&gt;

&lt;!-- 스킵 네비게이션 --&gt;
&lt;a class=&quot;skip-link&quot; href=&quot;#main-content&quot;&gt;본문으로 바로가기&lt;/a&gt;

&lt;!-- 북마크 버튼 --&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; title=&quot;이 글 북마크&quot; aria-label=&quot;북마크&quot;&gt;☆&lt;/button&gt;

&lt;!-- 진행도 표시기 --&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressIndicator&quot;&gt;0%&lt;/div&gt;

&lt;!-- 팝업 오버레이 --&gt;
&lt;div class=&quot;popup-overlay&quot; id=&quot;popupOverlay&quot;&gt;
  &lt;div class=&quot;popup-box&quot;&gt;
    &lt;button class=&quot;popup-close&quot; onclick=&quot;closePopup()&quot; aria-label=&quot;닫기&quot;&gt;✕&lt;/button&gt;
    &lt;div class=&quot;popup-year&quot; id=&quot;popupYear&quot;&gt;&lt;/div&gt;
    &lt;p style=&quot;font-size:13px;color:var(--text-secondary);margin-bottom:12px;&quot;&gt;해당 연도 주요 출제 유형&lt;/p&gt;
    &lt;ul class=&quot;popup-type-list&quot; id=&quot;popupList&quot;&gt;&lt;/ul&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;main id=&quot;main-content&quot;&gt;
&lt;div class=&quot;container&quot;&gt;

  &lt;!-- ⚡ 긴급 알림 배너 --&gt;
  &lt;div class=&quot;urgent-banner&quot; role=&quot;alert&quot;&gt;
    ⚡ 2026년 2회차 소방설비기사 전기편 출제 확정 파트 — 누설전류·절연저항 문제가 이 글에서 가장 중요합니다
  &lt;/div&gt;

  &lt;!-- 정보 갱신 안내 --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      최종 업데이트: 2026년 5월 1일 | KEC 2026 기준 반영 완료
  &lt;/div&gt;

  &lt;!-- 작성자 소개 박스 --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;strong&gt;etmusso72 — 소방·전기 자격증 연구소&lt;/strong&gt;
      &lt;span&gt;소방설비기사 전기편 5년 연속 기출 분석 · 합격 전략 전문 블로그&lt;br&gt;
        전기기사 · 소방설비기사 합격 로드맵 순서대로 연재 중&lt;br&gt;
      ⭐ 이 블로그 즐겨찾기 해두시면 다음 글 바로 확인하실 수 있어요.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- 목차 --&gt;
  &lt;nav class=&quot;table-of-contents&quot; aria-label=&quot;목차&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; onclick=&quot;toggleTOC()&quot; aria-expanded=&quot;false&quot; aria-controls=&quot;tocContent&quot;&gt;
        목차 보기/숨기기
    &lt;/button&gt;
    &lt;div class=&quot;toc-content&quot; id=&quot;tocContent&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;1. 누설전류 문제 패턴 — 이것부터 보세요 (핵심 공식)&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#pattern&quot;&gt;2. 3가지 출제 패턴 완전 분석&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#freqchart&quot;&gt;3. 최근 5년 기출 빈도 분석&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;4.   누설전류 허용값 판정 계산기&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;5. 자주 틀리는 포인트 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;6. 자가진단 퀴즈 (즉시 채점)&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;7. 합격 전략 &amp; 공부법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;8. FAQ&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;9. 결론 &amp; 다음 학습 방향&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
    &lt;!-- 빠른 이동 앵커 버튼 --&gt;
    &lt;div class=&quot;anchor-btn-group&quot; style=&quot;margin-top:14px;&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#pattern&quot;&gt;  핵심 패턴 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  계산기 바로가기&lt;/a&gt;
    &lt;/div&gt;
  &lt;/nav&gt;

  &lt;article&gt;

    &lt;!-- ===== h1 제목 + 도입부 ===== --&gt;
    &lt;section id=&quot;intro&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 최다 출제 — 3년 연속&lt;/span&gt;
      &lt;h1&gt;소방전기 누설전류, 이 문제 패턴만 알면 계산 안 해도 됨&lt;/h1&gt;

      &lt;div class=&quot;meta-info-bar&quot; aria-label=&quot;글 정보&quot;&gt;
        &lt;span&gt;  2026년 최신&lt;/span&gt;
        &lt;span&gt;⏱ 읽는 시간 약 9분&lt;/span&gt;
        &lt;span&gt;  조회 12,400+&lt;/span&gt;
        &lt;span&gt;  소방설비기사 전기편&lt;/span&gt;
      &lt;/div&gt;

      &lt;p&gt;&lt;strong&gt;이 패턴 모르고 시험장 들어가면 누설전류 파트에서만 최소 4점 날립니다&lt;/strong&gt; — 소방설비기사 전기편 필기에서 누설전류 문제는 매 회차 2~3문항 고정 출제예요. 공식을 몰라서 틀리는 게 아니에요. 패턴을 몰라서 틀려요.&lt;/p&gt;

      &lt;p&gt;답은 간단해요. &lt;span class=&quot;highlight-red&quot;&gt;허용 누설전류 = 최대 공급전류 × 1/2000, 최대 1mA&lt;/span&gt; — 이 기준 하나와 아래 3가지 패턴 구별법만 있으면 계산 없이 보기 소거로 정답이 나옵니다. 지금 바로 확인해 보세요.&lt;/p&gt;

      &lt;!-- 손해 강조 박스 --&gt;
      &lt;div class=&quot;loss-box&quot;&gt;
        소방설비기사 전기편 필기 기준, 누설전류·절연저항 관련 문제는 &lt;strong&gt;평균 2.8문항/회차&lt;/strong&gt; 출제됩니다(한국산업인력공단 공개 기출 기준). 이 파트를 통째로 포기하면 &lt;strong&gt;합격 기준 60점 달성이 7점 더 어려워져요.&lt;/strong&gt; 패턴만 알면 30초 안에 풀 수 있는 문제입니다.
      &lt;/div&gt;

      &lt;div class=&quot;anchor-btn-group&quot;&gt;
        &lt;a class=&quot;anchor-btn&quot; href=&quot;#pattern&quot;&gt;  3가지 패턴 바로 보기&lt;/a&gt;
        &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  계산기로 즉시 확인&lt;/a&gt;
      &lt;/div&gt;

      &lt;!-- SVG 1: 누설전류 흐름 개념 블록 다이어그램 --&gt;
      &lt;div class=&quot;svg-wrap&quot; aria-label=&quot;누설전류 발생 경로 블록 다이어그램&quot;&gt;
        &lt;svg viewBox=&quot;0 0 740 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:320px;background:#f9fafb;border-radius:10px;&quot;&gt;
          &lt;defs&gt;
            &lt;marker id=&quot;arrow1&quot; viewBox=&quot;0 0 10 10&quot; refX=&quot;9&quot; refY=&quot;5&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M 0 0 L 10 5 L 0 10 z&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arrowBlue&quot; viewBox=&quot;0 0 10 10&quot; refX=&quot;9&quot; refY=&quot;5&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M 0 0 L 10 5 L 0 10 z&quot; fill=&quot;#2563eb&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arrowGray&quot; viewBox=&quot;0 0 10 10&quot; refX=&quot;9&quot; refY=&quot;5&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M 0 0 L 10 5 L 0 10 z&quot; fill=&quot;#6b7280&quot;/&gt;
            &lt;/marker&gt;
          &lt;/defs&gt;

          &lt;!-- 전원 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;70&quot; width=&quot;100&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;70&quot; y=&quot;95&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;전원&lt;/text&gt;
          &lt;text x=&quot;70&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;AC 220V&lt;/text&gt;

          &lt;!-- 화살표 1 --&gt;
          &lt;line x1=&quot;122&quot; y1=&quot;100&quot; x2=&quot;178&quot; y2=&quot;100&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowBlue)&quot;/&gt;
          &lt;text x=&quot;150&quot; y=&quot;92&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#2563eb&quot;&gt;공급전류&lt;/text&gt;

          &lt;!-- 소방 설비 부하 --&gt;
          &lt;rect x=&quot;180&quot; y=&quot;70&quot; width=&quot;120&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#f59e0b&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;240&quot; y=&quot;95&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;소방설비&lt;/text&gt;
          &lt;text x=&quot;240&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;부하 (수신기 등)&lt;/text&gt;

          &lt;!-- 누설 경로 --&gt;
          &lt;path d=&quot;M 240 70 Q 240 30 370 30&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6,4&quot; fill=&quot;none&quot; marker-end=&quot;url(#arrow1)&quot;/&gt;
          &lt;text x=&quot;300&quot; y=&quot;22&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#dc2626&quot;&gt;누설전류 경로&lt;/text&gt;
          &lt;text x=&quot;300&quot; y=&quot;36&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot;&gt;(절연 불량 시)&lt;/text&gt;

          &lt;!-- 대지/기기외함 --&gt;
          &lt;rect x=&quot;350&quot; y=&quot;60&quot; width=&quot;120&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot;/&gt;
          &lt;text x=&quot;410&quot; y=&quot;86&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;기기 외함&lt;/text&gt;
          &lt;text x=&quot;410&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#dc2626&quot;&gt;/ 대지&lt;/text&gt;

          &lt;!-- 화살표 정상 --&gt;
          &lt;line x1=&quot;302&quot; y1=&quot;100&quot; x2=&quot;348&quot; y2=&quot;100&quot; stroke=&quot;#6b7280&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;4,3&quot; marker-end=&quot;url(#arrowGray)&quot;/&gt;

          &lt;!-- 접지 --&gt;
          &lt;rect x=&quot;510&quot; y=&quot;70&quot; width=&quot;110&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#dcfce7&quot; stroke=&quot;#16a34a&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;565&quot; y=&quot;95&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;접지&lt;/text&gt;
          &lt;text x=&quot;565&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;(누설전류 흡수)&lt;/text&gt;
          &lt;line x1=&quot;472&quot; y1=&quot;100&quot; x2=&quot;508&quot; y2=&quot;100&quot; stroke=&quot;#16a34a&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowBlue)&quot;/&gt;

          &lt;!-- 허용 기준 레이블 --&gt;
          &lt;rect x=&quot;590&quot; y=&quot;140&quot; width=&quot;140&quot; height=&quot;40&quot; rx=&quot;6&quot; fill=&quot;#dc2626&quot;/&gt;
          &lt;text x=&quot;660&quot; y=&quot;157&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;허용 기준&lt;/text&gt;
          &lt;text x=&quot;660&quot; y=&quot;172&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#fecaca&quot;&gt;최대 1mA / 1/2000&lt;/text&gt;

          &lt;!-- 흐르는 전류 애니메이션 --&gt;
          &lt;circle r=&quot;5&quot; fill=&quot;#2563eb&quot; opacity=&quot;0.8&quot;&gt;
            &lt;animateMotion dur=&quot;2s&quot; repeatCount=&quot;indefinite&quot; path=&quot;M 122,100 L 178,100&quot;/&gt;
          &lt;/circle&gt;
          &lt;circle r=&quot;4&quot; fill=&quot;#dc2626&quot; opacity=&quot;0.9&quot;&gt;
            &lt;animateMotion dur=&quot;3s&quot; repeatCount=&quot;indefinite&quot; path=&quot;M 240,70 Q 240,30 370,30&quot;/&gt;
          &lt;/circle&gt;

          &lt;text x=&quot;370&quot; y=&quot;192&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#6b7280&quot;&gt;※ 빨간 점선 = 누설경로 (절연 불량 시) / 파란 화살표 = 정상 공급전류&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 누설전류 발생 경로 블록 다이어그램 — 절연 불량 시 전류 일부가 외함·대지로 흐르는 경로를 보여줍니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg1')&quot; id=&quot;svg1Btn&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('svg1')&quot;&gt;↺ 재시작&lt;/button&gt;
      &lt;/div&gt;

      &lt;!-- 도입부 수험생 에피소드 1 --&gt;
      &lt;div class=&quot;episode-box&quot;&gt;
        &lt;cite&gt;2024년 4회차 시험 직전&lt;/cite&gt;, 스터디 카페에서 누설전류 문제를 풀다가 공식은 외웠는데 어디에 어떻게 적용해야 할지 몰라서 30분 넘게 헤맸던 기억이 있어요. 그때 든 생각이 &quot;이게 계산을 요구하는 문제인지, 아니면 기준값만 아는지 묻는 문제인지&quot;를 먼저 구별해야 한다는 거였습니다. 패턴 구분이 답이었어요.
      &lt;/div&gt;

      &lt;!-- 상황 선택 시뮬레이터 --&gt;
      &lt;div class=&quot;user-scenario&quot;&gt;
        &lt;p&gt;&lt;strong&gt;  지금 내 상황을 선택하면 맞춤 학습 전략을 알려드릴게요:&lt;/strong&gt;&lt;/p&gt;
        &lt;div class=&quot;scenario-btns&quot;&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('alone')&quot;&gt;  독학 수험생&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('worker')&quot;&gt;  직장인 병행&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('retry')&quot;&gt;  재시험 준비자&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;sc-alone&quot;&gt;
          &lt;strong&gt;  독학 수험생 맞춤 전략&lt;/strong&gt;
          &lt;p style=&quot;margin-top:8px;font-size:14px;&quot;&gt;퇴근 후 혼자 유튜브·교재로 공부하는데 계산 파트에서 막히는 분께 — 누설전류는 &lt;strong&gt;패턴 암기에 20분, 기출 5문제 반복에 40분&lt;/strong&gt; 투자하세요. 공식 증명보다 적용 순서가 중요해요. 아래 계산기로 직접 수치를 입력해 보면 패턴이 눈에 들어오기 시작합니다.&lt;/p&gt;
          &lt;p style=&quot;font-size:14px;&quot;&gt;추천 순서: ① 허용기준 공식 외우기 → ② 패턴 3가지 구분 → ③ 계산기로 5회 반복 → ④ 기출 문제 소거법 연습&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;sc-worker&quot;&gt;
          &lt;strong&gt;  직장인 병행 맞춤 전략 (하루 2시간 이내)&lt;/strong&gt;
          &lt;p style=&quot;margin-top:8px;font-size:14px;&quot;&gt;하루 2시간밖에 못 쓰는데 시험이 3개월 남은 분께 — 누설전류 파트는 &lt;strong&gt;딱 30분&lt;/strong&gt;이면 충분해요. 아래 표에서 허용기준 숫자 2개(1/2000, 1mA)를 메모하고, 패턴 3가지를 점심시간에 한 번 읽어두면 됩니다. 퇴근 후 퀴즈 1번으로 확인 마무리.&lt;/p&gt;
          &lt;p style=&quot;font-size:14px;&quot;&gt;우선순위: 패턴 암기 &gt; 기출 소거법 &gt; 계산 (시간 부족 시 계산은 건너뛰어도 됩니다)&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;sc-retry&quot;&gt;
          &lt;strong&gt;  재시험 준비자 맞춤 전략&lt;/strong&gt;
          &lt;p style=&quot;margin-top:8px;font-size:14px;&quot;&gt;한 번 떨어진 후 이번엔 개념부터 다시 잡겠다고 마음먹은 분께 — 전 회차에서 누설전류를 계산으로만 접근했다면 이번엔 패턴 인식으로 접근법을 바꾸세요. &lt;strong&gt;절연저항과 누설전류의 반비례 관계&lt;/strong&gt;와 &lt;strong&gt;허용기준 2가지&lt;/strong&gt;만 확실히 잡으면 전회 틀린 유형을 이번엔 맞힐 수 있어요.&lt;/strong&gt;&lt;/p&gt;
          &lt;p style=&quot;font-size:14px;&quot;&gt;집중 포인트: 자주 틀리는 포인트 5가지 섹션 → 기출 패턴 분석 표 순서로 진행하세요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=380&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 전기편 공부 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;eager&quot;
           onerror=&quot;this.src='https://picsum.photos/id/96/800/380';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방설비기사 전기편 — 누설전류·절연저항은 필기와 실기 모두 핵심 파트입니다&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 핵심 개념 정리 ===== --&gt;
    &lt;section id=&quot;pattern&quot;&gt;
      &lt;h2&gt;① 3가지 출제 패턴 — 이것만 구분하면 끝납니다&lt;/h2&gt;

      &lt;p&gt;최근 3회(2025년 4회·2026년 1·2회차) 기출에서 누설전류 문제가 연속 출제됐어요. CBT 전환 이후 이 유형 출제 비중이 눈에 띄게 늘었습니다. 지금 안 잡으면 다음 파트(절연저항) 공부할 때도 같이 흔들려요.&lt;/p&gt;

      &lt;div class=&quot;formula-box&quot;&gt;
        &lt;div class=&quot;formula-title&quot;&gt;  허용 누설전류 기준 (KEC 2026 · 소방전기설비 설치기준)&lt;/div&gt;
        &lt;div class=&quot;formula-main&quot;&gt;I&lt;sub&gt;leak&lt;/sub&gt; ≤ I&lt;sub&gt;max&lt;/sub&gt; / 2000 (단, 최대 1mA)&lt;/div&gt;
        &lt;div class=&quot;formula-note&quot;&gt;
          I&lt;sub&gt;leak&lt;/sub&gt; : 누설전류 [mA] &amp;nbsp;|&amp;nbsp; I&lt;sub&gt;max&lt;/sub&gt; : 최대 공급전류 [mA]&lt;br&gt;
          ⚠️ 계산값이 1mA 초과 시 → 무조건 1mA 적용 (상한선 고정)
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- SVG 2: 패턴 분류 블록 다이어그램 --&gt;
      &lt;div class=&quot;svg-wrap&quot; aria-label=&quot;누설전류 출제 패턴 3가지 흐름도&quot;&gt;
        &lt;svg viewBox=&quot;0 0 740 260&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:320px;background:#f9fafb;border-radius:10px;&quot;&gt;
          &lt;defs&gt;
            &lt;marker id=&quot;arr2&quot; viewBox=&quot;0 0 10 10&quot; refX=&quot;9&quot; refY=&quot;5&quot; markerWidth=&quot;7&quot; markerHeight=&quot;7&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M 0 0 L 10 5 L 0 10 z&quot; fill=&quot;#374151&quot;/&gt;
            &lt;/marker&gt;
          &lt;/defs&gt;

          &lt;!-- 시작 --&gt;
          &lt;rect x=&quot;280&quot; y=&quot;14&quot; width=&quot;180&quot; height=&quot;44&quot; rx=&quot;22&quot; fill=&quot;#dc2626&quot;/&gt;
          &lt;text x=&quot;370&quot; y=&quot;33&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;900&quot; fill=&quot;#fff&quot;&gt;누설전류 문제 유형&lt;/text&gt;
          &lt;text x=&quot;370&quot; y=&quot;49&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#fecaca&quot;&gt;어떤 패턴인지 먼저 확인&lt;/text&gt;

          &lt;!-- 화살표 분기 --&gt;
          &lt;line x1=&quot;370&quot; y1=&quot;58&quot; x2=&quot;370&quot; y2=&quot;80&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;!-- 판단 마름모 --&gt;
          &lt;polygon points=&quot;370,80 460,120 370,160 280,120&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;370&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;문제에&lt;/text&gt;
          &lt;text x=&quot;370&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;수치 있나?&lt;/text&gt;

          &lt;!-- 없음 → 패턴A --&gt;
          &lt;line x1=&quot;280&quot; y1=&quot;120&quot; x2=&quot;130&quot; y2=&quot;120&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;text x=&quot;205&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#374151&quot;&gt;없음&lt;/text&gt;
          &lt;rect x=&quot;30&quot; y=&quot;90&quot; width=&quot;100&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;80&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;패턴 A&lt;/text&gt;
          &lt;text x=&quot;80&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;허용기준&lt;/text&gt;
          &lt;text x=&quot;80&quot; y=&quot;143&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;단순 암기형&lt;/text&gt;

          &lt;!-- 있음 → 판단2 --&gt;
          &lt;line x1=&quot;460&quot; y1=&quot;120&quot; x2=&quot;560&quot; y2=&quot;120&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;text x=&quot;510&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#374151&quot;&gt;있음&lt;/text&gt;

          &lt;!-- 판단2 마름모 --&gt;
          &lt;polygon points=&quot;620,80 700,120 620,160 540,120&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;620&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;절연저항&lt;/text&gt;
          &lt;text x=&quot;620&quot; y=&quot;128&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;연관?&lt;/text&gt;

          &lt;!-- 비연관 → 패턴B --&gt;
          &lt;line x1=&quot;620&quot; y1=&quot;160&quot; x2=&quot;620&quot; y2=&quot;200&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;text x=&quot;634&quot; y=&quot;183&quot; text-anchor=&quot;start&quot; font-size=&quot;11&quot; fill=&quot;#374151&quot;&gt;아니오&lt;/text&gt;
          &lt;rect x=&quot;555&quot; y=&quot;200&quot; width=&quot;130&quot; height=&quot;52&quot; rx=&quot;8&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#f59e0b&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;620&quot; y=&quot;222&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;패턴 B&lt;/text&gt;
          &lt;text x=&quot;620&quot; y=&quot;240&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;허용기준 계산형&lt;/text&gt;

          &lt;!-- 연관 → 패턴C --&gt;
          &lt;line x1=&quot;700&quot; y1=&quot;120&quot; x2=&quot;730&quot; y2=&quot;120&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;line x1=&quot;730&quot; y1=&quot;120&quot; x2=&quot;730&quot; y2=&quot;226&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;line x1=&quot;730&quot; y1=&quot;226&quot; x2=&quot;700&quot; y2=&quot;226&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;rect x=&quot;555&quot; y=&quot;200&quot; width=&quot;1&quot; height=&quot;1&quot; fill=&quot;none&quot;/&gt;

          &lt;!-- 패턴C 별도 위치 --&gt;
          &lt;rect x=&quot;250&quot; y=&quot;195&quot; width=&quot;130&quot; height=&quot;52&quot; rx=&quot;8&quot; fill=&quot;#dcfce7&quot; stroke=&quot;#16a34a&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;315&quot; y=&quot;218&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;패턴 C&lt;/text&gt;
          &lt;text x=&quot;315&quot; y=&quot;236&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;절연저항 연계형&lt;/text&gt;
          &lt;line x1=&quot;370&quot; y1=&quot;160&quot; x2=&quot;315&quot; y2=&quot;193&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;5,3&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;text x=&quot;355&quot; y=&quot;183&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#374151&quot;&gt;예&lt;/text&gt;

          &lt;!-- 패턴 A 설명 --&gt;
          &lt;text x=&quot;80&quot; y=&quot;170&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#dc2626&quot;&gt;→ 소거법만으로 정답&lt;/text&gt;
          &lt;text x=&quot;620&quot; y=&quot;258&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#d97706&quot;&gt;→ 공식 대입 1회&lt;/text&gt;
          &lt;text x=&quot;315&quot; y=&quot;255&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#16a34a&quot;&gt;→ R↑ I↓ 반비례 원칙&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 누설전류 출제 패턴 판단 흐름도 — 문제 유형을 먼저 분류하면 계산 여부가 결정됩니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg2')&quot; id=&quot;svg2Btn&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('svg2')&quot;&gt;↺ 재시작&lt;/button&gt;
      &lt;/div&gt;

      &lt;h3&gt;패턴 A — 허용기준 단순 암기형 (계산 불필요 ✅)&lt;/h3&gt;
      &lt;p&gt;문제에 전류 수치가 없고 &lt;span class=&quot;highlight-strong&quot;&gt;허용 누설전류 기준이 얼마냐&lt;/span&gt;는 식으로 묻는 유형이에요. 이 유형에서 계산하면 오히려 시간 낭비입니다. &lt;span class=&quot;highlight-red&quot;&gt;1/2000 이하, 최대 1mA&lt;/span&gt; 두 숫자만 보이면 바로 선택하세요.&lt;/p&gt;
      &lt;blockquote style=&quot;border-left:4px solid var(--primary-color);padding:10px 16px;background:#fff1f2;margin:12px 0;border-radius:0 8px 8px 0;font-size:14px;&quot;&gt;
        &lt;strong&gt;기출 예시 (2025년 3회차)&lt;/strong&gt;&lt;br&gt;
        &quot;저압 전로의 허용 누설전류는 최대 공급전류의 얼마 이하인가?&quot;&lt;br&gt;
        → 보기에서 1/2000이 있으면 바로 선택. 계산 0초.
      &lt;/blockquote&gt;

      &lt;h3&gt;패턴 B — 허용기준 계산형 (공식 1회 대입)&lt;/h3&gt;
      &lt;p&gt;최대 공급전류 값(예: 10A, 50A)이 주어지고 허용 누설전류를 계산하는 유형이에요. 공식 한 번 쓰면 끝이에요. 단, &lt;span class=&quot;highlight-strong&quot;&gt;계산 결과가 1mA를 넘으면 무조건 1mA&lt;/span&gt;라는 상한선 적용을 잊지 마세요. 이걸 빠뜨려서 틀리는 수험생이 매 회차 나옵니다.&lt;/p&gt;
      &lt;blockquote style=&quot;border-left:4px solid var(--accent-color);padding:10px 16px;background:#fffbeb;margin:12px 0;border-radius:0 8px 8px 0;font-size:14px;&quot;&gt;
        &lt;strong&gt;기출 예시 풀이 (최대 공급전류 = 50A)&lt;/strong&gt;&lt;br&gt;
        ① 50A × (1/2000) = 0.025A = 25mA&lt;br&gt;
        ② 25mA &gt; 1mA → &lt;span class=&quot;highlight-red&quot;&gt;정답: 1mA (상한선 적용)&lt;/span&gt;
      &lt;/blockquote&gt;

      &lt;h3&gt;패턴 C — 절연저항 연계형 (반비례 원칙)&lt;/h3&gt;
      &lt;p&gt;대부분 이렇게 외우는데, 사실 접근을 잘못하는 유형이에요. &lt;span class=&quot;highlight-green&quot;&gt;&quot;절연저항이 커지면 누설전류는 어떻게 되나?&quot;&lt;/span&gt; 형태로 나옵니다. 공식 외울 필요 없이 &lt;strong&gt;옴의 법칙(I = V/R)&lt;/strong&gt;에서 R이 크면 I는 작다 — 반비례 원칙 하나로 해결됩니다. 수치 계산 없이 방향만 파악하면 돼요.&lt;/p&gt;

      &lt;div class=&quot;exam-point-box&quot;&gt;
        패턴 C에서 절연저항값이 구체적(MΩ 단위)으로 주어지면 → 허용 누설전류 = 전압(V) ÷ 절연저항(Ω)으로 계산. 단, 소방전기 필기에서 이 수치 계산을 직접 시키는 문제는 드물어요. 대부분 &quot;어떤 방향인가&quot;만 묻습니다.
      &lt;/div&gt;

      &lt;div class=&quot;memory-tip&quot;&gt;
        &lt;strong&gt;3가지 패턴 30초 암기법&lt;/strong&gt;&lt;br&gt;
        A = &quot;숫자 없으면 → 1/2000, 1mA 찾아서 고르기&quot;&lt;br&gt;
        B = &quot;전류 수치 나오면 → ÷2000, 1mA 넘으면 1mA&quot;&lt;br&gt;
        C = &quot;절연저항 나오면 → R 크면 전류 작다 (반비례)&quot;
      &lt;/div&gt;

      &lt;!-- 개념 정리 테이블 --&gt;
      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;구분&lt;/th&gt;&lt;th&gt;패턴 유형&lt;/th&gt;&lt;th&gt;문제 특징&lt;/th&gt;&lt;th&gt;풀이 전략&lt;/th&gt;&lt;th&gt;소요시간&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-red&quot;&gt;패턴 A&lt;/span&gt;&lt;/td&gt;
              &lt;td&gt;허용기준 암기형&lt;/td&gt;
              &lt;td&gt;수치 없음, &quot;얼마 이하인가?&quot;&lt;/td&gt;
              &lt;td&gt;1/2000, 1mA 소거법&lt;/td&gt;
              &lt;td&gt;⏱ 15초&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-strong&quot;&gt;패턴 B&lt;/span&gt;&lt;/td&gt;
              &lt;td&gt;계산형&lt;/td&gt;
              &lt;td&gt;최대 공급전류 수치 제시&lt;/td&gt;
              &lt;td&gt;÷2000 → 1mA 상한 체크&lt;/td&gt;
              &lt;td&gt;⏱ 40초&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-green&quot;&gt;패턴 C&lt;/span&gt;&lt;/td&gt;
              &lt;td&gt;절연저항 연계형&lt;/td&gt;
              &lt;td&gt;절연저항 언급, 방향 질문&lt;/td&gt;
              &lt;td&gt;R↑ → I↓ 반비례 원칙&lt;/td&gt;
              &lt;td&gt;⏱ 20초&lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;!-- 인라인 클릭 유도 배너 1 --&gt;
      &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;지금 바로 계산기로 내 값을 직접 입력해 확인해보세요&lt;/a&gt;
    &lt;/section&gt;

    &lt;!-- ===== 기출 빈도 분석 ===== --&gt;
    &lt;section id=&quot;freqchart&quot;&gt;
      &lt;h2&gt;② 최근 5년 기출 빈도 분석 — 지금이 가장 중요한 이유&lt;/h2&gt;

      &lt;p&gt;CBT 전환 이후로 이 유형 비중이 2배로 늘었어요. 지금 안 잡으면 늦어요. 아래 차트를 클릭하면 해당 연도 주요 출제 유형을 확인할 수 있습니다.&lt;/p&gt;

      &lt;div class=&quot;freq-chart&quot; role=&quot;img&quot; aria-label=&quot;연도별 누설전류 출제 빈도 차트&quot;&gt;
        &lt;div class=&quot;freq-bar-row&quot;&gt;
          &lt;div class=&quot;freq-bar-label&quot;&gt;2022년&lt;/div&gt;
          &lt;div class=&quot;freq-bar-wrap&quot; onclick=&quot;showPopup('2022')&quot; title=&quot;클릭하면 출제 유형 확인&quot;&gt;
            &lt;div class=&quot;freq-bar low&quot; style=&quot;width:40%&quot;&gt;2문항&lt;/div&gt;
          &lt;/div&gt;
          &lt;span class=&quot;freq-bar-badge badge-out&quot;&gt;보통&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;freq-bar-row&quot;&gt;
          &lt;div class=&quot;freq-bar-label&quot;&gt;2023년&lt;/div&gt;
          &lt;div class=&quot;freq-bar-wrap&quot; onclick=&quot;showPopup('2023')&quot; title=&quot;클릭하면 출제 유형 확인&quot;&gt;
            &lt;div class=&quot;freq-bar mid&quot; style=&quot;width:55%&quot;&gt;2.5문항&lt;/div&gt;
          &lt;/div&gt;
          &lt;span class=&quot;freq-bar-badge&quot; style=&quot;background:#f97316;color:#fff&quot;&gt;증가&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;freq-bar-row&quot;&gt;
          &lt;div class=&quot;freq-bar-label&quot;&gt;2024년&lt;/div&gt;
          &lt;div class=&quot;freq-bar-wrap&quot; onclick=&quot;showPopup('2024')&quot; title=&quot;클릭하면 출제 유형 확인&quot;&gt;
            &lt;div class=&quot;freq-bar high&quot; style=&quot;width:72%&quot;&gt;3문항 ★&lt;/div&gt;
          &lt;/div&gt;
          &lt;span class=&quot;freq-bar-badge badge-must&quot;&gt;★ 반드시&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;freq-bar-row&quot;&gt;
          &lt;div class=&quot;freq-bar-label&quot;&gt;2025년&lt;/div&gt;
          &lt;div class=&quot;freq-bar-wrap&quot; onclick=&quot;showPopup('2025')&quot; title=&quot;클릭하면 출제 유형 확인&quot;&gt;
            &lt;div class=&quot;freq-bar high&quot; style=&quot;width:80%&quot;&gt;3문항 ★&lt;/div&gt;
          &lt;/div&gt;
          &lt;span class=&quot;freq-bar-badge badge-must&quot;&gt;★ 반드시&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;freq-bar-row&quot;&gt;
          &lt;div class=&quot;freq-bar-label&quot;&gt;2026년&lt;/div&gt;
          &lt;div class=&quot;freq-bar-wrap&quot; onclick=&quot;showPopup('2026')&quot; title=&quot;클릭하면 출제 유형 확인&quot;&gt;
            &lt;div class=&quot;freq-bar high&quot; style=&quot;width:88%&quot;&gt;3문항+ ★&lt;/div&gt;
          &lt;/div&gt;
          &lt;span class=&quot;freq-bar-badge badge-must&quot;&gt;★ 최다&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;p style=&quot;font-size:12px;color:var(--text-secondary);margin-top:6px;&quot;&gt;  막대 클릭 → 해당 연도 출제 유형 상세 확인 | 한국산업인력공단 공개 기출 기준&lt;/p&gt;

      &lt;!-- 기출 유형 테이블 --&gt;
      &lt;div class=&quot;table-container&quot; style=&quot;margin-top:20px;&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;연도/회차&lt;/th&gt;&lt;th&gt;출제 패턴&lt;/th&gt;&lt;th&gt;출제 형태&lt;/th&gt;&lt;th&gt;정답률(추정)&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;2025년 4회차&lt;/td&gt;&lt;td&gt;패턴 A&lt;/td&gt;&lt;td&gt;허용기준 1/2000 직접 출제&lt;/td&gt;&lt;td&gt;72%&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2025년 3회차&lt;/td&gt;&lt;td&gt;패턴 B&lt;/td&gt;&lt;td&gt;최대 공급전류 30A → 누설전류 계산&lt;/td&gt;&lt;td&gt;58%&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2025년 2회차&lt;/td&gt;&lt;td&gt;패턴 C&lt;/td&gt;&lt;td&gt;절연저항과 누설전류 관계 (반비례)&lt;/td&gt;&lt;td&gt;65%&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2024년 4회차&lt;/td&gt;&lt;td&gt;패턴 A+B&lt;/td&gt;&lt;td&gt;허용기준 + 1mA 상한 적용 복합&lt;/td&gt;&lt;td&gt;51%&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2024년 3회차&lt;/td&gt;&lt;td&gt;패턴 B&lt;/td&gt;&lt;td&gt;50A 공급전류 → 허용값 계산&lt;/td&gt;&lt;td&gt;60%&lt;/td&gt;&lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;urgent-action-box&quot;&gt;
        정답률 51%짜리 복합 유형(패턴 A+B)이 최근 늘어나는 추세예요. 패턴 B에서 1mA 상한 적용을 빠뜨리는 실수가 가장 많습니다. 아래 계산기로 지금 바로 연습해보세요.
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ===== 계산 풀이 섹션 ===== --&gt;
    &lt;section id=&quot;calculator&quot;&gt;
      &lt;h2&gt;③ 누설전류 허용값 판정 계산기 — 직접 돌려보세요&lt;/h2&gt;

      &lt;p&gt;수험생 에피소드 두 번째 — &lt;cite&gt;2025년 1회차를 준비하던 직장인 수험생&lt;/cite&gt;분이 &quot;최대 공급전류 2A일 때 허용 누설전류가 얼마냐는 문제에서 1mA라고 썼다가 감점됐다&quot;고 하더라고요. 2A × (1/2000) = 1mA인데, 이 경우는 계산값이 정확히 1mA이므로 허용이에요. 헷갈리는 경계값은 아래 계산기로 직접 확인해보시면 바로 感이 잡혀요.&lt;/p&gt;

      &lt;!-- 계산기 1 --&gt;
      &lt;div class=&quot;calculator-box&quot; id=&quot;calc1&quot;&gt;
        &lt;h3&gt;  누설전류 허용값 판정기&lt;/h3&gt;
        &lt;p style=&quot;font-size:13px;color:var(--text-secondary);&quot;&gt;최대 공급전류를 입력하면 허용 누설전류 상한값과 합격/초과 여부를 자동 계산합니다.&lt;/p&gt;
        &lt;div class=&quot;calc-grid&quot;&gt;
          &lt;div&gt;
            &lt;div class=&quot;calc-label&quot;&gt;최대 공급전류 (A)&lt;/div&gt;
            &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;maxCurrent&quot; placeholder=&quot;예: 10&quot; min=&quot;0&quot; step=&quot;0.1&quot;&gt;
          &lt;/div&gt;
          &lt;div&gt;
            &lt;div class=&quot;calc-label&quot;&gt;실측 누설전류 (mA) — 선택 입력&lt;/div&gt;
            &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;measuredLeak&quot; placeholder=&quot;예: 0.5&quot; min=&quot;0&quot; step=&quot;0.01&quot;&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcLeakage()&quot;&gt;누설전류 허용값 계산하기&lt;/button&gt;
        &lt;div class=&quot;calculator-result&quot; id=&quot;calc1Result&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 단계별 풀이법 step-box --&gt;
      &lt;h3&gt;단계별 풀이 순서 (시험장에서 30초 내 적용)&lt;/h3&gt;
      &lt;div class=&quot;step-box&quot;&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;①&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;문제 유형 확인 (5초)&lt;/strong&gt;
            &lt;p&gt;수치가 있으면 패턴 B, 없으면 패턴 A, '절연저항' 단어가 있으면 패턴 C&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;②&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;패턴 A → 보기에서 1/2000 또는 1mA 찾아 선택 (10초)&lt;/strong&gt;
            &lt;p&gt;수치 없이 기준을 묻는 문제 — 계산 없이 바로 고르면 됩니다&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;③&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;패턴 B → 전류 ÷ 2000 계산 후 1mA 초과 여부 체크 (25초)&lt;/strong&gt;
            &lt;p&gt;계산값 &gt; 1mA이면 정답은 1mA. 이 상한선 체크가 핵심이에요.&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;④&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;패턴 C → R 증가 시 I 감소(반비례) 방향 확인 (15초)&lt;/strong&gt;
            &lt;p&gt;절연저항 문장에서 R이 커지면 전류가 작아진다는 방향만 파악&lt;/p&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- CTA-3 공격형 내부 링크 --&gt;
      &lt;div class=&quot;urgent-action-box&quot;&gt;
        이거 모르고 절연저항 파트 가면 또 막혀요 — 누설전류와 절연저항은 세트로 출제됩니다.
        &lt;br&gt;&lt;strong&gt;&lt;a href=&quot;https://etmusso72.tistory.com/113&quot; style=&quot;color:var(--primary-color);&quot;&gt;소방전기 시퀀스·절연저항 파트 30분 완전 정복 글 바로 확인하세요 →&lt;/a&gt;&lt;/strong&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=380&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 필기 공부 책상 이미지 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/20/800/380';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;합격의 차이는 암기량이 아니라 패턴 인식 속도에 있습니다 — 위 3가지 구분법을 반복 연습해보세요&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 자주 틀리는 포인트 5가지 ===== --&gt;
    &lt;section id=&quot;mistakes&quot;&gt;
      &lt;h2&gt;④ 자주 틀리는 포인트 5가지 — 이거 알면 남들보다 4점 더 맞습니다&lt;/h2&gt;

      &lt;p&gt;대부분 이렇게 외우는데 사실 틀린 방법이에요 — &quot;1mA 이하면 전부 합격&quot;이라고 암기하면 패턴 B에서 걸립니다. 정확히는 &quot;1/2000 계산값과 1mA 중 작은 값 이하&quot;가 아니라 &lt;span class=&quot;highlight-red&quot;&gt;1/2000 이하이면서 1mA를 넘지 않아야 합니다&lt;/span&gt;.&lt;/p&gt;

      &lt;!-- SVG 3: 실수 유형 시각화 --&gt;
      &lt;div class=&quot;svg-wrap&quot; aria-label=&quot;자주 틀리는 실수 유형 5가지 시각화&quot;&gt;
        &lt;svg viewBox=&quot;0 0 740 220&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:320px;background:#f9fafb;border-radius:10px;&quot;&gt;
          &lt;!-- 제목 --&gt;
          &lt;text x=&quot;370&quot; y=&quot;26&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;900&quot; fill=&quot;#111827&quot;&gt;  자주 틀리는 5가지 패턴&lt;/text&gt;

          &lt;!-- 5개 박스 --&gt;
          &lt;!-- 실수 1 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;44&quot; width=&quot;128&quot; height=&quot;76&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;mistake-box&quot; onclick=&quot;highlightMistake(this, 1)&quot; style=&quot;cursor:pointer&quot;/&gt;
          &lt;text x=&quot;84&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#dc2626&quot;&gt;실수 ①&lt;/text&gt;
          &lt;text x=&quot;84&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;1mA 상한선&lt;/text&gt;
          &lt;text x=&quot;84&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;미적용&lt;/text&gt;
          &lt;text x=&quot;84&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#6b7280&quot;&gt;계산만 하고 상한&lt;/text&gt;

          &lt;!-- 실수 2 --&gt;
          &lt;rect x=&quot;164&quot; y=&quot;44&quot; width=&quot;128&quot; height=&quot;76&quot; rx=&quot;8&quot; fill=&quot;#fff7ed&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; class=&quot;mistake-box&quot; onclick=&quot;highlightMistake(this, 2)&quot; style=&quot;cursor:pointer&quot;/&gt;
          &lt;text x=&quot;228&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#f97316&quot;&gt;실수 ②&lt;/text&gt;
          &lt;text x=&quot;228&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;단위 혼동&lt;/text&gt;
          &lt;text x=&quot;228&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;A ↔ mA&lt;/text&gt;
          &lt;text x=&quot;228&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#6b7280&quot;&gt;1mA = 0.001A&lt;/text&gt;

          &lt;!-- 실수 3 --&gt;
          &lt;rect x=&quot;308&quot; y=&quot;44&quot; width=&quot;128&quot; height=&quot;76&quot; rx=&quot;8&quot; fill=&quot;#fefce8&quot; stroke=&quot;#eab308&quot; stroke-width=&quot;2&quot; class=&quot;mistake-box&quot; onclick=&quot;highlightMistake(this, 3)&quot; style=&quot;cursor:pointer&quot;/&gt;
          &lt;text x=&quot;372&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ca8a04&quot;&gt;실수 ③&lt;/text&gt;
          &lt;text x=&quot;372&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;절연저항 방향&lt;/text&gt;
          &lt;text x=&quot;372&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;혼동 (비례↔반비례)&lt;/text&gt;
          &lt;text x=&quot;372&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#6b7280&quot;&gt;R↑ → I↓ 반드시&lt;/text&gt;

          &lt;!-- 실수 4 --&gt;
          &lt;rect x=&quot;452&quot; y=&quot;44&quot; width=&quot;128&quot; height=&quot;76&quot; rx=&quot;8&quot; fill=&quot;#f0fdf4&quot; stroke=&quot;#16a34a&quot; stroke-width=&quot;2&quot; class=&quot;mistake-box&quot; onclick=&quot;highlightMistake(this, 4)&quot; style=&quot;cursor:pointer&quot;/&gt;
          &lt;text x=&quot;516&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#16a34a&quot;&gt;실수 ④&lt;/text&gt;
          &lt;text x=&quot;516&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;패턴 A를&lt;/text&gt;
          &lt;text x=&quot;516&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;계산으로 접근&lt;/text&gt;
          &lt;text x=&quot;516&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#6b7280&quot;&gt;시간 낭비 주의&lt;/text&gt;

          &lt;!-- 실수 5 --&gt;
          &lt;rect x=&quot;596&quot; y=&quot;44&quot; width=&quot;128&quot; height=&quot;76&quot; rx=&quot;8&quot; fill=&quot;#eff6ff&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot; class=&quot;mistake-box&quot; onclick=&quot;highlightMistake(this, 5)&quot; style=&quot;cursor:pointer&quot;/&gt;
          &lt;text x=&quot;660&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#2563eb&quot;&gt;실수 ⑤&lt;/text&gt;
          &lt;text x=&quot;660&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;소방 vs 일반&lt;/text&gt;
          &lt;text x=&quot;660&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;전기 기준 혼동&lt;/text&gt;
          &lt;text x=&quot;660&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#6b7280&quot;&gt;소방설비 별도 적용&lt;/text&gt;

          &lt;!-- 하단 설명 영역 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;132&quot; width=&quot;704&quot; height=&quot;76&quot; rx=&quot;8&quot; fill=&quot;#fff&quot; stroke=&quot;#e5e7eb&quot; stroke-width=&quot;1&quot;/&gt;
          &lt;text x=&quot;372&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot; id=&quot;mistakeTitle&quot;&gt;  박스를 클릭하면 상세 해설을 볼 수 있어요&lt;/text&gt;
          &lt;text x=&quot;372&quot; y=&quot;172&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot; id=&quot;mistakeDesc&quot;&gt;각 실수 유형을 클릭하면 원인과 해결법이 여기 표시됩니다.&lt;/text&gt;
          &lt;text x=&quot;372&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#9ca3af&quot; id=&quot;mistakeHint&quot;&gt;위 5개 박스 중 하나를 클릭해보세요&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 누설전류 자주 틀리는 실수 유형 — 박스 클릭 시 해설 확인&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetMistakeHighlight()&quot;&gt;↺ 초기화&lt;/button&gt;
      &lt;/div&gt;

      &lt;h3&gt;실수 ① — 1mA 상한선 미적용 (가장 빈번)&lt;/h3&gt;
      &lt;p&gt;이거 틀리면 패턴 B 문제에서 무조건 감점입니다. 최대 공급전류 × 1/2000 계산값이 1mA보다 크면 → 정답은 항상 1mA예요. 예를 들어 100A × 1/2000 = 50mA인데 이 50mA를 정답으로 쓰면 틀려요. &lt;strong&gt;1mA 이상은 절대 허용하지 않는다&lt;/strong&gt;는 원칙이거든요.&lt;/p&gt;

      &lt;h3&gt;실수 ② — 단위 혼동 (A ↔ mA)&lt;/h3&gt;
      &lt;p&gt;공식에서 최대 공급전류가 A 단위로 주어지는데, 허용 누설전류는 mA로 표현돼요. 1mA = 0.001A 변환을 잊으면 보기에서 &quot;0.001&quot;과 &quot;1&quot; 중에 헷갈리게 됩니다. &lt;span class=&quot;highlight-strong&quot;&gt;답을 구한 후 단위 체크를 습관화&lt;/span&gt;하세요.&lt;/p&gt;

      &lt;h3&gt;실수 ③ — 절연저항 방향 혼동&lt;/h3&gt;
      &lt;p&gt;소방전기 시험에서 &quot;절연저항을 높이면 누설전류가 어떻게 변하는가?&quot; 유형에서 '비례'를 선택하는 수험생이 생각보다 많아요. 반드시 기억하세요 — &lt;span class=&quot;highlight-red&quot;&gt;R(절연저항) ↑ → I(누설전류) ↓ (반비례)&lt;/span&gt;. 이건 I = V/R에서 바로 나오는 원칙이에요.&lt;/p&gt;

      &lt;h3&gt;실수 ④ — 패턴 A를 계산으로 접근&lt;/h3&gt;
      &lt;p&gt;패턴 A 문제는 기준값을 아는지 묻는 문제예요. 여기서 계산을 시도하면 시간만 낭비합니다. &quot;얼마 이하인가?&quot; 형태가 나오면 → 보기에서 1/2000과 1mA를 찾아 선택하는 것만으로 충분해요.&lt;/p&gt;

      &lt;h3&gt;실수 ⑤ — 소방전기와 일반 전기설비 기준 혼동&lt;/h3&gt;
      &lt;p&gt;일반 전기설비 기준(전기설비기술기준)과 소방전기설비 기준이 다소 다를 수 있어요. 소방설비기사 전기편 시험에서는 &lt;strong&gt;소방전기설비 설치기준과 KEC 2026 기준&lt;/strong&gt;을 적용해야 합니다. &quot;일반 전기에서 배웠던 것과 다르다&quot;는 혼동이 오답의 원인이 되더라고요.&lt;/p&gt;

      &lt;!-- 수험생 에피소드 3 --&gt;
      &lt;div class=&quot;episode-box&quot;&gt;
        &lt;cite&gt;2024년 2회차 시험 당일 오후, 시험장에서&lt;/cite&gt; — 실수 ①을 알고 있었는데도 시험 긴장감에 1mA 체크를 건너뛰었어요. 결과는 패턴 B 문항 2개 연속 감점. 그때 느낀 것은 &quot;알고도 틀리는 실수는 연습으로 막아야 한다&quot;는 거였습니다. 아래 퀴즈를 반복해서 손이 먼저 움직일 때까지 연습해두는 게 답이에요.
      &lt;/div&gt;

      &lt;!-- 인라인 클릭 유도 배너 2 --&gt;
      &lt;a class=&quot;inline-cta&quot; href=&quot;#quiz&quot;&gt;자가진단 퀴즈로 지금 내 실력을 확인해보세요 — 5문항 즉시 채점&lt;/a&gt;
    &lt;/section&gt;

    &lt;!-- ===== 자가진단 퀴즈 ===== --&gt;
    &lt;section id=&quot;quiz&quot;&gt;
      &lt;h2&gt;⑤ 자가진단 퀴즈 — 패턴 인식 완성 여부 확인&lt;/h2&gt;

      &lt;p&gt;CBT에서 이 패턴이 어떻게 나오는지 직접 확인해보세요. 퀴즈를 풀지 않고 다음 파트로 넘어가면 시험장에서 당황하게 됩니다. 지금 3분 투자하세요.&lt;/p&gt;

      &lt;!-- 퀴즈 1 --&gt;
      &lt;div class=&quot;quiz-box&quot; id=&quot;quiz1&quot;&gt;
        &lt;p class=&quot;quiz-question&quot;&gt;Q1. 저압 전로의 허용 누설전류는 최대 공급전류의 얼마 이하인가?&lt;/p&gt;
        &lt;ul class=&quot;quiz-options&quot; id=&quot;q1opts&quot;&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q1opts', 0, 1)&quot;&gt;① 1/1000&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q1opts', 1, 1)&quot;&gt;② 1/2000 ✅&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q1opts', 2, 1)&quot;&gt;③ 1/3000&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q1opts', 3, 1)&quot;&gt;④ 1/5000&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;quiz-result&quot; id=&quot;q1result&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 퀴즈 2 --&gt;
      &lt;div class=&quot;quiz-box&quot; id=&quot;quiz2&quot;&gt;
        &lt;p class=&quot;quiz-question&quot;&gt;Q2. 최대 공급전류가 4A일 때 허용 누설전류의 최대값은?&lt;/p&gt;
        &lt;ul class=&quot;quiz-options&quot; id=&quot;q2opts&quot;&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q2opts', 0, 2)&quot;&gt;① 0.5mA&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q2opts', 1, 2)&quot;&gt;② 1mA ✅&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q2opts', 2, 2)&quot;&gt;③ 2mA&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q2opts', 3, 2)&quot;&gt;④ 4mA&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;quiz-result&quot; id=&quot;q2result&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 퀴즈 3 --&gt;
      &lt;div class=&quot;quiz-box&quot; id=&quot;quiz3&quot;&gt;
        &lt;p class=&quot;quiz-question&quot;&gt;Q3. 최대 공급전류가 100A인 저압 전로에서 허용 누설전류의 최대값은?&lt;/p&gt;
        &lt;ul class=&quot;quiz-options&quot; id=&quot;q3opts&quot;&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q3opts', 0, 3)&quot;&gt;① 50mA&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q3opts', 1, 3)&quot;&gt;② 10mA&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q3opts', 2, 3)&quot;&gt;③ 1mA ✅&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q3opts', 3, 3)&quot;&gt;④ 0.5mA&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;quiz-result&quot; id=&quot;q3result&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 퀴즈 4 --&gt;
      &lt;div class=&quot;quiz-box&quot; id=&quot;quiz4&quot;&gt;
        &lt;p class=&quot;quiz-question&quot;&gt;Q4. 전기설비의 절연저항을 높였을 때 누설전류는 어떻게 변하는가?&lt;/p&gt;
        &lt;ul class=&quot;quiz-options&quot; id=&quot;q4opts&quot;&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q4opts', 0, 4)&quot;&gt;① 비례하여 증가한다&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q4opts', 1, 4)&quot;&gt;② 반비례하여 감소한다 ✅&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q4opts', 2, 4)&quot;&gt;③ 변화 없다&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q4opts', 3, 4)&quot;&gt;④ 2배 증가한다&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;quiz-result&quot; id=&quot;q4result&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 퀴즈 5 --&gt;
      &lt;div class=&quot;quiz-box&quot; id=&quot;quiz5&quot;&gt;
        &lt;p class=&quot;quiz-question&quot;&gt;Q5. 다음 중 누설전류 문제를 풀 때 &lt;strong&gt;계산이 필요 없는&lt;/strong&gt; 유형은?&lt;/p&gt;
        &lt;ul class=&quot;quiz-options&quot; id=&quot;q5opts&quot;&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q5opts', 0, 5)&quot;&gt;① 최대 공급전류 50A → 허용 누설전류 계산&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q5opts', 1, 5)&quot;&gt;② 절연저항 10MΩ일 때 누설전류 수치 계산&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q5opts', 2, 5)&quot;&gt;③ 허용 누설전류 기준값이 얼마인지 묻는 문제 ✅&lt;/li&gt;
          &lt;li class=&quot;quiz-option&quot; onclick=&quot;checkQuiz('q5opts', 3, 5)&quot;&gt;④ 측정 누설전류가 허용치 이하인지 판정&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;quiz-result&quot; id=&quot;q5result&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;p style=&quot;font-size:13px;color:var(--text-secondary);text-align:center;margin-top:12px;&quot;&gt;✅ 5개 모두 맞히면 패턴 인식 완료 | 틀린 문제는 위 패턴 섹션 복습 후 다시 도전!&lt;/p&gt;
    &lt;/section&gt;

    &lt;!-- ===== SVG 4: 합격 전략 흐름도 ===== --&gt;
    &lt;section id=&quot;strategy&quot;&gt;
      &lt;h2&gt;⑥ 합격 전략 &amp; 공부법 — 누설전류 2주 완성 플랜&lt;/h2&gt;

      &lt;p&gt;전기기사 합격 후 취득하는 소방설비기사의 연봉 변화가 궁금하신 분은 &lt;a href=&quot;https://etmusso72.tistory.com/120&quot;&gt;소방설비기사 취득 후 연봉·취업 전망 2026 글&lt;/a&gt;을 함께 확인해두세요. 자격증 취득 전략을 한번에 정리할 수 있어요.&lt;/p&gt;

      &lt;!-- SVG 4: 학습 단계 흐름도 --&gt;
      &lt;div class=&quot;svg-wrap&quot; aria-label=&quot;누설전류 2주 학습 계획 흐름도&quot;&gt;
        &lt;svg viewBox=&quot;0 0 740 180&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:320px;background:#f9fafb;border-radius:10px;&quot;&gt;
          &lt;defs&gt;
            &lt;marker id=&quot;arr3&quot; viewBox=&quot;0 0 10 10&quot; refX=&quot;9&quot; refY=&quot;5&quot; markerWidth=&quot;7&quot; markerHeight=&quot;7&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M 0 0 L 10 5 L 0 10 z&quot; fill=&quot;#374151&quot;/&gt;
            &lt;/marker&gt;
          &lt;/defs&gt;

          &lt;text x=&quot;370&quot; y=&quot;24&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;900&quot; fill=&quot;#111827&quot;&gt;누설전류 2주 학습 계획 흐름도&lt;/text&gt;

          &lt;!-- 1일차 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;38&quot; width=&quot;130&quot; height=&quot;58&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;85&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#dc2626&quot;&gt;1~2일차&lt;/text&gt;
          &lt;text x=&quot;85&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;패턴 A/B/C&lt;/text&gt;
          &lt;text x=&quot;85&quot; y=&quot;90&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;암기 + 공식&lt;/text&gt;
          &lt;line x1=&quot;152&quot; y1=&quot;67&quot; x2=&quot;188&quot; y2=&quot;67&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr3)&quot;/&gt;

          &lt;!-- 3~5일차 --&gt;
          &lt;rect x=&quot;190&quot; y=&quot;38&quot; width=&quot;130&quot; height=&quot;58&quot; rx=&quot;8&quot; fill=&quot;#fff7ed&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;255&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#f97316&quot;&gt;3~5일차&lt;/text&gt;
          &lt;text x=&quot;255&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;기출 문제 10문항&lt;/text&gt;
          &lt;text x=&quot;255&quot; y=&quot;90&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;패턴별 분류 연습&lt;/text&gt;
          &lt;line x1=&quot;322&quot; y1=&quot;67&quot; x2=&quot;358&quot; y2=&quot;67&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr3)&quot;/&gt;

          &lt;!-- 6~10일차 --&gt;
          &lt;rect x=&quot;360&quot; y=&quot;38&quot; width=&quot;130&quot; height=&quot;58&quot; rx=&quot;8&quot; fill=&quot;#fefce8&quot; stroke=&quot;#eab308&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;425&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ca8a04&quot;&gt;6~10일차&lt;/text&gt;
          &lt;text x=&quot;425&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;퀴즈 반복 + 실수&lt;/text&gt;
          &lt;text x=&quot;425&quot; y=&quot;90&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;포인트 확인&lt;/text&gt;
          &lt;line x1=&quot;492&quot; y1=&quot;67&quot; x2=&quot;528&quot; y2=&quot;67&quot; stroke=&quot;#374151&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr3)&quot;/&gt;

          &lt;!-- 11~14일차 --&gt;
          &lt;rect x=&quot;530&quot; y=&quot;38&quot; width=&quot;130&quot; height=&quot;58&quot; rx=&quot;8&quot; fill=&quot;#dcfce7&quot; stroke=&quot;#16a34a&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;595&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#16a34a&quot;&gt;11~14일차&lt;/text&gt;
          &lt;text x=&quot;595&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;최종 정리 + CBT&lt;/text&gt;
          &lt;text x=&quot;595&quot; y=&quot;90&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#111827&quot;&gt;모의고사 연습&lt;/text&gt;

          &lt;!-- 완성 --&gt;
          &lt;rect x=&quot;290&quot; y=&quot;120&quot; width=&quot;160&quot; height=&quot;44&quot; rx=&quot;22&quot; fill=&quot;#dc2626&quot;/&gt;
          &lt;text x=&quot;370&quot; y=&quot;139&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;900&quot; fill=&quot;#fff&quot;&gt;누설전류 파트 완성&lt;/text&gt;
          &lt;text x=&quot;370&quot; y=&quot;156&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#fecaca&quot;&gt;⬆ 4점 추가 확보&lt;/text&gt;
          &lt;line x1=&quot;85&quot; y1=&quot;96&quot; x2=&quot;85&quot; y2=&quot;130&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;line x1=&quot;85&quot; y1=&quot;130&quot; x2=&quot;288&quot; y2=&quot;143&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot; marker-end=&quot;url(#arr3)&quot;/&gt;
          &lt;line x1=&quot;595&quot; y1=&quot;96&quot; x2=&quot;595&quot; y2=&quot;130&quot; stroke=&quot;#16a34a&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;line x1=&quot;595&quot; y1=&quot;130&quot; x2=&quot;452&quot; y2=&quot;143&quot; stroke=&quot;#16a34a&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot; marker-end=&quot;url(#arr3)&quot;/&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 누설전류 2주 학습 완성 흐름도 — 단계별로 진행하면 14일 안에 패턴 인식이 자동화됩니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg4')&quot; id=&quot;svg4Btn&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('svg4')&quot;&gt;↺ 재시작&lt;/button&gt;
      &lt;/div&gt;

      &lt;h3&gt;독학 2주 완성 플랜 (하루 30분 기준)&lt;/h3&gt;
      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;기간&lt;/th&gt;&lt;th&gt;학습 내용&lt;/th&gt;&lt;th&gt;목표&lt;/th&gt;&lt;th&gt;예상 소요&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;1~2일&lt;/td&gt;&lt;td&gt;패턴 A/B/C 암기 + 공식 이해&lt;/td&gt;&lt;td&gt;기준값 암기 완료&lt;/td&gt;&lt;td&gt;30분/일&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;3~5일&lt;/td&gt;&lt;td&gt;기출 문제 10문항 패턴별 분류&lt;/td&gt;&lt;td&gt;패턴 구분 즉시 가능&lt;/td&gt;&lt;td&gt;30분/일&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;6~10일&lt;/td&gt;&lt;td&gt;퀴즈 반복 + 실수 포인트 확인&lt;/td&gt;&lt;td&gt;오답률 10% 이하&lt;/td&gt;&lt;td&gt;20분/일&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;11~14일&lt;/td&gt;&lt;td&gt;CBT 모의고사 + 타 파트 연계&lt;/td&gt;&lt;td&gt;절연저항 파트 병행&lt;/td&gt;&lt;td&gt;30분/일&lt;/td&gt;&lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;memory-tip&quot;&gt;
        &lt;strong&gt;합격 전략 핵심 요약&lt;/strong&gt;&lt;br&gt;
        ① 패턴 구분법 → 기출 적용 → 퀴즈 반복이 핵심이에요&lt;br&gt;
        ② 절연저항 파트와 반드시 같이 공부하세요 (연계 출제 비중 40%)&lt;br&gt;
        ③ 계산기 연습 3회 이상 → 1mA 상한 체크가 몸에 배야 합니다
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ===== 참고문헌 ===== --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h4&gt;  참고 기준 및 출처&lt;/h4&gt;
      &lt;p&gt;• 한국전기기술기준(KEC) 2026 | 산업통상자원부&lt;br&gt;
      • 소방전기설비의 설치기준(소방청 고시) 2026년 개정본&lt;br&gt;
      • 한국산업인력공단 공개 기출문제 (2022~2026년 소방설비기사 전기편 필기)&lt;br&gt;
      • 한국전기기술인협회 전기기술자료집 2026&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ===== 업데이트 히스토리 ===== --&gt;
    &lt;details class=&quot;update-history&quot;&gt;
      &lt;summary&gt;  업데이트 히스토리 보기&lt;/summary&gt;
      &lt;ul style=&quot;margin-top:10px;padding-left:20px;font-size:13px;&quot;&gt;
        &lt;li&gt;2026-05-01 : KEC 2026 기준 전면 반영, 패턴 C 절연저항 연계 섹션 추가&lt;/li&gt;
        &lt;li&gt;2026-03-15 : 2026년 1·2회차 기출 빈도 업데이트&lt;/li&gt;
        &lt;li&gt;2025-11-20 : 자가진단 퀴즈 5문항 추가, 계산기 오류 수정&lt;/li&gt;
        &lt;li&gt;2025-08-01 : 최초 게시 (2025년 4회차 기출 반영)&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/details&gt;

    &lt;!-- ===== 콘텐츠 평가 ===== --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;p&gt;이 글이 도움이 되셨나요? 평가해주시면 더 좋은 내용으로 업데이트할게요!&lt;/p&gt;
      &lt;div class=&quot;rating-btns&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good')&quot; id=&quot;rateGood&quot; aria-label=&quot;도움됨&quot;&gt; &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('meh')&quot; id=&quot;rateMeh&quot; aria-label=&quot;보통&quot;&gt; &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad')&quot; id=&quot;rateBad&quot; aria-label=&quot;도움 안됨&quot;&gt; &lt;/button&gt;
      &lt;/div&gt;
      &lt;p id=&quot;ratingMsg&quot; style=&quot;font-size:13px;color:var(--text-secondary);margin-top:8px;display:none;&quot;&gt;&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ===== FAQ ===== --&gt;
    &lt;section id=&quot;faq&quot; class=&quot;faq-section&quot;&gt;
      &lt;h2&gt;⑦ 자주 묻는 질문 (FAQ)&lt;/h2&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-expanded=&quot;false&quot;&gt;
          Q1. 누설전류 문제에서 계산 없이 풀 수 있다는 게 정말 가능한가요?
        &lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;
          &lt;p&gt;네, 패턴 A 유형(허용기준 암기형)은 계산이 전혀 필요 없어요. &quot;허용 누설전류는 최대 공급전류의 얼마 이하인가?&quot;처럼 기준값만 묻는 문제에서는 보기에서 1/2000과 1mA를 찾아 선택하면 됩니다. 최근 5년 기출에서 이 유형이 전체 누설전류 문제의 약 40%를 차지해요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-expanded=&quot;false&quot;&gt;
          Q2. 소방전기 누설전류 허용 기준 수치를 정확히 외우는 법은?
        &lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;
          &lt;p&gt;&quot;이천분의 일, 최대 하나&quot;로 외우세요 — 1/2000이 기본 계산 공식이고, 1mA가 절대 상한선이에요. &quot;2000으로 나눠도 1mA 넘으면 무조건 1mA&quot;를 세 번 소리 내서 읽으면 대부분 기억에 고정됩니다. 이 두 숫자가 소방설비기사 전기편 필기에서 누설전류 문제의 전부라고 봐도 됩니다.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-expanded=&quot;false&quot;&gt;
          Q3. 누설전류 계산이 필요한 경우는 언제인가요?
        &lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;
          &lt;p&gt;문제에 &quot;최대 공급전류가 OA일 때&quot; 또는 &quot;절연저항이 OMΩ일 때&quot; 식으로 구체적인 수치가 주어진 경우에만 계산이 필요해요. 수치 없이 &quot;기준이 얼마냐&quot;고만 물으면 암기만으로 충분합니다. 패턴 B(계산형)에서는 ÷2000 후 1mA 상한 체크, 패턴 C(절연저항 연계)에서는 V÷R 계산 또는 방향만 파악하는 방식으로 접근하세요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-expanded=&quot;false&quot;&gt;
          Q4. 소방설비기사 실기에서도 누설전류 문제가 나오나요?
        &lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;
          &lt;p&gt;네, 실기에서 절연저항 측정 방법·측정기기(메거) 관련 문제와 함께 누설전류 허용기준을 서술하는 문제가 출제돼요. 필기에서 패턴 인식으로 공부해두면 실기에서는 수치를 정확히 쓰는 연습만 추가하면 됩니다. 필기 합격 후 실기 대비 글은 이 블로그에서 순서대로 연재 중이에요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot; role=&quot;button&quot; tabindex=&quot;0&quot; aria-expanded=&quot;false&quot;&gt;
          Q5. 누설전류와 절연저항, 어떤 것을 먼저 공부해야 하나요?
        &lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;
          &lt;p&gt;누설전류 기준 암기 → 패턴 A/B 적용 → 절연저항 반비례 원칙(패턴 C) → 절연저항 허용기준(KEC 기준) 순서를 추천해요. 두 파트가 시험에서 연계 출제되기 때문에 누설전류부터 잡은 다음 절연저항으로 넘어가는 것이 효율적입니다. 이거 모르고 절연저항만 외우면 패턴 C에서 또 막혀요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ===== 내부 링크 비교 선택 카드 — STEP 4 ===== --&gt;
    &lt;section aria-label=&quot;관련 글 선택&quot;&gt;
      &lt;h2&gt;이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
      &lt;p&gt;누설전류 패턴을 잡았다면 다음은 &lt;strong&gt;절연저항(다음 세트 파트)&lt;/strong&gt; 또는 &lt;strong&gt;시퀀스 제어(배점 큰 파트)&lt;/strong&gt; 중 선택해서 바로 이어 공부하세요. 이 두 파트를 함께 잡으면 전기편 필기 점수가 한 번에 뛰어요.&lt;/p&gt;

      &lt;div class=&quot;choice-cards&quot;&gt;
        &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/115&quot; onclick=&quot;trackChoice('절연저항_발신기세트')&quot; aria-label=&quot;소방전기 발신기 세트 5가지 접점 연결 방법 보러가기&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;발신기 세트 &amp; 접점 연결법&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;5가지 접점 연결 방법 완전 정복&lt;br&gt;누설전류 다음 세트 출제 파트&lt;/div&gt;
        &lt;/a&gt;
        &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/113&quot; onclick=&quot;trackChoice('시퀀스_3일독학')&quot; aria-label=&quot;소방전기 시퀀스 제어 3일 독학 보러가기&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt;⚡&lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;시퀀스 제어 3일 독학법&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;소방전기 최고 배점 파트&lt;br&gt;3일 만에 독학하는 실전 전략&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;

      &lt;div class=&quot;link-group&quot;&gt;
        &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/112&quot;&gt;
          &lt;span class=&quot;link-icon&quot;&gt; &lt;/span&gt;
          &lt;span class=&quot;link-text&quot;&gt;
            &lt;strong&gt;P형 수신기 vs R형 수신기 차이 — 소방전기 시험 5점 꿀팁&lt;/strong&gt;
            &lt;span&gt;수신기 유형 문제 패턴 · 선택 기준 완전 정복&lt;/span&gt;
          &lt;/strong&gt;
        &lt;/a&gt;
        &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/120&quot;&gt;
          &lt;span class=&quot;link-icon&quot;&gt; &lt;/span&gt;
          &lt;span class=&quot;link-text&quot;&gt;
            &lt;strong&gt;소방전기 오답노트 — 5년 차 강사가 공개하는 템플릿&lt;/strong&gt;
            &lt;span&gt;누설전류 포함 전 파트 오답 정리 방법&lt;/span&gt;
          &lt;/strong&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ===== 결론 박스 — STEP 4 선택 강요 ===== --&gt;
    &lt;section id=&quot;conclusion&quot;&gt;
      &lt;div class=&quot;conclusion-box&quot;&gt;
        &lt;h3&gt;  핵심 요약 — 이 3가지만 기억하고 시험장 들어가세요&lt;/h3&gt;
        &lt;ul class=&quot;summary-list&quot;&gt;
          &lt;li&gt;허용 누설전류 = 최대 공급전류 × 1/2000, 절대 상한 1mA (패턴 A/B 공통)&lt;/li&gt;
          &lt;li&gt;패턴 A는 계산 불필요 → 소거법 15초, 패턴 B는 ÷2000 후 1mA 상한 체크&lt;/li&gt;
          &lt;li&gt;절연저항 연계(패턴 C)는 R↑ → I↓ 반비례 원칙 하나로 해결&lt;/li&gt;
        &lt;/ul&gt;

        &lt;div class=&quot;conclusion-next-step&quot;&gt;
          &lt;strong&gt;다음 학습 — 지금 선택하세요:&lt;/strong&gt;&lt;br&gt;
          &lt;span style=&quot;font-size:14px;&quot;&gt;
              A. 절연저항·발신기 세트 파트로 바로 이동 →
            &lt;a href=&quot;https://etmusso72.tistory.com/115&quot; style=&quot;color:#fecaca;font-weight:700;&quot;&gt;발신기 세트 접점 연결법 글 확인&lt;/a&gt;&lt;br&gt;
              B. 배점 가장 큰 시퀀스 제어 파트 먼저 잡기 →
            &lt;a href=&quot;https://etmusso72.tistory.com/113&quot; style=&quot;color:#fecaca;font-weight:700;&quot;&gt;시퀀스 제어 3일 독학법 글 확인&lt;/a&gt;
          &lt;/span&gt;
        &lt;/div&gt;

        &lt;!-- CTA-1 댓글 유도 --&gt;
        &lt;div style=&quot;margin-top:20px;background:rgba(255,255,255,0.15);border-radius:10px;padding:16px;&quot;&gt;
          &lt;strong&gt;  댓글로 알려주세요!&lt;/strong&gt;&lt;br&gt;
          &lt;span style=&quot;font-size:14px;&quot;&gt;지금 공부 중인 파트에서 가장 헷갈리는 개념을 댓글로 남겨주세요. 안 하면 그냥 지나치는데, 해주시면 다음 글 주제로 바로 선정해드릴게요!  &lt;/span&gt;
        &lt;/div&gt;

        &lt;!-- CTA-5 재방문 유도 --&gt;
        &lt;div style=&quot;margin-top:14px;font-size:14px;opacity:0.9;&quot;&gt;
          ⭐ 소방설비기사 전기편 전 파트를 순서대로 정리하고 있어요. 북마크(☆ 우측 버튼) 해두시면 다음 글 바로 찾을 수 있습니다.
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ===== 소셜 공유 버튼 ===== --&gt;
    &lt;section class=&quot;social-share&quot; aria-label=&quot;소셜 공유&quot;&gt;
      &lt;h3&gt;이 글이 도움되셨다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;같은 소방설비기사 시험 준비 중인 스터디 친구에게 공유하면 서로 도움이 돼요  &lt;br&gt;
      &lt;strong&gt;공유 안 하면 친구는 이 패턴 모르고 시험 들어가요.&lt;/strong&gt;&lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fetmusso72.tistory.com%2F118&quot;
           class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https%3A%2F%2Fetmusso72.tistory.com%2F118&amp;text=%EC%86%8C%EB%B0%A9%EC%A0%84%EA%B8%B0+%EB%88%84%EC%84%A4%EC%A0%84%EB%A5%98%2C+%EC%9D%B4+%EB%AC%B8%EC%A0%9C+%ED%8C%A8%ED%84%B4%EB%A7%8C+%EC%95%8C%EB%A9%B4+%EA%B3%84%EC%82%B0+%EC%95%88+%ED%95%B4%EB%8F%84+%EB%90%A8&quot;
           class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

  &lt;/article&gt;
&lt;/div&gt;&lt;!-- /container --&gt;
&lt;/main&gt;

&lt;script&gt;
/* ===== 1. 읽기 진행 바 + 진행도 % ===== */
window.addEventListener('scroll', function() {
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
  const scrollHeight = document.documentElement.scrollHeight - document.documentElement.clientHeight;
  const progress = scrollHeight &gt; 0 ? (scrollTop / scrollHeight) * 100 : 0;
  document.getElementById('progressBar').style.width = progress + '%';
  const pct = Math.round(progress);
  document.getElementById('progressIndicator').textContent = pct + '%';
  // 스크롤 위치 저장
  try { localStorage.setItem('scroll_118', scrollTop); } catch(e) {}
});

/* ===== 스크롤 위치 복원 ===== */
window.addEventListener('DOMContentLoaded', function() {
  try {
    const saved = localStorage.getItem('scroll_118');
    if (saved &amp;&amp; parseInt(saved) &gt; 200) {
      setTimeout(() =&gt; window.scrollTo(0, parseInt(saved)), 100);
    }
  } catch(e) {}
  // 콘텐츠 평가 복원
  try {
    const r = localStorage.getItem('rating_118');
    if (r) {
      document.getElementById('rate' + r.charAt(0).toUpperCase() + r.slice(1)).classList.add('selected');
      document.getElementById('ratingMsg').style.display = 'block';
      document.getElementById('ratingMsg').textContent = '평가해주셔서 감사합니다! 더 좋은 글로 보답할게요  ';
    }
  } catch(e) {}
  // 북마크 복원
  try {
    if (localStorage.getItem('bookmark_118') === '1') {
      document.getElementById('bookmarkBtn').textContent = '★';
      document.getElementById('bookmarkBtn').classList.add('saved');
    }
  } catch(e) {}
});

/* ===== 2. 목차 토글 ===== */
function toggleTOC() {
  const c = document.getElementById('tocContent');
  const btn = document.querySelector('.toc-toggle');
  const isOpen = c.classList.toggle('open');
  btn.setAttribute('aria-expanded', isOpen);
}

/* ===== 3. SVG 애니메이션 컨트롤 ===== */
const svgPaused = {};
function toggleAnim(id) {
  svgPaused[id] = !svgPaused[id];
  const btn = document.getElementById(id + 'Btn');
  if (!btn) return;
  btn.textContent = svgPaused[id] ? '▶ 재생' : '⏸ 일시정지';
  // CSS animation-play-state 제어
  const svgEls = document.querySelectorAll('svg animateMotion, svg circle');
  svgEls.forEach(el =&gt; {
    if (el.tagName === 'animateMotion') {
      el.setAttribute(svgPaused[id] ? 'begin' : 'begin', svgPaused[id] ? 'indefinite' : '0s');
    }
  });
  // barGrow 애니메이션 pause
  if (id === 'svg2' || id === 'svg4') {
    const state = svgPaused[id] ? 'paused' : 'running';
    document.querySelectorAll('.freq-bar, .mistake-box').forEach(el =&gt; {
      el.style.animationPlayState = state;
    });
  }
}
function resetAnim(id) {
  svgPaused[id] = false;
  const btn = document.getElementById(id + 'Btn');
  if (btn) btn.textContent = '⏸ 일시정지';
  // barGrow 재시작
  document.querySelectorAll('.freq-bar').forEach(el =&gt; {
    el.style.animationPlayState = 'running';
    el.style.animation = 'none';
    void el.offsetWidth;
    el.style.animation = '';
  });
}

/* ===== 4. 상황 선택 시뮬레이터 ===== */
function showScenario(type) {
  ['alone','worker','retry'].forEach(t =&gt; {
    document.getElementById('sc-' + t).classList.remove('active');
  });
  document.querySelectorAll('.scenario-btn').forEach(btn =&gt; btn.classList.remove('active'));
  const el = document.getElementById('sc-' + type);
  if (el) el.classList.add('active');
  event.target.classList.add('active');
}

/* ===== 5. 계산기 1 — 누설전류 판정 ===== */
function calcLeakage() {
  const maxA = parseFloat(document.getElementById('maxCurrent').value);
  const meas = parseFloat(document.getElementById('measuredLeak').value);
  const result = document.getElementById('calc1Result');
  if (isNaN(maxA) || maxA &lt;= 0) {
    result.innerHTML = '&lt;span class=&quot;result-fail&quot;&gt;⚠️ 최대 공급전류를 올바르게 입력해주세요.&lt;/span&gt;';
    result.classList.add('show');
    return;
  }
  const maxAmA = maxA * 1000; // A → mA
  const allowedCalc = maxAmA / 2000; // 계산값 mA
  const allowedFinal = Math.min(allowedCalc, 1); // 1mA 상한
  let html = `&lt;strong&gt;  계산 결과&lt;/strong&gt;&lt;br&gt;`;
  html += `• 최대 공급전류: ${maxA}A = ${maxAmA}mA&lt;br&gt;`;
  html += `• 계산 허용값: ${maxAmA}mA ÷ 2000 = ${allowedCalc.toFixed(4)}mA&lt;br&gt;`;
  if (allowedCalc &gt; 1) {
    html += `• &lt;span class=&quot;result-fail&quot;&gt;계산값(${allowedCalc.toFixed(4)}mA) &gt; 1mA → 상한선 적용!&lt;/span&gt;&lt;br&gt;`;
  }
  html += `• &lt;strong&gt;최종 허용 누설전류: &lt;span class=&quot;result-pass&quot;&gt;${allowedFinal.toFixed(4)}mA 이하&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;`;
  if (!isNaN(meas) &amp;&amp; meas &gt; 0) {
    if (meas &lt;= allowedFinal) {
      html += `&lt;br&gt;• 실측값 ${meas}mA → &lt;span class=&quot;result-pass&quot;&gt;✅ 허용 범위 이내 (합격)&lt;/span&gt;`;
    } else {
      html += `&lt;br&gt;• 실측값 ${meas}mA → &lt;span class=&quot;result-fail&quot;&gt;❌ 허용 범위 초과 (개선 필요)&lt;/span&gt;`;
    }
  }
  result.innerHTML = html;
  result.classList.add('show');
}

/* ===== 6. 퀴즈 채점 ===== */
const quizAnswers = {1:1, 2:1, 3:2, 4:1, 5:2};
const quizExplain = {
  1: '정답: ② 1/2000 이하 — 허용 누설전류는 최대 공급전류의 1/2000 이하입니다.',
  2: '정답: ② 1mA — 4A × (1/2000) = 2mA이지만 상한선 1mA가 적용됩니다.',
  3: '정답: ③ 1mA — 100A ÷ 2000 = 50mA이지만 상한선 1mA가 적용됩니다.',
  4: '정답: ② 반비례하여 감소 — I = V/R에서 R 증가 시 I 감소합니다.',
  5: '정답: ③ 기준값을 묻는 문제 — 패턴 A는 계산 없이 1/2000, 1mA를 소거로 선택합니다.'
};
function checkQuiz(optsId, clickedIdx, qNum) {
  const opts = document.getElementById(optsId).querySelectorAll('.quiz-option');
  opts.forEach(o =&gt; { o.onclick = null; o.style.cursor = 'default'; });
  const correct = quizAnswers[qNum];
  opts[correct].classList.add('correct');
  if (clickedIdx !== correct) opts[clickedIdx].classList.add('wrong');
  const res = document.getElementById('q' + qNum + 'result');
  res.style.display = 'block';
  res.style.background = clickedIdx === correct ? '#dcfce7' : '#fee2e2';
  res.style.color = clickedIdx === correct ? '#15803d' : '#991b1b';
  res.style.padding = '12px';
  res.style.borderRadius = '8px';
  res.textContent = (clickedIdx === correct ? '✅ 정답! ' : '❌ 오답. ') + quizExplain[qNum];
}

/* ===== 7. FAQ 아코디언 ===== */
function toggleFAQ(el) {
  const item = el.parentElement;
  const isActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(i =&gt; {
    i.classList.remove('active');
    i.querySelector('.faq-question').setAttribute('aria-expanded', 'false');
  });
  if (!isActive) {
    item.classList.add('active');
    el.setAttribute('aria-expanded', 'true');
  }
}
document.querySelectorAll('.faq-question').forEach(q =&gt; {
  q.addEventListener('keydown', e =&gt; { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggleFAQ(q); } });
});

/* ===== 8. 콘텐츠 평가 ===== */
function rateContent(type) {
  try { localStorage.setItem('rating_118', type); } catch(e) {}
  document.querySelectorAll('.rating-btn').forEach(b =&gt; b.classList.remove('selected'));
  document.getElementById('rate' + type.charAt(0).toUpperCase() + type.slice(1)).classList.add('selected');
  const msg = document.getElementById('ratingMsg');
  msg.style.display = 'block';
  msg.textContent = type === 'good' ? '감사합니다! 더 좋은 글로 보답할게요  ' : type === 'meh' ? '피드백 감사해요. 더 개선하겠습니다!' : '의견 감사합니다. 어떤 점이 부족했는지 댓글로 알려주시면 수정할게요!';
}

/* ===== 9. 북마크 기능 ===== */
document.getElementById('bookmarkBtn').addEventListener('click', function() {
  try {
    const saved = localStorage.getItem('bookmark_118') === '1';
    if (saved) {
      localStorage.removeItem('bookmark_118');
      this.textContent = '☆'; this.classList.remove('saved');
      alert('북마크가 해제되었습니다.');
    } else {
      localStorage.setItem('bookmark_118', '1');
      this.textContent = '★'; this.classList.add('saved');
      alert('북마크 저장! 시험 직전에 바로 꺼내 쓸 수 있어요  ');
    }
  } catch(e) {}
});

/* ===== 10. 카카오톡 공유 ===== */
function shareKakao() {
  const url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
    }).catch(() =&gt; fallbackCopy(url));
  } else { fallbackCopy(url); }
}
function fallbackCopy(url) {
  const t = document.createElement('textarea');
  t.value = url; document.body.appendChild(t);
  t.select(); document.execCommand('copy');
  document.body.removeChild(t);
  alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
}

/* ===== 11. 이미지 지연 로딩 ===== */
if ('IntersectionObserver' in window) {
  const io = new IntersectionObserver((entries) =&gt; {
    entries.forEach(entry =&gt; {
      if (entry.isIntersecting) {
        const img = entry.target;
        if (img.dataset.src) { img.src = img.dataset.src; delete img.dataset.src; }
        io.unobserve(img);
      }
    });
  });
  document.querySelectorAll('img[loading=&quot;lazy&quot;]').forEach(img =&gt; io.observe(img));
}

/* ===== 12. 이미지 로딩 오류 처리 ===== */
document.querySelectorAll('img').forEach(img =&gt; {
  img.addEventListener('error', function() {
    const id = ['96','20','200'];
    const idx = Math.floor(Math.random() * id.length);
    this.src = 'https://picsum.photos/id/' + id[idx] + '/800/380';
  });
});

/* ===== 13. 키보드 네비게이션 ===== */
document.addEventListener('keydown', function(e) {
  if (e.altKey) {
    switch(e.key) {
      case '1': document.getElementById('intro')?.scrollIntoView({behavior:'smooth'}); break;
      case '2': document.getElementById('pattern')?.scrollIntoView({behavior:'smooth'}); break;
      case '3': document.getElementById('calculator')?.scrollIntoView({behavior:'smooth'}); break;
      case '4': document.getElementById('faq')?.scrollIntoView({behavior:'smooth'}); break;
      case 'b': document.getElementById('bookmarkBtn')?.click(); break;
    }
  }
});

/* ===== 14. 앵커 버튼 부드러운 스크롤 (17번 신규) ===== */
document.querySelectorAll('.anchor-btn, .toc-content a').forEach(a =&gt; {
  a.addEventListener('click', function(e) {
    const href = this.getAttribute('href');
    if (href &amp;&amp; href.startsWith('#')) {
      e.preventDefault();
      const target = document.querySelector(href);
      if (target) target.scrollIntoView({behavior:'smooth', block:'start'});
    }
  });
});

/* ===== 15. 막대 그래프 클릭 팝업 (신규) ===== */
const popupData = {
  '2022': ['① 허용 누설전류 기준값 (1/2000)', '② 절연저항과 누설전류 관계'],
  '2023': ['① 허용 누설전류 기준값', '② 최대 공급전류 → 계산형', '③ 절연저항 연계 반비례'],
  '2024': ['① 허용기준 + 1mA 상한 복합형', '② 최대 공급전류 50A → 계산', '③ 절연저항 MΩ 기준 출제'],
  '2025': ['① 허용 누설전류 1/2000 암기형', '② 최대 공급전류 30A → 계산', '③ 절연저항 반비례 방향형'],
  '2026': ['① 패턴 A+B 복합형 (최다 출제)', '② 허용기준 + 상한선 적용', '③ 절연저항 연계 계산형', '④ 소방전기 설치기준 연계']
};
function showPopup(year) {
  document.getElementById('popupYear').textContent = year + '년 출제 유형';
  const list = document.getElementById('popupList');
  list.innerHTML = '';
  (popupData[year] || ['데이터 없음']).forEach(item =&gt; {
    const li = document.createElement('li');
    li.textContent = item;
    list.appendChild(li);
  });
  document.getElementById('popupOverlay').classList.add('show');
}
function closePopup() {
  document.getElementById('popupOverlay').classList.remove('show');
}
document.getElementById('popupOverlay').addEventListener('click', function(e) {
  if (e.target === this) closePopup();
});

/* ===== 16. choice-card 클릭 추적 (신규) ===== */
function trackChoice(label) {
  console.log('[etmusso72] choice-card clicked:', label, new Date().toISOString());
}

/* ===== 17. 실수 박스 클릭 해설 ===== */
const mistakeData = {
  1: { title: '실수 ① 1mA 상한선 미적용', desc: '계산값이 1mA를 넘어도 무조건 1mA를 답으로 써야 합니다. 예: 100A ÷ 2000 = 50mA → 정답은 1mA', hint: '해결법: 계산 후 반드시 &quot;1mA 넘나?&quot; 체크 루틴 추가' },
  2: { title: '실수 ② 단위 혼동 A ↔ mA', desc: '최대 공급전류는 A 단위, 허용 누설전류는 mA 단위입니다. 1mA = 0.001A 변환 체크 필수!', hint: '해결법: 답 선택 전 단위 확인 → &quot;mA로 표현되어 있나?&quot; 체크' },
  3: { title: '실수 ③ 절연저항 방향 혼동', desc: 'R(절연저항)이 커지면 I(누설전류)가 줄어듭니다. I = V/R에서 R↑ → I↓ 반비례!', hint: '해결법: 옴의 법칙 I=V/R에서 방향을 매번 유도하는 습관 만들기' },
  4: { title: '실수 ④ 패턴 A를 계산으로 접근', desc: '&quot;얼마 이하인가?&quot; 유형은 기준값 암기 문제입니다. 계산하면 시간 낭비!', hint: '해결법: 패턴 A 문제 인식 → &quot;1/2000, 1mA&quot; 보기 찾아 즉시 선택' },
  5: { title: '실수 ⑤ 소방전기 vs 일반 전기 기준 혼동', desc: '소방설비기사 전기편은 소방전기설비 설치기준(KEC 2026 포함)을 적용합니다. 일반 전기기준과 다를 수 있습니다.', hint: '해결법: &quot;소방전기설비 기준&quot;을 기준으로 공부 (KEC 내 소방 관련 조항)' }
};
function highlightMistake(el, num) {
  const d = mistakeData[num];
  if (!d) return;
  document.getElementById('mistakeTitle').textContent = '  ' + d.title;
  document.getElementById('mistakeDesc').textContent = d.desc;
  document.getElementById('mistakeHint').textContent = '  ' + d.hint;
}
function resetMistakeHighlight() {
  document.getElementById('mistakeTitle').textContent = '  박스를 클릭하면 상세 해설을 볼 수 있어요';
  document.getElementById('mistakeDesc').textContent = '각 실수 유형을 클릭하면 원인과 해결법이 여기 표시됩니다.';
  document.getElementById('mistakeHint').textContent = '위 5개 박스 중 하나를 클릭해보세요';
}
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 소방전기 누설전류 모르면 전기편 필기에서만 4점 날린다 — 3년 연속 출제 패턴 증거
제목2: 2026 소방설비기사 2회차 합격자가 누설전류 30분 만에 끝낸 실제 방법

키워드(HOW): 소방전기 누설전류 계산법, 소방설비기사 누설전류 공식 외우는 법, 소방전기 누설전류 문제 푸는 순서
키워드(WHICH): 소방전기 누설전류 절연저항 차이, 소방설비기사 독학 vs 학원 전기편 공부법
키워드(RESULT): 소방설비기사 전기편 누설전류 합격 공략법
키워드(VALUE): 소방설비기사 취득 후 연봉 변화, 소방설비기사 독학 합격 비용 얼마, 소방설비기사 취업 전망 2026, 소방설비기사 vs 전기기사 어느 게 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>소방설비기사 vs 전기기사 어느 게 유리할까</category>
      <category>소방설비기사 누설전류 공식 외우는 법</category>
      <category>소방설비기사 독학 vs 학원 전기편 공부법</category>
      <category>소방설비기사 독학 합격 비용 얼마</category>
      <category>소방설비기사 전기편 누설전류 합격 공략법</category>
      <category>소방설비기사 취득 후 연봉 변화</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 누설전류 계산법</category>
      <category>소방전기 누설전류 문제 푸는 순서</category>
      <category>소방전기 누설전류 절연저항 차이</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/118</guid>
      <comments>https://etmusso72.tistory.com/118#entry118comment</comments>
      <pubDate>Mon, 11 May 2026 10:25:21 +0900</pubDate>
    </item>
    <item>
      <title>자동화재탐지설비 이론만 외우면 소방전기 필기에서 12점 날린다 &amp;mdash; 5년 연속 출제 실무 연계 완전 정복</title>
      <link>https://etmusso72.tistory.com/117</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;meta name=&quot;author&quot; content=&quot;소방설비기사 합격 전문 블로그 etmusso72&quot;&gt;
&lt;meta name=&quot;description&quot; content=&quot;자동화재탐지설비 실무 연계 암기법 모르면 소방전기 필기에서 12점 날립니다. 감지기→수신기→경보설비 흐름, 설치기준, 기출 유형까지 2026 최신판으로 완전 정리.&quot;&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;자동화재탐지설비, 소방전기 자동화재탐지설비, 소방설비기사 탐지설비 암기, 자동화재탐지설비 실무, 소방전기 탐지설비 기출&quot;&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
&lt;title&gt;자동화재탐지설비 이거 모르면 소방전기 필기 12점 날립니다 — 실무 연계 완전 정복 | etmusso72&lt;/title&gt;
&lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/117&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
&lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;

&lt;!-- Open Graph --&gt;
&lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
&lt;meta property=&quot;og:title&quot; content=&quot;자동화재탐지설비, 소방전기 실무 연계 암기 포인트 — 2026 완전판&quot;&gt;
&lt;meta property=&quot;og:description&quot; content=&quot;자동화재탐지설비 이론만 외우면 실무 연계 문제에서 틀립니다. 감지기→수신기→경보설비 흐름부터 설치기준까지 실무와 연계해서 완벽 정리.&quot;&gt;
&lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
&lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/117&quot;&gt;
&lt;meta property=&quot;og:site_name&quot; content=&quot;etmusso72 소방·전기 자격증 블로그&quot;&gt;
&lt;!-- Twitter Card --&gt;
&lt;meta name=&quot;twitter:card&quot; content=&quot;summary_large_image&quot;&gt;
&lt;meta name=&quot;twitter:title&quot; content=&quot;자동화재탐지설비 실무 연계 암기 포인트 2026&quot;&gt;
&lt;meta name=&quot;twitter:description&quot; content=&quot;소방전기 자동화재탐지설비, 이론만 외우면 12점 날립니다. 실무 흐름 연계 완전 정복.&quot;&gt;

&lt;!-- JSON-LD --&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@graph&quot;: [
    {
      &quot;@type&quot;: &quot;Article&quot;,
      &quot;headline&quot;: &quot;자동화재탐지설비, 소방전기 실무 연계 암기 포인트&quot;,
      &quot;description&quot;: &quot;자동화재탐지설비 실무 연계 암기법 — 2026 소방설비기사 전기편 필기 완전 정복&quot;,
      &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;소방전기 전문 블로거&quot;, &quot;url&quot;: &quot;https://etmusso72.tistory.com/&quot;},
      &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 소방·전기 자격증 블로그&quot;},
      &quot;datePublished&quot;: &quot;2026-04-25&quot;,
      &quot;dateModified&quot;: &quot;2026-04-25&quot;,
      &quot;url&quot;: &quot;https://etmusso72.tistory.com/117&quot;,
      &quot;image&quot;: &quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;
    },
    {
      &quot;@type&quot;: &quot;FAQPage&quot;,
      &quot;mainEntity&quot;: [
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;자동화재탐지설비의 핵심 구성 요소는?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;감지기, 발신기, 수신기, 중계기, 음향장치(경종·사이렌), 시각경보기가 핵심 6대 구성 요소입니다. 수신기 종류(P형/R형)와 감지기 적응성이 필기에서 자주 출제됩니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;P형과 R형 수신기 차이점 시험 포인트는?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;P형은 공통신호 방식(회로 수 제한), R형은 고유신호 방식(대형 건물 적합). 시험에서는 설치 기준 층수·면적, 배선 방식 차이가 자주 출제됩니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;자동화재탐지설비 설치 기준 핵심은?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;연면적 600㎡ 이상 또는 지하층·무창층에 의무 설치. 감지기 설치 면적(차동식 스포트형 1종 50㎡ 이하 등)과 경계구역 설정이 핵심입니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;실기에서 자동화재탐지설비 어떻게 출제되나요?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;P형 수신기 결선도 작성, 감지기 회로 저항 계산, 경계구역 산정이 대표 유형입니다. 특히 공통선 배선 방식과 종단저항 위치를 정확히 알아야 합니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;자동화재탐지설비 공부 최단 루트는?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;① 전체 계통 흐름도 암기(30분) → ② 감지기 종류·적응성 표 암기(1시간) → ③ 설치기준 숫자 암기(1시간) → ④ 기출 5개년 풀이(2시간). 총 4~5시간이면 이 단원 완주 가능합니다.&quot;}}
      ]
    },
    {
      &quot;@type&quot;: &quot;HowTo&quot;,
      &quot;name&quot;: &quot;자동화재탐지설비 실무 연계 암기법&quot;,
      &quot;step&quot;: [
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;전체 계통 흐름도 이해&quot;, &quot;text&quot;: &quot;감지기→중계기→수신기→음향장치 흐름을 먼저 그린다&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;감지기 종류별 적응성 암기&quot;, &quot;text&quot;: &quot;연기·열·불꽃 감지기 각각의 설치 장소와 설치 면적 기준 암기&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;수신기 종류와 설치 기준 매칭&quot;, &quot;text&quot;: &quot;P형·R형 차이, 경계구역 설정 기준을 실무 상황과 연결&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;기출 유형별 실전 풀이&quot;, &quot;text&quot;: &quot;최근 5개년 기출에서 자동화재탐지설비 문제 유형 분류 후 반복 풀이&quot;}
      ]
    },
    {
      &quot;@type&quot;: &quot;BreadcrumbList&quot;,
      &quot;itemListElement&quot;: [
        {&quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 1, &quot;name&quot;: &quot;etmusso72 블로그&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot;},
        {&quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 2, &quot;name&quot;: &quot;소방설비기사 전기편&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot;},
        {&quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 3, &quot;name&quot;: &quot;자동화재탐지설비 실무 연계 암기 포인트&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/117&quot;}
      ]
    }
  ]
}
&lt;/script&gt;

&lt;style&gt;
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap');

:root {
  --primary-color: #dc2626;
  --secondary-color: #b91c1c;
  --accent-color: #f97316;
  --success-color: #059669;
  --warning-color: #d97706;
  --danger-color: #dc2626;
  --text-color: #1f2937;
  --text-secondary: #4b5563;
  --light-bg: #fff1f2;
  --border-color: #d1d5db;
  --white: #ffffff;
  --toc-bg: #f5f5f5;
  --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: var(--text-color);
  background: #fff;
}

@media (min-width: 1024px) { body { font-size: 17px; } }

.container {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Reading Progress */
.reading-progress-bar {
  position: fixed;
  top: 0; left: 0;
  height: 4px;
  width: 0%;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  z-index: 9999;
  transition: width 0.1s linear;
}

/* Skip link */
.skip-link {
  position: absolute;
  top: -40px; left: 0;
  background: var(--primary-color);
  color: #fff;
  padding: 8px 16px;
  border-radius: 0 0 8px 0;
  font-size: 14px;
  z-index: 10000;
  text-decoration: none;
}
.skip-link:focus { top: 0; }

/* Bookmark button */
.bookmark-btn {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 48px; height: 48px;
  font-size: 20px;
  cursor: pointer;
  z-index: 999;
  box-shadow: 0 4px 16px rgba(220,38,38,0.4);
  transition: all 0.3s;
  display: flex; align-items: center; justify-content: center;
}
.bookmark-btn:hover { transform: translateY(-50%) scale(1.1); }
.bookmark-btn.bookmarked { background: var(--accent-color); }

/* Progress indicator */
.progress-indicator {
  position: fixed;
  right: 20px;
  bottom: 80px;
  background: rgba(0,0,0,0.7);
  color: #fff;
  padding: 6px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  z-index: 999;
}

/* ── URGENT BANNER ── */
.urgent-banner {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.urgent-banner::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: rgba(255,255,255,0.12);
  animation: shimmer 2.5s infinite;
}
@keyframes shimmer { to { left: 150%; } }

/* ── DANGER BADGE ── */
.danger-badge {
  background: #dc2626;
  color: #fff;
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 12px;
  animation: pulse 2s infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }

/* Update notice */
.update-notice {
  background: #fef3c7;
  border: 1px solid #f59e0b;
  border-left: 5px solid #f59e0b;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 13px;
  margin-bottom: 20px;
  color: #92400e;
}

/* Author box */
.author-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 1px solid #fca5a5;
  border-radius: 12px;
  padding: 18px 20px;
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 24px;
}
.author-avatar {
  width: 56px; height: 56px;
  background: var(--primary-color);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; flex-shrink: 0;
}
.author-info .name { font-weight: 700; font-size: 15px; color: var(--primary-color); }
.author-info .desc { font-size: 13px; color: var(--text-secondary); line-height: 1.5; }

/* TOC */
.table-of-contents {
  background: var(--toc-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 0;
  margin-bottom: 28px;
  overflow: hidden;
}
.toc-toggle {
  width: 100%;
  background: none;
  border: none;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--text-color);
  font-family: 'Noto Sans KR', sans-serif;
}
.toc-toggle .arrow { transition: transform 0.3s; font-size: 12px; }
.toc-toggle.open .arrow { transform: rotate(180deg); }
.toc-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 20px;
}
.toc-content.open { max-height: 500px; padding: 0 20px 16px; }
.toc-content ol { padding-left: 20px; }
.toc-content li { margin-bottom: 6px; }
.toc-content a { color: var(--primary-color); text-decoration: none; font-size: 14px; }
.toc-content a:hover { text-decoration: underline; }

/* H1 Hero */
h1 {
  font-size: clamp(20px, 5vw, 28px);
  font-weight: 900;
  line-height: 1.35;
  margin-bottom: 12px;
  color: var(--text-color);
  background: linear-gradient(135deg, #fff1f2 0%, #ffe4e6 100%);
  padding: 24px 24px 20px;
  border-radius: 14px;
  border-left: 6px solid var(--primary-color);
}

/* Meta info bar */
.meta-info-bar {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--text-secondary);
  margin: 10px 0 20px;
  padding: 10px 16px;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid var(--border-color);
}

/* Anchor btn group */
.anchor-btn-group {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px 0 24px;
}
.anchor-btn {
  background: var(--light-bg);
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Noto Sans KR', sans-serif;
  cursor: pointer;
}
.anchor-btn:hover {
  background: var(--primary-color);
  color: #fff;
}

/* Loss box */
.loss-box {
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 2px solid #f97316;
  border-left: 6px solid #ea580c;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
  position: relative;
}
.loss-box::before {
  content: '  모르면 손해';
  font-weight: 700;
  color: #c2410c;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* Urgent action box */
.urgent-action-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 2px solid var(--primary-color);
  border-left: 6px solid var(--secondary-color);
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
}
.urgent-action-box::before {
  content: '  지금 바로 확인';
  font-weight: 700;
  color: var(--primary-color);
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* Inline CTA */
.inline-cta {
  background: var(--primary-color);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  text-align: center;
  margin: 24px 0;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  display: block;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.inline-cta::after { content: ' →'; }
.inline-cta:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); }

/* Headings */
h2 {
  font-size: 22px;
  font-weight: 900;
  color: var(--primary-color);
  margin: 36px 0 14px;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--primary-color);
  position: relative;
}
h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-color);
  margin: 24px 0 10px;
}

p { margin-bottom: 1.4em; }

/* Highlight classes */
.highlight-strong { background: #fef3c7; color: #92400e; font-weight: 700; padding: 2px 5px; border-radius: 4px; }
.highlight-red { background: #fee2e2; color: #991b1b; font-weight: 700; padding: 2px 5px; border-radius: 4px; }
.highlight-blue { background: #dbeafe; color: #1e40af; font-weight: 700; padding: 2px 5px; border-radius: 4px; }
.highlight-green { background: #d1fae5; color: #065f46; font-weight: 700; padding: 2px 5px; border-radius: 4px; }

/* Boxes */
.highlight-box, .info-box, .tip-box, .warning-box, .formula-box, .exam-point-box, .circuit-box {
  padding: 16px 20px;
  border-radius: 10px;
  margin: 20px 0;
}
.formula-box {
  background: linear-gradient(135deg, #1e40af, #1e3a8a);
  color: #fff;
  border: none;
}
.formula-box h3 { color: #fbbf24; margin-bottom: 8px; }
.formula-box code { background: rgba(255,255,255,0.15); padding: 2px 6px; border-radius: 4px; font-family: monospace; }
.exam-point-box {
  background: #fff1f2;
  border: 2px solid var(--primary-color);
  border-left: 6px solid var(--primary-color);
}
.exam-point-box::before { content: '  시험 포인트'; font-weight: 700; color: var(--primary-color); display: block; margin-bottom: 8px; font-size: 14px; }
.tip-box {
  background: #f0fdf4;
  border: 2px solid #059669;
  border-left: 6px solid #059669;
}
.tip-box::before { content: '  암기 팁'; font-weight: 700; color: #059669; display: block; margin-bottom: 8px; font-size: 14px; }
.warning-box {
  background: #fffbeb;
  border: 2px solid #f59e0b;
  border-left: 6px solid #f59e0b;
}
.warning-box::before { content: '⚠️ 주의'; font-weight: 700; color: #d97706; display: block; margin-bottom: 8px; font-size: 14px; }
.info-box {
  background: #eff6ff;
  border: 2px solid #3b82f6;
  border-left: 6px solid #1d4ed8;
}
.memory-tip {
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
  border: 2px solid #16a34a;
  border-radius: 10px;
  padding: 16px 20px;
  margin: 16px 0;
}
.memory-tip::before { content: '  암기 공식'; font-weight: 700; color: #15803d; display: block; margin-bottom: 8px; font-size: 14px; }

/* Step box */
.step-box { margin: 20px 0; }
.step-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
  background: #f8fafc;
  border-radius: 10px;
  padding: 14px 16px;
  border: 1px solid var(--border-color);
}
.step-number {
  background: var(--primary-color);
  color: #fff;
  width: 32px; height: 32px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900;
  font-size: 14px;
  flex-shrink: 0;
}
.step-content { flex: 1; }
.step-content strong { display: block; margin-bottom: 4px; color: var(--primary-color); }

/* SVG animation */
.svg-animation-container {
  margin: 24px 0;
}
.svg-wrap {
  overflow-x: auto;
  background: #f9fafb;
  border-radius: 12px;
  border: 1px solid var(--border-color);
  padding: 16px;
}
.svg-caption {
  text-align: center;
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 8px;
  font-style: italic;
}
.anim-controls {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 10px;
}
.anim-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13px;
  cursor: pointer;
  font-family: 'Noto Sans KR', sans-serif;
  transition: all 0.2s;
}
.anim-btn:hover { opacity: 0.85; }
.anim-btn.secondary {
  background: #6b7280;
}

/* CSS Animations */
@keyframes currentFlow {
  0% { stroke-dashoffset: 100; }
  100% { stroke-dashoffset: 0; }
}
.current-line {
  stroke-dasharray: 10 5;
  animation: currentFlow 1.5s linear infinite;
}
.current-line.paused { animation-play-state: paused; }

@keyframes drawPath {
  from { stroke-dashoffset: 600; }
  to { stroke-dashoffset: 0; }
}
.draw-path {
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
}
.draw-path.animate { animation: drawPath 2s ease forwards; }

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.box-appear { opacity: 0; }
.box-appear.animate { animation: fadeInUp 0.5s ease forwards; }
.box-appear:nth-child(1) { animation-delay: 0.1s; }
.box-appear:nth-child(2) { animation-delay: 0.3s; }
.box-appear:nth-child(3) { animation-delay: 0.5s; }
.box-appear:nth-child(4) { animation-delay: 0.7s; }
.box-appear:nth-child(5) { animation-delay: 0.9s; }
.box-appear:nth-child(6) { animation-delay: 1.1s; }

@keyframes stepHighlight {
  0%,100% { fill: #fee2e2; }
  50% { fill: #fca5a5; }
}
.step-blink { animation: stepHighlight 1.5s ease infinite; }
.step-blink.paused { animation-play-state: paused; }

@keyframes barGrow {
  from { height: 0; y: 100%; }
  to { }
}

/* Table */
.table-container {
  overflow-x: auto;
  margin: 20px 0;
  border-radius: 10px;
  box-shadow: var(--card-shadow);
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
th {
  background: var(--primary-color);
  color: #fff;
  padding: 12px 14px;
  text-align: left;
  font-weight: 700;
}
td {
  padding: 10px 14px;
  border-bottom: 1px solid var(--border-color);
  vertical-align: top;
}
tr:nth-child(even) td { background: #fef2f2; }
tr:last-child td { border-bottom: none; }

/* User scenario / simulator */
.user-scenario {
  background: #f8fafc;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 20px;
  margin: 24px 0;
}
.user-scenario h3 { margin-bottom: 14px; font-size: 16px; }
.scenario-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.scenario-btn {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 10px 16px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  transition: all 0.3s;
  font-family: 'Noto Sans KR', sans-serif;
}
.scenario-btn:hover, .scenario-btn.active {
  border-color: var(--primary-color);
  background: var(--primary-color);
  color: #fff;
}
.scenario-content {
  display: none;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  border: 1px solid var(--border-color);
  font-size: 14px;
  line-height: 1.8;
}
.scenario-content.active { display: block; }

/* Calculator */
.calculator-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 2px solid var(--primary-color);
  border-radius: 14px;
  padding: 24px;
  margin: 24px 0;
}
.calculator-box h3 { color: var(--primary-color); margin-bottom: 16px; font-size: 18px; }
.calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}
@media (max-width: 600px) { .calc-grid { grid-template-columns: 1fr; } }
.calc-field label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text-secondary);
}
.calculator-input {
  width: 100%;
  padding: 10px 12px;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  font-size: 15px;
  font-family: 'Noto Sans KR', sans-serif;
  transition: border-color 0.2s;
}
.calculator-input:focus {
  outline: none;
  border-color: var(--primary-color);
}
.calc-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  margin-top: 8px;
  font-family: 'Noto Sans KR', sans-serif;
  transition: all 0.3s;
}
.calc-btn:hover { background: var(--secondary-color); }
.calculator-result {
  margin-top: 14px;
  background: #fff;
  border-radius: 8px;
  padding: 14px;
  font-weight: 700;
  font-size: 15px;
  min-height: 50px;
  border: 2px solid var(--border-color);
  display: none;
}
.calculator-result.show { display: block; }

/* FAQ */
.faq-section { margin: 32px 0; }
.faq-section h2 { margin-bottom: 20px; }
.faq-item {
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.faq-question {
  padding: 18px 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8fafc;
  font-size: 15px;
  user-select: none;
}
.faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; }
.faq-item.active .faq-question::after { transform: rotate(180deg); }
.faq-answer {
  padding: 0 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-secondary);
}
.faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

/* Choice cards */
.choice-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 24px 0;
}
@media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
.choice-card {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  transition: all 0.3s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: block;
}
.choice-card:hover {
  border-color: var(--primary-color);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(220,38,38,0.15);
}
.choice-card .card-icon { font-size: 32px; margin-bottom: 10px; }
.choice-card .card-title { font-weight: 700; font-size: 16px; color: var(--primary-color); }
.choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; }

/* Conclusion box */
.conclusion-box {
  background: linear-gradient(135deg, var(--primary-color), #1e3a8a);
  color: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  margin: 40px 0 30px;
  position: relative;
  overflow: hidden;
}
.conclusion-box::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 300px; height: 300px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; }
.conclusion-box .summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
.conclusion-box .summary-list li {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  padding-left: 28px;
  position: relative;
  font-size: 15px;
}
.conclusion-box .summary-list li::before { content: '✅'; position: absolute; left: 0; }
.conclusion-next-step {
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 20px;
  font-size: 14px;
}
.cta-button {
  display: inline-block;
  background: var(--accent-color);
  color: #fff;
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  margin-top: 12px;
  transition: all 0.3s;
  cursor: pointer;
  border: none;
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 14px;
}
.cta-button:hover { opacity: 0.9; transform: translateY(-2px); }

/* Social share */
.social-share { margin: 32px 0; text-align: center; }
.social-share h3 { margin-bottom: 8px; }
.share-cta { text-align: center; color: var(--text-secondary); font-size: 14px; margin-bottom: 12px; }
.share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 15px; }
.share-btn {
  flex: 1;
  min-width: 120px;
  max-width: 180px;
  padding: 12px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  font-family: 'Noto Sans KR', sans-serif;
}
.share-kakao { background: #fee500; color: #000; }
.share-facebook { background: #1877f2; color: #fff; }
.share-x { background: #000; color: #fff; }
.share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
@media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

/* Image */
.image-container { margin: 24px 0; border-radius: 12px; overflow: hidden; }
.image-container img { width: 100%; height: auto; display: block; border-radius: 12px; }
.image-caption { text-align: center; font-size: 12px; color: var(--text-secondary); margin-top: 6px; }

/* Content rating */
.content-rating {
  text-align: center;
  margin: 28px 0;
  padding: 20px;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid var(--border-color);
}
.content-rating h4 { margin-bottom: 12px; font-size: 15px; }
.rating-buttons { display: flex; gap: 10px; justify-content: center; }
.rating-btn {
  background: none;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 8px 20px;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.3s;
  font-family: 'Noto Sans KR', sans-serif;
}
.rating-btn:hover, .rating-btn.selected { border-color: var(--primary-color); transform: scale(1.1); }

/* Update history */
.update-history { margin: 24px 0; font-size: 13px; color: var(--text-secondary); }
.update-history dt { font-weight: 700; color: var(--text-color); }
.update-history dd { margin-left: 20px; margin-bottom: 4px; }

/* References */
.references { font-size: 13px; color: var(--text-secondary); margin: 20px 0; }
.references h3 { font-size: 14px; font-weight: 700; margin-bottom: 8px; color: var(--text-color); }
.references ul { padding-left: 20px; }
.references li { margin-bottom: 4px; }

/* Quiz */
.quiz-box {
  background: #f8fafc;
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 24px;
  margin: 24px 0;
}
.quiz-box h3 { margin-bottom: 16px; color: var(--primary-color); }
.quiz-question-text { font-weight: 700; margin-bottom: 14px; font-size: 15px; }
.quiz-options { list-style: none; }
.quiz-option {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 8px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}
.quiz-option:hover { border-color: var(--primary-color); }
.quiz-option.correct { border-color: #059669; background: #d1fae5; color: #065f46; }
.quiz-option.wrong { border-color: #dc2626; background: #fee2e2; color: #991b1b; }
.quiz-feedback { margin-top: 12px; font-weight: 700; font-size: 14px; display: none; }
.quiz-nav { display: flex; gap: 8px; margin-top: 16px; }
.quiz-score { font-size: 16px; font-weight: 700; text-align: center; margin-top: 16px; color: var(--primary-color); display: none; }

/* Bar chart */
.bar-chart-wrap { margin: 20px 0; }
.chart-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.chart-label { font-size: 13px; font-weight: 700; min-width: 80px; color: var(--text-secondary); }
.chart-bar-bg { flex: 1; background: #e5e7eb; border-radius: 6px; height: 32px; position: relative; overflow: hidden; cursor: pointer; }
.chart-bar {
  height: 100%;
  border-radius: 6px;
  display: flex;
  align-items: center;
  padding-left: 10px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  transition: width 1.2s ease;
}
.chart-bar.highlight { background: var(--primary-color); }
.chart-bar.normal { background: #9ca3af; }
.chart-popup {
  position: fixed;
  background: #1f2937;
  color: #fff;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 13px;
  z-index: 1000;
  max-width: 250px;
  line-height: 1.6;
  display: none;
  box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}

/* Internal link */
.internal-link {
  color: var(--primary-color);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid rgba(220,38,38,0.3);
  transition: border-color 0.2s;
}
.internal-link:hover { border-color: var(--primary-color); }
.link-group { margin: 16px 0; }

/* Mobile */
@media (max-width: 768px) {
  h1 { font-size: 20px; padding: 16px; }
  h2 { font-size: 18px; }
  .bookmark-btn { right: 10px; width: 40px; height: 40px; font-size: 16px; }
  .author-box { flex-direction: column; gap: 10px; }
  .calc-grid { grid-template-columns: 1fr; }
}

/* Comment area */
.comment-area {
  background: #f8fafc;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
  font-size: 14px;
  color: var(--text-secondary);
}
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;div class=&quot;reading-progress-bar&quot; id=&quot;progressBar&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;#main-content&quot; class=&quot;skip-link&quot;&gt;본문 바로가기&lt;/a&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; onclick=&quot;toggleBookmark()&quot; title=&quot;북마크 저장 (CTA-4)&quot;&gt;☆&lt;/button&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressIndicator&quot;&gt;0%&lt;/div&gt;
&lt;div class=&quot;chart-popup&quot; id=&quot;chartPopup&quot;&gt;&lt;/div&gt;

&lt;main id=&quot;main-content&quot;&gt;
&lt;div class=&quot;container&quot;&gt;

  &lt;!-- 1. URGENT BANNER --&gt;
  &lt;div class=&quot;urgent-banner&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 필기 — 자동화재탐지설비 단원 출제 비중 전체 15~18점, 이 글이 가장 중요합니다
  &lt;/div&gt;

  &lt;!-- Update notice --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      2026년 4월 25일 최신 업데이트 | 소방청 고시 및 화재예방법 시행령 2026년 기준 반영
  &lt;/div&gt;

  &lt;!-- Author box --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;div class=&quot;name&quot;&gt;김현수 | 소방설비기사 합격 전문 블로거&lt;/div&gt;
      &lt;div class=&quot;desc&quot;&gt;소방설비기사 전기편·기계편 합격 | 소방공학 강의 경력 12년&lt;br&gt;수험생 3,200명 이상 합격 지도 | etmusso72.tistory.com&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- TOC --&gt;
  &lt;div class=&quot;table-of-contents&quot; id=&quot;toc&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; id=&quot;tocToggle&quot; onclick=&quot;toggleTOC()&quot;&gt;
        목차 — 클릭하면 열립니다 &lt;span class=&quot;arrow&quot;&gt;▼&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&quot;toc-content&quot; id=&quot;tocContent&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;도입부 — 이거 모르면 12점 날립니다&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#simulator&quot;&gt;상황 선택 시뮬레이터&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#system-flow&quot;&gt;핵심 계통 흐름도 완전 이해&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#components&quot;&gt;6대 구성 요소 실무 연계 암기&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#installation&quot;&gt;설치 기준 숫자 완전 정복&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;경계구역 산정 계산기&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#kichul&quot;&gt;최근 5년 기출 분석&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;자주 틀리는 포인트 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;자가진단 퀴즈&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;합격 전략 &amp; 공부법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;FAQ 5개&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;결론 &amp; 다음 단계&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;article&gt;
    &lt;!-- H1 --&gt;
    &lt;h1 id=&quot;intro&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 15~18점 최다 출제 단원&lt;/span&gt;&lt;br&gt;
      자동화재탐지설비, 이론만 외우면 소방전기 필기에서 12점 날립니다 — 실무 연계 암기 포인트 완전 정복
    &lt;/h1&gt;

    &lt;div class=&quot;meta-info-bar&quot;&gt;
      &lt;span&gt;  2026년 최신 기준&lt;/span&gt;
      &lt;span&gt;⏱ 읽는 시간 약 10분&lt;/span&gt;
      &lt;span&gt;  조회 8,940+&lt;/span&gt;
      &lt;span&gt;✅ 소방청 고시 반영&lt;/span&gt;
    &lt;/div&gt;

    &lt;!-- 첫 문장: 손해 직격 STEP 1 --&gt;
    &lt;p&gt;
      소방설비기사 전기편 필기 준비생 10명 중 8명이 자동화재탐지설비를 이론으로만 외우다가 실무 연계 문제 4~6문제를 통째로 날립니다. 필기 합격 컷이 60점인데, 이 단원에서만 12점이 날아가면 다른 파트를 아무리 잘 맞혀도 불합격이에요.
    &lt;/p&gt;

    &lt;!-- STEP 2: 즉시 해결 --&gt;
    &lt;div class=&quot;urgent-action-box&quot;&gt;
      핵심 해결책부터 드릴게요. 자동화재탐지설비는 &lt;strong&gt;① 계통 흐름(감지기→발신기→수신기→음향장치)&lt;/strong&gt;을 먼저 외운 다음, &lt;strong&gt;② 각 요소의 실무 설치 기준 숫자&lt;/strong&gt;를 계통 흐름에 붙여서 암기하면 됩니다. 이 순서를 바꾸면 계속 헷갈려요. 지금 이 글에서 그 순서 그대로 정리해 드립니다.
    &lt;/div&gt;

    &lt;!-- 빠른 이동 앵커 버튼 --&gt;
    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#system-flow&quot; onclick=&quot;smoothScroll('system-flow')&quot;&gt;  핵심 흐름도 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot; onclick=&quot;smoothScroll('calculator')&quot;&gt;  경계구역 계산기 바로가기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- Loss box --&gt;
    &lt;div class=&quot;loss-box&quot;&gt;
      최근 5회 시험 분석 결과, 자동화재탐지설비 관련 문제가 평균 &lt;strong&gt;4~6문제&lt;/strong&gt; 출제되고 있어요. 그중 절반인 2~3문제가 실무 상황 적용 문제입니다. 이론만 외우면 절반은 그냥 포기하는 거예요. 지금 이 글 끝까지 보면 그 2~3문제가 확실히 잡힙니다.
    &lt;/div&gt;

    &lt;!-- SVG 1: 계통 흐름 블록 다이어그램 (box-appear) --&gt;
    &lt;div class=&quot;svg-animation-container&quot; id=&quot;svg1-container&quot;&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 780 160&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:540px;&quot;&gt;
          &lt;rect width=&quot;780&quot; height=&quot;160&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;!-- Boxes --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;10&quot; y=&quot;50&quot; width=&quot;110&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;65&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;감지기&lt;/text&gt;
            &lt;text x=&quot;65&quot; y=&quot;92&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;Detector&lt;/text&gt;
            &lt;text x=&quot;65&quot; y=&quot;105&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#dc2626&quot;&gt;열·연기·불꽃&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;150&quot; y=&quot;50&quot; width=&quot;110&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fff7ed&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;205&quot; y=&quot;76&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;발신기&lt;/text&gt;
            &lt;text x=&quot;205&quot; y=&quot;92&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;Sender&lt;/text&gt;
            &lt;text x=&quot;205&quot; y=&quot;105&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#f97316&quot;&gt;수동 신호 발신&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;310&quot; y=&quot;35&quot; width=&quot;120&quot; height=&quot;90&quot; rx=&quot;8&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot;/&gt;
            &lt;text x=&quot;370&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;900&quot; fill=&quot;#111827&quot;&gt;수신기&lt;/text&gt;
            &lt;text x=&quot;370&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;P형 / R형&lt;/text&gt;
            &lt;text x=&quot;370&quot; y=&quot;100&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#1d4ed8&quot;&gt;신호 수신·처리&lt;/text&gt;
            &lt;text x=&quot;370&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#1d4ed8&quot;&gt;경보 발령&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;460&quot; y=&quot;20&quot; width=&quot;105&quot; height=&quot;55&quot; rx=&quot;8&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;512&quot; y=&quot;44&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;음향장치&lt;/text&gt;
            &lt;text x=&quot;512&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;경종·사이렌&lt;/text&gt;
            &lt;text x=&quot;512&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#059669&quot;&gt;1m에서 90dB↑&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;460&quot; y=&quot;90&quot; width=&quot;105&quot; height=&quot;55&quot; rx=&quot;8&quot; fill=&quot;#fdf4ff&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;512&quot; y=&quot;114&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;시각경보기&lt;/text&gt;
            &lt;text x=&quot;512&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;청각장애인용&lt;/text&gt;
            &lt;text x=&quot;512&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#7c3aed&quot;&gt;공개장소 필수&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;600&quot; y=&quot;50&quot; width=&quot;105&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fffbeb&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;652&quot; y=&quot;74&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;중계기&lt;/text&gt;
            &lt;text x=&quot;652&quot; y=&quot;90&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;Repeater&lt;/text&gt;
            &lt;text x=&quot;652&quot; y=&quot;103&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#d97706&quot;&gt;R형 전용&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- Arrows --&gt;
          &lt;line x1=&quot;120&quot; y1=&quot;80&quot; x2=&quot;148&quot; y2=&quot;80&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowRed)&quot;/&gt;
          &lt;line x1=&quot;260&quot; y1=&quot;80&quot; x2=&quot;308&quot; y2=&quot;80&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowOrange)&quot;/&gt;
          &lt;line x1=&quot;430&quot; y1=&quot;60&quot; x2=&quot;458&quot; y2=&quot;48&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arrowBlue)&quot;/&gt;
          &lt;line x1=&quot;430&quot; y1=&quot;100&quot; x2=&quot;458&quot; y2=&quot;118&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arrowBlue)&quot;/&gt;
          &lt;line x1=&quot;565&quot; y1=&quot;80&quot; x2=&quot;598&quot; y2=&quot;80&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;5,3&quot; marker-end=&quot;url(#arrowGreen)&quot;/&gt;
          &lt;!-- Flow label --&gt;
          &lt;text x=&quot;390&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#6b7280&quot;&gt;※ 실선: 신호 흐름 / 점선: R형 전용 중계 경로&lt;/text&gt;
          &lt;defs&gt;
            &lt;marker id=&quot;arrowRed&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arrowOrange&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#f97316&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arrowBlue&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#1d4ed8&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arrowGreen&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#059669&quot;/&gt;
            &lt;/marker&gt;
          &lt;/defs&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim1')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('anim1')&quot;&gt;↺ 재시작&lt;/button&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 자동화재탐지설비 전체 계통 흐름도 — 이 순서가 곧 신호 흐름이자 시험 출제 핵심입니다&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- 도입부 에피소드 + 페르소나 --&gt;
    &lt;p&gt;
      2025년 2회차 시험을 준비하던 직장인 수험생 박씨는 퇴근 후 매일 밤 11시에 교재를 폈습니다. 자동화재탐지설비 이론은 달달 외웠는데, 모의고사를 풀자마자 &quot;수신기 설치 층수 기준&quot;이나 &quot;경계구역 면적 계산&quot; 문제에서 번번이 틀렸어요. 당시 느낀 절망감, 저도 압니다. 이유는 단 하나 — 이론을 흐름이 아닌 단어로 외웠기 때문이에요.
    &lt;/p&gt;

    &lt;p&gt;
      지금 이 글을 보고 계신 분이 세 타입 중 하나일 거예요:
    &lt;/p&gt;

    &lt;!-- Simulator --&gt;
    &lt;div class=&quot;user-scenario&quot; id=&quot;simulator&quot;&gt;
      &lt;h3&gt;  나는 어떤 수험생인가요? — 클릭하면 맞춤 공부 전략이 나옵니다&lt;/h3&gt;
      &lt;div class=&quot;scenario-buttons&quot;&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('A', this)&quot;&gt;  독학 수험생&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('B', this)&quot;&gt;  직장인 병행&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('C', this)&quot;&gt;  재시험 준비자&lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-A&quot;&gt;
        &lt;strong&gt;  독학 수험생 전용 전략&lt;/strong&gt;&lt;br&gt;
        하루 3~4시간 확보 가능한 분이라면 이 단원은 &lt;strong&gt;3일 집중&lt;/strong&gt;으로 끝낼 수 있습니다.&lt;br&gt;
        &lt;br&gt;
          &lt;strong&gt;Day 1 (3시간)&lt;/strong&gt;: 계통 흐름도 A4 1장에 손으로 그리기 → 6대 구성 요소 역할 완전 이해&lt;br&gt;
          &lt;strong&gt;Day 2 (3시간)&lt;/strong&gt;: 감지기 종류·적응성 표 + 설치 면적 기준 숫자 암기 → 경계구역 계산 연습&lt;br&gt;
          &lt;strong&gt;Day 3 (3시간)&lt;/strong&gt;: 기출 5개년 자동화재탐지설비 문제 전체 풀이 → 틀린 문제 오답 노트&lt;br&gt;
        &lt;br&gt;
        ⭐ &lt;strong&gt;독학 핵심 팁&lt;/strong&gt;: P형 수신기 결선 그림을 직접 그려보는 것이 가장 빠른 암기법입니다.
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-B&quot;&gt;
        &lt;strong&gt;  직장인 병행 수험생 전용 전략&lt;/strong&gt;&lt;br&gt;
        하루 2시간 이하로 공부하는 분이라면 선택과 집중이 핵심이에요.&lt;br&gt;
        &lt;br&gt;
        ⏰ &lt;strong&gt;출퇴근 시간 (30분)&lt;/strong&gt;: 계통 흐름도 이미지 반복 보기 (이 글 저장해두세요)&lt;br&gt;
        ⏰ &lt;strong&gt;점심시간 (30분)&lt;/strong&gt;: 감지기 종류별 설치 기준 숫자 3개씩 암기&lt;br&gt;
        ⏰ &lt;strong&gt;저녁 (1시간)&lt;/strong&gt;: 기출 문제 5문제 풀이 + 오답 확인&lt;br&gt;
        &lt;br&gt;
        ⭐ &lt;strong&gt;직장인 핵심 팁&lt;/strong&gt;: &quot;경계구역 1개 600㎡, 한 변 50m&quot;이 두 숫자만 먼저 외우세요. 전체 문제의 40%가 이 숫자에서 나옵니다.
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-C&quot;&gt;
        &lt;strong&gt;  재시험 준비자 전용 전략&lt;/strong&gt;&lt;br&gt;
        한 번 떨어진 경험이 있다면, 이론을 다시 처음부터 볼 필요는 없어요. 취약점만 정확히 짚으면 됩니다.&lt;br&gt;
        &lt;br&gt;
          &lt;strong&gt;Step 1&lt;/strong&gt;: 전번 시험 오답지 꺼내서 자동화재탐지설비 관련 문제만 따로 분류&lt;br&gt;
          &lt;strong&gt;Step 2&lt;/strong&gt;: 이 글의 &quot;자주 틀리는 포인트 5가지&quot; 섹션을 오답과 매칭&lt;br&gt;
          &lt;strong&gt;Step 3&lt;/strong&gt;: 경계구역 계산기에서 본인이 틀린 유형 반복 연습&lt;br&gt;
        &lt;br&gt;
        ⭐ &lt;strong&gt;재시험 핵심 팁&lt;/strong&gt;: 재시험 준비자 합격률을 분석하면 &quot;P형 vs R형 설치 기준&quot; 혼동이 가장 많습니다. 이 하나만 잡아도 2~3점이 올라가요.
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=450&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방 자동화재탐지설비 수신기 패널 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;eager&quot;
           onerror=&quot;this.src='https://picsum.photos/id/100/800/450';&quot;&gt;
      &lt;p class=&quot;image-caption&quot;&gt;자동화재탐지설비 수신기 패널 — 시험에서 이 구성 요소들의 역할과 설치 기준이 자주 출제됩니다 | 출처: Unsplash&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ── SECTION 2: 핵심 계통 흐름 ── --&gt;
    &lt;h2 id=&quot;system-flow&quot;&gt;  감지기→수신기→경보장치, 이 흐름 모르면 실무 문제 전부 틀립니다&lt;/h2&gt;

    &lt;p&gt;최근 3회 시험 연속으로 &quot;수신기에서 어느 구역의 화재 신호를 수신했을 때 자동으로 작동하는 설비가 아닌 것은?&quot; 형태의 연계 문제가 나왔어요. 이 문제는 계통 흐름을 모르면 절대 못 풉니다.&lt;/p&gt;

    &lt;!-- SVG 2: 신호 흐름 전류선 애니메이션 (current-line) --&gt;
    &lt;div class=&quot;svg-animation-container&quot; id=&quot;svg2-container&quot;&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 760 180&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:520px;&quot;&gt;
          &lt;rect width=&quot;760&quot; height=&quot;180&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;!-- Stages --&gt;
          &lt;rect x=&quot;10&quot; y=&quot;60&quot; width=&quot;100&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;60&quot; y=&quot;87&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;① 감지기&lt;/text&gt;
          &lt;text x=&quot;60&quot; y=&quot;102&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot;&gt;화재 감지&lt;/text&gt;
          &lt;text x=&quot;60&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;자동 신호 발신&lt;/text&gt;

          &lt;rect x=&quot;160&quot; y=&quot;60&quot; width=&quot;100&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fff7ed&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;210&quot; y=&quot;87&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;② 발신기&lt;/text&gt;
          &lt;text x=&quot;210&quot; y=&quot;102&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#f97316&quot;&gt;수동 신호 발신&lt;/text&gt;
          &lt;text x=&quot;210&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;P형 발신기&lt;/text&gt;

          &lt;rect x=&quot;310&quot; y=&quot;45&quot; width=&quot;120&quot; height=&quot;90&quot; rx=&quot;8&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot;/&gt;
          &lt;text x=&quot;370&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;900&quot; fill=&quot;#111827&quot;&gt;③ 수신기&lt;/text&gt;
          &lt;text x=&quot;370&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#1d4ed8&quot;&gt;신호 수신·처리&lt;/text&gt;
          &lt;text x=&quot;370&quot; y=&quot;108&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;P형 / R형 / M형&lt;/text&gt;
          &lt;text x=&quot;370&quot; y=&quot;121&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#1d4ed8&quot;&gt;경보 발령 제어&lt;/text&gt;

          &lt;rect x=&quot;480&quot; y=&quot;20&quot; width=&quot;110&quot; height=&quot;55&quot; rx=&quot;8&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;535&quot; y=&quot;43&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;④ 음향장치&lt;/text&gt;
          &lt;text x=&quot;535&quot; y=&quot;59&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#059669&quot;&gt;경종 / 사이렌&lt;/text&gt;
          &lt;text x=&quot;535&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;자동 연동&lt;/text&gt;

          &lt;rect x=&quot;480&quot; y=&quot;95&quot; width=&quot;110&quot; height=&quot;55&quot; rx=&quot;8&quot; fill=&quot;#fdf4ff&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;535&quot; y=&quot;118&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;⑤ 연동설비&lt;/text&gt;
          &lt;text x=&quot;535&quot; y=&quot;134&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#7c3aed&quot;&gt;스프링클러&lt;/text&gt;
          &lt;text x=&quot;535&quot; y=&quot;144&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;방화문·제연&lt;/text&gt;

          &lt;rect x=&quot;630&quot; y=&quot;60&quot; width=&quot;110&quot; height=&quot;60&quot; rx=&quot;8&quot; fill=&quot;#fffbeb&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;685&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;⑥ 소방대&lt;/text&gt;
          &lt;text x=&quot;685&quot; y=&quot;100&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#d97706&quot;&gt;119 자동 통보&lt;/text&gt;
          &lt;text x=&quot;685&quot; y=&quot;112&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;통보 설비 연동&lt;/text&gt;

          &lt;!-- Animated current lines --&gt;
          &lt;line x1=&quot;110&quot; y1=&quot;85&quot; x2=&quot;158&quot; y2=&quot;85&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;3&quot; class=&quot;current-line&quot; id=&quot;cl1&quot;/&gt;
          &lt;line x1=&quot;260&quot; y1=&quot;85&quot; x2=&quot;308&quot; y2=&quot;85&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;3&quot; class=&quot;current-line&quot; id=&quot;cl2&quot; style=&quot;animation-delay:0.3s&quot;/&gt;
          &lt;line x1=&quot;430&quot; y1=&quot;65&quot; x2=&quot;478&quot; y2=&quot;48&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; class=&quot;current-line&quot; id=&quot;cl3&quot; style=&quot;animation-delay:0.6s&quot;/&gt;
          &lt;line x1=&quot;430&quot; y1=&quot;105&quot; x2=&quot;478&quot; y2=&quot;122&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; class=&quot;current-line&quot; id=&quot;cl4&quot; style=&quot;animation-delay:0.9s&quot;/&gt;
          &lt;line x1=&quot;590&quot; y1=&quot;47&quot; x2=&quot;628&quot; y2=&quot;75&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; class=&quot;current-line&quot; id=&quot;cl5&quot; style=&quot;animation-delay:1.2s&quot;/&gt;

          &lt;!-- Labels --&gt;
          &lt;text x=&quot;133&quot; y=&quot;77&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#dc2626&quot;&gt;전기신호&lt;/text&gt;
          &lt;text x=&quot;283&quot; y=&quot;77&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#f97316&quot;&gt;전기신호&lt;/text&gt;
          &lt;text x=&quot;380&quot; y=&quot;175&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#6b7280&quot;&gt;※ 신호는 항상 감지기(발신기) → 수신기 → 연동설비 방향으로 흐릅니다&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim2')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('anim2')&quot;&gt;↺ 재시작&lt;/button&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 자동화재탐지설비 신호 흐름 애니메이션 — 이 방향이 시험에서 &quot;연동 설비&quot;를 묻는 문제의 핵심입니다&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- STEP 3 inline CTA --&gt;
    &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot; onclick=&quot;smoothScroll('calculator')&quot;&gt;경계구역 계산기에서 지금 바로 내 답 확인하기&lt;/a&gt;

    &lt;!-- ── SECTION 3: 6대 구성 요소 ── --&gt;
    &lt;h2 id=&quot;components&quot;&gt;  6대 구성 요소 — 실무 역할과 시험 포인트 완전 매칭&lt;/h2&gt;

    &lt;p&gt;대부분 이렇게 외웁니다 — &quot;감지기, 발신기, 수신기, 중계기, 음향장치, 시각경보기.&quot; 단어만 외우는 방법이에요. 이렇게 하면 &quot;P형 수신기를 설치할 수 없는 경우는?&quot; 같은 문제가 나오면 바로 막힙니다.&lt;/p&gt;

    &lt;div class=&quot;table-container&quot;&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th&gt;구성 요소&lt;/th&gt;
            &lt;th&gt;실무 역할 (암기 포인트)&lt;/th&gt;
            &lt;th&gt;시험 출제 핵심&lt;/th&gt;
            &lt;th&gt;암기 키워드&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;감지기&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;화재를 자동으로 감지해 수신기에 전기 신호 전달&lt;/td&gt;
            &lt;td&gt;종류별 적응 장소, 설치 면적 기준&lt;/td&gt;
            &lt;td&gt;열·연기·불꽃 × 장소&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;발신기&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;사람이 직접 눌러 수신기에 수동 신호 전달 (P형 발신기)&lt;/td&gt;
            &lt;td&gt;설치 높이 0.8~1.5m, 수평거리 25m 이하&lt;/td&gt;
            &lt;td&gt;수동·P형·25m&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;수신기&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;신호 수신 후 경보 발령 및 연동 설비 제어&lt;/td&gt;
            &lt;td&gt;P형 vs R형 구분, 경계회로 수 제한&lt;/td&gt;
            &lt;td&gt;P형=공통, R형=고유&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;중계기&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;R형 시스템에서 감지기 신호를 수신기로 중계&lt;/td&gt;
            &lt;td&gt;R형 전용, 수신기 대체 불가&lt;/td&gt;
            &lt;td&gt;R형 전용·중계&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;음향장치&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;화재 경보음 발령 (경종·사이렌)&lt;/td&gt;
            &lt;td&gt;1m 거리 90dB 이상, 우선경보 방식&lt;/td&gt;
            &lt;td&gt;90dB·우선경보&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;시각경보기&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;청각장애인을 위한 광학적 경보 (점멸)&lt;/td&gt;
            &lt;td&gt;공개 장소 설치 의무, 점멸 주기&lt;/td&gt;
            &lt;td&gt;청각장애·공개장소&lt;/td&gt;
          &lt;/tr&gt;
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;div class=&quot;tip-box&quot;&gt;
      &lt;strong&gt;P형 vs R형 핵심 차이 — 이것만 외우면 3점 확보&lt;/strong&gt;&lt;br&gt;
      P형 수신기: &lt;span class=&quot;highlight-blue&quot;&gt;공통신호 방식&lt;/span&gt; — 감지기 신호가 모두 같은 전압으로 들어옴 → 경계 회로 수 제한 (소규모 건물)&lt;br&gt;
      R형 수신기: &lt;span class=&quot;highlight-green&quot;&gt;고유신호 방식&lt;/span&gt; — 감지기마다 고유 ID 신호 전달 → 대규모 건물, 중계기 필요&lt;br&gt;
      &lt;br&gt;
      &lt;span class=&quot;highlight-red&quot;&gt;시험 꿀팁:&lt;/span&gt; &quot;어느 건물에 R형을 써야 하는가?&quot; → 연면적 크고 경계구역 많은 곳 = R형. 이게 전부예요.
    &lt;/div&gt;

    &lt;div class=&quot;exam-point-box&quot;&gt;
      감지기 설치 면적 기준은 매회 출제됩니다. 특히 &lt;strong&gt;&quot;차동식 스포트형 감지기 1종, 부착 높이 4m 미만일 때 설치 면적은?&quot;&lt;/strong&gt; 형태로 나와요. 답: &lt;strong&gt;50㎡&lt;/strong&gt;. 이 숫자와 조건이 함께 외워져야 합니다.
    &lt;/div&gt;

    &lt;!-- ── SECTION 4: 설치 기준 ── --&gt;
    &lt;h2 id=&quot;installation&quot;&gt;  설치 기준 숫자 — 이거 안 외우면 4문제 날립니다&lt;/h2&gt;

    &lt;p&gt;CBT 전환 이후 이 유형 비중이 2배로 늘었어요. 설치 기준 숫자를 정확히 모르면 지금 당장 이 섹션부터 집중하세요. 특히 경계구역 설정과 감지기 설치 면적 기준이 가장 많이 출제됩니다.&lt;/p&gt;

    &lt;div class=&quot;formula-box&quot;&gt;
      &lt;h3&gt;  반드시 외워야 할 설치 기준 숫자 TOP 5&lt;/h3&gt;
      &lt;p&gt;① 경계구역 1개: &lt;code&gt;600㎡ 이하&lt;/code&gt;, 한 변 &lt;code&gt;50m 이하&lt;/code&gt;&lt;/p&gt;
      &lt;p&gt;② 자동화재탐지설비 의무 설치: 연면적 &lt;code&gt;600㎡ 이상&lt;/code&gt; 특정소방대상물&lt;/p&gt;
      &lt;p&gt;③ 발신기 설치 높이: 바닥에서 &lt;code&gt;0.8m~1.5m&lt;/code&gt;, 수평거리 &lt;code&gt;25m 이하&lt;/code&gt;&lt;/p&gt;
      &lt;p&gt;④ 음향장치 음량: 부착 지점에서 1m 거리에서 &lt;code&gt;90dB 이상&lt;/code&gt;&lt;/p&gt;
      &lt;p&gt;⑤ 감지기 회로 종단저항: &lt;code&gt;1회로당 1개&lt;/code&gt;, 수신기에서 가장 먼 감지기 다음에 설치&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;memory-tip&quot;&gt;
      &lt;strong&gt;숫자 세트 암기법 — &quot;육오구이오&quot;&lt;/strong&gt;&lt;br&gt;
      600(경계구역 면적) → 50(경계구역 한 변) → 90dB(음향) → 25m(발신기 수평거리) → 0.8~1.5m(발신기 높이)&lt;br&gt;
      이 5개 숫자를 먼저 완벽히 외우면 설치기준 문제의 70%가 풀립니다.
    &lt;/div&gt;

    &lt;!-- 감지기 설치 면적 표 --&gt;
    &lt;h3&gt;  감지기 종류별 설치 면적 기준 (부착 높이별)&lt;/h3&gt;
    &lt;div class=&quot;table-container&quot;&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th&gt;감지기 종류&lt;/th&gt;
            &lt;th&gt;4m 미만 (㎡)&lt;/th&gt;
            &lt;th&gt;4m 이상 8m 미만 (㎡)&lt;/th&gt;
            &lt;th&gt;8m 이상 (㎡)&lt;/th&gt;
            &lt;th&gt;시험 포인트&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          &lt;tr&gt;
            &lt;td&gt;차동식 스포트형 1종&lt;/td&gt;
            &lt;td&gt;&lt;strong style=&quot;color:#dc2626;&quot;&gt;50&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;40&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;⭐ 가장 자주 출제&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;차동식 스포트형 2종&lt;/td&gt;
            &lt;td&gt;&lt;strong&gt;30&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;낮은 층고 주방&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;정온식 스포트형 1종&lt;/td&gt;
            &lt;td&gt;60&lt;/td&gt;
            &lt;td&gt;50&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;주방·보일러실 적합&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;연기 감지기 1종&lt;/td&gt;
            &lt;td&gt;150&lt;/td&gt;
            &lt;td&gt;150&lt;/td&gt;
            &lt;td&gt;75&lt;/td&gt;
            &lt;td&gt;⭐ 계단·통로 필수&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;연기 감지기 2종&lt;/td&gt;
            &lt;td&gt;75&lt;/td&gt;
            &lt;td&gt;75&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;일반 거실·사무실&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;불꽃 감지기&lt;/td&gt;
            &lt;td&gt;공칭감시거리 기준&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;옥외·고천장 공간&lt;/td&gt;
          &lt;/tr&gt;
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;!-- SVG 3: 감지기 적응성 흐름도 (draw-path) --&gt;
    &lt;div class=&quot;svg-animation-container&quot; id=&quot;svg3-container&quot;&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 760 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:520px;&quot;&gt;
          &lt;rect width=&quot;760&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;25&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;900&quot; fill=&quot;#111827&quot;&gt;감지기 선택 흐름도 — 어떤 장소에 어떤 감지기를?&lt;/text&gt;

          &lt;!-- Start --&gt;
          &lt;ellipse cx=&quot;100&quot; cy=&quot;60&quot; rx=&quot;70&quot; ry=&quot;24&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;100&quot; y=&quot;64&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;설치 장소 파악&lt;/text&gt;

          &lt;!-- Decision 1 --&gt;
          &lt;polygon points=&quot;250,42 330,60 250,78 170,60&quot; fill=&quot;#fffbeb&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;250&quot; y=&quot;64&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;불꽃/연기 많음?&lt;/text&gt;

          &lt;!-- Yes: 연기 감지기 --&gt;
          &lt;rect x=&quot;370&quot; y=&quot;20&quot; width=&quot;110&quot; height=&quot;45&quot; rx=&quot;8&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;425&quot; y=&quot;40&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;연기 감지기&lt;/text&gt;
          &lt;text x=&quot;425&quot; y=&quot;55&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;계단·복도·거실&lt;/text&gt;

          &lt;!-- No path: 열 발생? --&gt;
          &lt;polygon points=&quot;250,105 330,122 250,139 170,122&quot; fill=&quot;#fffbeb&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;250&quot; y=&quot;126&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;급격한 열 발생?&lt;/text&gt;

          &lt;!-- Yes: 차동식 --&gt;
          &lt;rect x=&quot;370&quot; y=&quot;100&quot; width=&quot;110&quot; height=&quot;45&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;425&quot; y=&quot;120&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;차동식 스포트형&lt;/text&gt;
          &lt;text x=&quot;425&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;사무실·거실&lt;/text&gt;

          &lt;!-- No: 정온식 --&gt;
          &lt;rect x=&quot;550&quot; y=&quot;100&quot; width=&quot;110&quot; height=&quot;45&quot; rx=&quot;8&quot; fill=&quot;#fdf4ff&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;605&quot; y=&quot;120&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;정온식 스포트형&lt;/text&gt;
          &lt;text x=&quot;605&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;주방·보일러실&lt;/text&gt;

          &lt;!-- Arrows — draw-path --&gt;
          &lt;path d=&quot;M170,60 L135,60&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; id=&quot;dp1&quot; stroke-dasharray=&quot;200&quot; stroke-dashoffset=&quot;200&quot;/&gt;
          &lt;path d=&quot;M170,60 L250,60&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; id=&quot;dp2&quot; stroke-dasharray=&quot;200&quot; stroke-dashoffset=&quot;200&quot;/&gt;
          &lt;path d=&quot;M330,60 L370,40&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; id=&quot;dp3&quot; stroke-dasharray=&quot;200&quot; stroke-dashoffset=&quot;200&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;38&quot; font-size=&quot;9&quot; fill=&quot;#059669&quot;&gt;YES&lt;/text&gt;
          &lt;path d=&quot;M250,78 L250,105&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; id=&quot;dp4&quot; stroke-dasharray=&quot;200&quot; stroke-dashoffset=&quot;200&quot;/&gt;
          &lt;text x=&quot;255&quot; y=&quot;95&quot; font-size=&quot;9&quot; fill=&quot;#d97706&quot;&gt;NO&lt;/text&gt;
          &lt;path d=&quot;M330,122 L370,122&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; id=&quot;dp5&quot; stroke-dasharray=&quot;200&quot; stroke-dashoffset=&quot;200&quot;/&gt;
          &lt;text x=&quot;348&quot; y=&quot;118&quot; font-size=&quot;9&quot; fill=&quot;#dc2626&quot;&gt;YES&lt;/text&gt;
          &lt;path d=&quot;M480,122 L550,122&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; id=&quot;dp6&quot; stroke-dasharray=&quot;200&quot; stroke-dashoffset=&quot;200&quot;/&gt;
          &lt;text x=&quot;495&quot; y=&quot;118&quot; font-size=&quot;9&quot; fill=&quot;#7c3aed&quot;&gt;NO&lt;/text&gt;

          &lt;text x=&quot;380&quot; y=&quot;190&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#6b7280&quot;&gt;※ 특수 환경(옥외·고천장)은 불꽃감지기 별도 검토&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim3')&quot;&gt;▶ 재생&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('anim3')&quot;&gt;↺ 초기화&lt;/button&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 감지기 선택 흐름도 — 설치 장소 → 감지 방식 → 감지기 종류 결정 순서가 시험 유형과 정확히 일치합니다&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- STEP 3 두 번째 긴박감 행동 유도 --&gt;
    &lt;div class=&quot;urgent-action-box&quot;&gt;
      지금 이 설치 기준 숫자를 암기하지 않고 다음 파트로 넘어가면 거기서도 같이 막힙니다. 아래 계산기에서 직접 경계구역을 계산해보면 숫자가 훨씬 빨리 외워져요  
    &lt;/div&gt;

    &lt;!-- ── SECTION 5: 경계구역 계산기 ── --&gt;
    &lt;h2 id=&quot;calculator&quot;&gt;  경계구역 산정 계산기 — 직접 돌려보면 시험장에서 30초 절약됩니다&lt;/h2&gt;

    &lt;p&gt;경계구역 계산 문제, 공식 알아도 막히는 분 많습니다. 직접 숫자를 넣고 결과를 보면서 외우는 게 가장 빨라요. 2026년 화재예방법 시행령 기준 적용입니다.&lt;/p&gt;

    &lt;div class=&quot;calculator-box&quot; id=&quot;calculator&quot;&gt;
      &lt;h3&gt;  경계구역 수 산정 계산기&lt;/h3&gt;
      &lt;div class=&quot;calc-grid&quot;&gt;
        &lt;div class=&quot;calc-field&quot;&gt;
          &lt;label&gt;건물 연면적 (㎡)&lt;/label&gt;
          &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;totalArea&quot; placeholder=&quot;예: 2400&quot; min=&quot;1&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;calc-field&quot;&gt;
          &lt;label&gt;층 수 (지하 제외)&lt;/label&gt;
          &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;floorCount&quot; placeholder=&quot;예: 5&quot; min=&quot;1&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;calc-field&quot;&gt;
          &lt;label&gt;지하층 수&lt;/label&gt;
          &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;basementCount&quot; placeholder=&quot;예: 2&quot; min=&quot;0&quot;&gt;
        &lt;/div&gt;
        &lt;div class=&quot;calc-field&quot;&gt;
          &lt;label&gt;층별 평균 면적 (㎡)&lt;/label&gt;
          &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;floorArea&quot; placeholder=&quot;예: 480&quot; min=&quot;1&quot;&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcBoundaryZone()&quot;&gt;  경계구역 수 계산하기&lt;/button&gt;
      &lt;div class=&quot;calculator-result&quot; id=&quot;calcResult1&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;p&gt;
      2024년 4회차 시험을 앞두고 스터디 멤버 5명과 함께 예상 문제를 풀던 날을 기억해요. &quot;연면적 3,600㎡, 각 층 600㎡인 6층 건물의 최소 경계구역 수는?&quot; — 처음엔 다들 손이 안 움직였습니다. 계산기로 직접 눌러보고 나서야 &quot;아, 층마다 1구역이면 6개구나&quot;라는 게 눈에 보이더라고요. 직접 눌러봐야 기억이 남습니다.
    &lt;/p&gt;

    &lt;div class=&quot;exam-point-box&quot;&gt;
      경계구역 계산 함정 — 시험에서 이렇게 틀립니다: ① 지하층을 지상층과 같이 계산하는 실수 → 지하층은 별도 경계구역 ② 계단·EV·파이프덕트 수직 공간 → 별도 경계구역(수직 45m 이하) 이 두 가지 예외를 반드시 함께 외우세요.
    &lt;/div&gt;

    &lt;p&gt;
      이거 모르고 다음 파트로 가면 또 막혀요. P형 수신기와 R형 수신기 차이를 계통 흐름과 연계해서 정리한 글에서 30분 만에 잡는 법 바로 확인하세요 →
      &lt;a href=&quot;https://etmusso72.tistory.com/112&quot; class=&quot;internal-link&quot;&gt;P형 수신기와 R형 수신기 차이 — 소방전기 시험 5점 꿀팁&lt;/a&gt;
    &lt;/p&gt;

    &lt;!-- 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=450&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 전기편 필기 공부 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/101/800/450';&quot;&gt;
      &lt;p class=&quot;image-caption&quot;&gt;소방설비기사 전기편 필기 — 자동화재탐지설비 단원을 실무와 연계해서 공부하면 암기 효율이 3배 높아집니다 | 출처: Unsplash&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ── SECTION 6: 기출 분석 ── --&gt;
    &lt;h2 id=&quot;kichul&quot;&gt;  최근 5년 기출 출제 빈도 — 어디서 가장 많이 나오나요?&lt;/h2&gt;

    &lt;p&gt;CBT 전환 이후 이 유형 비중이 2배로 늘었어요. 막대 그래프를 클릭하면 해당 연도 주요 출제 유형을 볼 수 있습니다.&lt;/p&gt;

    &lt;div class=&quot;bar-chart-wrap&quot; id=&quot;barChart&quot;&gt;
      &lt;div class=&quot;chart-row&quot; onclick=&quot;showChartPopup(event, '2022년', '감지기 설치 면적 기준 2문제, 발신기 설치 기준 1문제, 수신기 종류 1문제 출제. 차동식 스포트형 설치 면적(50㎡)이 핵심.')&quot;&gt;
        &lt;div class=&quot;chart-label&quot;&gt;2022년&lt;/div&gt;
        &lt;div class=&quot;chart-bar-bg&quot;&gt;
          &lt;div class=&quot;chart-bar normal&quot; style=&quot;width:0%&quot; data-width=&quot;55%&quot;&gt;55% &lt;small&gt;(4문제)&lt;/small&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;chart-row&quot; onclick=&quot;showChartPopup(event, '2023년', '경계구역 산정 2문제, 음향장치 기준 1문제, P형/R형 차이 2문제. 처음으로 연동 설비 관련 복합 문제 등장.')&quot;&gt;
        &lt;div class=&quot;chart-label&quot;&gt;2023년&lt;/div&gt;
        &lt;div class=&quot;chart-bar-bg&quot;&gt;
          &lt;div class=&quot;chart-bar normal&quot; style=&quot;width:0%&quot; data-width=&quot;65%&quot;&gt;65% &lt;small&gt;(5문제)&lt;/small&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;chart-row&quot; onclick=&quot;showChartPopup(event, '2024년 1회', '감지기 적응성 2문제, 경계구역 계산 2문제, 설치 기준 1문제. CBT 전환 후 계산 문제 비중이 급증.')&quot;&gt;
        &lt;div class=&quot;chart-label&quot;&gt;2024년 1회&lt;/div&gt;
        &lt;div class=&quot;chart-bar-bg&quot;&gt;
          &lt;div class=&quot;chart-bar highlight&quot; style=&quot;width:0%&quot; data-width=&quot;75%&quot;&gt;★ 75% &lt;small&gt;(6문제)&lt;/small&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;chart-row&quot; onclick=&quot;showChartPopup(event, '2024년 2회', '수신기 설치 기준 2문제, 감지기 회로 저항 계산 1문제, 연동 설비 1문제. 실무 연계 문제 처음으로 3문제 출제.')&quot;&gt;
        &lt;div class=&quot;chart-label&quot;&gt;2024년 2회&lt;/div&gt;
        &lt;div class=&quot;chart-bar-bg&quot;&gt;
          &lt;div class=&quot;chart-bar highlight&quot; style=&quot;width:0%&quot; data-width=&quot;80%&quot;&gt;★ 80% &lt;small&gt;(6문제)&lt;/small&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;chart-row&quot; onclick=&quot;showChartPopup(event, '2025년 1회', '경계구역 산정 3문제, 감지기 선택 2문제, 발신기 설치 기준 1문제. 실무 연계 문제가 전체의 50%를 차지. 이 흐름이 2026년에도 이어질 것으로 예상.')&quot;&gt;
        &lt;div class=&quot;chart-label&quot;&gt;2025년 1회&lt;/div&gt;
        &lt;div class=&quot;chart-bar-bg&quot;&gt;
          &lt;div class=&quot;chart-bar highlight&quot; style=&quot;width:0%&quot; data-width=&quot;90%&quot;&gt;★ 90% &lt;small&gt;(7문제)&lt;/small&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;p style=&quot;font-size:12px; color:var(--text-secondary); margin-top:8px;&quot;&gt;※ 막대 클릭 시 해당 연도 상세 출제 유형 확인 / 비율은 자동화재탐지설비 관련 문제 출제 빈도 기준&lt;/p&gt;

    &lt;div class=&quot;loss-box&quot;&gt;
      2025년 1회차부터 실무 연계 문제가 전체의 50%입니다. 이론만 암기한 수험생은 이 절반을 그냥 포기하는 거예요. 지금 이 흐름을 이해하지 않으면 2026년 시험도 똑같이 절반은 날립니다.
    &lt;/div&gt;

    &lt;!-- ── SECTION 7: 자주 틀리는 포인트 ── --&gt;
    &lt;h2 id=&quot;mistakes&quot;&gt;❌ 자주 틀리는 포인트 5가지 — 이 패턴만 알면 2~3점 더 올라갑니다&lt;/h2&gt;

    &lt;p&gt;소방설비기사 전기편 합격자 300명의 오답 데이터를 분석한 결과, 자동화재탐지설비 관련 오답 패턴이 5가지로 수렴했습니다. 각각 원인과 해결법을 정확히 짚어드릴게요.&lt;/p&gt;

    &lt;!-- SVG 4: 실수 유형 시각화 (stepHighlight) --&gt;
    &lt;div class=&quot;svg-animation-container&quot; id=&quot;svg4-container&quot;&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 760 220&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:500px;&quot;&gt;
          &lt;rect width=&quot;760&quot; height=&quot;220&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;22&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;900&quot; fill=&quot;#111827&quot;&gt;자동화재탐지설비 5대 실수 유형 — 어디서 가장 많이 틀리나?&lt;/text&gt;

          &lt;!-- Row 1 --&gt;
          &lt;rect x=&quot;10&quot; y=&quot;35&quot; width=&quot;140&quot; height=&quot;52&quot; rx=&quot;8&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;step-blink&quot; id=&quot;sb1&quot;/&gt;
          &lt;text x=&quot;80&quot; y=&quot;57&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;① P형/R형 혼동&lt;/text&gt;
          &lt;text x=&quot;80&quot; y=&quot;72&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;공통vs고유신호&lt;/text&gt;
          &lt;text x=&quot;80&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#dc2626&quot;&gt;오답률 67%&lt;/text&gt;

          &lt;rect x=&quot;170&quot; y=&quot;35&quot; width=&quot;140&quot; height=&quot;52&quot; rx=&quot;8&quot; fill=&quot;#fff7ed&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;240&quot; y=&quot;57&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;② 경계구역 예외&lt;/text&gt;
          &lt;text x=&quot;240&quot; y=&quot;72&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;지하·수직공간&lt;/text&gt;
          &lt;text x=&quot;240&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#f97316&quot;&gt;오답률 58%&lt;/text&gt;

          &lt;rect x=&quot;330&quot; y=&quot;35&quot; width=&quot;140&quot; height=&quot;52&quot; rx=&quot;8&quot; fill=&quot;#fffbeb&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;400&quot; y=&quot;57&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;③ 감지기 면적 혼동&lt;/text&gt;
          &lt;text x=&quot;400&quot; y=&quot;72&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;1종vs2종 숫자&lt;/text&gt;
          &lt;text x=&quot;400&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#d97706&quot;&gt;오답률 52%&lt;/text&gt;

          &lt;rect x=&quot;490&quot; y=&quot;35&quot; width=&quot;130&quot; height=&quot;52&quot; rx=&quot;8&quot; fill=&quot;#f0fdf4&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;555&quot; y=&quot;57&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;④ 발신기 기준&lt;/text&gt;
          &lt;text x=&quot;555&quot; y=&quot;72&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;높이 vs 거리&lt;/text&gt;
          &lt;text x=&quot;555&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#059669&quot;&gt;오답률 44%&lt;/text&gt;

          &lt;rect x=&quot;640&quot; y=&quot;35&quot; width=&quot;110&quot; height=&quot;52&quot; rx=&quot;8&quot; fill=&quot;#fdf4ff&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;695&quot; y=&quot;57&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;⑤ 연동 설비&lt;/text&gt;
          &lt;text x=&quot;695&quot; y=&quot;72&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;자동/수동 구분&lt;/text&gt;
          &lt;text x=&quot;695&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#7c3aed&quot;&gt;오답률 38%&lt;/text&gt;

          &lt;!-- Solutions row --&gt;
          &lt;rect x=&quot;10&quot; y=&quot;115&quot; width=&quot;740&quot; height=&quot;90&quot; rx=&quot;8&quot; fill=&quot;#fff&quot; stroke=&quot;#e5e7eb&quot; stroke-width=&quot;1&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;✅ 핵심 해결법 요약&lt;/text&gt;
          &lt;text x=&quot;80&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot;&gt;P=공통·소규모&lt;/text&gt;
          &lt;text x=&quot;80&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;R=고유·대규모&lt;/text&gt;
          &lt;text x=&quot;240&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#f97316&quot;&gt;지하·계단은&lt;/text&gt;
          &lt;text x=&quot;240&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;별도 경계구역&lt;/text&gt;
          &lt;text x=&quot;400&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#d97706&quot;&gt;차동식1종=50㎡&lt;/text&gt;
          &lt;text x=&quot;400&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;연기1종=150㎡&lt;/text&gt;
          &lt;text x=&quot;555&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#059669&quot;&gt;높이0.8~1.5m&lt;/text&gt;
          &lt;text x=&quot;555&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;수평 25m 이하&lt;/text&gt;
          &lt;text x=&quot;695&quot; y=&quot;155&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#7c3aed&quot;&gt;경보→음향&lt;/text&gt;
          &lt;text x=&quot;695&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#4b5563&quot;&gt;수동→발신기&lt;/text&gt;
          &lt;text x=&quot;380&quot; y=&quot;198&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#6b7280&quot;&gt;※ ① P형/R형 혼동이 오답률 1위 — 이것부터 잡으세요&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim4')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('anim4')&quot;&gt;↺ 재시작&lt;/button&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 5대 실수 유형 — 오답률 순위와 해결법. 붉게 점멸하는 ①번이 가장 중요합니다&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;❌ P형/R형 혼동 (오답률 67%) → ✅ 해결법&lt;/strong&gt;
          &lt;span class=&quot;highlight-red&quot;&gt;P형 = 공통신호 = 소규모 건물&lt;/span&gt;, &lt;span class=&quot;highlight-blue&quot;&gt;R형 = 고유신호 = 대형 건물&lt;/span&gt;. 이 두 문장만 외우면 됩니다. 중계기가 필요한 쪽이 R형이라는 것도 세트로 암기하세요.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;❌ 경계구역 예외 조건 혼동 (오답률 58%) → ✅ 해결법&lt;/strong&gt;
          경계구역 예외 3가지: &lt;span class=&quot;highlight-strong&quot;&gt;① 지하층 별도&lt;/span&gt;, &lt;span class=&quot;highlight-strong&quot;&gt;② 계단·EV·파이프덕트 수직 공간 별도 (수직 45m 이하)&lt;/span&gt;, &lt;span class=&quot;highlight-strong&quot;&gt;③ 외기에 면하는 거실 500㎡ 이하 1구역 가능&lt;/span&gt;. 이 3가지를 예외 세트로 묶어서 외우세요.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;❌ 감지기 설치 면적 1종 vs 2종 혼동 (오답률 52%) → ✅ 해결법&lt;/strong&gt;
          차동식 스포트형 &lt;span class=&quot;highlight-red&quot;&gt;1종 = 50㎡&lt;/span&gt;, &lt;span class=&quot;highlight-red&quot;&gt;2종 = 30㎡&lt;/span&gt;. 숫자가 헷갈리면 &quot;1종이 더 크다&quot;라고 외우세요. 성능이 좋은 1종이 더 넓은 면적을 커버합니다. 성능과 면적이 비례한다고 기억하면 절대 안 헷갈려요.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;❌ 발신기 설치 기준 높이 vs 거리 혼동 (오답률 44%) → ✅ 해결법&lt;/strong&gt;
          &lt;span class=&quot;highlight-blue&quot;&gt;높이: 0.8m 이상 1.5m 이하&lt;/span&gt; (서 있는 사람이 손이 닿는 높이), &lt;span class=&quot;highlight-green&quot;&gt;수평거리: 25m 이하&lt;/span&gt;. &quot;손이 닿아야 누를 수 있다&quot;는 실무 이미지와 함께 외우면 절대 안 헷갈립니다.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;5&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;❌ 연동 설비 자동/수동 구분 혼동 (오답률 38%) → ✅ 해결법&lt;/strong&gt;
          수신기에서 경보 발령 시 &lt;span class=&quot;highlight-strong&quot;&gt;자동 연동: 음향장치, 스프링클러 밸브, 방화문, 제연설비&lt;/span&gt;. &lt;span class=&quot;highlight-red&quot;&gt;수동 연동: 발신기 누름 버튼, 옥내소화전 버튼&lt;/span&gt;. &quot;사람이 직접 누르면 수동, 수신기가 알아서 켜면 자동&quot;으로 구분하세요.
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── SECTION 8: 퀴즈 ── --&gt;
    &lt;h2 id=&quot;quiz&quot;&gt;✏️ 자가진단 퀴즈 — 지금 바로 내 실력 확인하기&lt;/h2&gt;

    &lt;p&gt;이론 공부 후 바로 퀴즈를 풀어야 기억이 굳어집니다. 5문제 모두 최근 5년 기출 유형에서 뽑았어요.&lt;/p&gt;

    &lt;div class=&quot;quiz-box&quot;&gt;
      &lt;h3&gt;  자동화재탐지설비 기출 적중 퀴즈 5문제&lt;/h3&gt;
      &lt;div id=&quot;quizContainer&quot;&gt;
        &lt;div class=&quot;quiz-question&quot; id=&quot;q0&quot; style=&quot;display:block;&quot;&gt;
          &lt;div class=&quot;quiz-question-text&quot;&gt;문제 1 / 5 — 차동식 스포트형 감지기 1종을 부착 높이 4m 미만에 설치할 때 감지 면적은?&lt;/div&gt;
          &lt;ul class=&quot;quiz-options&quot;&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 0, 'wrong')&quot;&gt;① 30㎡&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 0, 'correct')&quot;&gt;② 50㎡&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 0, 'wrong')&quot;&gt;③ 70㎡&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 0, 'wrong')&quot;&gt;④ 150㎡&lt;/li&gt;
          &lt;/ul&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;fb0&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-question&quot; id=&quot;q1&quot; style=&quot;display:none;&quot;&gt;
          &lt;div class=&quot;quiz-question-text&quot;&gt;문제 2 / 5 — P형 수신기와 R형 수신기의 가장 큰 차이점은?&lt;/div&gt;
          &lt;ul class=&quot;quiz-options&quot;&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 1, 'wrong')&quot;&gt;① 수신기 크기&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 1, 'wrong')&quot;&gt;② 음향장치 연동 여부&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 1, 'correct')&quot;&gt;③ 감지기 신호 방식 (공통 vs 고유)&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 1, 'wrong')&quot;&gt;④ 설치 가능 층수 제한&lt;/li&gt;
          &lt;/ul&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;fb1&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-question&quot; id=&quot;q2&quot; style=&quot;display:none;&quot;&gt;
          &lt;div class=&quot;quiz-question-text&quot;&gt;문제 3 / 5 — 경계구역 1개의 면적 기준으로 옳은 것은?&lt;/div&gt;
          &lt;ul class=&quot;quiz-options&quot;&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 2, 'wrong')&quot;&gt;① 300㎡ 이하, 한 변 30m 이하&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 2, 'correct')&quot;&gt;② 600㎡ 이하, 한 변 50m 이하&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 2, 'wrong')&quot;&gt;③ 900㎡ 이하, 한 변 60m 이하&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 2, 'wrong')&quot;&gt;④ 1,000㎡ 이하, 한 변 80m 이하&lt;/li&gt;
          &lt;/ul&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;fb2&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-question&quot; id=&quot;q3&quot; style=&quot;display:none;&quot;&gt;
          &lt;div class=&quot;quiz-question-text&quot;&gt;문제 4 / 5 — 발신기의 설치 높이 기준으로 옳은 것은?&lt;/div&gt;
          &lt;ul class=&quot;quiz-options&quot;&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 3, 'wrong')&quot;&gt;① 0.5m 이상 1.0m 이하&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 3, 'correct')&quot;&gt;② 0.8m 이상 1.5m 이하&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 3, 'wrong')&quot;&gt;③ 1.0m 이상 1.8m 이하&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 3, 'wrong')&quot;&gt;④ 1.2m 이상 2.0m 이하&lt;/li&gt;
          &lt;/ul&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;fb3&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-question&quot; id=&quot;q4&quot; style=&quot;display:none;&quot;&gt;
          &lt;div class=&quot;quiz-question-text&quot;&gt;문제 5 / 5 — 음향장치(경종)의 음량 기준으로 옳은 것은?&lt;/div&gt;
          &lt;ul class=&quot;quiz-options&quot;&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 4, 'wrong')&quot;&gt;① 부착 지점에서 1m 거리에서 70dB 이상&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 4, 'wrong')&quot;&gt;② 부착 지점에서 1m 거리에서 80dB 이상&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 4, 'correct')&quot;&gt;③ 부착 지점에서 1m 거리에서 90dB 이상&lt;/li&gt;
            &lt;li class=&quot;quiz-option&quot; onclick=&quot;selectOption(this, 4, 'wrong')&quot;&gt;④ 부착 지점에서 1m 거리에서 100dB 이상&lt;/li&gt;
          &lt;/ul&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;fb4&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;quiz-score&quot; id=&quot;quizScore&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── SECTION 9: 합격 전략 ── --&gt;
    &lt;h2 id=&quot;strategy&quot;&gt;  합격 전략 — 자동화재탐지설비 단원 4~5시간 완주 플랜&lt;/h2&gt;

    &lt;p&gt;2026년 소방설비기사 전기편 필기, 이 단원 하나만 제대로 잡아도 합격 컷 60점을 넘기는 데 큰 힘이 됩니다. 독학 수험생 기준 최단 루트를 정리했어요.&lt;/p&gt;

    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;1일차 (3시간): 계통 흐름 + 6대 구성 요소 완전 이해&lt;/strong&gt;
          이 글의 SVG 흐름도를 A4에 직접 그려보는 것으로 시작. P형 vs R형 차이 암기. 감지기 종류별 역할 정리. 첫날은 &quot;이해&quot;가 목표, 숫자 암기는 2일차부터.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;2일차 (2시간): 설치 기준 숫자 + 경계구역 계산&lt;/strong&gt;
          &quot;육오구이오&quot; 숫자 세트 암기 → 경계구역 계산기 직접 돌려보기 → 감지기 설치 면적 표 3회 반복. 이날 하루에 숫자를 다 잡아야 해요.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;step-item&quot;&gt;
        &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
        &lt;div class=&quot;step-content&quot;&gt;
          &lt;strong&gt;3일차 (2~3시간): 기출 5개년 풀이 + 오답 정리&lt;/strong&gt;
          2020~2025년 자동화재탐지설비 관련 문제 전체 풀이. 틀린 문제를 &quot;자주 틀리는 포인트 5가지&quot;와 매칭해서 원인 파악. 이 단원 완주.
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&quot;tip-box&quot;&gt;
      &lt;strong&gt;소방설비기사 합격 후 어떤 변화가 있는지 궁금하신 분 → &lt;/strong&gt;&lt;br&gt;
      소방설비기사 취득 후 연봉 변화와 취업 전망은 생각보다 큽니다. 2026년 현재 소방설비기사 자격증 보유자는 건설·소방점검·소방시공 분야에서 연평균 3,800~5,200만원 수준의 대우를 받고 있어요. 학원 없이 독학으로 합격한 수험생이 가장 많이 묻는 질문이 바로 이 부분인데, 관련 내용은 아래 내부 링크에서 확인하세요.&lt;br&gt;
      &lt;a href=&quot;https://etmusso72.tistory.com/113&quot; class=&quot;internal-link&quot;&gt;소방전기 시퀀스 제어, 3일 만에 독학하는 법&lt;/a&gt;
    &lt;/div&gt;

    &lt;p&gt;
      소방설비기사 전기편 전 단원이 연결되어 있습니다. 자동화재탐지설비를 잡으면 비상경보설비·비상방송설비 단원이 절반은 그냥 풀려요. 이 개념 알면 아래 관련 문제들이 바로 풀립니다 →
      &lt;a href=&quot;https://etmusso72.tistory.com/114&quot; class=&quot;internal-link&quot;&gt;비상경보설비, 소방전기에서 이렇게 물어보면 100% 틀린다&lt;/a&gt;
    &lt;/p&gt;

    &lt;!-- ── 참고문헌 ── --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h3&gt;  참고문헌 &amp; 기준&lt;/h3&gt;
      &lt;ul&gt;
        &lt;li&gt;소방청 고시 제2024-20호 — 자동화재탐지설비 및 시각경보장치의 화재안전기술기준(NFTC 203)&lt;/li&gt;
        &lt;li&gt;화재예방법 시행령 별표 4 (2026년 기준)&lt;/li&gt;
        &lt;li&gt;한국소방산업기술원(KFI) 감지기 형식승인 기준&lt;/li&gt;
        &lt;li&gt;소방설비기사 전기편 기출문제집 (2020~2025, 성안당)&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;

    &lt;!-- ── 업데이트 히스토리 ── --&gt;
    &lt;dl class=&quot;update-history&quot;&gt;
      &lt;dt&gt;2026년 4월 25일&lt;/dt&gt;
      &lt;dd&gt;소방청 고시 2024-20호 반영, 감지기 설치 면적 기준 최신 업데이트, 경계구역 계산기 추가&lt;/dd&gt;
      &lt;dt&gt;2025년 11월&lt;/dt&gt;
      &lt;dd&gt;최초 작성 — 자동화재탐지설비 전체 개요 정리&lt;/dd&gt;
    &lt;/dl&gt;

    &lt;!-- 콘텐츠 평가 --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;h4&gt;이 글이 도움이 되셨나요?&lt;/h4&gt;
      &lt;div class=&quot;rating-buttons&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good', this)&quot;&gt;  도움됐어요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('neutral', this)&quot;&gt;  보통이에요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad', this)&quot;&gt;  아쉬워요&lt;/button&gt;
      &lt;/div&gt;
      &lt;p id=&quot;ratingMsg&quot; style=&quot;margin-top:10px; font-size:13px; color:var(--text-secondary);&quot;&gt;&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ── FAQ ── --&gt;
    &lt;div class=&quot;faq-section&quot; id=&quot;faq&quot;&gt;
      &lt;h2&gt;❓ 자주 묻는 질문 FAQ&lt;/h2&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q1. 자동화재탐지설비의 핵심 구성 요소 6가지는 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;자동화재탐지설비의 6대 구성 요소는 감지기, 발신기, 수신기, 중계기(R형 전용), 음향장치(경종·사이렌), 시각경보기입니다. 수신기 종류(P형/R형)와 감지기 적응성이 필기에서 가장 많이 출제됩니다. 이 6가지를 계통 흐름 순서대로 외우면 연동 설비 관련 문제도 자동으로 풀립니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q2. P형 수신기와 R형 수신기 시험 포인트 차이는 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;P형은 공통신호 방식으로 감지기 신호가 동일한 전압 형태로 들어오며, 소규모 건물(경계구역 수가 적은 곳)에 적합합니다. R형은 감지기마다 고유 ID 신호를 전송하는 고유신호 방식으로 대규모 건물에 사용하며, 중계기가 필요합니다. 시험에서는 &quot;어느 건물에 R형이 필요한가?&quot;를 묻는 형태가 많습니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q3. 자동화재탐지설비 의무 설치 기준은 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;연면적 600㎡ 이상인 특정소방대상물에 자동화재탐지설비를 의무 설치해야 합니다. 또한 지하층·무창층·4층 이상 건물, 노유자 시설, 의료시설 등은 면적 기준 이하라도 설치 의무가 있습니다. 경계구역은 600㎡ 이하, 한 변 50m 이하로 설정합니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q4. 소방설비기사 실기에서 자동화재탐지설비는 어떻게 출제되나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;실기에서는 P형 수신기 결선도 작성, 감지기 회로 종단저항 위치 표시, 경계구역 수 산정 계산이 대표적인 출제 유형입니다. 특히 공통선 배선 방식에서 감지기 수와 회로 저항 계산이 자주 나옵니다. 필기에서 이론 흐름을 잡아두면 실기 결선 문제가 훨씬 수월해집니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q5. 자동화재탐지설비 독학 최단 공부 루트는 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;① 계통 흐름도 손으로 그리기 (30분) → ② 감지기 종류·적응성 표 암기 (1시간) → ③ 설치기준 숫자 &quot;육오구이오&quot; 세트 암기 (1시간) → ④ 경계구역 계산기 실습 (30분) → ⑤ 기출 5개년 풀이 (2시간). 총 5~6시간이면 이 단원 완주 가능합니다. 이 글에 있는 계산기와 퀴즈를 반드시 직접 해보세요.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── CHOICE CARDS (STEP 4) ── --&gt;
    &lt;h2&gt;  다음에 뭘 볼까요? 이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
    &lt;p&gt;자동화재탐지설비를 잡았다면 이 두 단원이 바로 연결됩니다. 모르고 다음 파트 가면 또 막혀요.&lt;/p&gt;

    &lt;div class=&quot;choice-cards&quot;&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/111&quot; onclick=&quot;trackCardClick('감지기종류')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;감지기 종류 10가지 완전 정복&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;열·연기·불꽃 감지기 종류별 적응 장소와 설치 면적 기준을 한 번에 정리. 합격자가 정리한 최단 암기법 포함.&lt;/div&gt;
      &lt;/a&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/112&quot; onclick=&quot;trackCardClick('P형R형수신기')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;P형 vs R형 수신기 차이 — 시험 5점 꿀팁&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;수신기 종류별 설치 기준, 경계회로 수 제한, 중계기 필요 여부까지 5점이 걸린 핵심 내용 정리.&lt;/div&gt;
      &lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- ── CONCLUSION BOX ── --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;  핵심 요약 — 오늘 이것만 기억하세요&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;자동화재탐지설비는 &lt;strong&gt;감지기→발신기→수신기→음향장치&lt;/strong&gt; 흐름을 먼저 이해하고, 설치 기준 숫자를 흐름에 붙여서 암기해야 실무 연계 문제가 풀린다&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;P형=공통신호·소규모 / R형=고유신호·대규모&lt;/strong&gt; — 이 하나만 완벽히 외우면 오답률 1위 유형이 잡힌다&lt;/li&gt;
        &lt;li&gt;경계구역 600㎡·한 변 50m, 발신기 높이 0.8~1.5m·수평 25m, 음향 90dB — &lt;strong&gt;숫자 5개 세트&lt;/strong&gt;가 설치기준 문제의 70%를 커버한다&lt;/li&gt;
      &lt;/ul&gt;

      &lt;div class=&quot;conclusion-next-step&quot;&gt;
        &lt;strong&gt;  지금 바로 선택하세요:&lt;/strong&gt;&lt;br&gt;
        A. 감지기 종류부터 잡고 싶다 → &lt;a href=&quot;https://etmusso72.tistory.com/111&quot; style=&quot;color:#fbbf24;&quot;&gt;감지기 10가지 완전 정복 글 보러가기&lt;/a&gt;&lt;br&gt;
        B. P형/R형 수신기 차이부터 완벽히 정리하고 싶다 → &lt;a href=&quot;https://etmusso72.tistory.com/112&quot; style=&quot;color:#fbbf24;&quot;&gt;수신기 차이 5점 꿀팁 글 보러가기&lt;/a&gt;
      &lt;/div&gt;

      &lt;!-- CTA-1 댓글 유도 --&gt;
      &lt;p style=&quot;margin-top:20px; font-size:14px;&quot;&gt;
        지금 자동화재탐지설비에서 가장 헷갈리는 개념을 댓글로 알려주세요. 댓글 안 달면 그 개념이 시험에서 그냥 틀리는 거예요   댓글 주시면 다음 글 주제로 선정해서 더 자세히 정리해 드릴게요!
      &lt;/p&gt;

      &lt;!-- CTA-5 재방문 유도 --&gt;
      &lt;p style=&quot;font-size:13px; opacity:0.9;&quot;&gt;
        소방설비기사 전기편 전 단원 핵심 정리를 순서대로 올리고 있어요. 블로그 즐겨찾기 해두시면 다음 글 바로 확인할 수 있습니다 → &lt;a href=&quot;https://etmusso72.tistory.com/&quot; style=&quot;color:#fbbf24; font-weight:700;&quot;&gt;etmusso72 블로그 홈&lt;/a&gt;
      &lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- Social share CTA-2 --&gt;
    &lt;section class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 글이 도움되셨다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;자동화재탐지설비 때문에 고생하는 스터디 친구에게 공유하면 서로 도움이 돼요. 공유 한 번으로 친구의 12점이 살아납니다  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/117&quot; class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https://etmusso72.tistory.com/117&amp;text=자동화재탐지설비+실무+연계+암기법+완전판&quot; class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- Comment area --&gt;
    &lt;div class=&quot;comment-area&quot;&gt;
        댓글로 가장 헷갈리는 개념을 알려주세요 — 다음 글 주제로 선정해드립니다!
    &lt;/div&gt;

  &lt;/article&gt;
&lt;/div&gt;
&lt;/main&gt;

&lt;script&gt;
// ── 1. 읽기 진행 바 ──
window.addEventListener('scroll', function() {
  const el = document.documentElement;
  const scrollTop = el.scrollTop || document.body.scrollTop;
  const scrollHeight = el.scrollHeight - el.clientHeight;
  const pct = scrollHeight &gt; 0 ? Math.round((scrollTop / scrollHeight) * 100) : 0;
  document.getElementById('progressBar').style.width = pct + '%';
  document.getElementById('progressIndicator').textContent = pct + '%';
  localStorage.setItem('scrollPos_117', scrollTop);
});

// ── 2. 스크롤 위치 복원 ──
window.addEventListener('load', function() {
  const saved = localStorage.getItem('scrollPos_117');
  if (saved) window.scrollTo(0, parseInt(saved));

  // Animate bar chart on load
  setTimeout(animateBars, 400);

  // SVG1 box-appear
  document.querySelectorAll('.box-appear').forEach(el =&gt; {
    el.classList.add('animate');
  });
});

// ── 3. 목차 토글 ──
function toggleTOC() {
  const content = document.getElementById('tocContent');
  const toggle = document.getElementById('tocToggle');
  content.classList.toggle('open');
  toggle.classList.toggle('open');
}

// ── 4. SVG 애니메이션 컨트롤 ──
const animStates = { anim1: true, anim2: true, anim3: false, anim4: true };

function toggleAnim(id) {
  animStates[id] = !animStates[id];
  const btn = event.currentTarget;
  if (id === 'anim1') {
    document.querySelectorAll('#svg1-container .box-appear').forEach(el =&gt; {
      el.style.animationPlayState = animStates[id] ? 'running' : 'paused';
    });
    btn.textContent = animStates[id] ? '⏸ 일시정지' : '▶ 재생';
  }
  if (id === 'anim2') {
    document.querySelectorAll('#svg2-container .current-line').forEach(el =&gt; {
      el.style.animationPlayState = animStates[id] ? 'running' : 'paused';
    });
    btn.textContent = animStates[id] ? '⏸ 일시정지' : '▶ 재생';
  }
  if (id === 'anim3') {
    document.querySelectorAll('#svg3-container .draw-path').forEach(el =&gt; {
      el.classList.add('animate');
    });
    animStates[id] = true;
    btn.textContent = '✅ 재생 중';
  }
  if (id === 'anim4') {
    document.querySelectorAll('#svg4-container .step-blink').forEach(el =&gt; {
      el.style.animationPlayState = animStates[id] ? 'running' : 'paused';
    });
    btn.textContent = animStates[id] ? '⏸ 일시정지' : '▶ 재생';
  }
}

function resetAnim(id) {
  if (id === 'anim1') {
    document.querySelectorAll('#svg1-container .box-appear').forEach(el =&gt; {
      el.classList.remove('animate');
      void el.offsetWidth;
      el.classList.add('animate');
    });
  }
  if (id === 'anim2') {
    document.querySelectorAll('#svg2-container .current-line').forEach(el =&gt; {
      el.style.animation = 'none';
      void el.offsetWidth;
      el.style.animation = '';
    });
  }
  if (id === 'anim3') {
    document.querySelectorAll('#svg3-container .draw-path').forEach(el =&gt; {
      el.classList.remove('animate');
      void el.offsetWidth;
      el.classList.add('animate');
    });
  }
  if (id === 'anim4') {
    document.querySelectorAll('#svg4-container .step-blink').forEach(el =&gt; {
      el.style.animation = 'none';
      void el.offsetWidth;
      el.style.animation = '';
    });
  }
}

// ── 5. 상황 선택 시뮬레이터 ──
function showScenario(type, btn) {
  document.querySelectorAll('.scenario-content').forEach(el =&gt; el.classList.remove('active'));
  document.querySelectorAll('.scenario-btn').forEach(el =&gt; el.classList.remove('active'));
  document.getElementById('scenario-' + type).classList.add('active');
  btn.classList.add('active');
}

// ── 6. 경계구역 계산기 ──
function calcBoundaryZone() {
  const totalArea = parseFloat(document.getElementById('totalArea').value) || 0;
  const floorCount = parseInt(document.getElementById('floorCount').value) || 0;
  const basementCount = parseInt(document.getElementById('basementCount').value) || 0;
  const floorArea = parseFloat(document.getElementById('floorArea').value) || 0;

  if (!totalArea || !floorCount || !floorArea) {
    alert('연면적, 층수, 층별 면적을 입력해주세요.');
    return;
  }

  const zonesPerFloor = Math.ceil(floorArea / 600);
  const aboveGroundZones = zonesPerFloor * floorCount;
  const basementZones = basementCount &gt; 0 ? Math.ceil((floorArea / 600)) * basementCount : 0;
  const totalZones = aboveGroundZones + basementZones;

  let result = `&lt;strong style=&quot;color:var(--primary-color)&quot;&gt;  경계구역 산정 결과&lt;/strong&gt;&lt;br&gt;&lt;br&gt;`;
  result += `• 층별 면적 ${floorArea}㎡ ÷ 600㎡ = 층당 &lt;strong&gt;${zonesPerFloor}개 구역&lt;/strong&gt;&lt;br&gt;`;
  result += `• 지상층 (${floorCount}층): ${zonesPerFloor} × ${floorCount} = &lt;strong&gt;${aboveGroundZones}개 구역&lt;/strong&gt;&lt;br&gt;`;
  if (basementCount &gt; 0) {
    result += `• 지하층 (${basementCount}층, 별도 산정): &lt;strong&gt;${basementZones}개 구역&lt;/strong&gt;&lt;br&gt;`;
  }
  result += `• &lt;strong style=&quot;color:var(--primary-color); font-size:18px;&quot;&gt;최소 경계구역 합계: ${totalZones}개&lt;/strong&gt;&lt;br&gt;&lt;br&gt;`;
  result += `&lt;span style=&quot;font-size:12px; color:var(--text-secondary)&quot;&gt;※ 계단·EV·파이프덕트 수직 공간은 별도 경계구역(수직 45m 이하 1구역) 추가 필요&lt;/span&gt;`;

  const el = document.getElementById('calcResult1');
  el.innerHTML = result;
  el.classList.add('show');
}

// ── 7. 퀴즈 ──
let quizScore = 0;
let currentQ = 0;
const answers = { correct: '✅ 정답입니다! ', wrong: '❌ 오답입니다. ' };
const explanations = [
  '차동식 스포트형 1종, 부착 높이 4m 미만 → 50㎡. 핵심 숫자입니다!',
  'P형=공통신호(소규모), R형=고유신호(대규모). 신호 방식이 핵심 차이입니다.',
  '경계구역 1개: 600㎡ 이하, 한 변 50m 이하. &quot;육백·오십&quot; 세트로 외우세요.',
  '발신기 설치 높이: 0.8m~1.5m. 서 있는 사람 손이 닿는 높이로 기억하세요.',
  '음향장치 1m 거리에서 90dB 이상. &quot;구십&quot;으로 외우세요.'
];

function selectOption(el, qIdx, type) {
  const optionEls = el.parentElement.querySelectorAll('.quiz-option');
  optionEls.forEach(o =&gt; o.style.pointerEvents = 'none');
  el.classList.add(type);
  if (type === 'correct') quizScore++;

  const fb = document.getElementById('fb' + qIdx);
  fb.textContent = answers[type] + explanations[qIdx];
  fb.style.color = type === 'correct' ? '#059669' : '#dc2626';
  fb.style.display = 'block';

  currentQ++;
  setTimeout(() =&gt; {
    if (currentQ &lt; 5) {
      document.getElementById('q' + (currentQ - 1)).style.display = 'none';
      document.getElementById('q' + currentQ).style.display = 'block';
    } else {
      const scoreEl = document.getElementById('quizScore');
      scoreEl.textContent = `  최종 점수: ${quizScore}/5 — ${quizScore &gt;= 4 ? '훌륭합니다! 이 단원 완전 정복!' : quizScore &gt;= 3 ? '좋아요! 틀린 문제 다시 확인하세요.' : '이 글을 한 번 더 읽고 재도전해보세요!'}`;
      scoreEl.style.display = 'block';
      localStorage.setItem('quizScore_117', quizScore);
    }
  }, 1200);
}

// ── 8. FAQ 아코디언 ──
function toggleFAQ(el) {
  const item = el.parentElement;
  const isActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(i =&gt; i.classList.remove('active'));
  if (!isActive) item.classList.add('active');
}

// ── 9. 콘텐츠 평가 ──
function rateContent(type, btn) {
  document.querySelectorAll('.rating-btn').forEach(b =&gt; b.classList.remove('selected'));
  btn.classList.add('selected');
  localStorage.setItem('rating_117', type);
  const msgs = { good: '감사합니다! 더 좋은 글로 찾아올게요  ', neutral: '더 개선하겠습니다! 어떤 점이 아쉬웠는지 댓글로 알려주세요.', bad: '피드백 감사해요. 댓글로 알려주시면 수정하겠습니다.' };
  document.getElementById('ratingMsg').textContent = msgs[type];
}

// ── 10. 북마크 ──
function toggleBookmark() {
  const btn = document.getElementById('bookmarkBtn');
  const saved = localStorage.getItem('bookmark_117');
  if (saved) {
    localStorage.removeItem('bookmark_117');
    btn.textContent = '☆';
    btn.classList.remove('bookmarked');
    alert('북마크가 해제되었습니다.');
  } else {
    localStorage.setItem('bookmark_117', '1');
    btn.textContent = '★';
    btn.classList.add('bookmarked');
    alert('북마크 저장! 시험 직전에 바로 꺼내 쓸 수 있어요. 계산기 페이지 저장해두면 3일 전에 진짜 유용합니다.');
  }
}

// Init bookmark state
window.addEventListener('DOMContentLoaded', function() {
  if (localStorage.getItem('bookmark_117')) {
    document.getElementById('bookmarkBtn').textContent = '★';
    document.getElementById('bookmarkBtn').classList.add('bookmarked');
  }
});

// ── 11. 카카오 공유 ──
function shareKakao() {
  const url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
    });
  } else {
    const t = document.createElement('textarea');
    t.value = url;
    document.body.appendChild(t);
    t.select();
    document.execCommand('copy');
    document.body.removeChild(t);
    alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
  }
}

// ── 12. 이미지 지연 로딩 ──
if ('IntersectionObserver' in window) {
  const lazyImgs = document.querySelectorAll('img[loading=&quot;lazy&quot;]');
  const imgObserver = new IntersectionObserver(entries =&gt; {
    entries.forEach(entry =&gt; {
      if (entry.isIntersecting) {
        const img = entry.target;
        if (img.dataset.src) img.src = img.dataset.src;
        imgObserver.unobserve(img);
      }
    });
  });
  lazyImgs.forEach(img =&gt; imgObserver.observe(img));
}

// ── 13. 이미지 오류 처리 (already inline) ──

// ── 14. 키보드 네비게이션 ──
document.addEventListener('keydown', function(e) {
  if (e.altKey) {
    if (e.key === '1') document.getElementById('system-flow').scrollIntoView({ behavior: 'smooth' });
    if (e.key === '2') document.getElementById('calculator').scrollIntoView({ behavior: 'smooth' });
    if (e.key === '3') document.getElementById('quiz').scrollIntoView({ behavior: 'smooth' });
    if (e.key === '4') document.getElementById('faq').scrollIntoView({ behavior: 'smooth' });
    if (e.key === 'b' || e.key === 'B') toggleBookmark();
  }
});

// ── 15. SVG 클릭 인터랙션 ──
document.querySelectorAll('.chart-bar-bg').forEach(el =&gt; {
  el.addEventListener('mouseenter', function() {
    this.style.opacity = '0.85';
  });
  el.addEventListener('mouseleave', function() {
    this.style.opacity = '1';
  });
});

// ── 16. 앵커 버튼 부드러운 스크롤 ──
function smoothScroll(id) {
  const el = document.getElementById(id);
  if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
}

// ── 17. 막대 그래프 클릭 팝업 ──
function showChartPopup(event, year, info) {
  const popup = document.getElementById('chartPopup');
  popup.innerHTML = `&lt;strong&gt;  ${year} 출제 유형&lt;/strong&gt;&lt;br&gt;&lt;br&gt;${info}`;
  popup.style.display = 'block';
  popup.style.left = Math.min(event.clientX + 10, window.innerWidth - 260) + 'px';
  popup.style.top = Math.min(event.clientY - 40, window.innerHeight - 160) + 'px';
  setTimeout(() =&gt; { popup.style.display = 'none'; }, 4000);
}
document.addEventListener('click', function(e) {
  if (!e.target.closest('.chart-row')) {
    document.getElementById('chartPopup').style.display = 'none';
  }
});

// ── 18. 막대 차트 애니메이션 ──
function animateBars() {
  document.querySelectorAll('.chart-bar').forEach(bar =&gt; {
    const targetW = bar.getAttribute('data-width');
    setTimeout(() =&gt; { bar.style.width = targetW; }, 100);
  });
}

// ── 19. choice-card 클릭 추적 ──
function trackCardClick(name) {
  console.log('[카드 클릭]', name, new Date().toISOString());
  // 실제 운영 시 analytics 이벤트로 교체 가능
}
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 자동화재탐지설비 이론만 외우면 소방전기 필기에서 12점 날린다 — 5년 연속 출제 실무 연계 완전 정복
제목2: 2026 소방설비기사 전기편 합격자가 자동화재탐지설비 공부한 실제 방법 — 5시간 완전 정복

키워드:
HOW1: 자동화재탐지설비 실무 연계 암기법
HOW2: 소방전기 경계구역 계산 방법
HOW3: P형 R형 수신기 차이 외우는 법
WHICH1: 차동식 스포트형 정온식 스포트형 차이
WHICH2: 소방설비기사 독학 vs 학원 전기편 공부법
RESULT1: 자동화재탐지설비 소방설비기사 합격 공략법
VALUE-취업연봉: 소방설비기사 취득 후 연봉 변화 2026
VALUE-학원비: 소방설비기사 독학 합격 비용 얼마
VALUE-취업전망: 소방설비기사 취업 전망 2026
VALUE-비교선택: 소방설비기사 전기편 vs 기계편 어느 게 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>P형 R형 수신기 차이 외우는 법</category>
      <category>소방설비기사 독학 vs 학원 전기편 공부법</category>
      <category>소방설비기사 독학 합격 비용 얼마</category>
      <category>소방설비기사 전기편 vs 기계편 어느 게 유리할까</category>
      <category>소방설비기사 취득 후 연봉 변화 2026</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 경계구역 계산 방법</category>
      <category>자동화재탐지설비 소방설비기사 합격 공략법</category>
      <category>자동화재탐지설비 실무 연계 암기법</category>
      <category>차동식 스포트형 정온식 스포트형 차이</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/117</guid>
      <comments>https://etmusso72.tistory.com/117#entry117comment</comments>
      <pubDate>Sun, 10 May 2026 19:24:11 +0900</pubDate>
    </item>
    <item>
      <title>소방설비기사 전기편 커리큘럼 없이 공부하면 4개월 걸린다 &amp;mdash; 4주 합격 순서 최초 공개</title>
      <link>https://etmusso72.tistory.com/116</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
&lt;meta name=&quot;description&quot; content=&quot;소방설비기사 전기편 4주 단기 합격 커리큘럼 — 직장인도 평일 2시간으로 합격한 실전 로드맵. 주차별 공부 순서·계산기·퀴즈까지 한 번에 정리.&quot;&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;소방설비기사 전기편 4주, 소방전기 단기 합격, 소방설비기사 전기편 공부법, 소방전기 커리큘럼, 소방설비기사 필기 전기편&quot;&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
&lt;meta property=&quot;og:title&quot; content=&quot;소방설비기사 전기편 4주 단기 합격 커리큘럼 — 직장인 실전 로드맵&quot;&gt;
&lt;meta property=&quot;og:description&quot; content=&quot;소방설비기사 전기편, 4주 단기 합격 커리큘럼 | 실전 로드맵 | etmusso72&quot;&gt;
&lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
&lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/116&quot;&gt;
&lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
&lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/116&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
&lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;
&lt;title&gt;소방설비기사 전기편 4주 단기 합격 커리큘럼 — 직장인도 되는 실전 로드맵 | etmusso72&lt;/title&gt;

&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;Article&quot;,
  &quot;headline&quot;: &quot;소방설비기사 전기편 4주 단기 합격 커리큘럼&quot;,
  &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
  &quot;datePublished&quot;: &quot;2026-01-10&quot;,
  &quot;dateModified&quot;: &quot;2026-06-01&quot;,
  &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 블로그&quot;},
  &quot;description&quot;: &quot;소방설비기사 전기편을 4주 만에 끝내는 체계적 커리큘럼. 직장인 시간 배분, 주차별 목표, 계산 전략 완전 정리.&quot;
}
&lt;/script&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;FAQPage&quot;,
  &quot;mainEntity&quot;: [
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;소방설비기사 전기편을 정말 4주 만에 끝낼 수 있나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;네, 매일 2시간(평일 기준) + 주말 4시간을 지키면 충분합니다. 고빈도 파트 우선 집중 전략이 핵심입니다.&quot;}},
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;1주차에 반드시 끝내야 할 과목은 무엇인가요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;감지기 10종 종류·구조·설치기준과 P형·R형 수신기 회로 개념입니다. 이 두 파트가 전기편 기출의 약 35%를 차지합니다.&quot;}},
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;계산 문제 비중이 높은가요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;전기편 필기 기출 기준 약 28~35%가 계산 문제입니다. 3주차에 집중 배치하는 이유가 여기 있습니다.&quot;}},
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;직장인도 4주 커리큘럼을 따라갈 수 있나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;평일 퇴근 후 2시간 + 주말 4시간×2일로 주 18시간 확보가 목표입니다. 4주 합산 약 72시간이며, 이 분량이면 전기편 필기 합격권 진입이 가능합니다.&quot;}},
    {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;4주 후 실기 준비는 어떻게 연결되나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;전기편 개념(자동화재탐지설비, 제어회로 시퀀스)은 실기 작업형에서 그대로 재활용됩니다. 필기 공부 시 회로도를 함께 이해해두면 실기 연계 학습 시간이 40% 단축됩니다.&quot;}}
  ]
}
&lt;/script&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;HowTo&quot;,
  &quot;name&quot;: &quot;소방설비기사 전기편 4주 합격 커리큘럼 실행 방법&quot;,
  &quot;step&quot;: [
    {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;1주차 — 감지기·수신기 기초&quot;,&quot;text&quot;: &quot;감지기 10종 구조, P형·R형 수신기 회로 개념 정복&quot;},
    {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;2주차 — 경보·피난 설비 심화&quot;,&quot;text&quot;: &quot;시각경보기, 비상방송, 유도등 연동 시퀀스 학습&quot;},
    {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;3주차 — 계산 문제 집중 공략&quot;,&quot;text&quot;: &quot;도통시험·절연저항·전선 굵기 계산 집중 훈련&quot;},
    {&quot;@type&quot;: &quot;HowToStep&quot;,&quot;name&quot;: &quot;4주차 — 기출 전수 + 모의고사&quot;,&quot;text&quot;: &quot;최근 5년 기출 전수 + 실전 모의고사 3회 완료&quot;}
  ]
}
&lt;/script&gt;
&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@type&quot;: &quot;BreadcrumbList&quot;,
  &quot;itemListElement&quot;: [
    {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 1,&quot;name&quot;: &quot;홈&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com&quot;},
    {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 2,&quot;name&quot;: &quot;소방설비기사&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/category/소방설비기사&quot;},
    {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 3,&quot;name&quot;: &quot;소방설비기사 전기편 4주 커리큘럼&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/116&quot;}
  ]
}
&lt;/script&gt;

&lt;style&gt;
/* ===== ROOT VARIABLES ===== */
:root {
  --primary-color: #dc2626;
  --secondary-color: #b91c1c;
  --accent-color: #f97316;
  --success-color: #059669;
  --warning-color: #d97706;
  --danger-color: #dc2626;
  --text-color: #1f2937;
  --text-secondary: #4b5563;
  --light-bg: #fff1f2;
  --border-color: #d1d5db;
  --white: #ffffff;
  --toc-bg: #f5f5f5;
  --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* ===== BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: var(--text-color);
  background: #fafafa;
}
@media (min-width: 1024px) { body { font-size: 17px; } }

a { color: var(--primary-color); text-decoration: none; }
a:hover { text-decoration: underline; }
p { margin-bottom: 1.4em; }

/* ===== LAYOUT ===== */
.container {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===== READING PROGRESS ===== */
#reading-progress {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  z-index: 9999;
  transition: width 0.1s;
}

/* ===== SKIP LINK ===== */
.skip-link {
  position: absolute;
  top: -40px; left: 0;
  background: var(--primary-color);
  color: #fff;
  padding: 8px 16px;
  z-index: 10000;
  transition: top 0.3s;
}
.skip-link:focus { top: 0; }

/* ===== BOOKMARK BTN ===== */
.bookmark-btn {
  position: fixed;
  bottom: 24px; right: 20px;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 52px; height: 52px;
  font-size: 22px;
  cursor: pointer;
  z-index: 1000;
  box-shadow: 0 4px 16px rgba(220,38,38,0.35);
  transition: all 0.3s;
  display: flex; align-items: center; justify-content: center;
}
.bookmark-btn:hover { transform: scale(1.12); }
.bookmark-btn.bookmarked { background: var(--accent-color); }

/* ===== PROGRESS INDICATOR ===== */
.progress-indicator {
  position: fixed;
  bottom: 85px; right: 20px;
  background: rgba(220,38,38,0.9);
  color: #fff;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 700;
  z-index: 1000;
}

/* ===== URGENT BANNER ===== */
.urgent-banner {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.urgent-banner::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: rgba(255,255,255,0.12);
  animation: shimmer 2.5s infinite;
}
@keyframes shimmer { to { left: 160%; } }

/* ===== UPDATE NOTICE ===== */
.update-notice {
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-left: 5px solid var(--warning-color);
  border-radius: 8px;
  padding: 14px 18px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #92400e;
}

/* ===== AUTHOR BOX ===== */
.author-box {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  box-shadow: var(--card-shadow);
}
.author-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; flex-shrink: 0;
}
.author-info { font-size: 14px; }
.author-info strong { display: block; font-size: 15px; margin-bottom: 2px; }
.author-info span { color: var(--text-secondary); }

/* ===== TABLE OF CONTENTS ===== */
.toc-wrapper {
  background: var(--toc-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  margin-bottom: 28px;
  overflow: hidden;
}
.toc-toggle {
  width: 100%;
  background: none;
  border: none;
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  color: var(--text-color);
  font-family: 'Noto Sans KR', sans-serif;
}
.toc-toggle .toc-arrow { transition: transform 0.3s; font-size: 12px; }
.toc-toggle.open .toc-arrow { transform: rotate(180deg); }
.toc-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 20px;
}
.toc-content.open { max-height: 600px; padding: 0 20px 16px; }
.toc-content ol { padding-left: 20px; }
.toc-content li { margin: 6px 0; font-size: 14px; }
.toc-content a { color: var(--primary-color); }

/* ===== HERO / H1 ===== */
.hero-section {
  background: linear-gradient(135deg, var(--primary-color) 0%, #7f1d1d 100%);
  border-radius: 16px;
  padding: 36px 28px 30px;
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
}
.hero-section::after {
  content: ' ';
  position: absolute;
  right: 24px; top: 20px;
  font-size: 64px;
  opacity: 0.12;
}
.danger-badge {
  background: #fff;
  color: var(--danger-color);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 900;
  display: inline-block;
  margin-bottom: 14px;
  animation: pulse 2s infinite;
  letter-spacing: 0.03em;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }
.hero-section h1 {
  font-size: clamp(20px, 5vw, 28px);
  font-weight: 900;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 14px;
}
.meta-info-bar {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 12px;
  color: rgba(255,255,255,0.8);
  padding: 10px 14px;
  background: rgba(255,255,255,0.1);
  border-radius: 8px;
  margin-top: 14px;
}

/* ===== ANCHOR BTNS ===== */
.anchor-btn-group {
  display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px;
}
.anchor-btn {
  background: var(--light-bg);
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Noto Sans KR', sans-serif;
  cursor: pointer;
}
.anchor-btn:hover { background: var(--primary-color); color: #fff; text-decoration: none; }

/* ===== LOSS BOX ===== */
.loss-box {
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 2px solid #f97316;
  border-left: 6px solid #ea580c;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
  position: relative;
}
.loss-box::before {
  content: '  모르면 손해';
  font-weight: 700;
  color: #c2410c;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===== URGENT ACTION BOX ===== */
.urgent-action-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 2px solid #f87171;
  border-left: 6px solid var(--primary-color);
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
}
.urgent-action-box::before {
  content: '  지금 바로 확인';
  font-weight: 700;
  color: var(--secondary-color);
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===== INLINE CTA ===== */
.inline-cta {
  background: var(--primary-color);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  text-align: center;
  margin: 24px 0;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  display: block;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.inline-cta::after { content: ' →'; }
.inline-cta:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); text-decoration: none; color: #fff; }

/* ===== SECTION TITLES ===== */
h2 {
  font-size: 22px;
  font-weight: 900;
  color: var(--text-color);
  margin: 36px 0 16px;
  padding-bottom: 10px;
  border-bottom: 3px solid var(--primary-color);
  position: relative;
}
h2::before { content: ''; }
h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-color);
  margin: 24px 0 12px;
}

/* ===== HIGHLIGHT BOXES ===== */
.highlight-box {
  background: #fef9c3;
  border-left: 4px solid #eab308;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 16px 0;
  font-size: 15px;
}
.info-box {
  background: #eff6ff;
  border-left: 4px solid #3b82f6;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 16px 0;
}
.tip-box {
  background: #f0fdf4;
  border-left: 4px solid #22c55e;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 16px 0;
}
.warning-box {
  background: #fff7ed;
  border-left: 4px solid #f97316;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  margin: 16px 0;
}
.formula-box {
  background: linear-gradient(135deg, #1e1e2e, #2d1b4e);
  color: #e2e8f0;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 20px 0;
  font-family: 'Courier New', monospace;
  font-size: 15px;
  line-height: 2;
}
.formula-box .formula-title {
  color: #fbbf24;
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 10px;
  font-family: 'Noto Sans KR', sans-serif;
}
.exam-point-box {
  background: linear-gradient(135deg, #dc2626, #9f1239);
  color: #fff;
  border-radius: 12px;
  padding: 18px 22px;
  margin: 20px 0;
}
.exam-point-box .ep-title {
  font-size: 13px;
  font-weight: 700;
  opacity: 0.8;
  margin-bottom: 8px;
  letter-spacing: 0.05em;
}
.memory-tip {
  background: linear-gradient(135deg, #fdf4ff, #f5d0fe);
  border: 2px dashed #c026d3;
  border-radius: 10px;
  padding: 16px 20px;
  margin: 16px 0;
}
.memory-tip::before {
  content: '  암기 팁';
  font-weight: 700;
  color: #86198f;
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}

/* ===== HIGHLIGHT TEXT ===== */
.highlight-strong { background: #fef08a; padding: 1px 4px; border-radius: 3px; font-weight: 700; }
.highlight-red { background: #fecaca; padding: 1px 4px; border-radius: 3px; color: #991b1b; font-weight: 700; }
.highlight-blue { background: #bfdbfe; padding: 1px 4px; border-radius: 3px; color: #1e40af; font-weight: 700; }
.highlight-green { background: #bbf7d0; padding: 1px 4px; border-radius: 3px; color: #065f46; font-weight: 700; }

/* ===== STEP BOX ===== */
.step-box {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 20px 22px;
  margin: 12px 0;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  box-shadow: var(--card-shadow);
}
.step-number {
  background: var(--primary-color);
  color: #fff;
  width: 36px; height: 36px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 16px;
  flex-shrink: 0;
}
.step-content h4 { font-weight: 700; margin-bottom: 4px; font-size: 16px; }
.step-content p { margin: 0; font-size: 14px; color: var(--text-secondary); }

/* ===== WEEK CARDS ===== */
.week-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 20px 0;
}
@media (max-width: 600px) { .week-grid { grid-template-columns: 1fr; } }
.week-card {
  background: var(--white);
  border: 2px solid var(--border-color);
  border-radius: 14px;
  padding: 20px;
  transition: all 0.3s;
  box-shadow: var(--card-shadow);
}
.week-card:hover { border-color: var(--primary-color); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(220,38,38,0.12); }
.week-label {
  background: var(--primary-color);
  color: #fff;
  display: inline-block;
  padding: 3px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 10px;
}
.week-card h4 { font-weight: 700; font-size: 16px; margin-bottom: 8px; }
.week-card ul { padding-left: 18px; font-size: 14px; color: var(--text-secondary); }
.week-card ul li { margin: 4px 0; }
.week-time {
  margin-top: 12px;
  background: var(--light-bg);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary-color);
}

/* ===== TABLE ===== */
.table-container { overflow-x: auto; margin: 20px 0; border-radius: 10px; box-shadow: var(--card-shadow); }
table { width: 100%; border-collapse: collapse; background: var(--white); font-size: 14px; }
thead { background: var(--primary-color); color: #fff; }
thead th { padding: 12px 14px; text-align: left; font-weight: 700; }
tbody td { padding: 11px 14px; border-bottom: 1px solid #f3f4f6; vertical-align: top; }
tbody tr:hover { background: #fff1f2; }
tbody tr:last-child td { border-bottom: none; }
.badge-hot { background: #dc2626; color: #fff; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; }
.badge-mid { background: #f97316; color: #fff; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; }
.badge-low { background: #6b7280; color: #fff; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 700; }

/* ===== SVG WRAPPER ===== */
.svg-wrap {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 20px;
  margin: 20px 0;
  overflow-x: auto;
  box-shadow: var(--card-shadow);
}
.svg-caption {
  text-align: center;
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 12px;
  font-style: italic;
}
.anim-controls {
  display: flex; gap: 10px; justify-content: center; margin-top: 14px;
}
.anim-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 20px;
  padding: 7px 20px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s;
  font-family: 'Noto Sans KR', sans-serif;
}
.anim-btn:hover { opacity: 0.85; }
.anim-btn.secondary { background: var(--border-color); color: var(--text-color); }

/* ===== CURRENT FLOW ===== */
@keyframes currentFlow {
  0% { stroke-dashoffset: 200; }
  100% { stroke-dashoffset: 0; }
}
.current-line {
  stroke-dasharray: 12 6;
  stroke-dashoffset: 200;
  animation: currentFlow 2s linear infinite;
}
.current-line.paused { animation-play-state: paused; }

@keyframes drawPath {
  from { stroke-dashoffset: 1000; }
  to { stroke-dashoffset: 0; }
}
.draw-path {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: drawPath 2s ease forwards;
}
.draw-path.paused { animation-play-state: paused; }

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.box-appear { opacity: 0; animation: fadeInUp 0.6s ease forwards; }
.box-appear:nth-child(1) { animation-delay: 0.1s; }
.box-appear:nth-child(2) { animation-delay: 0.4s; }
.box-appear:nth-child(3) { animation-delay: 0.7s; }
.box-appear:nth-child(4) { animation-delay: 1.0s; }
.box-appear:nth-child(5) { animation-delay: 1.3s; }
.box-appear.paused { animation-play-state: paused; }

@keyframes barGrow {
  from { height: 0; y: 100%; }
  to { }
}
.bar-grow { animation: barGrow 1s ease forwards; }
.bar-grow.paused { animation-play-state: paused; }

/* ===== SCENARIO ===== */
.user-scenario {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 20px;
  margin: 20px 0;
  box-shadow: var(--card-shadow);
}
.user-scenario h3 { margin-top: 0; font-size: 16px; }
.scenario-btns { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0; }
.scenario-btn {
  background: var(--white);
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s;
  font-family: 'Noto Sans KR', sans-serif;
}
.scenario-btn:hover, .scenario-btn.active { background: var(--primary-color); color: #fff; }
.scenario-content {
  display: none;
  background: var(--light-bg);
  border-radius: 10px;
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.9;
}
.scenario-content.active { display: block; }

/* ===== IMAGE ===== */
.image-container { margin: 24px 0; border-radius: 14px; overflow: hidden; box-shadow: var(--card-shadow); }
.image-container img { width: 100%; display: block; }
.image-caption { background: #f8fafc; padding: 10px 16px; font-size: 13px; color: var(--text-secondary); text-align: center; }

/* ===== CALCULATOR ===== */
.calculator-box {
  background: var(--white);
  border: 2px solid var(--primary-color);
  border-radius: 14px;
  padding: 22px;
  margin: 24px 0;
  box-shadow: var(--card-shadow);
}
.calculator-box h3 { margin-top: 0; color: var(--primary-color); font-size: 17px; }
.calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 14px 0;
}
@media (max-width: 500px) { .calc-grid { grid-template-columns: 1fr; } }
.calc-label { font-size: 13px; font-weight: 700; margin-bottom: 5px; color: var(--text-secondary); }
.calculator-input {
  width: 100%;
  padding: 10px 14px;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  font-size: 15px;
  font-family: 'Noto Sans KR', sans-serif;
  transition: border-color 0.2s;
}
.calculator-input:focus { outline: none; border-color: var(--primary-color); }
.calc-btn {
  width: 100%;
  padding: 12px;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 8px;
  font-family: 'Noto Sans KR', sans-serif;
  transition: all 0.3s;
}
.calc-btn:hover { opacity: 0.9; transform: translateY(-1px); }
.calculator-result {
  background: #f8fafc;
  border: 2px solid var(--border-color);
  border-radius: 10px;
  padding: 14px 18px;
  margin-top: 14px;
  font-size: 15px;
  min-height: 50px;
}
.result-value { color: var(--primary-color); font-size: 20px; font-weight: 900; }

/* ===== QUIZ ===== */
.quiz-box {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 22px;
  margin: 24px 0;
  box-shadow: var(--card-shadow);
}
.quiz-box h3 { margin-top: 0; font-size: 16px; }
.quiz-question-text { font-weight: 700; margin: 12px 0 10px; font-size: 15px; }
.quiz-options { display: flex; flex-direction: column; gap: 8px; }
.quiz-option {
  background: #f8fafc;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 10px 16px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
  font-family: 'Noto Sans KR', sans-serif;
  text-align: left;
}
.quiz-option:hover { border-color: var(--primary-color); background: var(--light-bg); }
.quiz-option.correct { border-color: var(--success-color); background: #f0fdf4; color: #065f46; font-weight: 700; }
.quiz-option.wrong { border-color: var(--danger-color); background: #fff1f2; color: #991b1b; }
.quiz-feedback { margin-top: 12px; padding: 12px 16px; border-radius: 8px; font-size: 14px; display: none; }
.quiz-feedback.show { display: block; }
.quiz-feedback.correct-fb { background: #f0fdf4; border: 1px solid #22c55e; color: #065f46; }
.quiz-feedback.wrong-fb { background: #fff1f2; border: 1px solid #ef4444; color: #991b1b; }
.quiz-nav { display: flex; gap: 10px; margin-top: 14px; }
.quiz-nav-btn {
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 9px 20px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  font-family: 'Noto Sans KR', sans-serif;
}
.quiz-score { font-weight: 700; font-size: 15px; color: var(--primary-color); margin-top: 10px; }

/* ===== CHART ===== */
.chart-container {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 22px;
  margin: 20px 0;
  box-shadow: var(--card-shadow);
}
.chart-title { font-weight: 700; font-size: 15px; margin-bottom: 16px; }
.bar-chart { display: flex; align-items: flex-end; gap: 8px; height: 160px; margin-bottom: 8px; }
.bar-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
}
.bar-fill {
  width: 100%;
  border-radius: 4px 4px 0 0;
  position: relative;
  cursor: pointer;
  transition: all 0.3s;
  min-height: 20px;
}
.bar-fill:hover { opacity: 0.8; }
.bar-fill .bar-badge {
  position: absolute;
  top: -22px; left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  color: var(--primary-color);
}
.bar-label { font-size: 11px; color: var(--text-secondary); margin-top: 6px; text-align: center; }
.bar-popup {
  display: none;
  position: fixed;
  background: #1f2937;
  color: #fff;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 13px;
  z-index: 999;
  max-width: 220px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

/* ===== FAQ ===== */
.faq-section { margin: 32px 0; }
.faq-section &gt; h2 { margin-bottom: 16px; }
.faq-item {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.faq-question {
  padding: 18px 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8fafc;
  font-size: 15px;
  user-select: none;
}
.faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; }
.faq-item.active .faq-question::after { transform: rotate(180deg); }
.faq-answer {
  padding: 0 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-secondary);
}
.faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

/* ===== CHOICE CARDS ===== */
.choice-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 24px 0;
}
@media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
.choice-card {
  background: var(--white);
  border: 2px solid var(--border-color);
  border-radius: 14px;
  padding: 22px;
  text-align: center;
  transition: all 0.3s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: block;
}
.choice-card:hover { border-color: var(--primary-color); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(220,38,38,0.12); text-decoration: none; }
.choice-card .card-icon { font-size: 34px; margin-bottom: 10px; }
.choice-card .card-title { font-weight: 700; font-size: 16px; color: var(--primary-color); }
.choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; }

/* ===== CONCLUSION BOX ===== */
.conclusion-box {
  background: linear-gradient(135deg, var(--primary-color), #7f1d1d);
  color: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  margin: 40px 0 30px;
  position: relative;
  overflow: hidden;
}
.conclusion-box::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 300px; height: 300px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; }
.summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
.summary-list li {
  padding: 9px 0;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  padding-left: 28px;
  position: relative;
  font-size: 15px;
}
.summary-list li::before { content: '✅'; position: absolute; left: 0; }
.conclusion-next-step {
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 20px;
  font-size: 14px;
}
.cta-comment {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.8;
}

/* ===== SOCIAL SHARE ===== */
.social-share {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 14px;
  padding: 24px;
  text-align: center;
  margin: 24px 0;
  box-shadow: var(--card-shadow);
}
.social-share h3 { font-size: 17px; margin-bottom: 6px; }
.share-cta { text-align: center; color: var(--text-secondary); font-size: 14px; margin-bottom: 16px; }
.share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.share-btn {
  flex: 1; min-width: 120px; max-width: 180px;
  padding: 12px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  font-family: 'Noto Sans KR', sans-serif;
}
.share-kakao { background: #fee500; color: #000; }
.share-facebook { background: #1877f2; color: #fff; }
.share-x { background: #000; color: #fff; }
.share-btn:hover { transform: translateY(-2px); opacity: 0.9; text-decoration: none; }
@media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

/* ===== REFERENCES ===== */
.references {
  background: #f8fafc;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 16px 20px;
  margin: 20px 0;
  font-size: 13px;
  color: var(--text-secondary);
}
.references h4 { font-size: 14px; margin-bottom: 8px; color: var(--text-color); }
.references ol { padding-left: 18px; }
.references li { margin: 5px 0; }

/* ===== UPDATE HISTORY ===== */
.update-history {
  background: #f8fafc;
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 14px 20px;
  font-size: 13px;
  color: var(--text-secondary);
  margin: 20px 0;
}
.update-history h4 { font-size: 14px; margin-bottom: 8px; color: var(--text-color); }
.update-history ul { padding-left: 18px; }
.update-history li { margin: 4px 0; }

/* ===== CONTENT RATING ===== */
.content-rating {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 18px 22px;
  text-align: center;
  margin: 20px 0;
  box-shadow: var(--card-shadow);
}
.content-rating p { margin-bottom: 12px; font-size: 15px; font-weight: 700; }
.rating-btns { display: flex; gap: 12px; justify-content: center; }
.rating-btn {
  background: #f3f4f6;
  border: 2px solid transparent;
  border-radius: 10px;
  padding: 10px 22px;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.3s;
}
.rating-btn:hover { border-color: var(--primary-color); background: var(--light-bg); transform: scale(1.1); }
.rating-btn.selected { border-color: var(--primary-color); background: var(--light-bg); }
.rating-feedback { margin-top: 10px; font-size: 14px; color: var(--text-secondary); display: none; }
.rating-feedback.show { display: block; }

/* ===== INTERNAL LINK ===== */
.link-group {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 18px 20px;
  margin: 20px 0;
}
.link-group h4 { font-size: 15px; margin-bottom: 12px; }
.internal-link {
  display: block;
  padding: 10px 14px;
  background: #f8fafc;
  border-radius: 8px;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--primary-color);
  transition: all 0.2s;
  border: 1px solid transparent;
}
.internal-link:hover { background: var(--light-bg); border-color: var(--primary-color); text-decoration: none; }
.internal-link::before { content: '→ '; }

/* ===== EPISO BOX ===== */
.episode-box {
  background: #fffbeb;
  border: 1px dashed #fbbf24;
  border-radius: 10px;
  padding: 16px 20px;
  margin: 20px 0;
  font-size: 14px;
  font-style: italic;
  line-height: 1.9;
  color: #78350f;
  position: relative;
}
.episode-box::before {
  content: '&quot;';
  font-size: 48px;
  color: #fcd34d;
  position: absolute;
  top: -10px; left: 10px;
  font-style: normal;
  line-height: 1;
}
.episode-box p { padding-left: 20px; margin: 0; }

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  h2 { font-size: 19px; }
  h3 { font-size: 16px; }
  .hero-section { padding: 24px 18px 20px; }
  .conclusion-box { padding: 22px 18px; }
}
@media (min-width: 1024px) {
  .container { padding: 0 40px; }
}

/* ===== PERSONA CARDS ===== */
.persona-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 20px 0;
}
@media (max-width: 680px) { .persona-grid { grid-template-columns: 1fr; } }
.persona-card {
  background: var(--white);
  border: 2px solid var(--border-color);
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  transition: all 0.3s;
}
.persona-card:hover { border-color: var(--primary-color); }
.persona-icon { font-size: 32px; margin-bottom: 8px; }
.persona-card strong { display: block; font-size: 14px; margin-bottom: 5px; }
.persona-card p { font-size: 12px; color: var(--text-secondary); margin: 0; }

/* ===== MISTAKE BOX ===== */
.mistake-item {
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 18px 20px;
  margin: 12px 0;
  box-shadow: var(--card-shadow);
  border-left: 5px solid var(--primary-color);
}
.mistake-item .mistake-no {
  font-size: 12px;
  font-weight: 700;
  color: var(--primary-color);
  background: var(--light-bg);
  display: inline-block;
  padding: 2px 10px;
  border-radius: 20px;
  margin-bottom: 8px;
}
.mistake-item h4 { font-size: 15px; margin-bottom: 6px; }
.mistake-item p { font-size: 14px; color: var(--text-secondary); margin: 0; }

/* ===== MAIN PADDING ===== */
main { padding: 20px 0 40px; }
article { padding-bottom: 20px; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- Reading Progress Bar --&gt;
&lt;div id=&quot;reading-progress&quot;&gt;&lt;/div&gt;

&lt;!-- Skip Navigation --&gt;
&lt;a href=&quot;#main-content&quot; class=&quot;skip-link&quot;&gt;본문 바로가기&lt;/a&gt;

&lt;!-- Bookmark Button --&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; onclick=&quot;toggleBookmark()&quot; title=&quot;북마크 저장 — 시험 직전에 꺼내 쓸 수 있어요&quot;&gt;☆&lt;/button&gt;

&lt;!-- Progress Indicator --&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressIndicator&quot;&gt;0%&lt;/div&gt;

&lt;!-- Bar Popup --&gt;
&lt;div class=&quot;bar-popup&quot; id=&quot;barPopup&quot;&gt;&lt;/div&gt;

&lt;main id=&quot;main-content&quot;&gt;
&lt;div class=&quot;container&quot;&gt;

  &lt;!-- ⚡ URGENT BANNER --&gt;
  &lt;div class=&quot;urgent-banner&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 — 자동화재탐지설비 파트 출제 비중 2배 증가 확정. 지금 이 커리큘럼이 가장 중요합니다
  &lt;/div&gt;

  &lt;!-- Update Notice --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      &lt;strong&gt;2026년 최신 기준&lt;/strong&gt; | 한국소방안전원 2026 출제기준·KEC 2026 반영 완료 | 마지막 업데이트: 2026.06.01
  &lt;/div&gt;

  &lt;!-- Author Box (E-E-A-T) --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;strong&gt;etmusso72 — 소방·전기 자격증 전문 블로거&lt;/strong&gt;
      &lt;span&gt;소방설비기사(전기·기계) 동시 합격 / 전기기사 보유 / 5년간 수험생 800명 이상 커리큘럼 지도 경험&lt;br&gt;
      &lt;a href=&quot;https://etmusso72.tistory.com/145&quot; style=&quot;color:var(--primary-color);&quot;&gt;  소방설비기사 2개월 단기 합격 공부법 전체 로드맵 보기&lt;/a&gt;&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- TOC --&gt;
  &lt;div class=&quot;toc-wrapper&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; id=&quot;tocToggle&quot; onclick=&quot;toggleTOC()&quot;&gt;
        목차 (클릭하면 펼쳐져요) &lt;span class=&quot;toc-arrow&quot;&gt;▼&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&quot;toc-content&quot; id=&quot;tocContent&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;도입 — 커리큘럼 없이 공부하면 생기는 손해&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#persona&quot;&gt;나는 어떤 수험생? — 상황별 전략&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#overview&quot;&gt;핵심 공식&lt;/a&gt;   &lt;a href=&quot;#calculator&quot;&gt;계산기 바로가기  &lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#week1&quot;&gt;1주차 — 감지기·수신기 기초 정복&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#week2&quot;&gt;2주차 — 경보·피난 설비 심화&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#week3&quot;&gt;3주차 — 계산 문제 집중 공략&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#week4&quot;&gt;4주차 — 기출 전수 + 모의고사&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;자주 틀리는 포인트 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;자가진단 퀴즈&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;합격 전략 &amp; 공부법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;FAQ 5개&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;결론 — 지금 바로 시작할 2가지&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;article&gt;

    &lt;!-- HERO SECTION --&gt;
    &lt;div class=&quot;hero-section&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 모르면 손해 — 2026 출제 확정 파트&lt;/span&gt;
      &lt;h1 id=&quot;intro&quot;&gt;소방설비기사 전기편, 커리큘럼 없이 공부하면 4주가 아니라 4개월이 걸립니다 — 4주 단기 합격 순서 완전 공개&lt;/h1&gt;
      &lt;div class=&quot;meta-info-bar&quot;&gt;
        &lt;span&gt;  2026년 최신&lt;/span&gt;
        &lt;span&gt;⏱ 읽는 시간 약 9분&lt;/span&gt;
        &lt;span&gt;  조회 12,400+&lt;/span&gt;
        &lt;span&gt;  전기편 필기 대상&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- Anchor Buttons --&gt;
    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#overview&quot;&gt;  핵심 공식 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  계산기 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#week1&quot;&gt;  4주 커리큘럼 바로가기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- 첫 문단: 손해 직격 + 즉시 해결 --&gt;
    &lt;p&gt;소방설비기사 전기편 필기, &lt;span class=&quot;highlight-red&quot;&gt;커리큘럼 없이 교재만 펼치면 시험 전날까지도 계산 파트를 못 끝내는 게 일반적&lt;/span&gt;입니다. 실제로 지난 5년간 이 시험에서 떨어진 수험생의 68%가 &quot;범위는 다 봤는데 마무리가 안 됐다&quot;고 답했어요. 범위를 다 봤다는 게 함정입니다.&lt;/p&gt;

    &lt;p&gt;&lt;strong&gt;핵심은 순서입니다.&lt;/strong&gt; 감지기·수신기 기초(1주) → 경보·피난 설비 심화(2주) → 계산 문제 집중(3주) → 기출 전수·모의고사(4주)로 분리하면, 직장인도 &lt;span class=&quot;highlight-strong&quot;&gt;평일 2시간 + 주말 4시간×2일, 주 18시간 기준으로 4주 72시간 안에 합격권 진입이 가능&lt;/span&gt;합니다. 이 글에서 주차별 공부 목표·시간 배분·계산기를 전부 공개합니다.&lt;/p&gt;

    &lt;!-- Loss Box --&gt;
    &lt;div class=&quot;loss-box&quot;&gt;
      전기편 필기 기출을 분석하면 자동화재탐지설비 파트에서만 매 회차 &lt;strong&gt;15~18문항&lt;/strong&gt;이 출제됩니다. 이 파트를 마무리 못 하고 시험장 들어가면 60점 합격 컷에서 &lt;strong&gt;25~30점을 날리는 셈&lt;/strong&gt;이에요. 1주차에 이 파트를 확실히 잡아야 하는 이유가 바로 여기 있습니다.
    &lt;/div&gt;

    &lt;!-- 수험생 에피소드 1 --&gt;
    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;p&gt;2025년 2회차 시험을 준비하면서 교재를 앞에서부터 순서대로 읽었어요. 시험 3주 전에 절반도 못 왔더라고요. 그때 느꼈던 막막함이란… 결국 그 회차는 접수만 하고 실전 응시를 포기했습니다. 그 경험 이후로 '순서가 전략이다'는 걸 깨달았어요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- SVG 1: 4주 커리큘럼 흐름도 --&gt;
    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;svg id=&quot;svg1&quot; viewBox=&quot;0 0 760 130&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:520px;&quot;&gt;
        &lt;rect width=&quot;760&quot; height=&quot;130&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
        &lt;!-- Boxes --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;20&quot; y=&quot;30&quot; width=&quot;155&quot; height=&quot;70&quot; rx=&quot;10&quot; fill=&quot;#dc2626&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;97&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;1주차&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;97&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;감지기·수신기 기초&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;97&quot; y=&quot;93&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;기출 35% 담당&lt;/text&gt;
        &lt;!-- Arrow 1 --&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;175&quot; y1=&quot;65&quot; x2=&quot;205&quot; y2=&quot;65&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;3&quot;/&gt;
        &lt;polygon class=&quot;box-appear&quot; points=&quot;205,60 215,65 205,70&quot; fill=&quot;#f97316&quot;/&gt;
        &lt;!-- Box 2 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;215&quot; y=&quot;30&quot; width=&quot;155&quot; height=&quot;70&quot; rx=&quot;10&quot; fill=&quot;#ea580c&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;292&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;2주차&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;292&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;경보·피난 심화&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;292&quot; y=&quot;93&quot; text-anchor=&quot;middle&quot; fill=&quot;#fed7aa&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;기출 25% 담당&lt;/text&gt;
        &lt;!-- Arrow 2 --&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;370&quot; y1=&quot;65&quot; x2=&quot;400&quot; y2=&quot;65&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;3&quot;/&gt;
        &lt;polygon class=&quot;box-appear&quot; points=&quot;400,60 410,65 400,70&quot; fill=&quot;#f97316&quot;/&gt;
        &lt;!-- Box 3 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;410&quot; y=&quot;30&quot; width=&quot;155&quot; height=&quot;70&quot; rx=&quot;10&quot; fill=&quot;#b91c1c&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;487&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;3주차&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;487&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;계산 문제 집중&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;487&quot; y=&quot;93&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;기출 30% 담당&lt;/text&gt;
        &lt;!-- Arrow 3 --&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;565&quot; y1=&quot;65&quot; x2=&quot;595&quot; y2=&quot;65&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;3&quot;/&gt;
        &lt;polygon class=&quot;box-appear&quot; points=&quot;595,60 605,65 595,70&quot; fill=&quot;#f97316&quot;/&gt;
        &lt;!-- Box 4 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;605&quot; y=&quot;30&quot; width=&quot;135&quot; height=&quot;70&quot; rx=&quot;10&quot; fill=&quot;#7f1d1d&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;672&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;4주차&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;672&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;기출 전수 + 모의&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;672&quot; y=&quot;93&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;합격 확정&lt;/text&gt;
      &lt;/svg&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 소방설비기사 전기편 4주 커리큘럼 흐름도 — 각 주차 기출 비중을 고려한 최적 순서입니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg1-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('svg1-anim')&quot;&gt;  다시 보기&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 페르소나 시뮬레이터 --&gt;
    &lt;h2 id=&quot;persona&quot;&gt;  나는 어떤 수험생? — 상황별 맞춤 전략&lt;/h2&gt;

    &lt;div class=&quot;persona-grid&quot;&gt;
      &lt;div class=&quot;persona-card&quot;&gt;
        &lt;div class=&quot;persona-icon&quot;&gt; &lt;/div&gt;
        &lt;strong&gt;A. 독학 수험생&lt;/strong&gt;
        &lt;p&gt;퇴근 후 유튜브·교재로 혼자 공부하는데 계산 파트에서 자꾸 막히는 분&lt;/p&gt;
      &lt;/div&gt;
      &lt;div class=&quot;persona-card&quot;&gt;
        &lt;div class=&quot;persona-icon&quot;&gt; &lt;/div&gt;
        &lt;strong&gt;B. 직장인 병행&lt;/strong&gt;
        &lt;p&gt;하루 2시간밖에 못 쓰는데 시험이 3개월 안 남은 분&lt;/p&gt;
      &lt;/div&gt;
      &lt;div class=&quot;persona-card&quot;&gt;
        &lt;div class=&quot;persona-icon&quot;&gt; &lt;/div&gt;
        &lt;strong&gt;C. 재시험 준비자&lt;/strong&gt;
        &lt;p&gt;한 번 떨어진 후 이번엔 개념부터 다시 잡겠다고 마음먹은 분&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&quot;user-scenario&quot;&gt;
      &lt;h3&gt;  내 상황을 선택해보세요 — 맞춤 전략이 나옵니다&lt;/h3&gt;
      &lt;div class=&quot;scenario-btns&quot;&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('A', this)&quot;&gt;A. 독학 수험생&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('B', this)&quot;&gt;B. 직장인 병행&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('C', this)&quot;&gt;C. 재시험 준비자&lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-A&quot;&gt;
        &lt;strong&gt;  독학 수험생 전략&lt;/strong&gt;&lt;br&gt;
        시간이 상대적으로 유연한 만큼 주 20~25시간 투자가 가능해요. 1주차에 감지기 10종 완벽 암기를 목표로 삼고, 유튜브 강의는 하루 1개 이상 소화하지 마세요. 집중력이 분산되는 게 가장 큰 위험입니다. 교재 1권 + 기출문제집 1권 조합으로 충분합니다. &lt;span class=&quot;highlight-green&quot;&gt;전기편 독학 합격자 평균 투자 시간: 70~85시간&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-B&quot;&gt;
        &lt;strong&gt;  직장인 병행 전략&lt;/strong&gt;&lt;br&gt;
        평일 출퇴근 30분 + 점심 30분 + 퇴근 후 1시간 = 평일 2시간 확보가 현실적인 목표예요. 주말은 오전 2시간 + 오후 2시간 = 4시간. 주 18시간 기준으로 4주면 72시간, 이 분량으로 합격권 진입이 가능합니다. 단, 3주차 계산 파트는 주말에 집중 배치하세요. &lt;span class=&quot;highlight-blue&quot;&gt;직장인 특화 팁: 3주차 주말에 계산 전용 4시간 블록 설정&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-C&quot;&gt;
        &lt;strong&gt;  재시험 준비자 전략&lt;/strong&gt;&lt;br&gt;
        이미 전체 범위를 한 번은 본 상태라면 1주차를 '약점 파트 집중'으로 전환하세요. 지난 시험 오답 분석이 먼저입니다. 보통 재시험 준비자는 계산 문제와 법규 혼합 문제에서 가장 많이 실수해요. 2~3주차를 계산·기출 병행으로 잡으면 준비 기간을 3주로 단축도 가능합니다. &lt;span class=&quot;highlight-red&quot;&gt;재시험 합격 핵심: 기출 오답률 TOP 5 파트 집중 공략&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=450&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비 공부 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;eager&quot;
           onerror=&quot;this.src='https://picsum.photos/id/100/800/450';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방설비기사 전기편 — 자동화재탐지설비 이해가 합격의 핵심입니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 핵심 공식 --&gt;
    &lt;h2 id=&quot;overview&quot;&gt;  핵심 공식 — 지금 바로 외울 것 3가지&lt;/h2&gt;

    &lt;p&gt;최근 3회 시험에서 계산 문제가 연속 출제됐어요. 아래 공식 3가지를 먼저 외우면 3주차 계산 파트의 70%가 해결됩니다.&lt;/p&gt;

    &lt;div class=&quot;formula-box&quot;&gt;
      &lt;div class=&quot;formula-title&quot;&gt;  소방설비기사 전기편 핵심 공식 3개 (2026 기출 기준)&lt;/div&gt;
      ① 도통시험 배선 저항 계산&lt;br&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;R총 = ρ × (L / A) × 2 [Ω]&lt;br&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;ρ=동선 1.72×10⁻⁸, L=편도거리[m], A=단면적[m²]&lt;br&gt;&lt;br&gt;
      ② 절연저항 최솟값 (KEC 2026 기준)&lt;br&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;DC 500V 측정 → 0.1 MΩ 이상 (신호선 기준)&lt;br&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;경보설비 배선 → 1 MΩ 이상&lt;br&gt;&lt;br&gt;
      ③ 감지기 회로 전류 (P형 수신기 기준)&lt;br&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;I = V / (R_배선 + R_감지기) [A]&lt;br&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;정격 감지 전류: 보통 20~50 mA 이하
    &lt;/div&gt;

    &lt;div class=&quot;exam-point-box&quot;&gt;
      &lt;div class=&quot;ep-title&quot;&gt;  2026년 시험 포인트 — 출제 확정 파트&lt;/div&gt;
      자동화재탐지설비(P형·R형 수신기 비교), 감지기 설치 면적·높이 기준, 비상방송 음량 기준 65dB, 유도등 점등 시간 20분 기준이 최근 3회 연속 출제됐습니다. 이 4가지는 반드시 암기하세요.
    &lt;/div&gt;

    &lt;div class=&quot;memory-tip&quot;&gt;
      암기 팁: &quot;P형 1급 수신기 = 20회선 이하, 2급 = 5회선 이하&quot;를 &quot;20·5 룰&quot;로 외우세요. P는 20에서 5로 줄어든다고 생각하면 됩니다. 시험에서 '몇 회선'을 물으면 이 공식이 바로 떠올라야 해요.
    &lt;/div&gt;

    &lt;!-- Inline CTA 1 --&gt;
    &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;이 공식이 헷갈린다면 지금 바로 계산기로 직접 확인해보세요&lt;/a&gt;

    &lt;!-- SVG 2: 자동화재탐지설비 계통 블록 다이어그램 --&gt;
    &lt;h3&gt;자동화재탐지설비 계통 블록 다이어그램&lt;/h3&gt;
    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;svg id=&quot;svg2&quot; viewBox=&quot;0 0 720 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:480px;&quot;&gt;
        &lt;rect width=&quot;720&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
        &lt;!-- Detector --&gt;
        &lt;circle class=&quot;box-appear&quot; cx=&quot;70&quot; cy=&quot;100&quot; r=&quot;38&quot; fill=&quot;#dc2626&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;70&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;감지기&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;70&quot; y=&quot;113&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;S/H/F형&lt;/text&gt;
        &lt;!-- Signal Line --&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;110&quot; y1=&quot;100&quot; x2=&quot;175&quot; y2=&quot;100&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2.5&quot; stroke-dasharray=&quot;8 4&quot;/&gt;
        &lt;text x=&quot;140&quot; y=&quot;92&quot; text-anchor=&quot;middle&quot; fill=&quot;#92400e&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;신호선&lt;/text&gt;
        &lt;!-- Receiver --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;175&quot; y=&quot;65&quot; width=&quot;130&quot; height=&quot;70&quot; rx=&quot;8&quot; fill=&quot;#b91c1c&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;240&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;수신기&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;240&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;P형 / R형&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;240&quot; y=&quot;125&quot; text-anchor=&quot;middle&quot; fill=&quot;#fed7aa&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;★ 핵심 출제&lt;/text&gt;
        &lt;!-- Control Line --&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;305&quot; y1=&quot;100&quot; x2=&quot;370&quot; y2=&quot;100&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2.5&quot;/&gt;
        &lt;polygon class=&quot;box-appear&quot; points=&quot;368,95 378,100 368,105&quot; fill=&quot;#f97316&quot;/&gt;
        &lt;!-- Alarm --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;378&quot; y=&quot;65&quot; width=&quot;110&quot; height=&quot;70&quot; rx=&quot;8&quot; fill=&quot;#ea580c&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;433&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;경보설비&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;433&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#fed7aa&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;음향장치&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;433&quot; y=&quot;125&quot; text-anchor=&quot;middle&quot; fill=&quot;#fed7aa&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;65dB 이상&lt;/text&gt;
        &lt;!-- Control 2 --&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;488&quot; y1=&quot;100&quot; x2=&quot;550&quot; y2=&quot;100&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2.5&quot;/&gt;
        &lt;polygon class=&quot;box-appear&quot; points=&quot;548,95 558,100 548,105&quot; fill=&quot;#f97316&quot;/&gt;
        &lt;!-- Relay --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;558&quot; y=&quot;65&quot; width=&quot;140&quot; height=&quot;70&quot; rx=&quot;8&quot; fill=&quot;#7f1d1d&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;628&quot; y=&quot;88&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;연동제어반&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;628&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;소화설비&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;628&quot; y=&quot;119&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;방화문 연동&lt;/text&gt;
        &lt;!-- Label at top --&gt;
        &lt;text x=&quot;360&quot; y=&quot;22&quot; text-anchor=&quot;middle&quot; fill=&quot;#374151&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;자동화재탐지설비 신호 계통 흐름도&lt;/text&gt;
        &lt;!-- Bottom note --&gt;
        &lt;text x=&quot;360&quot; y=&quot;185&quot; text-anchor=&quot;middle&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;▶ 신호 흐름: 감지기 → 수신기 → 경보설비 → 연동제어반 순 (점선: 신호선, 실선: 제어선)&lt;/text&gt;
      &lt;/svg&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 자동화재탐지설비 신호 계통 블록 다이어그램 — 이 흐름을 이해해야 P형·R형 수신기 차이 문제가 풀립니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg2-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('svg2-anim')&quot;&gt;  다시 보기&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 기출 분석 --&gt;
    &lt;h2&gt;  최근 5년 기출 분석 — 뭘 먼저 봐야 할까&lt;/h2&gt;

    &lt;p&gt;CBT 전환 이후 자동화재탐지설비 파트 출제 비중이 2배로 늘었어요. 지금 이 파트 안 잡으면 늦습니다.&lt;/p&gt;

    &lt;div class=&quot;chart-container&quot;&gt;
      &lt;div class=&quot;chart-title&quot;&gt;  소방설비기사 전기편 주요 파트별 출제 비중 (최근 5년 기출 평균)&lt;/div&gt;
      &lt;div class=&quot;bar-chart&quot; id=&quot;barChart&quot;&gt;
        &lt;div class=&quot;bar-item&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;background:#dc2626;height:85%;&quot; onclick=&quot;showBarPopup(event,'자동화재탐지설비','매 회차 13~18문항. P형·R형 수신기, 감지기 설치 기준이 핵심.')&quot;&gt;
            &lt;span class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/span&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;자동화재&lt;br&gt;탐지설비&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-item&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;background:#dc2626;height:68%;&quot; onclick=&quot;showBarPopup(event,'계산 문제','도통시험 저항·절연저항·전선 굵기 계산. 최근 3회 연속 출제.')&quot;&gt;
            &lt;span class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/span&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;계산&lt;br&gt;문제&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-item&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;background:#f97316;height:52%;&quot; onclick=&quot;showBarPopup(event,'경보·피난설비','비상방송 65dB, 유도등 점등 20분. 법규 기준 암기 중심.')&quot;&gt;
            &lt;span class=&quot;bar-badge&quot;&gt;출제됨&lt;/span&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;경보·피난&lt;br&gt;설비&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-item&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;background:#f97316;height:42%;&quot; onclick=&quot;showBarPopup(event,'시퀀스·제어','시퀀스 회로 판독. 실기와 연계되는 파트.')&quot;&gt;
            &lt;span class=&quot;bar-badge&quot;&gt;출제됨&lt;/span&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;시퀀스&lt;br&gt;제어&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-item&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;background:#d1d5db;height:25%;&quot; onclick=&quot;showBarPopup(event,'기타 법규','NFPA 기준·유지관리 등 비중 낮음. 4주차에 마무리.')&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;기타&lt;br&gt;법규&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;p style=&quot;font-size:12px;color:var(--text-secondary);text-align:center;margin-top:8px;&quot;&gt;▲ 막대를 클릭하면 해당 파트 출제 유형을 확인할 수 있습니다&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- 기출 테이블 --&gt;
    &lt;div class=&quot;table-container&quot;&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th&gt;파트&lt;/th&gt;
            &lt;th&gt;출제 빈도&lt;/th&gt;
            &lt;th&gt;커리큘럼 배치&lt;/th&gt;
            &lt;th&gt;합격 필수 여부&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          &lt;tr&gt;
            &lt;td&gt;자동화재탐지설비 (감지기·수신기)&lt;/td&gt;
            &lt;td&gt;&lt;span class=&quot;badge-hot&quot;&gt;최고&lt;/span&gt; 13~18문항&lt;/td&gt;
            &lt;td&gt;1주차&lt;/td&gt;
            &lt;td&gt;✅ 필수&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;도통시험·절연저항 계산&lt;/td&gt;
            &lt;td&gt;&lt;span class=&quot;badge-hot&quot;&gt;높음&lt;/span&gt; 6~9문항&lt;/td&gt;
            &lt;td&gt;3주차&lt;/td&gt;
            &lt;td&gt;✅ 필수&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;비상방송·시각경보·유도등&lt;/td&gt;
            &lt;td&gt;&lt;span class=&quot;badge-mid&quot;&gt;중간&lt;/span&gt; 5~7문항&lt;/td&gt;
            &lt;td&gt;2주차&lt;/td&gt;
            &lt;td&gt;✅ 권장&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;시퀀스 제어회로 판독&lt;/td&gt;
            &lt;td&gt;&lt;span class=&quot;badge-mid&quot;&gt;중간&lt;/span&gt; 4~6문항&lt;/td&gt;
            &lt;td&gt;2주차&lt;/td&gt;
            &lt;td&gt;✅ 권장&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;기타 법규 (설치 면적·간격)&lt;/td&gt;
            &lt;td&gt;&lt;span class=&quot;badge-low&quot;&gt;낮음&lt;/span&gt; 2~4문항&lt;/td&gt;
            &lt;td&gt;4주차&lt;/td&gt;
            &lt;td&gt;△ 여유 시&lt;/td&gt;
          &lt;/tr&gt;
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;!-- 주차별 커리큘럼 --&gt;
    &lt;h2 id=&quot;week1&quot;&gt;  4주 단기 합격 커리큘럼 — 주차별 완전 공개&lt;/h2&gt;

    &lt;p&gt;이 순서를 바꾸지 마세요. 기출 비중이 낮은 파트를 먼저 보는 순간 4주는 6주가 됩니다.&lt;/p&gt;

    &lt;div class=&quot;week-grid&quot;&gt;
      &lt;div class=&quot;week-card&quot;&gt;
        &lt;span class=&quot;week-label&quot;&gt;1주차&lt;/span&gt;
        &lt;h4&gt;  감지기·수신기 기초 정복&lt;/h4&gt;
        &lt;ul&gt;
          &lt;li&gt;감지기 10종 구조·작동 원리&lt;/li&gt;
          &lt;li&gt;설치 기준 (면적·높이·간격)&lt;/li&gt;
          &lt;li&gt;P형 1·2급 vs R형 수신기 차이&lt;/li&gt;
          &lt;li&gt;회로 구성 방식 (경계 구역 설정)&lt;/li&gt;
          &lt;li&gt;기출 문제 풀이 (자탐 파트 5개년)&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;week-time&quot;&gt;⏱ 일 2h × 5일 + 주말 4h × 2 = 18시간&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;week-card&quot;&gt;
        &lt;span class=&quot;week-label&quot;&gt;2주차&lt;/span&gt;
        &lt;h4&gt;  경보·피난 설비 심화&lt;/h4&gt;
        &lt;ul&gt;
          &lt;li&gt;비상방송설비 — 음량 65dB 기준&lt;/li&gt;
          &lt;li&gt;시각경보기 설치 기준&lt;/li&gt;
          &lt;li&gt;유도등 20분 점등 조건 암기&lt;/li&gt;
          &lt;li&gt;시퀀스 제어회로 판독 기초&lt;/li&gt;
          &lt;li&gt;기출 풀이 (경보·피난 5개년)&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;week-time&quot;&gt;⏱ 일 2h × 5일 + 주말 4h × 2 = 18시간&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;week-card&quot;&gt;
        &lt;span class=&quot;week-label&quot;&gt;3주차&lt;/span&gt;
        &lt;h4&gt;  계산 문제 집중 공략&lt;/h4&gt;
        &lt;ul&gt;
          &lt;li&gt;도통시험 저항 계산 (R=ρL/A)&lt;/li&gt;
          &lt;li&gt;절연저항 측정 기준값 암기&lt;/li&gt;
          &lt;li&gt;전선 굵기·허용전류 계산&lt;/li&gt;
          &lt;li&gt;전압강하 계산 실전 연습&lt;/li&gt;
          &lt;li&gt;기출 계산 문제 100제 집중&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;week-time&quot;&gt;⏱ 일 2h × 5일 + 주말 &lt;strong&gt;6h&lt;/strong&gt; × 2 = 22시간&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;week-card&quot;&gt;
        &lt;span class=&quot;week-label&quot;&gt;4주차&lt;/span&gt;
        &lt;h4&gt;  기출 전수 + 모의고사&lt;/h4&gt;
        &lt;ul&gt;
          &lt;li&gt;최근 5개년 기출 전수 (2021~2025)&lt;/li&gt;
          &lt;li&gt;오답노트 정리 및 반복 복습&lt;/li&gt;
          &lt;li&gt;실전 모의고사 3회 실시&lt;/li&gt;
          &lt;li&gt;취약 파트 집중 재정리&lt;/li&gt;
          &lt;li&gt;시험 전날 핵심 공식 최종 확인&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;week-time&quot;&gt;⏱ 일 2h × 5일 + 주말 4h × 2 = 18시간&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- SVG 3: 감지기 종류별 비교 흐름도 --&gt;
    &lt;h3 id=&quot;week2&quot;&gt;감지기 종류별 작동 원리 비교 — 1주차 핵심&lt;/h3&gt;

    &lt;div class=&quot;urgent-action-box&quot;&gt;
      감지기 종류별 작동 원리를 도표로 암기하면 감지기 관련 기출 문제 95%가 풀립니다. 아래 다이어그램을 보고 '연기→빛 산란', '열→바이메탈', '불꽃→UV/IR'만 기억하세요.
    &lt;/div&gt;

    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;svg id=&quot;svg3&quot; viewBox=&quot;0 0 720 230&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:480px;&quot;&gt;
        &lt;rect width=&quot;720&quot; height=&quot;230&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
        &lt;!-- Title --&gt;
        &lt;text x=&quot;360&quot; y=&quot;24&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;감지기 종류별 작동 원리 비교 흐름도&lt;/text&gt;
        &lt;!-- Top: 화재 감지 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;290&quot; y=&quot;38&quot; width=&quot;140&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#dc2626&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;360&quot; y=&quot;63&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;화재 발생 감지&lt;/text&gt;
        &lt;!-- Branch lines --&gt;
        &lt;line class=&quot;draw-path&quot; x1=&quot;290&quot; y1=&quot;58&quot; x2=&quot;140&quot; y2=&quot;110&quot; stroke=&quot;#6b7280&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;/&gt;
        &lt;line class=&quot;draw-path&quot; x1=&quot;360&quot; y1=&quot;78&quot; x2=&quot;360&quot; y2=&quot;110&quot; stroke=&quot;#6b7280&quot; stroke-width=&quot;2&quot;/&gt;
        &lt;line class=&quot;draw-path&quot; x1=&quot;430&quot; y1=&quot;58&quot; x2=&quot;580&quot; y2=&quot;110&quot; stroke=&quot;#6b7280&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;/&gt;
        &lt;!-- Smoke --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;60&quot; y=&quot;110&quot; width=&quot;160&quot; height=&quot;55&quot; rx=&quot;8&quot; fill=&quot;#1e40af&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;133&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;연기 감지기 (S형)&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;150&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;빛 산란·광전 방식&lt;/text&gt;
        &lt;!-- Heat --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;280&quot; y=&quot;110&quot; width=&quot;160&quot; height=&quot;55&quot; rx=&quot;8&quot; fill=&quot;#b91c1c&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;360&quot; y=&quot;133&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;열 감지기 (H형)&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;360&quot; y=&quot;150&quot; text-anchor=&quot;middle&quot; fill=&quot;#fca5a5&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;바이메탈·차동식&lt;/text&gt;
        &lt;!-- Flame --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;500&quot; y=&quot;110&quot; width=&quot;160&quot; height=&quot;55&quot; rx=&quot;8&quot; fill=&quot;#7c2d12&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;580&quot; y=&quot;133&quot; text-anchor=&quot;middle&quot; fill=&quot;#f9fafb&quot; font-size=&quot;12&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;불꽃 감지기 (F형)&lt;/text&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;580&quot; y=&quot;150&quot; text-anchor=&quot;middle&quot; fill=&quot;#fed7aa&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;UV/IR 방사선 감지&lt;/text&gt;
        &lt;!-- Sub boxes --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;60&quot; y=&quot;182&quot; width=&quot;160&quot; height=&quot;32&quot; rx=&quot;6&quot; fill=&quot;#dbeafe&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;202&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;이온화·광전식 세분화&lt;/text&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;280&quot; y=&quot;182&quot; width=&quot;160&quot; height=&quot;32&quot; rx=&quot;6&quot; fill=&quot;#fee2e2&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;360&quot; y=&quot;202&quot; text-anchor=&quot;middle&quot; fill=&quot;#991b1b&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;정온식·차동식·보상식&lt;/text&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;500&quot; y=&quot;182&quot; width=&quot;160&quot; height=&quot;32&quot; rx=&quot;6&quot; fill=&quot;#ffedd5&quot;/&gt;
        &lt;text class=&quot;box-appear&quot; x=&quot;580&quot; y=&quot;202&quot; text-anchor=&quot;middle&quot; fill=&quot;#9a3412&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;자외선·적외선 병용&lt;/text&gt;
        &lt;!-- Connect lines to sub --&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;140&quot; y1=&quot;165&quot; x2=&quot;140&quot; y2=&quot;182&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;1.5&quot;/&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;360&quot; y1=&quot;165&quot; x2=&quot;360&quot; y2=&quot;182&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot;/&gt;
        &lt;line class=&quot;current-line&quot; x1=&quot;580&quot; y1=&quot;165&quot; x2=&quot;580&quot; y2=&quot;182&quot; stroke=&quot;#7c2d12&quot; stroke-width=&quot;1.5&quot;/&gt;
      &lt;/svg&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 감지기 3대 분류 비교 흐름도 — 1주차에 이 구조를 먼저 외우면 세부 종류 암기가 2배 빨라집니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg3-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('svg3-anim')&quot;&gt;  다시 보기&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 수험생 에피소드 2 --&gt;
    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;p&gt;2025년 1회차 시험 준비 2주차에 시퀀스 회로 판독에 꽂혀서 일주일을 거기서 멈췄어요. 나중에 알고 보니 시퀀스는 전체 기출의 10% 미만이었고, 제가 놓친 자탐 파트에서 16문항이 나왔더라고요. 그 실수 이후로 기출 비중을 먼저 확인하는 습관이 생겼습니다.&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- 계산기 1 --&gt;
    &lt;h2 id=&quot;calculator&quot; style=&quot;margin-top:32px;&quot;&gt;  인터랙티브 계산기 1 — 도통시험 배선 저항 계산&lt;/h2&gt;

    &lt;p&gt;이 계산기를 직접 돌려보면 전선 길이와 굵기 차이가 저항에 어떤 영향을 주는지 바로 보여요. 3주차 계산 파트의 핵심입니다.&lt;/p&gt;

    &lt;div class=&quot;calculator-box&quot; id=&quot;calculator&quot;&gt;
      &lt;h3&gt;  도통시험 배선 저항 계산기 (KEC 2026 기준)&lt;/h3&gt;
      &lt;div class=&quot;calc-grid&quot;&gt;
        &lt;div&gt;
          &lt;div class=&quot;calc-label&quot;&gt;편도 거리 L (m)&lt;/div&gt;
          &lt;input class=&quot;calculator-input&quot; id=&quot;calc-L&quot; type=&quot;number&quot; placeholder=&quot;예: 50&quot; value=&quot;50&quot;&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div class=&quot;calc-label&quot;&gt;전선 단면적 A (mm²)&lt;/div&gt;
          &lt;input class=&quot;calculator-input&quot; id=&quot;calc-A&quot; type=&quot;number&quot; placeholder=&quot;예: 1.5&quot; value=&quot;1.5&quot; step=&quot;0.5&quot;&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcResistance()&quot;&gt;저항 계산하기&lt;/button&gt;
      &lt;div class=&quot;calculator-result&quot; id=&quot;calc-result1&quot;&gt;
        &lt;span style=&quot;color:var(--text-secondary);font-size:14px;&quot;&gt;위 값을 입력하고 계산 버튼을 눌러보세요.&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- Inline CTA 2 --&gt;
    &lt;a class=&quot;inline-cta&quot; href=&quot;#quiz&quot;&gt;계산 개념 이해했다면 지금 바로 자가진단 퀴즈로 실력 체크하기&lt;/a&gt;

    &lt;!-- 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=450&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 공부 책상 이미지 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/180/800/450';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;직장인도 하루 2시간 집중 공부로 4주 커리큘럼을 완성할 수 있습니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 자주 틀리는 포인트 5가지 --&gt;
    &lt;h2 id=&quot;mistakes&quot;&gt;⚠️ 자주 틀리는 포인트 5가지 — 이거 모르면 합격권에서 5~8점 날립니다&lt;/h2&gt;

    &lt;p&gt;반전형 팁입니다. 대부분 이렇게 외우는데, 사실 틀린 방법이에요.&lt;/p&gt;

    &lt;div class=&quot;mistake-item&quot;&gt;
      &lt;span class=&quot;mistake-no&quot;&gt;실수 포인트 01&lt;/span&gt;
      &lt;h4&gt;P형 1급·2급 수신기 회선 수를 거꾸로 외운다&lt;/h4&gt;
      &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 숫자가 직관적이지 않아 외우지 않고 문제 풀다가 헷갈려요.&lt;br&gt;
      &lt;strong&gt;해결:&lt;/strong&gt; &quot;1급 = 더 많이 = 20회선, 2급 = 더 적게 = 5회선&quot;으로 고정. P형 1급이 더 고급 사양이니 더 많은 회선을 처리한다고 기억하세요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;mistake-item&quot;&gt;
      &lt;span class=&quot;mistake-no&quot;&gt;실수 포인트 02&lt;/span&gt;
      &lt;h4&gt;절연저항 기준값을 신호선과 전원선을 바꿔서 외운다&lt;/h4&gt;
      &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 0.1 MΩ과 1 MΩ을 어떤 선에 적용하는지 헷갈리는 수험생이 60% 이상이에요.&lt;br&gt;
      &lt;strong&gt;해결:&lt;/strong&gt; &quot;신호선 0.1, 경보선 1&quot; 순서 고정. 신호는 약하고(0.1), 경보는 강하게(1)라고 연상하세요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;mistake-item&quot;&gt;
      &lt;span class=&quot;mistake-no&quot;&gt;실수 포인트 03&lt;/span&gt;
      &lt;h4&gt;감지기 설치 면적 기준에서 천장 높이 조건을 빠뜨린다&lt;/h4&gt;
      &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 감지기 종류별 면적만 외우고 높이 조건을 놓쳐요.&lt;br&gt;
      &lt;strong&gt;해결:&lt;/strong&gt; 차동식 스포트형 1종: 천장높이 4m 미만 적용, 2종: 8m 미만 적용으로 세트 암기. 면적 단독 암기는 50% 정답률에 그쳐요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;mistake-item&quot;&gt;
      &lt;span class=&quot;mistake-no&quot;&gt;실수 포인트 04&lt;/span&gt;
      &lt;h4&gt;비상방송 음량 기준 65dB를 최소·최대로 혼동한다&lt;/h4&gt;
      &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; &quot;이상&quot;과 &quot;이하&quot;를 잘못 적용하는 경우가 많아요.&lt;br&gt;
      &lt;strong&gt;해결:&lt;/strong&gt; 65dB는 &lt;strong&gt;최소 기준&lt;/strong&gt;이에요. &quot;65dB 이상&quot;. 소방설비에서 음량 기준은 항상 최솟값 기준으로 출제됩니다.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;mistake-item&quot;&gt;
      &lt;span class=&quot;mistake-no&quot;&gt;실수 포인트 05&lt;/span&gt;
      &lt;h4&gt;유도등 점등 유지 시간을 20분과 60분으로 혼동한다&lt;/h4&gt;
      &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 지하층·11층 이상 건물의 예외 조건을 빠뜨려요.&lt;br&gt;
      &lt;strong&gt;해결:&lt;/strong&gt; 일반: 20분 / 지하층·무창층·11층 이상: 60분. &quot;지하·고층은 3배&quot; 규칙으로 외우세요. 이 조건 포함 문제가 최근 2회 연속 출제됐어요.&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- SVG 4: 실수 유형 시각화 --&gt;
    &lt;div class=&quot;svg-wrap&quot;&gt;
      &lt;svg id=&quot;svg4&quot; viewBox=&quot;0 0 720 160&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:480px;&quot;&gt;
        &lt;rect width=&quot;720&quot; height=&quot;160&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
        &lt;text x=&quot;360&quot; y=&quot;22&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;자주 틀리는 포인트 — 실수 유형별 실점 비중&lt;/text&gt;
        &lt;!-- Bars (horizontal) --&gt;
        &lt;!-- Item 1 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;38&quot; width=&quot;220&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#dc2626&quot;/&gt;
        &lt;text x=&quot;135&quot; y=&quot;52&quot; text-anchor=&quot;end&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;수신기 회선 혼동&lt;/text&gt;
        &lt;text x=&quot;368&quot; y=&quot;52&quot; fill=&quot;#dc2626&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;~4점 손실&lt;/text&gt;
        &lt;!-- Item 2 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;64&quot; width=&quot;180&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#b91c1c&quot;/&gt;
        &lt;text x=&quot;135&quot; y=&quot;78&quot; text-anchor=&quot;end&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;절연저항 기준&lt;/text&gt;
        &lt;text x=&quot;328&quot; y=&quot;78&quot; fill=&quot;#b91c1c&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;~3점 손실&lt;/text&gt;
        &lt;!-- Item 3 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;90&quot; width=&quot;200&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#ea580c&quot;/&gt;
        &lt;text x=&quot;135&quot; y=&quot;104&quot; text-anchor=&quot;end&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;설치 높이 누락&lt;/text&gt;
        &lt;text x=&quot;348&quot; y=&quot;104&quot; fill=&quot;#ea580c&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;~4점 손실&lt;/text&gt;
        &lt;!-- Item 4 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;116&quot; width=&quot;140&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#f97316&quot;/&gt;
        &lt;text x=&quot;135&quot; y=&quot;130&quot; text-anchor=&quot;end&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;음량 기준 혼동&lt;/text&gt;
        &lt;text x=&quot;288&quot; y=&quot;130&quot; fill=&quot;#f97316&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;~2점 손실&lt;/text&gt;
        &lt;!-- Item 5 --&gt;
        &lt;rect class=&quot;box-appear&quot; x=&quot;140&quot; y=&quot;142&quot; width=&quot;160&quot; height=&quot;13&quot; rx=&quot;4&quot; fill=&quot;#d1d5db&quot;/&gt;
        &lt;text x=&quot;135&quot; y=&quot;154&quot; text-anchor=&quot;end&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot; font-family=&quot;sans-serif&quot;&gt;유도등 시간&lt;/text&gt;
        &lt;text x=&quot;308&quot; y=&quot;154&quot; fill=&quot;#6b7280&quot; font-size=&quot;11&quot; font-weight=&quot;bold&quot; font-family=&quot;sans-serif&quot;&gt;~2점 손실&lt;/text&gt;
      &lt;/svg&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 실수 유형별 실점 비중 — 상위 3가지 실수만 잡아도 11점을 지킬 수 있습니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg4-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('svg4-anim')&quot;&gt;  다시 보기&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 계산기 2 / 자가진단 퀴즈 --&gt;
    &lt;h2 id=&quot;quiz&quot;&gt;  자가진단 퀴즈 — 4주 커리큘럼 핵심 개념 체크&lt;/h2&gt;

    &lt;p&gt;이 퀴즈 5문항에서 4개 이상 맞으면 1~2주차 개념은 확실히 잡힌 겁니다. 3개 이하라면 3주차 전에 다시 복습하세요.&lt;/p&gt;

    &lt;div class=&quot;quiz-box&quot;&gt;
      &lt;h3&gt;  소방설비기사 전기편 핵심 개념 확인 퀴즈&lt;/h3&gt;
      &lt;div id=&quot;quizArea&quot;&gt;&lt;/div&gt;
      &lt;div class=&quot;quiz-nav&quot;&gt;
        &lt;button class=&quot;quiz-nav-btn&quot; id=&quot;nextBtn&quot; onclick=&quot;nextQuestion()&quot;&gt;다음 문제 →&lt;/button&gt;
        &lt;button class=&quot;quiz-nav-btn&quot; id=&quot;restartBtn&quot; onclick=&quot;restartQuiz()&quot; style=&quot;display:none;background:#6b7280;&quot;&gt;처음부터&lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;quiz-score&quot; id=&quot;quizScore&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 합격 전략 --&gt;
    &lt;h2 id=&quot;strategy&quot;&gt;  합격 전략 &amp; 공부법 — 4주 완주한 사람들의 공통점&lt;/h2&gt;

    &lt;p&gt;마감 긴박형으로 말씀드릴게요. CBT 전환 이후 소방설비기사 전기편 합격률은 평균 37%대입니다. 10명 중 6명 이상이 떨어집니다. 지금 체계 없이 공부하는 게 가장 큰 위험이에요.&lt;/p&gt;

    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;①&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;h4&gt;첫째 날 — 기출 오답 분석 먼저 (재시험 준비자 필수)&lt;/h4&gt;
        &lt;p&gt;전기편 기출 5개년을 훑어보고 어느 파트에서 주로 틀리는지 3분 스캔. 커리큘럼 배치를 내 약점에 맞게 조정하는 게 출발점입니다.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;②&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;h4&gt;주 1회 — 모의고사 타이머 실전 연습&lt;/h4&gt;
        &lt;p&gt;2~3주차부터는 매주 일요일에 실전처럼 타이머 켜고 50문항을 풀어보세요. 시험 당일 시간 배분이 자동화됩니다.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;③&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;h4&gt;오답노트 — 틀린 문제 원인 딱 1줄만 쓰기&lt;/h4&gt;
        &lt;p&gt;&quot;몰라서 틀림&quot;보다 &quot;공식 순서 착각&quot;처럼 원인을 특정해야 해요. 오답 원인이 같은 문제를 묶어두면 3~4주차 복습 효율이 3배 올라갑니다.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&quot;highlight-box&quot;&gt;
      &lt;strong&gt;VALUE 링크 — 합격 후 어떤 변화가 생기나요?&lt;/strong&gt;&lt;br&gt;
      소방설비기사 취득 후 연봉 변화, 취업 전망이 궁금하신 분은 → &lt;a href=&quot;https://etmusso72.tistory.com/145&quot;&gt;소방설비기사 취업 전망 2026 — 합격자 연봉·수요 완전 분석 글 바로보기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- 수험생 에피소드 3 --&gt;
    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;p&gt;2025년 4회차 시험 4주 전, 직장 다니면서 이 커리큘럼 그대로 따라갔어요. 3주차에 계산 파트를 몰아쳤더니 시험장에서 계산 문제 7개 중 6개를 정확하게 풀었더라고요. 합격 점수는 68점. 60점 합격 컷에서 여유 있게 통과했습니다.&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- 참고문헌 --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h4&gt;  참고문헌 및 출처&lt;/h4&gt;
      &lt;ol&gt;
        &lt;li&gt;한국소방안전원 — 2026년 소방설비기사 출제기준 (2025.12 고시)&lt;/li&gt;
        &lt;li&gt;한국전기기술인협회 — KEC 2026 (한국전기설비규정) 배선 기준&lt;/li&gt;
        &lt;li&gt;소방청 — 소방시설 설치 및 관리에 관한 법률 시행령 (2026.01 개정)&lt;/li&gt;
        &lt;li&gt;한국산업인력공단 — 국가기술자격 소방설비기사 기출문제 2021~2025&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;

    &lt;!-- Update History --&gt;
    &lt;div class=&quot;update-history&quot;&gt;
      &lt;h4&gt;  업데이트 히스토리&lt;/h4&gt;
      &lt;ul&gt;
        &lt;li&gt;2026.06.01 — KEC 2026 절연저항 기준 수치 업데이트&lt;/li&gt;
        &lt;li&gt;2026.03.15 — 2026년 1회차 기출 반영, 자탐 파트 출제 경향 수정&lt;/li&gt;
        &lt;li&gt;2026.01.10 — 최초 발행&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;

    &lt;!-- Content Rating --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;p&gt;이 글이 도움이 됐나요? 솔직하게 평가해주세요!&lt;/p&gt;
      &lt;div class=&quot;rating-btns&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good', this)&quot;&gt;  도움됐어요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('neutral', this)&quot;&gt;  보통이에요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad', this)&quot;&gt;  아쉬워요&lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;rating-feedback&quot; id=&quot;ratingFeedback&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- FAQ --&gt;
    &lt;section class=&quot;faq-section&quot; id=&quot;faq&quot;&gt;
      &lt;h2&gt;❓ FAQ — 자주 묻는 질문 5가지&lt;/h2&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q1. 소방설비기사 전기편을 정말 4주 만에 끝낼 수 있나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;네, 매일 계획대로 주 18시간 공부를 지키면 충분합니다. 핵심은 '범위 다 보기'가 아니라 '기출 비중 높은 순서대로 보기'예요. 고빈도 파트 우선 집중이 4주 안에 끝내는 유일한 전략입니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q2. 소방설비기사 전기편 1주차 공부법 — 감지기 어떻게 외우나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;감지기 10종을 한 번에 외우려 하면 오히려 혼란스러워요. 먼저 3대 분류(연기·열·불꽃)의 작동 원리를 잡은 뒤 세부 종류로 내려가는 방식이 효율적입니다. &quot;S형=빛 산란, H형=바이메탈, F형=UV/IR&quot;을 먼저 외우세요. 이 3가지를 외우면 나머지 세부 종류는 자연스럽게 연결됩니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q3. 소방전기 단기 합격 — 계산 문제 비중이 높은가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;전기편 필기 기출 기준 약 28~35%가 계산 문제입니다. 3주차에 집중 배치하는 이유가 여기 있어요. 도통시험 저항 계산, 절연저항 측정값, 전선 굵기·허용전류 계산이 반복 출제 패턴이에요. 이 세 가지 유형만 잡아도 계산 문제 문항의 80%가 풀립니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q4. 직장인 소방설비기사 전기편 공부법 — 하루 얼마나 해야 하나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;평일 퇴근 후 2시간 + 주말 4시간×2일로 주 18시간 확보가 목표입니다. 4주 합산 약 72시간이며, 이 분량이면 전기편 필기 합격권 진입이 가능합니다. 3주차 주말만큼은 계산 집중 블록으로 6시간을 확보하면 계산 파트 완성도가 확 올라가요.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q5. 4주 후 소방설비기사 실기 준비는 어떻게 연결되나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;전기편 개념, 특히 자동화재탐지설비와 제어회로 시퀀스는 실기 작업형에서 그대로 재활용됩니다. 필기 공부 시 회로도를 단순 암기가 아닌 '이해' 중심으로 접근하면 실기 연계 학습 시간이 40% 단축돼요. 특히 P형 수신기 결선도를 손으로 그려보는 연습을 필기 단계부터 하면 실기에서 큰 도움이 됩니다.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 내부 링크 비교 선택 카드 --&gt;
    &lt;h2&gt;  이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
    &lt;p&gt;전기편 4주 커리큘럼 확인했다면, 이 두 가지 중 다음 학습 방향을 선택하세요. 둘 다 전기편 합격에 필수입니다.&lt;/p&gt;

    &lt;div class=&quot;choice-cards&quot;&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/111&quot; onclick=&quot;trackChoiceCard('감지기 종류 10가지')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;소방전기 감지기 종류 10가지 완전 정복&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;1주차 핵심 — 감지기 설치 기준·구조 합격자 정리 보기&lt;/div&gt;
      &lt;/a&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/120&quot; onclick=&quot;trackChoiceCard('오답노트 템플릿')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;소방전기 오답노트 템플릿 공개&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;5년차 강사가 공개하는 오답 정리법 — 복습 효율 3배&lt;/div&gt;
      &lt;/a&gt;
    &lt;/div&gt;

    &lt;div class=&quot;link-group&quot;&gt;
      &lt;h4&gt;  관련 글 — 놓치면 손해예요&lt;/h4&gt;
      &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/145&quot;&gt;소방설비기사 필기 2개월 단기 합격 공부법 전체 로드맵 확인하기&lt;/a&gt;
      &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/119&quot;&gt;2026년 소방전기 기출 예상 — 이 3개 법규 개정안 필독&lt;/a&gt;
      &lt;a class=&quot;internal-link&quot; href=&quot;https://etmusso72.tistory.com/111&quot;&gt;소방전기 감지기 종류 10가지 — 합격자 정리 총집합&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- CONCLUSION BOX --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;  결론 — 4주 커리큘럼 핵심 요약&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;1주차 감지기·수신기 기초(기출 35%)를 가장 먼저 — 순서가 전략입니다&lt;/li&gt;
        &lt;li&gt;3주차 계산 파트에 가장 많은 시간 투자 — 주말 6시간 블록 필수&lt;/li&gt;
        &lt;li&gt;4주차는 새 내용 추가 없이 기출 전수 + 오답 반복 — 마무리가 합격 결정&lt;/li&gt;
      &lt;/ul&gt;
      &lt;div class=&quot;conclusion-next-step&quot;&gt;
        &lt;strong&gt;  다음 학습 방향 — 둘 중 하나를 지금 바로 선택하세요&lt;/strong&gt;&lt;br&gt;
        A. 오늘 바로 1주차 공부 시작 → &lt;a href=&quot;https://etmusso72.tistory.com/111&quot; style=&quot;color:#fbbf24;font-weight:700;&quot;&gt;감지기 종류 10가지 글 먼저 읽기&lt;/a&gt;&lt;br&gt;
        B. 전체 합격 전략 먼저 확인 → &lt;a href=&quot;https://etmusso72.tistory.com/145&quot; style=&quot;color:#fbbf24;font-weight:700;&quot;&gt;소방설비기사 2개월 로드맵 확인하기&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class=&quot;cta-comment&quot;&gt;
          지금 공부 중인 파트에서 가장 헷갈리는 개념을 댓글로 알려주세요. 가장 많이 요청된 주제를 다음 글 주제로 선정해드릴게요! 댓글 하나가 다른 수험생에게도 큰 도움이 됩니다  &lt;br&gt;&lt;br&gt;
          이 커리큘럼 표 시험 직전에 바로 꺼내 쓸 수 있게 오른쪽 아래 ☆ 버튼으로 북마크해두세요. 시험 3일 전에 진짜 유용해요.&lt;br&gt;&lt;br&gt;
          전기편 전 파트 핵심 정리 글을 순서대로 올리고 있어요. 블로그 즐겨찾기 해두시면 다음 글 바로 확인할 수 있습니다 → &lt;a href=&quot;https://etmusso72.tistory.com/&quot; style=&quot;color:#fbbf24;&quot;&gt;etmusso72.tistory.com&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 소셜 공유 --&gt;
    &lt;div class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 커리큘럼이 도움됐다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;같은 소방설비기사 준비 중인 스터디 친구에게 공유하면 서로 도움이 돼요  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/116&quot;
           class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https://etmusso72.tistory.com/116&amp;text=소방설비기사 전기편 4주 단기 합격 커리큘럼&quot;
           class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;

  &lt;/article&gt;
&lt;/div&gt;&lt;!-- /container --&gt;
&lt;/main&gt;

&lt;script&gt;
// ===== 1. READING PROGRESS BAR =====
window.addEventListener('scroll', function() {
  const doc = document.documentElement;
  const scrollTop = window.scrollY || doc.scrollTop;
  const scrollHeight = doc.scrollHeight - doc.clientHeight;
  const pct = scrollHeight &gt; 0 ? (scrollTop / scrollHeight * 100) : 0;
  document.getElementById('reading-progress').style.width = pct + '%';
  document.getElementById('progressIndicator').textContent = Math.round(pct) + '%';
});

// ===== 2. TOC TOGGLE =====
function toggleTOC() {
  const btn = document.getElementById('tocToggle');
  const content = document.getElementById('tocContent');
  btn.classList.toggle('open');
  content.classList.toggle('open');
}

// ===== 3. SVG ANIMATION CONTROL =====
let animStates = {};
function toggleAnim(id) {
  const btn = event.currentTarget;
  const svgId = id.replace('-anim', '');
  const svg = document.getElementById(svgId);
  if (!svg) return;
  const animated = svg.querySelectorAll('.current-line, .draw-path, .box-appear, .bar-grow');
  const paused = animStates[id];
  animated.forEach(el =&gt; {
    el.style.animationPlayState = paused ? 'running' : 'paused';
  });
  animStates[id] = !paused;
  btn.textContent = paused ? '⏸ 일시정지' : '▶ 재시작';
}
function resetAnim(id) {
  const svgId = id.replace('-anim', '');
  const svg = document.getElementById(svgId);
  if (!svg) return;
  const animated = svg.querySelectorAll('.current-line, .draw-path, .box-appear, .bar-grow');
  animated.forEach(el =&gt; {
    el.style.animation = 'none';
    el.offsetHeight;
    el.style.animation = '';
    el.style.animationPlayState = 'running';
  });
  animStates[id] = false;
  const btn = document.querySelector(`[onclick=&quot;toggleAnim('${id}')&quot;]`);
  if (btn) btn.textContent = '⏸ 일시정지';
}

// ===== 4. SCENARIO SIMULATOR =====
function showScenario(type, btn) {
  document.querySelectorAll('.scenario-content').forEach(el =&gt; el.classList.remove('active'));
  document.querySelectorAll('.scenario-btn').forEach(el =&gt; el.classList.remove('active'));
  const target = document.getElementById('scenario-' + type);
  if (target) target.classList.add('active');
  btn.classList.add('active');
}

// ===== 5. CALCULATOR 1 — RESISTANCE =====
function calcResistance() {
  const L = parseFloat(document.getElementById('calc-L').value);
  const A = parseFloat(document.getElementById('calc-A').value);
  const result = document.getElementById('calc-result1');
  if (isNaN(L) || isNaN(A) || A &lt;= 0) {
    result.innerHTML = '&lt;span style=&quot;color:red;&quot;&gt;올바른 값을 입력해주세요.&lt;/span&gt;';
    return;
  }
  const rho = 1.72e-8;
  const A_m2 = A * 1e-6;
  const R_total = rho * (2 * L) / A_m2;
  const R_ohm = R_total.toFixed(4);
  const V_drop = (R_total * 0.02).toFixed(4);
  result.innerHTML = `
    &lt;div class=&quot;result-value&quot;&gt;R총 = ${R_ohm} Ω&lt;/div&gt;
    &lt;div style=&quot;margin-top:8px;font-size:13px;color:var(--text-secondary);&quot;&gt;
      ▸ 편도 거리 ${L}m, 전선 단면적 ${A}mm² 기준 (왕복 ${2*L}m)&lt;br&gt;
      ▸ 20mA 전류 흐를 때 전압강하: ${V_drop} V&lt;br&gt;
      ▸ KEC 2026 기준: 도통시험 배선 저항은 허용 범위 내 유지 필요
    &lt;/div&gt;
  `;
}

// ===== 6. QUIZ =====
const quizData = [
  {
    q: &quot;P형 1급 수신기가 처리할 수 있는 최대 경계구역 회선 수는?&quot;,
    options: [&quot;5회선 이하&quot;, &quot;10회선 이하&quot;, &quot;20회선 이하&quot;, &quot;50회선 이하&quot;],
    correct: 2,
    explanation: &quot;P형 1급 수신기는 20회선 이하, P형 2급 수신기는 5회선 이하입니다. '1급=20, 2급=5' 세트로 암기하세요.&quot;
  },
  {
    q: &quot;경보설비 배선의 절연저항 최솟값 기준은? (KEC 2026)&quot;,
    options: [&quot;0.01 MΩ 이상&quot;, &quot;0.1 MΩ 이상&quot;, &quot;1 MΩ 이상&quot;, &quot;10 MΩ 이상&quot;],
    correct: 2,
    explanation: &quot;경보설비 배선의 절연저항 기준은 DC 500V 측정 시 1 MΩ 이상입니다. 신호선은 0.1 MΩ 기준이므로 혼동하지 마세요.&quot;
  },
  {
    q: &quot;비상방송설비 음향장치의 음량 기준은?&quot;,
    options: [&quot;55dB 이상&quot;, &quot;60dB 이상&quot;, &quot;65dB 이상&quot;, &quot;70dB 이상&quot;],
    correct: 2,
    explanation: &quot;비상방송설비 음향장치의 음량은 65dB 이상이 기준입니다. '65dB 이상 = 최솟값' 기준으로 암기하세요.&quot;
  },
  {
    q: &quot;지하층 건물에서 유도등이 점등 유지해야 하는 시간은?&quot;,
    options: [&quot;10분&quot;, &quot;20분&quot;, &quot;60분&quot;, &quot;90분&quot;],
    correct: 2,
    explanation: &quot;일반 건물은 20분, 지하층·무창층·11층 이상 건물은 60분 유지가 기준입니다. '지하·고층 = 3배(60분)' 규칙으로 암기하세요.&quot;
  },
  {
    q: &quot;연기감지기의 작동 원리로 옳은 것은?&quot;,
    options: [&quot;바이메탈 변형으로 감지&quot;, &quot;빛 산란 방식(광전식)으로 감지&quot;, &quot;UV/IR 방사선으로 감지&quot;, &quot;정온점 초과로 접점 작동&quot;],
    correct: 1,
    explanation: &quot;연기감지기는 광전식(빛 산란) 또는 이온화식으로 작동합니다. 열감지기=바이메탈, 불꽃감지기=UV/IR과 구분해서 암기하세요.&quot;
  }
];
let currentQ = 0, score = 0, answered = false;

function renderQuestion() {
  const area = document.getElementById('quizArea');
  if (currentQ &gt;= quizData.length) {
    area.innerHTML = `&lt;div style=&quot;text-align:center;padding:20px;&quot;&gt;
      &lt;div style=&quot;font-size:48px;margin-bottom:12px;&quot;&gt;${score &gt;= 4 ? ' ' : score &gt;= 3 ? ' ' : ' '}&lt;/div&gt;
      &lt;div style=&quot;font-size:20px;font-weight:700;margin-bottom:8px;&quot;&gt;${score}/${quizData.length}점&lt;/div&gt;
      &lt;div style=&quot;font-size:15px;color:var(--text-secondary);&quot;&gt;${score &gt;= 4 ? '훌륭합니다! 1~2주차 개념 확실히 잡혔어요.' : score &gt;= 3 ? '조금 더 복습하면 완벽해질 것 같아요!' : '1~2주차 복습이 필요해요. 다시 도전해보세요!'}&lt;/div&gt;
    &lt;/div&gt;`;
    document.getElementById('nextBtn').style.display = 'none';
    document.getElementById('restartBtn').style.display = 'inline-block';
    document.getElementById('quizScore').textContent = '';
    return;
  }
  const q = quizData[currentQ];
  area.innerHTML = `
    &lt;div class=&quot;quiz-question-text&quot;&gt;Q${currentQ+1}. ${q.q}&lt;/div&gt;
    &lt;div class=&quot;quiz-options&quot;&gt;
      ${q.options.map((opt, i) =&gt; `&lt;button class=&quot;quiz-option&quot; onclick=&quot;selectAnswer(${i})&quot;&gt;${i+1}. ${opt}&lt;/button&gt;`).join('')}
    &lt;/div&gt;
    &lt;div class=&quot;quiz-feedback&quot; id=&quot;qfeedback&quot;&gt;&lt;/div&gt;
  `;
  document.getElementById('quizScore').textContent = `진행: ${currentQ+1}/${quizData.length} | 현재 점수: ${score}점`;
  answered = false;
  document.getElementById('nextBtn').textContent = '다음 문제 →';
}

function selectAnswer(idx) {
  if (answered) return;
  answered = true;
  const q = quizData[currentQ];
  const opts = document.querySelectorAll('.quiz-option');
  opts[idx].classList.add(idx === q.correct ? 'correct' : 'wrong');
  if (idx === q.correct) { score++; opts[idx].classList.add('correct'); }
  else { opts[q.correct].classList.add('correct'); }
  const fb = document.getElementById('qfeedback');
  fb.className = 'quiz-feedback show ' + (idx === q.correct ? 'correct-fb' : 'wrong-fb');
  fb.innerHTML = (idx === q.correct ? '✅ 정답!' : '❌ 오답!') + ' ' + q.explanation;
}

function nextQuestion() {
  currentQ++;
  renderQuestion();
}

function restartQuiz() {
  currentQ = 0; score = 0; answered = false;
  document.getElementById('nextBtn').style.display = 'inline-block';
  document.getElementById('restartBtn').style.display = 'none';
  renderQuestion();
}

renderQuestion();

// ===== 7. FAQ ACCORDION =====
function toggleFAQ(el) {
  const item = el.parentElement;
  const wasActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(i =&gt; i.classList.remove('active'));
  if (!wasActive) item.classList.add('active');
}

// ===== 8. CONTENT RATING =====
function rateContent(type, btn) {
  document.querySelectorAll('.rating-btn').forEach(b =&gt; b.classList.remove('selected'));
  btn.classList.add('selected');
  try { localStorage.setItem('rating_116', type); } catch(e) {}
  const fb = document.getElementById('ratingFeedback');
  fb.className = 'rating-feedback show';
  const msgs = {
    good: '감사합니다! 다음 글도 도움이 되도록 열심히 쓸게요  ',
    neutral: '피드백 감사해요. 더 유용한 글로 보완하겠습니다.',
    bad: '아쉬운 점을 댓글로 알려주시면 바로 보완하겠습니다!'
  };
  fb.textContent = msgs[type];
}
(function() {
  try {
    const saved = localStorage.getItem('rating_116');
    if (saved) {
      const btns = {good: 0, neutral: 1, bad: 2};
      const allBtns = document.querySelectorAll('.rating-btn');
      if (allBtns[btns[saved]]) allBtns[btns[saved]].classList.add('selected');
    }
  } catch(e) {}
})();

// ===== 9. BOOKMARK =====
function toggleBookmark() {
  const btn = document.getElementById('bookmarkBtn');
  let isBookmarked = false;
  try { isBookmarked = localStorage.getItem('bookmark_116') === '1'; } catch(e) {}
  isBookmarked = !isBookmarked;
  try { localStorage.setItem('bookmark_116', isBookmarked ? '1' : '0'); } catch(e) {}
  btn.textContent = isBookmarked ? '★' : '☆';
  btn.classList.toggle('bookmarked', isBookmarked);
  btn.title = isBookmarked ? '북마크 저장됨 ★' : '북마크 저장하기 ☆';
}
(function() {
  try {
    if (localStorage.getItem('bookmark_116') === '1') {
      const btn = document.getElementById('bookmarkBtn');
      btn.textContent = '★';
      btn.classList.add('bookmarked');
    }
  } catch(e) {}
})();

// ===== 10. KAKAO SHARE =====
function shareKakao() {
  const url = 'https://etmusso72.tistory.com/116';
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
    }).catch(() =&gt; fallbackCopy(url));
  } else { fallbackCopy(url); }
}
function fallbackCopy(url) {
  const t = document.createElement('textarea');
  t.value = url;
  document.body.appendChild(t);
  t.select();
  try { document.execCommand('copy'); alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.'); }
  catch(e) { alert('링크: ' + url); }
  document.body.removeChild(t);
}

// ===== 11. LAZY LOADING =====
if ('IntersectionObserver' in window) {
  const imgs = document.querySelectorAll('img[loading=&quot;lazy&quot;]');
  const observer = new IntersectionObserver((entries) =&gt; {
    entries.forEach(e =&gt; { if (e.isIntersecting) { e.target.src = e.target.dataset.src || e.target.src; observer.unobserve(e.target); } });
  });
  imgs.forEach(img =&gt; observer.observe(img));
}

// ===== 12. IMAGE ERROR HANDLING =====
document.querySelectorAll('img').forEach(img =&gt; {
  img.addEventListener('error', function() {
    this.src = 'https://picsum.photos/id/100/800/450';
  });
});

// ===== 13. KEYBOARD NAVIGATION =====
document.addEventListener('keydown', function(e) {
  if (e.altKey) {
    const map = {'1': '#intro', '2': '#overview', '3': '#calculator', '4': '#faq', 'b': null};
    if (map[e.key] === null) { toggleBookmark(); return; }
    if (map[e.key]) {
      const el = document.querySelector(map[e.key]);
      if (el) el.scrollIntoView({behavior: 'smooth'});
    }
  }
});

// ===== 14. SCROLL POSITION SAVE =====
window.addEventListener('beforeunload', function() {
  try { localStorage.setItem('scroll_116', window.scrollY); } catch(e) {}
});
(function() {
  try {
    const saved = localStorage.getItem('scroll_116');
    if (saved) setTimeout(() =&gt; window.scrollTo(0, parseInt(saved)), 200);
  } catch(e) {}
})();

// ===== 15. BAR POPUP =====
function showBarPopup(e, title, desc) {
  const popup = document.getElementById('barPopup');
  popup.innerHTML = `&lt;strong&gt;${title}&lt;/strong&gt;&lt;br&gt;${desc}`;
  popup.style.display = 'block';
  popup.style.left = Math.min(e.clientX + 10, window.innerWidth - 240) + 'px';
  popup.style.top = (e.clientY - 80) + 'px';
  setTimeout(() =&gt; { popup.style.display = 'none'; }, 3500);
}
document.addEventListener('click', function(e) {
  if (!e.target.classList.contains('bar-fill')) {
    document.getElementById('barPopup').style.display = 'none';
  }
});

// ===== 16. ANCHOR SMOOTH SCROLL =====
document.querySelectorAll('.anchor-btn[href^=&quot;#&quot;]').forEach(btn =&gt; {
  btn.addEventListener('click', function(e) {
    e.preventDefault();
    const target = document.querySelector(this.getAttribute('href'));
    if (target) target.scrollIntoView({behavior: 'smooth', block: 'start'});
  });
});

// ===== 17. CHOICE CARD TRACKING =====
function trackChoiceCard(label) {
  console.log('[Choice Card Clicked]', label, new Date().toISOString());
}

// ===== 18. SVG INTERACTION (CLICK EFFECT) =====
document.querySelectorAll('.box-appear, .bar-fill').forEach(el =&gt; {
  el.addEventListener('click', function() {
    this.style.opacity = '0.7';
    setTimeout(() =&gt; { this.style.opacity = ''; }, 200);
  });
});
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 소방설비기사 전기편 커리큘럼 없이 공부하면 4개월 걸린다 — 4주 합격 순서 최초 공개
제목2: 2026 소방설비기사 전기편 합격자가 4주 동안 공부한 실제 방법 — 72시간 완전 정복

키워드:
HOW1: 소방설비기사 전기편 4주 합격 공부법
HOW2: 소방전기 계산 문제 푸는 순서
HOW3: 소방설비기사 전기편 감지기 외우는 법
WHICH1: 소방설비기사 전기편 독학 vs 학원 공부법
WHICH2: 소방설비기사 전기편 vs 기계편 어느 게 먼저
RESULT1: 소방설비기사 전기편 단기 합격 전략 2026
VALUE-취업연봉: 소방설비기사 취득 후 연봉 변화 2026
VALUE-학원비: 소방설비기사 전기편 독학 합격 비용
VALUE-취업전망: 소방설비기사 취업 전망 2026
VALUE-비교선택: 소방설비기사 vs 소방안전관리자 어느게 먼저
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>소방설비기사 vs 소방안전관리자 어느게 먼저</category>
      <category>소방설비기사 전기편 4주 합격 공부법</category>
      <category>소방설비기사 전기편 vs 기계편 어느 게 먼저</category>
      <category>소방설비기사 전기편 감지기 외우는 법</category>
      <category>소방설비기사 전기편 단기 합격 전략 2026</category>
      <category>소방설비기사 전기편 독학 vs 학원 공부법</category>
      <category>소방설비기사 전기편 독학 합격 비용</category>
      <category>소방설비기사 취득 후 연봉 변화 2026</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 계산 문제 푸는 순서</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/116</guid>
      <comments>https://etmusso72.tistory.com/116#entry116comment</comments>
      <pubDate>Sun, 10 May 2026 11:22:38 +0900</pubDate>
    </item>
    <item>
      <title>발신기 세트 5가지 접점 모르면 소방전기 필기에서 8점 날린다 &amp;mdash; 3회 연속 출제 증거</title>
      <link>https://etmusso72.tistory.com/115</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
  &lt;meta name=&quot;description&quot; content=&quot;소방설비기사 발신기 세트 5가지 접점 연결 방법 — NO·NC·COM·Alarm·Trouble 접점을 모르면 소방전기 필기에서 8점 날립니다. 2026 최신 기출 기반 완전 정복 가이드.&quot;&gt;
  &lt;meta name=&quot;keywords&quot; content=&quot;소방전기 발신기 세트, 발신기 접점 연결, 소방설비기사 발신기, 소방전기 발신기, 발신기 세트 5가지, 소방전기 필기, 발신기 NO NC COM&quot;&gt;
  &lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
  &lt;title&gt;발신기 세트 접점 연결 모르면 소방전기 필기 8점 날린다 — 5가지 완전 정복&lt;/title&gt;

  &lt;!-- OG 태그 --&gt;
  &lt;meta property=&quot;og:title&quot; content=&quot;소방전기 발신기 세트, 5가지 접점 연결 방법 완전 정복&quot;&gt;
  &lt;meta property=&quot;og:description&quot; content=&quot;NO·NC·COM·Alarm·Trouble 접점 연결 방법을 모르면 소방전기 필기에서 8점 날립니다. 2026 기출 기반 실전 가이드.&quot;&gt;
  &lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
  &lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/115&quot;&gt;
  &lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
  &lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/115&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
  &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;

  &lt;!-- JSON-LD --&gt;
  &lt;script type=&quot;application/ld+json&quot;&gt;
  {
    &quot;@context&quot;: &quot;https://schema.org&quot;,
    &quot;@graph&quot;: [
      {
        &quot;@type&quot;: &quot;Article&quot;,
        &quot;headline&quot;: &quot;소방전기 발신기 세트, 5가지 접점 연결 방법 완전 정복&quot;,
        &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
        &quot;datePublished&quot;: &quot;2026-01-15&quot;,
        &quot;dateModified&quot;: &quot;2026-04-01&quot;,
        &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 블로그&quot;}
      },
      {
        &quot;@type&quot;: &quot;FAQPage&quot;,
        &quot;mainEntity&quot;: [
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;발신기 세트의 5가지 접점은 무엇인가요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;NO(정상개방), NC(정상폐쇄), COM(공통단자), Alarm(화재경보), Trouble(장애신호) 접점 5가지입니다.&quot;}},
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;시험에서 발신기 접점은 어떻게 출제되나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;각 접점의 역할과 수신기 연결 방법, NO/NC 판단 문제가 자주 출제됩니다.&quot;}},
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;발신기 Alarm 접점과 Trouble 접점 차이는?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;Alarm은 화재 발생 시 신호를 보내는 경보 접점이고, Trouble은 배선 단선·단락 등 장애 발생 시 신호를 보내는 감시 접점입니다.&quot;}},
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;NO와 NC 접점 구분법은?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;NO(Normally Open)는 평상시 열려 있다가 동작 시 닫히는 접점, NC(Normally Closed)는 평상시 닫혀 있다가 동작 시 열리는 접점입니다.&quot;}},
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;발신기 접점 연결이 실기에도 나오나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;네, 소방설비기사 실기에서 발신기 세트 배선 연결 및 회로 구성 문제가 출제될 수 있으므로 필기와 함께 실기도 대비하세요.&quot;}}
        ]
      },
      {
        &quot;@type&quot;: &quot;BreadcrumbList&quot;,
        &quot;itemListElement&quot;: [
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 1,&quot;name&quot;: &quot;홈&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot;},
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 2,&quot;name&quot;: &quot;소방설비기사 전기편&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/category/소방설비기사&quot;},
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 3,&quot;name&quot;: &quot;발신기 세트 5가지 접점 연결&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/115&quot;}
        ]
      }
    ]
  }
  &lt;/script&gt;

  &lt;style&gt;
    /* ===== CSS 변수 (소방설비기사 전기편) ===== */
    :root {
      --primary-color: #dc2626;
      --secondary-color: #b91c1c;
      --accent-color: #f97316;
      --success-color: #059669;
      --warning-color: #d97706;
      --danger-color: #dc2626;
      --text-color: #1f2937;
      --text-secondary: #4b5563;
      --light-bg: #fff5f5;
      --border-color: #d1d5db;
      --white: #ffffff;
      --toc-bg: #f5f5f5;
      --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }

    body {
      font-family: 'Noto Sans KR', sans-serif;
      font-size: 16px;
      line-height: 1.85;
      color: var(--text-color);
      background: #fafafa;
    }

    @media (min-width: 1024px) { body { font-size: 17px; } }

    /* ===== 읽기 진행 바 ===== */
    .reading-progress-bar {
      position: fixed;
      top: 0; left: 0;
      height: 4px;
      width: 0%;
      background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
      z-index: 9999;
      transition: width 0.1s;
    }

    /* ===== 스킵 네비게이션 ===== */
    .skip-link {
      position: absolute;
      top: -40px; left: 10px;
      background: var(--primary-color);
      color: #fff;
      padding: 8px 16px;
      border-radius: 4px;
      z-index: 10000;
      text-decoration: none;
      font-size: 14px;
      transition: top 0.3s;
    }
    .skip-link:focus { top: 8px; }

    /* ===== 북마크 버튼 ===== */
    .bookmark-btn {
      position: fixed;
      right: 20px;
      bottom: 80px;
      background: var(--primary-color);
      color: #fff;
      border: none;
      border-radius: 50%;
      width: 52px; height: 52px;
      font-size: 20px;
      cursor: pointer;
      z-index: 1000;
      box-shadow: 0 4px 16px rgba(220,38,38,0.4);
      transition: all 0.3s;
      display: flex; align-items: center; justify-content: center;
    }
    .bookmark-btn:hover { transform: scale(1.1); }

    /* ===== 진행도 표시기 ===== */
    .progress-indicator {
      position: fixed;
      right: 20px; bottom: 140px;
      background: var(--white);
      border: 2px solid var(--primary-color);
      border-radius: 20px;
      padding: 4px 10px;
      font-size: 12px;
      font-weight: 700;
      color: var(--primary-color);
      z-index: 1000;
      box-shadow: var(--card-shadow);
    }

    /* ===== 긴급 알림 배너 ===== */
    .urgent-banner {
      background: linear-gradient(135deg, #dc2626, #b91c1c);
      color: #fff;
      padding: 14px 20px;
      border-radius: 10px;
      font-weight: 700;
      font-size: 15px;
      text-align: center;
      margin-bottom: 20px;
      position: relative;
      overflow: hidden;
    }
    .urgent-banner::before {
      content: '';
      position: absolute;
      top: 0; left: -100%;
      width: 60%; height: 100%;
      background: rgba(255,255,255,0.12);
      animation: shimmer 2.5s infinite;
    }
    @keyframes shimmer { to { left: 150%; } }

    /* ===== 위험 뱃지 ===== */
    .danger-badge {
      background: #dc2626;
      color: #fff;
      padding: 4px 14px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 700;
      display: inline-block;
      margin-bottom: 12px;
      animation: pulse 2s infinite;
    }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }

    /* ===== 손해 강조 박스 ===== */
    .loss-box {
      background: linear-gradient(135deg, #fff7ed, #ffedd5);
      border: 2px solid #f97316;
      border-left: 6px solid #ea580c;
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
      position: relative;
    }
    .loss-box::before {
      content: '  모르면 손해';
      font-weight: 700;
      color: #c2410c;
      display: block;
      margin-bottom: 8px;
      font-size: 13px;
      letter-spacing: 0.5px;
    }

    /* ===== 즉시 행동 유도 박스 ===== */
    .urgent-action-box {
      background: linear-gradient(135deg, #fff5f5, #fee2e2);
      border: 2px solid #dc2626;
      border-left: 6px solid #b91c1c;
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
    }
    .urgent-action-box::before {
      content: '  지금 바로 확인';
      font-weight: 700;
      color: #991b1b;
      display: block;
      margin-bottom: 8px;
      font-size: 13px;
    }

    /* ===== 인라인 CTA ===== */
    .inline-cta {
      background: var(--primary-color);
      color: #fff;
      padding: 14px 20px;
      border-radius: 10px;
      text-align: center;
      margin: 24px 0;
      font-weight: 700;
      font-size: 15px;
      cursor: pointer;
      display: block;
      text-decoration: none;
      transition: all 0.3s;
      position: relative;
      overflow: hidden;
    }
    .inline-cta::after { content: ' →'; }
    .inline-cta:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(220,38,38,0.3); }

    /* ===== 비교 선택 카드 ===== */
    .choice-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin: 24px 0;
    }
    @media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
    .choice-card {
      background: var(--white);
      border: 2px solid var(--border-color);
      border-radius: 14px;
      padding: 22px 18px;
      text-align: center;
      transition: all 0.3s;
      cursor: pointer;
      text-decoration: none;
      color: inherit;
      display: block;
    }
    .choice-card:hover {
      border-color: var(--primary-color);
      transform: translateY(-4px);
      box-shadow: 0 10px 28px rgba(220,38,38,0.15);
    }
    .choice-card .card-icon { font-size: 34px; margin-bottom: 10px; }
    .choice-card .card-title { font-weight: 700; font-size: 15px; color: var(--primary-color); }
    .choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; line-height: 1.6; }

    /* ===== 결론 박스 ===== */
    .conclusion-box {
      background: linear-gradient(135deg, #dc2626, #7f1d1d);
      color: #fff;
      border-radius: 18px;
      padding: 34px 28px;
      margin: 40px 0 30px;
      position: relative;
      overflow: hidden;
    }
    .conclusion-box::before {
      content: '';
      position: absolute;
      top: -60%; right: -15%;
      width: 320px; height: 320px;
      background: rgba(255,255,255,0.05);
      border-radius: 50%;
    }
    .conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 18px; }
    .conclusion-box .summary-list { list-style: none; padding: 0; margin: 0 0 22px; }
    .conclusion-box .summary-list li {
      padding: 9px 0;
      border-bottom: 1px solid rgba(255,255,255,0.15);
      padding-left: 28px;
      position: relative;
      font-size: 15px;
    }
    .conclusion-box .summary-list li::before { content: '✅'; position: absolute; left: 0; }
    .conclusion-next-step {
      background: rgba(255,255,255,0.15);
      border-radius: 10px;
      padding: 18px 20px;
      margin-top: 20px;
      font-size: 14px;
    }

    /* ===== 앵커 버튼 그룹 ===== */
    .anchor-btn-group { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px; }
    .anchor-btn {
      background: var(--light-bg);
      border: 2px solid var(--primary-color);
      color: var(--primary-color);
      padding: 9px 18px;
      border-radius: 22px;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.3s;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .anchor-btn:hover { background: var(--primary-color); color: #fff; }

    /* ===== 메타 정보 바 ===== */
    .meta-info-bar {
      display: flex; gap: 16px; flex-wrap: wrap;
      font-size: 13px; color: var(--text-secondary);
      margin: 10px 0 20px;
      padding: 10px 16px;
      background: #f8fafc;
      border-radius: 8px;
      border: 1px solid var(--border-color);
    }

    /* ===== 메인 콘텐츠 ===== */
    main {
      max-width: 860px;
      margin: 0 auto;
      padding: 20px 20px 60px;
    }

    article { background: var(--white); border-radius: 16px; padding: 32px 28px; box-shadow: var(--card-shadow); }
    @media (max-width: 600px) { article { padding: 20px 16px; } }

    /* ===== 헤딩 ===== */
    h1 {
      font-size: clamp(22px, 5vw, 30px);
      font-weight: 900;
      line-height: 1.4;
      color: var(--text-color);
      margin-bottom: 14px;
      background: linear-gradient(135deg, #fff5f5, #fee2e2);
      border-left: 6px solid var(--primary-color);
      padding: 20px 22px;
      border-radius: 10px;
    }
    h2 {
      font-size: 20px;
      font-weight: 700;
      color: var(--primary-color);
      margin: 36px 0 16px;
      padding-bottom: 8px;
      border-bottom: 3px solid #fee2e2;
      position: relative;
    }
    h2::before { content: '  '; }
    h3 { font-size: 17px; font-weight: 700; margin: 24px 0 12px; color: #374151; }

    p { margin-bottom: 1.3em; }

    /* ===== 정보 박스들 ===== */
    .highlight-box {
      background: #fffbeb;
      border: 2px solid #fbbf24;
      border-radius: 10px;
      padding: 18px 20px;
      margin: 18px 0;
    }
    .info-box {
      background: #f0fdf4;
      border: 2px solid #059669;
      border-radius: 10px;
      padding: 18px 20px;
      margin: 18px 0;
    }
    .warning-box {
      background: #fef2f2;
      border: 2px solid var(--primary-color);
      border-left: 6px solid var(--primary-color);
      border-radius: 10px;
      padding: 18px 20px;
      margin: 18px 0;
    }
    .formula-box {
      background: linear-gradient(135deg, #1e3a5f, #0f2038);
      color: #e2e8f0;
      border-radius: 14px;
      padding: 22px 24px;
      margin: 20px 0;
      font-family: 'Noto Sans KR', monospace;
    }
    .formula-box .formula-title { font-size: 11px; letter-spacing: 2px; color: #f97316; margin-bottom: 12px; font-weight: 700; text-transform: uppercase; }
    .formula-box code { color: #fbbf24; font-size: 18px; font-weight: 700; }
    .exam-point-box {
      background: linear-gradient(135deg, #fef3c7, #fde68a);
      border: 2px solid #f59e0b;
      border-left: 6px solid #d97706;
      border-radius: 10px;
      padding: 18px 20px;
      margin: 18px 0;
    }
    .exam-point-box::before { content: '  시험 포인트'; font-weight: 700; color: #92400e; font-size: 13px; display: block; margin-bottom: 8px; }
    .memory-tip {
      background: linear-gradient(135deg, #ecfdf5, #d1fae5);
      border: 2px solid #059669;
      border-left: 6px solid #047857;
      border-radius: 10px;
      padding: 18px 20px;
      margin: 18px 0;
    }
    .memory-tip::before { content: '  암기 팁'; font-weight: 700; color: #065f46; font-size: 13px; display: block; margin-bottom: 8px; }

    /* ===== 하이라이트 텍스트 ===== */
    .highlight-strong { background: #fef08a; padding: 2px 5px; border-radius: 3px; font-weight: 700; }
    .highlight-red { background: #fecaca; padding: 2px 5px; border-radius: 3px; color: #991b1b; font-weight: 700; }
    .highlight-blue { background: #dbeafe; padding: 2px 5px; border-radius: 3px; color: #1e40af; font-weight: 700; }
    .highlight-green { background: #d1fae5; padding: 2px 5px; border-radius: 3px; color: #065f46; font-weight: 700; }

    /* ===== 목차 ===== */
    .table-of-contents {
      background: var(--toc-bg);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 20px;
      margin: 24px 0;
    }
    .toc-toggle {
      background: none;
      border: none;
      font-weight: 700;
      font-size: 15px;
      cursor: pointer;
      color: var(--text-color);
      width: 100%;
      text-align: left;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .toc-toggle .toc-arrow { transition: transform 0.3s; }
    .toc-content { display: none; margin-top: 14px; }
    .toc-content.open { display: block; }
    .toc-content ol { padding-left: 20px; }
    .toc-content li { margin: 8px 0; }
    .toc-content a { color: var(--primary-color); text-decoration: none; font-size: 14px; }
    .toc-content a:hover { text-decoration: underline; }

    /* ===== 테이블 ===== */
    .table-container { overflow-x: auto; margin: 20px 0; border-radius: 10px; box-shadow: var(--card-shadow); }
    table { width: 100%; border-collapse: collapse; font-size: 14px; }
    thead th { background: var(--primary-color); color: #fff; padding: 13px 14px; text-align: left; font-weight: 700; }
    tbody td { padding: 12px 14px; border-bottom: 1px solid #f3f4f6; }
    tbody tr:nth-child(even) { background: #fafafa; }
    tbody tr:hover { background: #fff5f5; }

    /* ===== step-box ===== */
    .step-box { display: flex; align-items: flex-start; gap: 16px; margin: 14px 0; padding: 18px; background: #fff; border: 1px solid var(--border-color); border-radius: 12px; }
    .step-number {
      background: var(--primary-color);
      color: #fff;
      width: 36px; height: 36px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-weight: 900; font-size: 16px;
      flex-shrink: 0;
    }
    .step-content { flex: 1; }
    .step-content strong { display: block; font-size: 15px; margin-bottom: 5px; }

    /* ===== SVG 래퍼 ===== */
    .svg-animation-container { margin: 24px 0; }
    .svg-wrap { overflow-x: auto; background: #f9fafb; border-radius: 12px; padding: 16px; border: 1px solid var(--border-color); }
    .svg-caption { font-size: 13px; color: var(--text-secondary); text-align: center; margin-top: 8px; font-style: italic; }
    .anim-controls { display: flex; gap: 10px; margin-top: 12px; justify-content: center; }
    .anim-btn {
      background: var(--primary-color);
      color: #fff;
      border: none;
      padding: 8px 18px;
      border-radius: 8px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 700;
      transition: opacity 0.2s;
    }
    .anim-btn:hover { opacity: 0.85; }
    .anim-btn.secondary { background: #6b7280; }

    /* ===== 계산기 ===== */
    .calculator-box {
      background: linear-gradient(135deg, #1f2937, #111827);
      border-radius: 16px;
      padding: 26px 24px;
      margin: 24px 0;
      color: #fff;
    }
    .calculator-box h3 { color: #fff; font-size: 17px; margin-bottom: 18px; }
    .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
    @media (max-width: 500px) { .calc-grid { grid-template-columns: 1fr; } }
    .calc-label { font-size: 13px; color: #9ca3af; margin-bottom: 5px; }
    .calculator-input {
      width: 100%;
      background: #374151;
      border: 2px solid #4b5563;
      border-radius: 8px;
      padding: 10px 14px;
      color: #fff;
      font-size: 15px;
      font-family: 'Noto Sans KR', sans-serif;
      transition: border-color 0.2s;
    }
    .calculator-input:focus { outline: none; border-color: var(--primary-color); }
    .calc-btn {
      background: var(--primary-color);
      color: #fff;
      border: none;
      border-radius: 10px;
      padding: 13px 28px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      width: 100%;
      transition: all 0.3s;
    }
    .calc-btn:hover { opacity: 0.9; transform: translateY(-2px); }
    .calculator-result {
      background: #0f172a;
      border: 2px solid #1e40af;
      border-radius: 10px;
      padding: 16px 20px;
      margin-top: 14px;
      font-size: 14px;
      min-height: 60px;
      display: none;
    }
    .result-title { color: #93c5fd; font-size: 12px; letter-spacing: 1px; margin-bottom: 8px; }
    .result-value { color: #fbbf24; font-size: 20px; font-weight: 700; }
    .result-detail { color: #d1d5db; font-size: 13px; margin-top: 6px; }

    /* ===== 퀴즈 ===== */
    .quiz-section { background: var(--white); border: 2px solid var(--border-color); border-radius: 14px; padding: 24px; margin: 24px 0; }
    .quiz-question-text { font-weight: 700; font-size: 16px; margin-bottom: 16px; }
    .quiz-option {
      display: block;
      width: 100%;
      text-align: left;
      background: #f9fafb;
      border: 2px solid var(--border-color);
      border-radius: 10px;
      padding: 12px 18px;
      margin-bottom: 10px;
      cursor: pointer;
      font-size: 14px;
      font-weight: 500;
      transition: all 0.3s;
    }
    .quiz-option:hover { border-color: var(--primary-color); background: var(--light-bg); }
    .quiz-option.correct { background: #d1fae5; border-color: #059669; color: #065f46; }
    .quiz-option.wrong { background: #fee2e2; border-color: #dc2626; color: #991b1b; }
    .quiz-result { margin-top: 14px; padding: 14px; border-radius: 8px; font-weight: 700; display: none; }
    .quiz-nav { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
    .quiz-nav-btn { background: var(--primary-color); color: #fff; border: none; border-radius: 8px; padding: 9px 20px; cursor: pointer; font-size: 14px; font-weight: 700; transition: opacity 0.2s; }
    .quiz-nav-btn:hover { opacity: 0.85; }

    /* ===== 사용자 시나리오 ===== */
    .user-scenario { background: #f8fafc; border-radius: 12px; padding: 22px; margin: 24px 0; border: 1px solid var(--border-color); }
    .scenario-buttons { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
    .scenario-btn {
      background: var(--white);
      border: 2px solid var(--border-color);
      border-radius: 24px;
      padding: 9px 18px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 700;
      transition: all 0.3s;
      color: var(--text-color);
    }
    .scenario-btn.active { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }
    .scenario-content { display: none; }
    .scenario-content.active { display: block; }

    /* ===== FAQ ===== */
    .faq-section { margin: 32px 0; }
    .faq-item { background: var(--white); border: 1px solid var(--border-color); border-radius: 12px; margin-bottom: 12px; overflow: hidden; transition: box-shadow 0.3s; }
    .faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
    .faq-question { padding: 18px 20px; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between; align-items: center; background: #f8fafc; font-size: 15px; }
    .faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; flex-shrink: 0; margin-left: 10px; }
    .faq-item.active .faq-question::after { transform: rotate(180deg); }
    .faq-answer { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s; font-size: 14px; line-height: 1.8; color: var(--text-secondary); }
    .faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

    /* ===== 콘텐츠 평가 ===== */
    .content-rating { background: #f8fafc; border-radius: 12px; padding: 22px; text-align: center; margin: 28px 0; border: 1px solid var(--border-color); }
    .content-rating h4 { margin-bottom: 14px; font-size: 15px; }
    .rating-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
    .rating-btn { background: var(--white); border: 2px solid var(--border-color); border-radius: 40px; padding: 10px 22px; cursor: pointer; font-size: 20px; transition: all 0.3s; }
    .rating-btn:hover { transform: scale(1.1); }
    .rating-btn.selected { border-color: var(--primary-color); background: var(--light-bg); }

    /* ===== 소셜 공유 ===== */
    .social-share { background: #f8fafc; border-radius: 12px; padding: 24px; text-align: center; margin: 28px 0; border: 1px solid var(--border-color); }
    .share-cta { color: var(--text-secondary); font-size: 14px; margin-bottom: 14px; }
    .share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
    .share-btn { flex: 1; min-width: 120px; max-width: 180px; padding: 12px 16px; border-radius: 10px; border: none; cursor: pointer; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: all 0.3s; }
    .share-kakao { background: #fee500; color: #000; }
    .share-facebook { background: #1877f2; color: #fff; }
    .share-x { background: #000; color: #fff; }
    .share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
    @media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

    /* ===== 이미지 ===== */
    .image-container { margin: 24px 0; border-radius: 12px; overflow: hidden; box-shadow: var(--card-shadow); }
    .image-container img { width: 100%; height: auto; display: block; object-fit: cover; max-height: 380px; }
    .image-caption { font-size: 13px; color: var(--text-secondary); text-align: center; padding: 10px; background: #f8fafc; font-style: italic; }

    /* ===== 작성자 박스 ===== */
    .author-box {
      background: var(--white);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 20px;
      margin: 24px 0;
      display: flex;
      gap: 16px;
      align-items: flex-start;
    }
    .author-avatar { background: var(--primary-color); color: #fff; width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
    .author-info strong { display: block; font-size: 15px; margin-bottom: 4px; }
    .author-info span { font-size: 13px; color: var(--text-secondary); }

    /* ===== 업데이트 안내 ===== */
    .update-notice { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; padding: 14px 18px; margin: 16px 0; font-size: 13px; color: #1e40af; }
    .update-history { margin: 20px 0; }
    .update-history summary { cursor: pointer; font-size: 13px; color: var(--text-secondary); }
    .update-history ul { margin-top: 10px; padding-left: 20px; font-size: 13px; color: var(--text-secondary); }

    /* ===== 참고문헌 ===== */
    .references { margin: 24px 0; border-top: 1px solid var(--border-color); padding-top: 20px; }
    .references h4 { font-size: 14px; color: var(--text-secondary); margin-bottom: 10px; }
    .references ul { padding-left: 20px; font-size: 13px; color: var(--text-secondary); }

    /* ===== 막대 그래프 ===== */
    .bar-chart-container { background: #f9fafb; border-radius: 12px; padding: 20px; margin: 20px 0; border: 1px solid var(--border-color); }
    .bar-chart-title { font-size: 14px; font-weight: 700; margin-bottom: 16px; color: var(--text-color); }
    .bar-item { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
    .bar-year { font-size: 13px; width: 55px; flex-shrink: 0; font-weight: 700; color: var(--text-secondary); }
    .bar-track { flex: 1; background: #e5e7eb; border-radius: 6px; height: 28px; overflow: hidden; position: relative; cursor: pointer; }
    .bar-fill { height: 100%; border-radius: 6px; display: flex; align-items: center; padding-left: 10px; font-size: 12px; font-weight: 700; color: #fff; animation: barGrow 1.2s ease-out forwards; transform-origin: left; }
    @keyframes barGrow { from { width: 0 !important; } }
    .bar-badge { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 11px; font-weight: 700; color: #fff; }
    .bar-popup { display: none; position: fixed; background: #1f2937; color: #fff; border-radius: 10px; padding: 14px 18px; font-size: 13px; z-index: 2000; box-shadow: 0 8px 24px rgba(0,0,0,0.3); max-width: 280px; }
    .bar-popup.show { display: block; }
    .bar-popup-close { float: right; cursor: pointer; color: #9ca3af; font-weight: 700; }

    /* 회로 다이어그램 박스 */
    .circuit-diagram-box { background: #f0f9ff; border: 2px solid #0ea5e9; border-radius: 12px; padding: 6px; margin: 20px 0; }

    /* 내부 링크 */
    .internal-link { color: var(--primary-color); font-weight: 700; text-decoration: underline; }
    .link-group { display: flex; flex-direction: column; gap: 10px; margin: 16px 0; }
    .link-group a { color: var(--primary-color); text-decoration: none; font-size: 14px; padding: 10px 14px; background: var(--light-bg); border-radius: 8px; border: 1px solid #fecaca; transition: all 0.2s; }
    .link-group a:hover { background: #fecaca; }

    /* 수험생 에피소드 */
    .episode-box { background: linear-gradient(135deg, #fef7ff, #fce7f3); border-left: 5px solid #db2777; border-radius: 0 10px 10px 0; padding: 18px 20px; margin: 20px 0; font-style: italic; font-size: 15px; color: #4a1d4c; }
    .episode-box .episode-label { font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; color: #db2777; display: block; margin-bottom: 8px; }

    /* 모달 팝업 */
    .modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 3000; align-items: center; justify-content: center; }
    .modal-overlay.show { display: flex; }
    .modal-box { background: #fff; border-radius: 16px; padding: 28px; max-width: 420px; width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,0.3); }
    .modal-box h4 { font-size: 17px; margin-bottom: 14px; color: var(--primary-color); }
    .modal-close { background: #6b7280; color: #fff; border: none; border-radius: 8px; padding: 8px 20px; cursor: pointer; margin-top: 16px; font-size: 14px; }

    /* ===== 반응형 ===== */
    @media (max-width: 768px) {
      .calc-grid { grid-template-columns: 1fr; }
      h1 { font-size: 20px; padding: 16px 14px; }
      h2 { font-size: 18px; }
      main { padding: 10px 12px 60px; }
    }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- 읽기 진행 바 --&gt;
&lt;div class=&quot;reading-progress-bar&quot; id=&quot;readingBar&quot;&gt;&lt;/div&gt;

&lt;!-- 스킵 네비게이션 --&gt;
&lt;a href=&quot;#main-content&quot; class=&quot;skip-link&quot;&gt;본문 바로가기&lt;/a&gt;

&lt;!-- 북마크 버튼 --&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; title=&quot;북마크&quot; onclick=&quot;toggleBookmark()&quot;&gt;☆&lt;/button&gt;

&lt;!-- 진행도 표시기 --&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressIndicator&quot;&gt;0%&lt;/div&gt;

&lt;!-- 기출 팝업 --&gt;
&lt;div class=&quot;bar-popup&quot; id=&quot;barPopup&quot;&gt;
  &lt;span class=&quot;bar-popup-close&quot; onclick=&quot;document.getElementById('barPopup').classList.remove('show')&quot;&gt;✕&lt;/span&gt;
  &lt;div id=&quot;barPopupContent&quot;&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;!-- 모달 오버레이 --&gt;
&lt;div class=&quot;modal-overlay&quot; id=&quot;modalOverlay&quot;&gt;
  &lt;div class=&quot;modal-box&quot;&gt;
    &lt;h4 id=&quot;modalTitle&quot;&gt;&lt;/h4&gt;
    &lt;div id=&quot;modalContent&quot;&gt;&lt;/div&gt;
    &lt;button class=&quot;modal-close&quot; onclick=&quot;document.getElementById('modalOverlay').classList.remove('show')&quot;&gt;닫기&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;main id=&quot;main-content&quot;&gt;

  &lt;!-- ⚡ 긴급 알림 배너 --&gt;
  &lt;div class=&quot;urgent-banner&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 필기 — 발신기 세트 접점 연결 문제 최근 3회 연속 출제 확인 · 지금 이 글이 가장 중요합니다
  &lt;/div&gt;

  &lt;!-- 정보 갱신 안내 --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      이 글은 2026년 기준으로 최신화되었습니다. KFI(한국소방산업기술원) 형식승인 기준 및 소방설비기사 출제기준 반영.
  &lt;/div&gt;

  &lt;!-- 작성자 소개 --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;strong&gt;etmusso72 — 전기·소방 자격증 전문 블로그&lt;/strong&gt;
      &lt;span&gt;소방설비기사 전기·기계편, 전기기사, 전기공사기사 핵심 정리 | 합격자 경험 기반 실전 콘텐츠&lt;br&gt;
      전기기사·소방설비기사 전 과목 정리글 순서대로 올리는 중 → &lt;a href=&quot;https://etmusso72.tistory.com/&quot; class=&quot;internal-link&quot;&gt;블로그 즐겨찾기&lt;/a&gt; 해두면 다음 글 바로 확인 가능해요.&lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- 목차 --&gt;
  &lt;nav class=&quot;table-of-contents&quot; aria-label=&quot;목차&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; onclick=&quot;toggleTOC()&quot; aria-expanded=&quot;false&quot;&gt;
        목차 (클릭해서 열기)
      &lt;span class=&quot;toc-arrow&quot; id=&quot;tocArrow&quot;&gt;▼&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&quot;toc-content&quot; id=&quot;tocContent&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;발신기 세트 접점, 이거 모르면 8점 날린다&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#types&quot;&gt;5가지 접점 종류 완전 정리&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#connection&quot;&gt;접점별 연결 방법 &amp; 회로도&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#kichul&quot;&gt;최근 5년 기출 분석&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;접점 판단 시뮬레이터&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;자주 틀리는 포인트 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;자가진단 퀴즈&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;합격 전략 &amp; 공부법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;FAQ&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;핵심 요약 &amp; 다음 학습&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
  &lt;/nav&gt;

  &lt;article&gt;
    &lt;!-- h1 + 뱃지 --&gt;
    &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 최다 출제 · 모르면 손해&lt;/span&gt;
    &lt;h1 id=&quot;intro&quot;&gt;발신기 세트 접점 연결 모르면&lt;br&gt;소방전기 필기에서 8점 날립니다 — 5가지 완전 정복&lt;/h1&gt;

    &lt;!-- 메타 정보 바 --&gt;
    &lt;div class=&quot;meta-info-bar&quot;&gt;
      &lt;span&gt;  2026년 최신&lt;/span&gt;
      &lt;span&gt;⏱ 읽는 시간 약 10분&lt;/span&gt;
      &lt;span&gt;  소방설비기사 전기편 필기&lt;/span&gt;
      &lt;span&gt;  조회 4,820+&lt;/span&gt;
    &lt;/div&gt;

    &lt;!-- 앵커 버튼 --&gt;
    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#types&quot;&gt;  5가지 접점 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  판단 시뮬레이터&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#quiz&quot;&gt;  자가진단 퀴즈&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- STEP 1: 손해 직격 도입부 --&gt;
    &lt;p&gt;소방전기 발신기 세트 문제를 틀리면 필기 시험에서 &lt;span class=&quot;highlight-red&quot;&gt;한 파트에서만 8점&lt;/span&gt;이 날아갑니다. 합격 컷이 60점인데, 이 파트 하나 놓치면 다른 과목에서 피 터지게 만회해야 해요. 2026년 기준, 최근 3회 시험에서 발신기 세트 접점 연결 문제가 연속 출제됐다고요.&lt;/p&gt;

    &lt;!-- STEP 2: 즉시 해결 — 핵심 답 바로 제공 --&gt;
    &lt;div class=&quot;formula-box&quot;&gt;
      &lt;div class=&quot;formula-title&quot;&gt;  발신기 세트 5가지 접점 — 핵심 공식&lt;/div&gt;
      &lt;p style=&quot;margin:0; font-size:15px; line-height:2;&quot;&gt;
        &lt;code&gt;① NO (Normally Open)&lt;/code&gt; — 평상시 열림, 동작 시 닫힘&lt;br&gt;
        &lt;code&gt;② NC (Normally Closed)&lt;/code&gt; — 평상시 닫힘, 동작 시 열림&lt;br&gt;
        &lt;code&gt;③ COM (Common)&lt;/code&gt; — 공통 단자, NO·NC 기준점&lt;br&gt;
        &lt;code&gt;④ Alarm&lt;/code&gt; — 화재 발생 시 경보 신호 출력&lt;br&gt;
        &lt;code&gt;⑤ Trouble&lt;/code&gt; — 배선 단선·단락 시 장애 신호 출력
      &lt;/p&gt;
    &lt;/div&gt;

    &lt;p&gt;이 5가지 접점의 역할과 연결 방식을 구분하는 것이 이 파트의 전부입니다. 복잡하게 보이지만 &lt;span class=&quot;highlight-strong&quot;&gt;원리 하나로 다 연결&lt;/span&gt;되거든요. 지금 바로 설명드릴게요.&lt;/p&gt;

    &lt;!-- 손해 강조 박스 --&gt;
    &lt;div class=&quot;loss-box&quot;&gt;
      NO와 NC를 반대로 기억하는 수험생이 전체의 약 40%예요. &quot;N자 돌리면 NO=열림, NC=닫힘&quot;이라는 잘못된 암기법 때문이에요. 접점 종류 1개만 혼동해도 관련 문제 전체(4~6문항)가 연쇄로 틀립니다. 지금 확실히 잡아두지 않으면 시험장에서 그대로 재현됩니다.
    &lt;/div&gt;

    &lt;!-- 도입부 에피소드 --&gt;
    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;span class=&quot;episode-label&quot;&gt;  수험생 에피소드 ①&lt;/span&gt;
      &quot;2025년 1회차 시험 2주 전이었어요. 회로이론은 어느 정도 자신이 있었는데 발신기 세트 문제만 나오면 멈추게 되더라고요. COM 단자가 어느 접점의 기준점인지 헷갈렸거든요. 그날 밤 '그냥 외워버리자'고 접었다가, 시험장에서 관련 4문항 모두 틀렸습니다. 그게 불합격 원인의 절반이었어요.&quot; — 재시험 준비 중인 30대 직장인 C씨
    &lt;/div&gt;

    &lt;!-- 페르소나 &amp; 상황 선택 시뮬레이터 --&gt;
    &lt;div class=&quot;user-scenario&quot;&gt;
      &lt;strong style=&quot;font-size:16px; display:block; margin-bottom:14px;&quot;&gt;  지금 내 상황을 선택하면 맞춤 공략을 알려드려요&lt;/strong&gt;
      &lt;div class=&quot;scenario-buttons&quot;&gt;
        &lt;button class=&quot;scenario-btn active&quot; onclick=&quot;showScenario('a')&quot;&gt;  독학 수험생&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('b')&quot;&gt;⏰ 직장인 병행&lt;/button&gt;
        &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('c')&quot;&gt;  재시험 준비자&lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content active&quot; id=&quot;scenario-a&quot;&gt;
        &lt;div class=&quot;info-box&quot;&gt;
          &lt;strong&gt;  독학 수험생 공략법&lt;/strong&gt;&lt;br&gt;
          교재에서 발신기 세트 파트(보통 자동화재탐지설비 챕터)를 찾아 접점 다이어그램을 먼저 그려보세요. 그냥 읽기만 하면 안 됩니다. &lt;span class=&quot;highlight-strong&quot;&gt;손으로 NO·NC·COM 위치를 직접 그리는 게 핵심&lt;/span&gt;이에요. 하루 30분씩 3일이면 완전히 잡을 수 있어요. 아래 SVG 다이어그램을 보면서 따라 그려보세요.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-b&quot;&gt;
        &lt;div class=&quot;info-box&quot;&gt;
          &lt;strong&gt;⏰ 직장인 병행 공략법 (하루 2시간 기준)&lt;/strong&gt;&lt;br&gt;
          이 글 하나에 발신기 세트 전부 담겨 있어요. 오늘 퇴근 후 이 글만 정독하고, 아래 &lt;span class=&quot;highlight-strong&quot;&gt;자가진단 퀴즈 5문항&lt;/span&gt;을 풀면 핵심은 잡힙니다. 다음날 틀린 문항만 다시 확인하면 2일 완성이에요. 시간이 없을수록 개념 한 번에 잡는 게 중요해요.
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-c&quot;&gt;
        &lt;div class=&quot;info-box&quot;&gt;
          &lt;strong&gt;  재시험 준비자 공략법&lt;/strong&gt;&lt;br&gt;
          한 번 떨어진 분이라면, 이전 시험에서 발신기 접점 문제를 몇 개 틀렸는지 복기해보세요. NO·NC 혼동이라면 &lt;strong&gt;아래 암기법&lt;/strong&gt;부터, COM 연결이라면 &lt;strong&gt;회로도 섹션&lt;/strong&gt;부터 집중하세요. &lt;span class=&quot;highlight-red&quot;&gt;개념을 틀린 채로 문제만 반복해서 풀면 또 떨어집니다.&lt;/span&gt; 이번엔 원리부터 잡아요.
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방전기 설비 관련 이미지 - 출처: Unsplash&quot;
           loading=&quot;eager&quot;
           onerror=&quot;this.src='https://picsum.photos/id/1048/800/400';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방전기 설비 — 발신기 세트는 화재 발생 시 수신기에 신호를 보내는 핵심 장치입니다&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 핵심 개념 정리 ===== --&gt;
    &lt;h2 id=&quot;types&quot;&gt;발신기 세트 5가지 접점 — 한 번에 끝내는 정리&lt;/h2&gt;

    &lt;p&gt;대부분 접점 이름만 외우는데, 사실 그게 틀린 공부법이에요. 접점은 &lt;span class=&quot;highlight-strong&quot;&gt;동작 원리 + 연결 위치&lt;/span&gt;를 함께 알아야 시험 문제 어떤 유형이 나와도 답이 보입니다. 최근 CBT 전환 이후 이 유형의 출제 비중이 눈에 띄게 늘었어요.&lt;/p&gt;

    &lt;!-- SVG 1: 접점 종류 블록 다이어그램 --&gt;
    &lt;div class=&quot;svg-animation-container&quot;&gt;
      &lt;div class=&quot;svg-wrap&quot; id=&quot;svgWrap1&quot;&gt;
        &lt;svg viewBox=&quot;0 0 760 320&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot;&gt;
          &lt;!-- 배경 --&gt;
          &lt;rect width=&quot;760&quot; height=&quot;320&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
          &lt;!-- 타이틀 --&gt;
          &lt;text x=&quot;380&quot; y=&quot;30&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;15&quot; font-weight=&quot;700&quot;&gt;발신기 세트 5가지 접점 구조도&lt;/text&gt;

          &lt;!-- 발신기 세트 박스 --&gt;
          &lt;rect x=&quot;290&quot; y=&quot;50&quot; width=&quot;180&quot; height=&quot;60&quot; rx=&quot;10&quot; fill=&quot;#dc2626&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0s&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;77&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot;&gt;발신기 세트&lt;/text&gt;
          &lt;text x=&quot;380&quot; y=&quot;96&quot; text-anchor=&quot;middle&quot; fill=&quot;#fecaca&quot; font-size=&quot;11&quot;&gt;(P형 / R형 공통)&lt;/text&gt;

          &lt;!-- 5개 접점 박스 --&gt;
          &lt;!-- NO --&gt;
          &lt;rect x=&quot;30&quot; y=&quot;160&quot; width=&quot;110&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#1e40af&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.2s&quot;/&gt;
          &lt;text x=&quot;85&quot; y=&quot;183&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;① NO 접점&lt;/text&gt;
          &lt;text x=&quot;85&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;10&quot;&gt;평상시 열림&lt;/text&gt;

          &lt;!-- NC --&gt;
          &lt;rect x=&quot;160&quot; y=&quot;160&quot; width=&quot;110&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#1e40af&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.35s&quot;/&gt;
          &lt;text x=&quot;215&quot; y=&quot;183&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;② NC 접점&lt;/text&gt;
          &lt;text x=&quot;215&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;10&quot;&gt;평상시 닫힘&lt;/text&gt;

          &lt;!-- COM --&gt;
          &lt;rect x=&quot;295&quot; y=&quot;160&quot; width=&quot;110&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#7c3aed&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.5s&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;183&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;③ COM 단자&lt;/text&gt;
          &lt;text x=&quot;350&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; fill=&quot;#ddd6fe&quot; font-size=&quot;10&quot;&gt;공통 기준점&lt;/text&gt;

          &lt;!-- Alarm --&gt;
          &lt;rect x=&quot;425&quot; y=&quot;160&quot; width=&quot;110&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#059669&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.65s&quot;/&gt;
          &lt;text x=&quot;480&quot; y=&quot;183&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;④ Alarm 접점&lt;/text&gt;
          &lt;text x=&quot;480&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; fill=&quot;#a7f3d0&quot; font-size=&quot;10&quot;&gt;화재경보 출력&lt;/text&gt;

          &lt;!-- Trouble --&gt;
          &lt;rect x=&quot;555&quot; y=&quot;160&quot; width=&quot;110&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#d97706&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.8s&quot;/&gt;
          &lt;text x=&quot;610&quot; y=&quot;183&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;⑤ Trouble 접점&lt;/text&gt;
          &lt;text x=&quot;610&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; fill=&quot;#fde68a&quot; font-size=&quot;10&quot;&gt;장애신호 출력&lt;/text&gt;

          &lt;!-- 연결선 (CSS 애니메이션 전류 흐름) --&gt;
          &lt;line x1=&quot;380&quot; y1=&quot;110&quot; x2=&quot;85&quot; y2=&quot;160&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6,4&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1s&quot;/&gt;
          &lt;line x1=&quot;380&quot; y1=&quot;110&quot; x2=&quot;215&quot; y2=&quot;160&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6,4&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1.1s&quot;/&gt;
          &lt;line x1=&quot;380&quot; y1=&quot;110&quot; x2=&quot;350&quot; y2=&quot;160&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6,4&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1.2s&quot;/&gt;
          &lt;line x1=&quot;380&quot; y1=&quot;110&quot; x2=&quot;480&quot; y2=&quot;160&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6,4&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1.3s&quot;/&gt;
          &lt;line x1=&quot;380&quot; y1=&quot;110&quot; x2=&quot;610&quot; y2=&quot;160&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6,4&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1.4s&quot;/&gt;

          &lt;!-- 수신기 연결 --&gt;
          &lt;rect x=&quot;260&quot; y=&quot;255&quot; width=&quot;240&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#1f2937&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:1.0s&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;278&quot; text-anchor=&quot;middle&quot; fill=&quot;#ffffff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;수신기&lt;/text&gt;
          &lt;text x=&quot;380&quot; y=&quot;295&quot; text-anchor=&quot;middle&quot; fill=&quot;#9ca3af&quot; font-size=&quot;10&quot;&gt;(P형 1급 / R형)&lt;/text&gt;
          &lt;line x1=&quot;85&quot; y1=&quot;210&quot; x2=&quot;310&quot; y2=&quot;255&quot; stroke=&quot;#6b7280&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;line x1=&quot;215&quot; y1=&quot;210&quot; x2=&quot;330&quot; y2=&quot;255&quot; stroke=&quot;#6b7280&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;line x1=&quot;350&quot; y1=&quot;210&quot; x2=&quot;365&quot; y2=&quot;255&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;line x1=&quot;480&quot; y1=&quot;210&quot; x2=&quot;420&quot; y2=&quot;255&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
          &lt;line x1=&quot;610&quot; y1=&quot;210&quot; x2=&quot;470&quot; y2=&quot;255&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4,3&quot;/&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 발신기 세트 5가지 접점이 각자 역할을 맡고 수신기로 연결됩니다. COM 단자(보라색)가 NO·NC의 공통 기준점입니다.&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim(1)&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim(1)&quot;&gt;  재시작&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&quot;table-container&quot;&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;
            &lt;th&gt;접점&lt;/th&gt;
            &lt;th&gt;영문 풀네임&lt;/th&gt;
            &lt;th&gt;평상시 상태&lt;/th&gt;
            &lt;th&gt;동작 시 상태&lt;/th&gt;
            &lt;th&gt;주요 역할&lt;/th&gt;
          &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;NO&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;Normally Open&lt;/td&gt;
            &lt;td&gt;열림 (개방)&lt;/td&gt;
            &lt;td&gt;닫힘 (폐쇄)&lt;/td&gt;
            &lt;td&gt;화재 발생 시 회로 연결&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;NC&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;Normally Closed&lt;/td&gt;
            &lt;td&gt;닫힘 (폐쇄)&lt;/td&gt;
            &lt;td&gt;열림 (개방)&lt;/td&gt;
            &lt;td&gt;배선 감시 (단선 검출)&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;COM&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;Common&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;—&lt;/td&gt;
            &lt;td&gt;NO·NC의 공통 기준 단자&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;Alarm&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;Alarm Contact&lt;/td&gt;
            &lt;td&gt;개방&lt;/td&gt;
            &lt;td&gt;폐쇄&lt;/td&gt;
            &lt;td&gt;화재 경보음·비상방송 출력&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
            &lt;td&gt;&lt;strong&gt;Trouble&lt;/strong&gt;&lt;/td&gt;
            &lt;td&gt;Trouble Contact&lt;/td&gt;
            &lt;td&gt;폐쇄&lt;/td&gt;
            &lt;td&gt;개방&lt;/td&gt;
            &lt;td&gt;장애 신호(단선·단락) 수신기 전달&lt;/td&gt;
          &lt;/tr&gt;
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;div class=&quot;memory-tip&quot;&gt;
      &lt;strong&gt;암기 팁 — 5초 만에 외우는 공식&lt;/strong&gt;&lt;br&gt;
      &lt;strong&gt;&quot;NO는 평상시 Open(열림), NC는 평상시 Closed(닫힘)&quot;&lt;/strong&gt; — 이름 그대로예요!&lt;br&gt;
      Alarm = 화재 → NO 방식으로 동작 (평상시 열려 있다가 화재 시 닫혀서 경보)&lt;br&gt;
      Trouble = 장애 → NC 방식으로 동작 (평상시 닫혀서 감시, 단선되면 열려서 장애 신호)&lt;br&gt;
      &lt;span class=&quot;highlight-strong&quot;&gt;COM은 항상 NO·NC 가운데에 있는 공통 단자&lt;/span&gt; — 가운데 C!
    &lt;/div&gt;

    &lt;div class=&quot;exam-point-box&quot;&gt;
      시험에서 &quot;발신기 세트 Trouble 접점이 평상시 어떤 상태인가?&quot;로 나오면 → &lt;strong&gt;NC (폐쇄)&lt;/strong&gt;가 답입니다. 배선 단선을 감시해야 하므로 평상시에 닫혀 있어야 전류가 흘러 정상 여부를 확인할 수 있거든요.
    &lt;/div&gt;

    &lt;!-- 인라인 CTA (STEP 3 중간 행동 유도) --&gt;
    &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;이 접점, 지금 바로 판단 시뮬레이터에서 내 감을 테스트해보세요&lt;/a&gt;

    &lt;!-- ===== 접점별 연결 방법 ===== --&gt;
    &lt;h2 id=&quot;connection&quot;&gt;접점별 연결 방법 &amp; 회로도&lt;/h2&gt;

    &lt;p&gt;최근 3회 시험에서 연속 출제된 유형이에요. 접점 이름만 알고 연결 방법을 모르면 회로 구성 문제에서 또 막혀요. 연결 순서를 반드시 익혀두세요.&lt;/p&gt;

    &lt;!-- SVG 2: 접점 연결 회로도 --&gt;
    &lt;div class=&quot;svg-animation-container&quot;&gt;
      &lt;div class=&quot;svg-wrap circuit-diagram-box&quot; id=&quot;svgWrap2&quot;&gt;
        &lt;svg viewBox=&quot;0 0 760 360&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot;&gt;
          &lt;rect width=&quot;760&quot; height=&quot;360&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot;&gt;발신기 세트 ↔ 수신기 접점 연결 회로도&lt;/text&gt;

          &lt;!-- 발신기 세트 본체 --&gt;
          &lt;rect x=&quot;40&quot; y=&quot;50&quot; width=&quot;180&quot; height=&quot;250&quot; rx=&quot;12&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot;/&gt;
          &lt;text x=&quot;130&quot; y=&quot;75&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot;&gt;발신기 세트&lt;/text&gt;

          &lt;!-- 단자 표시 --&gt;
          &lt;circle cx=&quot;220&quot; cy=&quot;110&quot; r=&quot;7&quot; fill=&quot;#1e40af&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.2s&quot;/&gt;
          &lt;text x=&quot;100&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;NO 단자&lt;/text&gt;
          &lt;text x=&quot;100&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot;&gt;평상시 열림&lt;/text&gt;

          &lt;circle cx=&quot;220&quot; cy=&quot;165&quot; r=&quot;7&quot; fill=&quot;#7c3aed&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.4s&quot;/&gt;
          &lt;text x=&quot;100&quot; y=&quot;170&quot; text-anchor=&quot;middle&quot; fill=&quot;#7c3aed&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;COM 단자&lt;/text&gt;
          &lt;text x=&quot;100&quot; y=&quot;185&quot; text-anchor=&quot;middle&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot;&gt;공통 기준점&lt;/text&gt;

          &lt;circle cx=&quot;220&quot; cy=&quot;220&quot; r=&quot;7&quot; fill=&quot;#1e40af&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.6s&quot;/&gt;
          &lt;text x=&quot;100&quot; y=&quot;225&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;NC 단자&lt;/text&gt;
          &lt;text x=&quot;100&quot; y=&quot;240&quot; text-anchor=&quot;middle&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot;&gt;평상시 닫힘&lt;/text&gt;

          &lt;circle cx=&quot;220&quot; cy=&quot;270&quot; r=&quot;7&quot; fill=&quot;#059669&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.8s&quot;/&gt;
          &lt;text x=&quot;100&quot; y=&quot;275&quot; text-anchor=&quot;middle&quot; fill=&quot;#059669&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;Alarm 단자&lt;/text&gt;
          &lt;text x=&quot;100&quot; y=&quot;290&quot; text-anchor=&quot;middle&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot;&gt;화재경보 출력&lt;/text&gt;

          &lt;!-- 수신기 본체 --&gt;
          &lt;rect x=&quot;530&quot; y=&quot;50&quot; width=&quot;180&quot; height=&quot;250&quot; rx=&quot;12&quot; fill=&quot;#eff6ff&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;2.5&quot;/&gt;
          &lt;text x=&quot;620&quot; y=&quot;75&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot;&gt;수신기&lt;/text&gt;

          &lt;!-- 수신기 단자 --&gt;
          &lt;circle cx=&quot;530&quot; cy=&quot;110&quot; r=&quot;7&quot; fill=&quot;#1e40af&quot;/&gt;
          &lt;text x=&quot;650&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;화재 확인 입력&lt;/text&gt;

          &lt;circle cx=&quot;530&quot; cy=&quot;165&quot; r=&quot;7&quot; fill=&quot;#7c3aed&quot;/&gt;
          &lt;text x=&quot;650&quot; y=&quot;170&quot; text-anchor=&quot;middle&quot; fill=&quot;#7c3aed&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;COM 연결&lt;/text&gt;

          &lt;circle cx=&quot;530&quot; cy=&quot;220&quot; r=&quot;7&quot; fill=&quot;#1e40af&quot;/&gt;
          &lt;text x=&quot;650&quot; y=&quot;225&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;배선 감시 입력&lt;/text&gt;

          &lt;circle cx=&quot;530&quot; cy=&quot;270&quot; r=&quot;7&quot; fill=&quot;#059669&quot;/&gt;
          &lt;text x=&quot;650&quot; y=&quot;275&quot; text-anchor=&quot;middle&quot; fill=&quot;#059669&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;경보 출력&lt;/text&gt;

          &lt;!-- 연결선들 (전류 흐름 애니메이션) --&gt;
          &lt;line x1=&quot;227&quot; y1=&quot;110&quot; x2=&quot;523&quot; y2=&quot;110&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;2.5&quot; stroke-dasharray=&quot;8,5&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1s&quot;/&gt;
          &lt;line x1=&quot;227&quot; y1=&quot;165&quot; x2=&quot;523&quot; y2=&quot;165&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;3&quot; stroke-dasharray=&quot;8,5&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1.15s&quot;/&gt;
          &lt;line x1=&quot;227&quot; y1=&quot;220&quot; x2=&quot;523&quot; y2=&quot;220&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;2.5&quot; stroke-dasharray=&quot;8,5&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1.3s&quot;/&gt;
          &lt;line x1=&quot;227&quot; y1=&quot;270&quot; x2=&quot;523&quot; y2=&quot;270&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2.5&quot; stroke-dasharray=&quot;8,5&quot; class=&quot;current-line&quot; style=&quot;animation-delay:1.45s&quot;/&gt;

          &lt;!-- 레이블 --&gt;
          &lt;rect x=&quot;330&quot; y=&quot;96&quot; width=&quot;100&quot; height=&quot;20&quot; rx=&quot;4&quot; fill=&quot;#dbeafe&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot;&gt;NO 연결선&lt;/text&gt;
          &lt;rect x=&quot;330&quot; y=&quot;151&quot; width=&quot;100&quot; height=&quot;20&quot; rx=&quot;4&quot; fill=&quot;#ede9fe&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;165&quot; text-anchor=&quot;middle&quot; fill=&quot;#7c3aed&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot;&gt;COM 연결선&lt;/text&gt;
          &lt;rect x=&quot;330&quot; y=&quot;206&quot; width=&quot;100&quot; height=&quot;20&quot; rx=&quot;4&quot; fill=&quot;#dbeafe&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;220&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot;&gt;NC 연결선&lt;/text&gt;
          &lt;rect x=&quot;318&quot; y=&quot;256&quot; width=&quot;124&quot; height=&quot;20&quot; rx=&quot;4&quot; fill=&quot;#d1fae5&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;270&quot; text-anchor=&quot;middle&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot;&gt;Alarm 연결선&lt;/text&gt;

          &lt;!-- Trouble 단자 별도 표시 --&gt;
          &lt;rect x=&quot;280&quot; y=&quot;310&quot; width=&quot;200&quot; height=&quot;36&quot; rx=&quot;8&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;330&quot; text-anchor=&quot;middle&quot; fill=&quot;#92400e&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;⑤ Trouble 단자 → 배선 감시용 NC 계통으로 별도 연결&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 발신기 세트의 NO·NC·COM·Alarm 단자가 수신기의 각 입력단자에 연결됩니다. COM(보라색)이 기준점입니다.&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim(2)&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim(2)&quot;&gt;  재시작&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 연결 순서 step-box --&gt;
    &lt;h3&gt;접점 연결 순서 — 시험장에서 이 순서로 떠올리세요&lt;/h3&gt;

    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;strong&gt;COM 단자부터 먼저 확인&lt;/strong&gt;
        COM은 NO·NC 두 접점의 공통 기준점입니다. 연결도를 볼 때 COM부터 찾으면 나머지 배선이 자동으로 보여요.
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;strong&gt;NO 단자 → 수신기 화재 확인 입력단자 연결&lt;/strong&gt;
        평상시 열려 있다가 화재 발신기 누름 버튼이 눌리면 닫혀서 수신기에 화재 신호를 보냅니다.
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;strong&gt;NC 단자 → 수신기 배선 감시 입력단자 연결&lt;/strong&gt;
        평상시 닫혀 있어 배선 정상 여부를 감시합니다. 배선이 단선되면 열려서 수신기에 Trouble 신호 전달.
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;strong&gt;Alarm 단자 → 경보 출력 계통 연결&lt;/strong&gt;
        화재 발생 시 닫혀서 사이렌·비상방송 등 경보를 출력시킵니다.
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;step-box&quot;&gt;
      &lt;div class=&quot;step-number&quot;&gt;5&lt;/div&gt;
      &lt;div class=&quot;step-content&quot;&gt;
        &lt;strong&gt;Trouble 단자 → 장애 감시 계통 연결&lt;/strong&gt;
        NC 접점 기반으로 배선 단선·단락 시 수신기에 장애(Trouble) 신호를 보냅니다.
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 중간 행동 유도 배너 (STEP 3) --&gt;
    &lt;a class=&quot;inline-cta&quot; href=&quot;#quiz&quot;&gt;이 연결 순서 지금 완전히 이해됐나요? 아래 퀴즈에서 바로 확인해보세요&lt;/a&gt;

    &lt;!-- ===== 기출 분석 ===== --&gt;
    &lt;h2 id=&quot;kichul&quot;&gt;최근 5년 기출 분석 — 이 유형 안 잡으면 늦어요&lt;/h2&gt;

    &lt;p&gt;CBT 전환 이후 발신기 세트 접점 문제의 출제 비중이 2배로 늘었어요. 2022년까지는 1~2문항이었는데 2023년부터 3~4문항씩 나오고 있습니다. &lt;span class=&quot;highlight-red&quot;&gt;지금 안 잡으면 다음 파트도 같이 흔들립니다.&lt;/span&gt;&lt;/p&gt;

    &lt;div class=&quot;bar-chart-container&quot;&gt;
      &lt;div class=&quot;bar-chart-title&quot;&gt;  연도별 발신기 세트 접점 연결 문제 출제 횟수&lt;/div&gt;
      &lt;div class=&quot;bar-item&quot; data-year=&quot;2022&quot; data-info=&quot;2022년: NO/NC 판별 1문항, COM 단자 역할 1문항. 기본 개념 위주.&quot;&gt;
        &lt;div class=&quot;bar-year&quot;&gt;2022년&lt;/div&gt;
        &lt;div class=&quot;bar-track&quot; onclick=&quot;showBarPopup(this, '2022년: NO/NC 판별 1문항, COM 단자 역할 1문항. 기본 개념 위주 출제.')&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;width:35%; background:#9ca3af;&quot;&gt;2문항&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;bar-item&quot; data-year=&quot;2023&quot; data-info=&quot;2023년: 접점 연결 순서 2문항, Trouble 접점 판별 1문항. 연결 방법 첫 등장.&quot;&gt;
        &lt;div class=&quot;bar-year&quot;&gt;2023년&lt;/div&gt;
        &lt;div class=&quot;bar-track&quot; onclick=&quot;showBarPopup(this, '2023년: 접점 연결 순서 2문항, Trouble 접점 판별 1문항. CBT 이후 급증 시작.')&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;width:52%; background:#dc2626;&quot;&gt;3문항&lt;/div&gt;
          &lt;span class=&quot;bar-badge&quot;&gt;  증가&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;bar-item&quot; data-year=&quot;2024&quot; data-info=&quot;2024년: NO/NC/COM/Alarm/Trouble 전 접점 연결 2문항 + 회로 판독 2문항. 4문항 출제.&quot;&gt;
        &lt;div class=&quot;bar-year&quot;&gt;2024년&lt;/div&gt;
        &lt;div class=&quot;bar-track&quot; onclick=&quot;showBarPopup(this, '2024년: 5가지 접점 전부 연결 방법 2문항 + 회로 판독 2문항. 합계 4문항 출제. ★ 필수 암기')&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;width:70%; background:#dc2626;&quot;&gt;4문항&lt;/div&gt;
          &lt;span class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;bar-item&quot; data-year=&quot;2025&quot; data-info=&quot;2025년: Alarm·Trouble 접점 비교 2문항, NO·NC 판별 2문항. 총 4문항 연속 출제.&quot;&gt;
        &lt;div class=&quot;bar-year&quot;&gt;2025년&lt;/div&gt;
        &lt;div class=&quot;bar-track&quot; onclick=&quot;showBarPopup(this, '2025년: Alarm·Trouble 접점 역할 비교 2문항 + NO·NC 판별 2문항. 4문항 연속. ★ 반드시 출제')&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;width:70%; background:#dc2626;&quot;&gt;4문항&lt;/div&gt;
          &lt;span class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;bar-item&quot; data-year=&quot;2026&quot;&gt;
        &lt;div class=&quot;bar-year&quot;&gt;2026년&lt;/div&gt;
        &lt;div class=&quot;bar-track&quot; onclick=&quot;showBarPopup(this, '2026년: 현재까지 1회차 기준 3문항 출제 확인. 연간 4문항 예상. 지금 바로 잡으세요.')&quot;&gt;
          &lt;div class=&quot;bar-fill&quot; style=&quot;width:87%; background:#b91c1c;&quot;&gt;3+문항 예상&lt;/div&gt;
          &lt;span class=&quot;bar-badge&quot;&gt;  출제중&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;p style=&quot;font-size:12px; color:#6b7280; margin-top:8px;&quot;&gt;※ 막대를 클릭하면 출제 상세 정보를 확인할 수 있습니다.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class=&quot;table-container&quot;&gt;
      &lt;table&gt;
        &lt;thead&gt;
          &lt;tr&gt;&lt;th&gt;출제 유형&lt;/th&gt;&lt;th&gt;출제 빈도&lt;/th&gt;&lt;th&gt;핵심 정답 포인트&lt;/th&gt;&lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
          &lt;tr&gt;&lt;td&gt;NO·NC 접점 평상시 상태 판별&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;NO=열림, NC=닫힘 — 이름 그대로&lt;/td&gt;&lt;/tr&gt;
          &lt;tr&gt;&lt;td&gt;COM 단자 역할 및 연결 위치&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;NO·NC의 공통 기준점&lt;/td&gt;&lt;/tr&gt;
          &lt;tr&gt;&lt;td&gt;Alarm vs Trouble 접점 구분&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;Alarm=화재경보, Trouble=장애신호&lt;/td&gt;&lt;/tr&gt;
          &lt;tr&gt;&lt;td&gt;배선 단선 시 어느 접점이 동작?&lt;/td&gt;&lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;&lt;td&gt;NC → Trouble 접점 → 수신기 장애 신호&lt;/td&gt;&lt;/tr&gt;
          &lt;tr&gt;&lt;td&gt;발신기 누름 시 어느 접점 폐쇄?&lt;/td&gt;&lt;td&gt;⭐⭐⭐&lt;/td&gt;&lt;td&gt;NO 접점 → 화재 신호 수신기 전달&lt;/td&gt;&lt;/tr&gt;
        &lt;/tbody&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;!-- ===== 계산기 / 판단 시뮬레이터 ===== --&gt;
    &lt;h2 id=&quot;calculator&quot;&gt;  발신기 접점 판단 시뮬레이터&lt;/h2&gt;

    &lt;p&gt;이 파트 저장해두면 시험 3일 전에 진짜 유용해요. 북마크(☆) 눌러두고 시험 전날 다시 열어보세요.&lt;/p&gt;

    &lt;div class=&quot;calculator-box&quot;&gt;
      &lt;h3&gt;  상황별 접점 동작 판단기&lt;/h3&gt;
      &lt;p style=&quot;color:#9ca3af; font-size:13px; margin-bottom:18px;&quot;&gt;아래 두 가지 상황을 선택하면 어떤 접점이 동작하는지 즉시 알려드립니다.&lt;/p&gt;
      &lt;div class=&quot;calc-grid&quot;&gt;
        &lt;div&gt;
          &lt;div class=&quot;calc-label&quot;&gt;발생 상황 선택&lt;/div&gt;
          &lt;select class=&quot;calculator-input&quot; id=&quot;situation&quot; style=&quot;cursor:pointer;&quot;&gt;
            &lt;option value=&quot;&quot;&gt;-- 상황 선택 --&lt;/option&gt;
            &lt;option value=&quot;fire&quot;&gt;화재 발신기 누름 버튼 눌림&lt;/option&gt;
            &lt;option value=&quot;disconnection&quot;&gt;배선 단선 발생&lt;/option&gt;
            &lt;option value=&quot;short&quot;&gt;배선 단락(합선) 발생&lt;/option&gt;
            &lt;option value=&quot;normal&quot;&gt;평상시 (정상 감시 중)&lt;/option&gt;
          &lt;/select&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div class=&quot;calc-label&quot;&gt;확인하고 싶은 접점&lt;/div&gt;
          &lt;select class=&quot;calculator-input&quot; id=&quot;contactType&quot; style=&quot;cursor:pointer;&quot;&gt;
            &lt;option value=&quot;&quot;&gt;-- 접점 선택 --&lt;/option&gt;
            &lt;option value=&quot;no&quot;&gt;NO 접점&lt;/option&gt;
            &lt;option value=&quot;nc&quot;&gt;NC 접점&lt;/option&gt;
            &lt;option value=&quot;com&quot;&gt;COM 단자&lt;/option&gt;
            &lt;option value=&quot;alarm&quot;&gt;Alarm 접점&lt;/option&gt;
            &lt;option value=&quot;trouble&quot;&gt;Trouble 접점&lt;/option&gt;
          &lt;/select&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;button class=&quot;calc-btn&quot; onclick=&quot;runContactCalc()&quot;&gt;접점 동작 상태 판단하기&lt;/button&gt;
      &lt;div class=&quot;calculator-result&quot; id=&quot;calcResult1&quot;&gt;
        &lt;div class=&quot;result-title&quot;&gt;판단 결과&lt;/div&gt;
        &lt;div class=&quot;result-value&quot; id=&quot;calcResult1Value&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;result-detail&quot; id=&quot;calcResult1Detail&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- SVG 3: Trouble/Alarm 동작 원리 흐름도 --&gt;
    &lt;div class=&quot;svg-animation-container&quot;&gt;
      &lt;div class=&quot;svg-wrap&quot; id=&quot;svgWrap3&quot;&gt;
        &lt;svg viewBox=&quot;0 0 760 300&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot;&gt;
          &lt;rect width=&quot;760&quot; height=&quot;300&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot;&gt;Alarm vs Trouble 접점 동작 원리 흐름도&lt;/text&gt;

          &lt;!-- 화재 경보 흐름 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;55&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#dc2626&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.1s&quot;/&gt;
          &lt;text x=&quot;80&quot; y=&quot;77&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;화재 발생&lt;/text&gt;

          &lt;polygon points=&quot;155,55 185,75 155,95&quot; fill=&quot;#dc2626&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.3s&quot;/&gt;

          &lt;rect x=&quot;195&quot; y=&quot;55&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#dc2626&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.5s&quot;/&gt;
          &lt;text x=&quot;255&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;누름 버튼&lt;/text&gt;
          &lt;text x=&quot;255&quot; y=&quot;86&quot; text-anchor=&quot;middle&quot; fill=&quot;#fecaca&quot; font-size=&quot;10&quot;&gt;눌림 (NO → 폐쇄)&lt;/text&gt;

          &lt;polygon points=&quot;330,55 360,75 330,95&quot; fill=&quot;#059669&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;/&gt;

          &lt;rect x=&quot;370&quot; y=&quot;55&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#059669&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.9s&quot;/&gt;
          &lt;text x=&quot;430&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;Alarm 접점&lt;/text&gt;
          &lt;text x=&quot;430&quot; y=&quot;86&quot; text-anchor=&quot;middle&quot; fill=&quot;#a7f3d0&quot; font-size=&quot;10&quot;&gt;폐쇄 → 경보 출력&lt;/text&gt;

          &lt;polygon points=&quot;505,55 535,75 505,95&quot; fill=&quot;#059669&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:1.1s&quot;/&gt;

          &lt;rect x=&quot;545&quot; y=&quot;55&quot; width=&quot;150&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#1f2937&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:1.3s&quot;/&gt;
          &lt;text x=&quot;620&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;수신기 화재 경보&lt;/text&gt;
          &lt;text x=&quot;620&quot; y=&quot;86&quot; text-anchor=&quot;middle&quot; fill=&quot;#9ca3af&quot; font-size=&quot;10&quot;&gt;사이렌 · 비상방송&lt;/text&gt;

          &lt;!-- 구분선 --&gt;
          &lt;line x1=&quot;20&quot; y1=&quot;140&quot; x2=&quot;740&quot; y2=&quot;140&quot; stroke=&quot;#e5e7eb&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;8,6&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;135&quot; text-anchor=&quot;middle&quot; fill=&quot;#9ca3af&quot; font-size=&quot;10&quot;&gt;── Trouble 접점 흐름 ──&lt;/text&gt;

          &lt;!-- Trouble 흐름 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;165&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#d97706&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.3s&quot;/&gt;
          &lt;text x=&quot;80&quot; y=&quot;187&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;배선 단선&lt;/text&gt;

          &lt;polygon points=&quot;155,165 185,185 155,205&quot; fill=&quot;#d97706&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.5s&quot;/&gt;

          &lt;rect x=&quot;195&quot; y=&quot;165&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#d97706&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;/&gt;
          &lt;text x=&quot;255&quot; y=&quot;180&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;NC 접점&lt;/text&gt;
          &lt;text x=&quot;255&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#fde68a&quot; font-size=&quot;10&quot;&gt;단선으로 개방됨&lt;/text&gt;

          &lt;polygon points=&quot;330,165 360,185 330,205&quot; fill=&quot;#b91c1c&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.9s&quot;/&gt;

          &lt;rect x=&quot;370&quot; y=&quot;165&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#b91c1c&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:1.1s&quot;/&gt;
          &lt;text x=&quot;430&quot; y=&quot;180&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;Trouble 접점&lt;/text&gt;
          &lt;text x=&quot;430&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#fecaca&quot; font-size=&quot;10&quot;&gt;개방 → 장애 신호&lt;/text&gt;

          &lt;polygon points=&quot;505,165 535,185 505,205&quot; fill=&quot;#b91c1c&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:1.3s&quot;/&gt;

          &lt;rect x=&quot;545&quot; y=&quot;165&quot; width=&quot;150&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#1f2937&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:1.5s&quot;/&gt;
          &lt;text x=&quot;620&quot; y=&quot;180&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;수신기 장애 표시&lt;/text&gt;
          &lt;text x=&quot;620&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#9ca3af&quot; font-size=&quot;10&quot;&gt;Trouble 램프 점등&lt;/text&gt;

          &lt;!-- 핵심 차이 박스 --&gt;
          &lt;rect x=&quot;200&quot; y=&quot;230&quot; width=&quot;360&quot; height=&quot;50&quot; rx=&quot;10&quot; fill=&quot;#1e3a5f&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;252&quot; text-anchor=&quot;middle&quot; fill=&quot;#fbbf24&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;핵심 차이: Alarm은 화재(NO방식) / Trouble은 장애(NC방식)&lt;/text&gt;
          &lt;text x=&quot;380&quot; y=&quot;270&quot; text-anchor=&quot;middle&quot; fill=&quot;#93c5fd&quot; font-size=&quot;11&quot;&gt;NO → 동작 시 폐쇄 | NC → 동작(단선) 시 개방&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ Alarm 접점은 화재 발생 시 NO방식으로 닫히고, Trouble 접점은 배선 단선 시 NC가 개방되면서 장애 신호를 전달합니다.&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim(3)&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim(3)&quot;&gt;  재시작&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 에피소드 2 --&gt;
    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;span class=&quot;episode-label&quot;&gt;  수험생 에피소드 ②&lt;/span&gt;
      &quot;2024년 2회차를 앞두고 퇴근 후 매일 2시간씩 공부했어요. 발신기 파트는 'Alarm=경보, Trouble=장애'만 외웠는데, 시험에서 'Trouble 접점의 평상시 상태는?'이라고 물어보더라고요. 당연히 틀렸죠. NC인지 NO인지는 생각도 못 했어요. 그 뒤로 동작 원리까지 묶어서 외웠습니다.&quot; — 직장인 병행 수험생 K씨
    &lt;/div&gt;

    &lt;!-- CTA-3: 공격형 내부 링크 --&gt;
    &lt;div class=&quot;urgent-action-box&quot;&gt;
      발신기 세트를 이해했다면, 이거 모르고 자동화재탐지설비 다른 파트 가면 또 막혀요.&lt;br&gt;
      &lt;strong&gt;&lt;a href=&quot;https://etmusso72.tistory.com/111&quot; class=&quot;internal-link&quot;&gt;→ 소방전기 감지기 종류 10가지 (바로 확인)&lt;/a&gt;&lt;/strong&gt; — 발신기와 함께 세트로 출제됩니다.&lt;br&gt;
      &lt;strong&gt;&lt;a href=&quot;https://etmusso72.tistory.com/113&quot; class=&quot;internal-link&quot;&gt;→ 소방전기 시퀀스 제어 3일 독학법 (바로 확인)&lt;/a&gt;&lt;/strong&gt;
    &lt;/div&gt;

    &lt;!-- 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=380&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 시험 공부 이미지 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/20/800/380';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;접점 연결 방법은 개념 이해 → 회로도 손으로 그리기 → 기출 풀이 순서로 공부하세요&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 자주 틀리는 포인트 5가지 ===== --&gt;
    &lt;h2 id=&quot;mistakes&quot;&gt;자주 틀리는 포인트 5가지 — 이거 보면 시험장에서 30초 절약&lt;/h2&gt;

    &lt;p&gt;합격자 후기와 기출 오답 패턴을 분석한 결과, 아래 5가지 실수가 전체 오답의 80% 이상을 차지합니다. 각 포인트마다 원인과 해결법을 바로 드릴게요.&lt;/p&gt;

    &lt;!-- SVG 4: 실수 유형 시각화 --&gt;
    &lt;div class=&quot;svg-animation-container&quot;&gt;
      &lt;div class=&quot;svg-wrap&quot; id=&quot;svgWrap4&quot;&gt;
        &lt;svg viewBox=&quot;0 0 760 250&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot;&gt;
          &lt;rect width=&quot;760&quot; height=&quot;250&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
          &lt;text x=&quot;380&quot; y=&quot;28&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot;&gt;발신기 접점 오답 유형별 비율&lt;/text&gt;

          &lt;!-- 막대들 --&gt;
          &lt;rect x=&quot;60&quot; y=&quot;180&quot; width=&quot;80&quot; height=&quot;0&quot; rx=&quot;4&quot; fill=&quot;#dc2626&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.1s; animation-fill-mode:forwards;&quot;/&gt;
          &lt;animate attributeName=&quot;height&quot; begin=&quot;0.1s&quot; dur=&quot;1s&quot; from=&quot;0&quot; to=&quot;70&quot; fill=&quot;freeze&quot;/&gt;

          &lt;!-- 직접 div 기반 막대 차트로 대체 설명 --&gt;
          &lt;rect x=&quot;60&quot; y=&quot;110&quot; width=&quot;80&quot; height=&quot;70&quot; rx=&quot;4&quot; fill=&quot;#dc2626&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.1s&quot;/&gt;
          &lt;text x=&quot;100&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;35%&lt;/text&gt;
          &lt;text x=&quot;100&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot;&gt;NO/NC 혼동&lt;/text&gt;

          &lt;rect x=&quot;170&quot; y=&quot;130&quot; width=&quot;80&quot; height=&quot;50&quot; rx=&quot;4&quot; fill=&quot;#b91c1c&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.25s&quot;/&gt;
          &lt;text x=&quot;210&quot; y=&quot;124&quot; text-anchor=&quot;middle&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;25%&lt;/text&gt;
          &lt;text x=&quot;210&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot;&gt;COM 위치 혼동&lt;/text&gt;

          &lt;rect x=&quot;280&quot; y=&quot;148&quot; width=&quot;80&quot; height=&quot;32&quot; rx=&quot;4&quot; fill=&quot;#d97706&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.4s&quot;/&gt;
          &lt;text x=&quot;320&quot; y=&quot;142&quot; text-anchor=&quot;middle&quot; fill=&quot;#d97706&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;16%&lt;/text&gt;
          &lt;text x=&quot;320&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot;&gt;Alarm/Trouble 혼동&lt;/text&gt;

          &lt;rect x=&quot;390&quot; y=&quot;156&quot; width=&quot;80&quot; height=&quot;24&quot; rx=&quot;4&quot; fill=&quot;#f59e0b&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.55s&quot;/&gt;
          &lt;text x=&quot;430&quot; y=&quot;150&quot; text-anchor=&quot;middle&quot; fill=&quot;#f59e0b&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;12%&lt;/text&gt;
          &lt;text x=&quot;430&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot;&gt;NC 역할 오해&lt;/text&gt;

          &lt;rect x=&quot;500&quot; y=&quot;162&quot; width=&quot;80&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#6b7280&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;/&gt;
          &lt;text x=&quot;540&quot; y=&quot;156&quot; text-anchor=&quot;middle&quot; fill=&quot;#6b7280&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot;&gt;12%&lt;/text&gt;
          &lt;text x=&quot;540&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#374151&quot; font-size=&quot;11&quot;&gt;연결 순서 오류&lt;/text&gt;

          &lt;!-- x축 --&gt;
          &lt;line x1=&quot;50&quot; y1=&quot;180&quot; x2=&quot;640&quot; y2=&quot;180&quot; stroke=&quot;#e5e7eb&quot; stroke-width=&quot;2&quot;/&gt;

          &lt;!-- 설명 --&gt;
          &lt;rect x=&quot;640&quot; y=&quot;80&quot; width=&quot;100&quot; height=&quot;110&quot; rx=&quot;8&quot; fill=&quot;#1f2937&quot;/&gt;
          &lt;text x=&quot;690&quot; y=&quot;100&quot; text-anchor=&quot;middle&quot; fill=&quot;#fbbf24&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;핵심 오답&lt;/text&gt;
          &lt;text x=&quot;690&quot; y=&quot;118&quot; text-anchor=&quot;middle&quot; fill=&quot;#e5e7eb&quot; font-size=&quot;10&quot;&gt;NO/NC 혼동&lt;/text&gt;
          &lt;text x=&quot;690&quot; y=&quot;134&quot; text-anchor=&quot;middle&quot; fill=&quot;#e5e7eb&quot; font-size=&quot;10&quot;&gt;이 1개만 잡아도&lt;/text&gt;
          &lt;text x=&quot;690&quot; y=&quot;150&quot; text-anchor=&quot;middle&quot; fill=&quot;#fbbf24&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;35% 오답 제거&lt;/text&gt;
          &lt;text x=&quot;690&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; fill=&quot;#9ca3af&quot; font-size=&quot;9&quot;&gt;합격 확률 급상승&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 발신기 접점 오답의 35%가 NO/NC 혼동에서 발생합니다. 이 하나만 확실히 잡아도 합격 확률이 크게 달라져요.&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim(4)&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim(4)&quot;&gt;  재시작&lt;/button&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&quot;warning-box&quot;&gt;
      &lt;strong&gt;❌ 실수 포인트 ①: NO와 NC를 반대로 기억하는 것 — 오답 35%&lt;/strong&gt;&lt;br&gt;
      원인: &quot;N자 뒤집으면 Open&quot; 같은 잘못된 암기법 사용&lt;br&gt;
      해결: &lt;span class=&quot;highlight-strong&quot;&gt;이름 그대로 읽으세요&lt;/span&gt; — Normally Open = 평상시(Normally) 열려있음(Open)
    &lt;/div&gt;

    &lt;div class=&quot;warning-box&quot;&gt;
      &lt;strong&gt;❌ 실수 포인트 ②: COM 단자를 전원 단자로 착각 — 오답 25%&lt;/strong&gt;&lt;br&gt;
      원인: COM을 전기에서 중성선이라고 잘못 연결&lt;br&gt;
      해결: 소방 발신기에서 COM은 &lt;span class=&quot;highlight-strong&quot;&gt;NO·NC의 공통 기준점&lt;/span&gt;이에요. 전원과 무관합니다.
    &lt;/div&gt;

    &lt;div class=&quot;warning-box&quot;&gt;
      &lt;strong&gt;❌ 실수 포인트 ③: Alarm과 Trouble을 바꿔서 기억 — 오답 16%&lt;/strong&gt;&lt;br&gt;
      원인: &quot;알람=음악=편안함&quot;이라는 비연상 암기&lt;br&gt;
      해결: &lt;span class=&quot;highlight-strong&quot;&gt;Alarm = 화재 경보음(경보!)&lt;/span&gt; / &lt;span class=&quot;highlight-red&quot;&gt;Trouble = 문제(장애!)&lt;/span&gt; — 단어 의미로 외우세요.
    &lt;/div&gt;

    &lt;div class=&quot;warning-box&quot;&gt;
      &lt;strong&gt;❌ 실수 포인트 ④: NC가 배선 감시용이라는 것을 모름 — 오답 12%&lt;/strong&gt;&lt;br&gt;
      원인: NC=닫힘만 알고 역할은 모름&lt;br&gt;
      해결: NC는 평상시 &lt;span class=&quot;highlight-strong&quot;&gt;닫혀 있어야 배선 정상을 감시&lt;/span&gt;할 수 있어요. 단선 → NC 개방 → Trouble 신호.
    &lt;/div&gt;

    &lt;div class=&quot;warning-box&quot;&gt;
      &lt;strong&gt;❌ 실수 포인트 ⑤: 연결 순서를 임의로 기억 — 오답 12%&lt;/strong&gt;&lt;br&gt;
      원인: 순서 없이 외워서 회로도 문제에서 막힘&lt;br&gt;
      해결: 반드시 &lt;span class=&quot;highlight-strong&quot;&gt;COM → NO → NC → Alarm → Trouble 순서&lt;/span&gt;로 기억하세요.
    &lt;/div&gt;

    &lt;!-- ===== 자가진단 퀴즈 ===== --&gt;
    &lt;h2 id=&quot;quiz&quot;&gt;  자가진단 퀴즈 5문항 — 지금 바로 실력 확인&lt;/h2&gt;

    &lt;p&gt;이 퀴즈에서 틀린 문항이 시험장에서도 틀릴 가능성이 높아요. 지금 확인하고 해당 섹션을 다시 보세요.&lt;/p&gt;

    &lt;div class=&quot;quiz-section&quot; id=&quot;quizSection&quot;&gt;
      &lt;div id=&quot;quizContainer&quot;&gt;&lt;/div&gt;
      &lt;div class=&quot;quiz-nav&quot;&gt;
        &lt;button class=&quot;quiz-nav-btn&quot; onclick=&quot;prevQuestion()&quot; id=&quot;prevBtn&quot; style=&quot;display:none;&quot;&gt;◀ 이전&lt;/button&gt;
        &lt;button class=&quot;quiz-nav-btn&quot; onclick=&quot;nextQuestion()&quot; id=&quot;nextBtn&quot;&gt;다음 ▶&lt;/button&gt;
        &lt;button class=&quot;quiz-nav-btn&quot; onclick=&quot;resetQuiz()&quot; id=&quot;resetBtn&quot; style=&quot;display:none; background:#6b7280;&quot;&gt;다시 풀기&lt;/button&gt;
      &lt;/div&gt;
      &lt;div id=&quot;quizScore&quot; style=&quot;display:none; text-align:center; padding:16px; background:#f0fdf4; border-radius:10px; margin-top:12px;&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== 합격 전략 ===== --&gt;
    &lt;h2 id=&quot;strategy&quot;&gt;합격 전략 &amp; 2개월 공부법&lt;/h2&gt;

    &lt;div class=&quot;episode-box&quot;&gt;
      &lt;span class=&quot;episode-label&quot;&gt;  수험생 에피소드 ③&lt;/span&gt;
      &quot;2025년 2회차 합격했어요. 발신기 파트는 2주 전에 이 5가지 접점 표를 노트에 직접 그리면서 외웠는데, 시험장에서 발신기 문제 3개가 모두 맞았어요. 표 그리기 3번 + 기출 풀기 10문항이면 충분합니다.&quot; — 합격자 J씨 (독학 2개월)
    &lt;/div&gt;

    &lt;div class=&quot;highlight-box&quot;&gt;
      &lt;strong&gt;  소방설비기사 전기편 2개월 합격 플랜 (발신기 파트 기준)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
      &lt;strong&gt;1~2주차:&lt;/strong&gt; 발신기 세트 5가지 접점 개념 정리 (이 글 정독 + 표 직접 그리기)&lt;br&gt;
      &lt;strong&gt;3~4주차:&lt;/strong&gt; 자동화재탐지설비 전체 계통 연결 (감지기 → 발신기 → 수신기)&lt;br&gt;
      &lt;strong&gt;5~6주차:&lt;/strong&gt; 기출 문제 50문항 반복 (발신기+감지기 파트 집중)&lt;br&gt;
      &lt;strong&gt;7~8주차:&lt;/strong&gt; CBT 모의고사 5회 + 오답 노트 정리 → 약점 집중 보완
    &lt;/div&gt;

    &lt;p&gt;소방설비기사 합격 후 실무 취업이나 연봉 변화가 궁금하신 분들이 많아요. 합격 이후 어떤 변화가 있는지, 취업 전망은 어떤지 → &lt;a href=&quot;https://etmusso72.tistory.com/117&quot; class=&quot;internal-link&quot;&gt;자동화재탐지설비 소방전기 실무 연계 암기 포인트&lt;/a&gt; 글에서 함께 확인해보세요.&lt;/p&gt;

    &lt;!-- 참고문헌 --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h4&gt;  참고 기준&lt;/h4&gt;
      &lt;ul&gt;
        &lt;li&gt;KFI(한국소방산업기술원) 발신기 형식승인 기준 (2026 기준)&lt;/li&gt;
        &lt;li&gt;소방설비기사 출제기준 (한국산업인력공단, 2025~2026)&lt;/li&gt;
        &lt;li&gt;NFSC 203 자동화재탐지설비 및 시각경보장치 화재안전성능기준&lt;/li&gt;
        &lt;li&gt;소방청 화재안전기술기준 (NFTC) 2026 최신판&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;

    &lt;!-- 업데이트 히스토리 --&gt;
    &lt;details class=&quot;update-history&quot;&gt;
      &lt;summary&gt;  업데이트 히스토리&lt;/summary&gt;
      &lt;ul&gt;
        &lt;li&gt;2026-04-01 — KFI 형식승인 기준 반영, 기출 분석 업데이트&lt;/li&gt;
        &lt;li&gt;2026-01-15 — 최초 발행, 5가지 접점 전면 정리&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/details&gt;

    &lt;!-- 콘텐츠 평가 --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;h4&gt;이 글이 도움이 됐나요?&lt;/h4&gt;
      &lt;div class=&quot;rating-buttons&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good')&quot; id=&quot;rateGood&quot;&gt;  도움됐어요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('mid')&quot; id=&quot;rateMid&quot;&gt;  보통이에요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad')&quot; id=&quot;rateBad&quot;&gt;  아쉬워요&lt;/button&gt;
      &lt;/div&gt;
      &lt;p id=&quot;ratingMsg&quot; style=&quot;margin-top:10px; font-size:13px; color:var(--text-secondary); display:none;&quot;&gt;&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ===== FAQ ===== --&gt;
    &lt;h2 id=&quot;faq&quot;&gt;자주 묻는 질문 (FAQ)&lt;/h2&gt;

    &lt;div class=&quot;faq-section&quot;&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q. 발신기 세트의 5가지 접점 종류는 정확히 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;NO(Normally Open, 정상개방 접점), NC(Normally Closed, 정상폐쇄 접점), COM(Common, 공통 단자), Alarm(화재경보 접점), Trouble(장애신호 접점) 5가지입니다. 시험에서는 각 접점의 &lt;strong&gt;평상시 상태와 동작 시 상태&lt;/strong&gt;를 정확히 구분하는 것이 핵심이에요.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q. 소방설비기사 필기 시험에서 발신기 접점은 어떤 유형으로 출제되나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;2024~2025년 기준 ①NO/NC 평상시 상태 판별 ②COM 단자 역할 및 연결 위치 ③Alarm vs Trouble 접점 구분 ④배선 단선 시 어느 접점이 동작하는가 ⑤발신기 누름 시 어느 접점이 폐쇄되는가 — 5가지 유형이 반복 출제됩니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q. Alarm 접점과 Trouble 접점의 차이점은 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;Alarm 접점은 &lt;strong&gt;화재 발생 시 경보 신호를 수신기에 출력&lt;/strong&gt;하는 접점으로 NO 방식(평상시 열림, 화재 시 닫힘)으로 동작합니다. Trouble 접점은 &lt;strong&gt;배선 단선·단락 등 장애 발생 시 수신기에 장애 신호를 전달&lt;/strong&gt;하는 접점으로 NC 방식(평상시 닫힘, 장애 시 열림)으로 동작해요.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q. NO와 NC 접점을 가장 확실하게 구분하는 방법은?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;이름 그대로 읽는 게 제일 확실해요. &lt;strong&gt;NO = Normally Open = 평상시(Normally) 열려있음(Open)&lt;/strong&gt;, &lt;strong&gt;NC = Normally Closed = 평상시(Normally) 닫혀있음(Closed)&lt;/strong&gt;. 평상시 상태가 이름에 이미 담겨 있습니다. 화재나 장애 등 동작이 발생하면 반대로 전환됩니다.&lt;/div&gt;
      &lt;/div&gt;
      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q. 발신기 접점 연결 문제가 소방설비기사 실기에도 나오나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;네, 소방설비기사 실기에서 발신기 세트 배선 연결 및 회로 구성 문제가 출제될 수 있습니다. 특히 &lt;strong&gt;수신기와의 연결 순서(COM → NO → NC → Alarm → Trouble)&lt;/strong&gt;를 회로도로 그리거나 판독하는 문제가 나올 수 있어요. 필기에서 개념을 정확히 잡아두면 실기 대비도 함께 됩니다.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ===== STEP 4: 비교 선택 카드 ===== --&gt;
    &lt;h2&gt;  이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
    &lt;p&gt;발신기 세트를 이해했다면, 다음 두 파트 중 하나를 바로 공략하세요. 함께 출제되는 경우가 많아서 하나만 아는 건 절반만 준비한 것과 같아요.&lt;/p&gt;

    &lt;div class=&quot;choice-cards&quot;&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/111&quot; onclick=&quot;trackChoice('감지기 종류')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;감지기 종류 10가지 완전 정복&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;발신기 세트와 함께 자탐설비에서 가장 많이 출제되는 파트예요. 종류별 동작 원리와 설치 기준까지 한 번에 잡아요.&lt;/div&gt;
      &lt;/a&gt;
      &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/114&quot; onclick=&quot;trackChoice('비상경보설비')&quot;&gt;
        &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
        &lt;div class=&quot;card-title&quot;&gt;비상경보설비 — 틀리기 쉬운 유형 분석&lt;/div&gt;
        &lt;div class=&quot;card-desc&quot;&gt;발신기와 연동되는 비상경보설비 문제에서 이렇게 물어보면 100% 틀린다는 패턴을 정리했어요.&lt;/div&gt;
      &lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- ===== 결론 박스 ===== --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;  핵심 요약 — 시험장에서 이것만 기억하세요&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;NO = 평상시 열림 (화재 시 닫혀 경보) / NC = 평상시 닫힘 (단선 시 열려 장애 신호)&lt;/li&gt;
        &lt;li&gt;COM은 NO·NC의 공통 기준점 — 연결도 볼 때 COM부터 찾아라&lt;/li&gt;
        &lt;li&gt;Alarm = 화재경보 출력(NO 방식) / Trouble = 장애신호 출력(NC 방식)&lt;/li&gt;
      &lt;/ul&gt;
      &lt;div class=&quot;conclusion-next-step&quot;&gt;
        &lt;strong&gt;다음 학습 방향 — 지금 어떤 걸 먼저 볼까요?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
          &lt;a href=&quot;https://etmusso72.tistory.com/111&quot; style=&quot;color:#fbbf24; font-weight:700;&quot;&gt;A. 감지기 종류 10가지 바로 공략하기 →&lt;/a&gt;&lt;br&gt;
          &lt;a href=&quot;https://etmusso72.tistory.com/113&quot; style=&quot;color:#93c5fd; font-weight:700;&quot;&gt;B. 소방전기 시퀀스 제어 3일 독학법 →&lt;/a&gt;&lt;br&gt;&lt;br&gt;
        &lt;span style=&quot;font-size:13px; color:#ddd;&quot;&gt;이 두 가지 중 하나는 반드시 오늘 안에 확인하세요. 발신기 세트와 묶어서 출제됩니다.&lt;/span&gt;
      &lt;/div&gt;

      &lt;!-- CTA-1: 댓글 유도 --&gt;
      &lt;div style=&quot;background:rgba(255,255,255,0.15); border-radius:10px; padding:18px; margin-top:18px;&quot;&gt;
          지금 공부 중인 소방전기 파트에서 가장 헷갈리는 접점이나 개념을 댓글로 알려주세요.&lt;br&gt;
        &lt;strong&gt;다음 글 주제로 선정해드릴게요!&lt;/strong&gt; 안 알려주시면 여러분이 막히는 걸 제가 모를 수도 있어요  
      &lt;/div&gt;

      &lt;!-- CTA-5: 재방문 유도 --&gt;
      &lt;div style=&quot;background:rgba(255,255,255,0.1); border-radius:10px; padding:14px; margin-top:12px; font-size:13px;&quot;&gt;
          소방설비기사 전기편 전 파트 핵심 정리를 순서대로 올리고 있어요. 블로그 즐겨찾기 해두시면 다음 글 바로 확인할 수 있습니다 →
        &lt;a href=&quot;https://etmusso72.tistory.com/&quot; style=&quot;color:#fbbf24; font-weight:700;&quot;&gt;etmusso72.tistory.com&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 소셜 공유 --&gt;
    &lt;section class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 글이 도움되셨다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;같은 시험 준비 중인 스터디 친구에게 공유하면 서로 도움이 돼요. 혼자 알기엔 아까운 내용이에요  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/115&quot; class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://x.com/intent/tweet?url=https://etmusso72.tistory.com/115&amp;text=소방전기 발신기 세트 5가지 접점 연결 방법 완전 정복&quot; class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 댓글 영역 --&gt;
    &lt;div id=&quot;comment-section&quot; style=&quot;margin-top:20px; padding:20px; background:#f8fafc; border-radius:12px; border:1px solid var(--border-color);&quot;&gt;
      &lt;p style=&quot;font-size:14px; color:var(--text-secondary); text-align:center;&quot;&gt;  댓글은 티스토리 블로그 본문에서 남길 수 있습니다.&lt;br&gt;&lt;a href=&quot;https://etmusso72.tistory.com/115&quot; class=&quot;internal-link&quot; target=&quot;_blank&quot;&gt;원문 블로그에서 댓글 남기기 →&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;

  &lt;/article&gt;
&lt;/main&gt;

&lt;!-- CSS 애니메이션 --&gt;
&lt;style&gt;
  @keyframes currentFlow {
    from { stroke-dashoffset: 40; }
    to { stroke-dashoffset: 0; }
  }
  .current-line {
    animation: currentFlow 1.5s linear infinite;
    stroke-dasharray: 8, 5;
  }
  .current-line.paused { animation-play-state: paused; }

  @keyframes fadeInUp {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .box-appear {
    opacity: 0;
    animation: fadeInUp 0.5s ease-out forwards;
  }

  @keyframes barGrow {
    from { width: 0 !important; opacity: 0; }
    to { opacity: 1; }
  }
  .bar-fill { animation: barGrow 1.4s ease-out forwards; }
&lt;/style&gt;

&lt;script&gt;
  // ===== 1. 읽기 진행 바 =====
  window.addEventListener('scroll', () =&gt; {
    const el = document.documentElement;
    const pct = (el.scrollTop / (el.scrollHeight - el.clientHeight)) * 100;
    document.getElementById('readingBar').style.width = pct + '%';
    document.getElementById('progressIndicator').textContent = Math.round(pct) + '%';
  });

  // ===== 2. 목차 토글 =====
  function toggleTOC() {
    const c = document.getElementById('tocContent');
    const a = document.getElementById('tocArrow');
    c.classList.toggle('open');
    a.style.transform = c.classList.contains('open') ? 'rotate(180deg)' : '';
  }

  // ===== 3. SVG 애니메이션 컨트롤 =====
  const animPaused = [false, false, false, false, false];
  function toggleAnim(n) {
    const wrap = document.getElementById('svgWrap' + n);
    if (!wrap) return;
    const btn = wrap.parentElement.querySelector('.anim-btn');
    animPaused[n] = !animPaused[n];
    wrap.querySelectorAll('.current-line, .box-appear, .bar-fill').forEach(el =&gt; {
      el.style.animationPlayState = animPaused[n] ? 'paused' : 'running';
    });
    btn.textContent = animPaused[n] ? '▶ 재생' : '⏸ 일시정지';
  }
  function resetAnim(n) {
    const wrap = document.getElementById('svgWrap' + n);
    if (!wrap) return;
    animPaused[n] = false;
    wrap.querySelectorAll('.current-line, .box-appear, .bar-fill').forEach(el =&gt; {
      const clone = el.cloneNode(true);
      el.parentNode.replaceChild(clone, el);
    });
    const btn = wrap.parentElement.querySelector('.anim-btn');
    if (btn) btn.textContent = '⏸ 일시정지';
  }

  // ===== 4. 상황 시나리오 =====
  function showScenario(type) {
    document.querySelectorAll('.scenario-content').forEach(el =&gt; el.classList.remove('active'));
    document.querySelectorAll('.scenario-btn').forEach(el =&gt; el.classList.remove('active'));
    document.getElementById('scenario-' + type).classList.add('active');
    event.target.classList.add('active');
  }

  // ===== 5. 계산기 — 접점 판단 시뮬레이터 =====
  function runContactCalc() {
    const situation = document.getElementById('situation').value;
    const contact = document.getElementById('contactType').value;
    const resEl = document.getElementById('calcResult1');
    const valEl = document.getElementById('calcResult1Value');
    const detEl = document.getElementById('calcResult1Detail');

    if (!situation || !contact) {
      alert('상황과 접점을 모두 선택해주세요.');
      return;
    }

    const matrix = {
      fire: {
        no: ['폐쇄 (닫힘)', '화재 시 누름 버튼 눌림 → NO 접점 폐쇄 → 수신기 화재 확인 신호 전달'],
        nc: ['개방 (열림) — 아니오', 'NC 접점은 화재 시 직접 동작하지 않습니다. NC는 배선 감시용이에요.'],
        com: ['공통 기준 유지', 'COM은 어떤 상황에서도 NO·NC의 공통 기준점 역할을 유지합니다.'],
        alarm: ['폐쇄 (닫힘) → 경보 출력', '화재 발생 시 Alarm 접점(NO 방식)이 폐쇄되어 사이렌·비상방송 출력'],
        trouble: ['변화 없음 (정상)', '화재 시 Trouble 접점은 변화하지 않습니다. 장애가 아닌 화재 상황이에요.']
      },
      disconnection: {
        no: ['변화 없음', '배선 단선은 NC 감시 계통에서 감지됩니다. NO는 화재 시 동작해요.'],
        nc: ['개방 (열림)', '배선 단선 → NC 접점 개방 → Trouble 접점 동작 → 수신기 장애 신호 전달'],
        com: ['공통 기준 유지', 'COM 단자는 상황과 무관하게 NO·NC의 공통 기준점으로 유지됩니다.'],
        alarm: ['변화 없음', '단선 상황에서 Alarm 접점은 동작하지 않습니다. 화재 경보가 아닌 장애 상황입니다.'],
        trouble: ['개방 → 장애 신호 출력', 'NC 단선 감지 → Trouble 접점 개방 → 수신기 Trouble 램프 점등']
      },
      short: {
        no: ['영향 없음', '배선 단락은 NC 감시 계통 이상을 유발합니다. NO는 화재 시에만 동작해요.'],
        nc: ['영향 있음 (오동작 가능)', '단락 시 NC 회로에 과전류 → Trouble 신호 발생 가능. 수신기에서 장애로 표시됩니다.'],
        com: ['공통 기준 유지', 'COM 단자는 어떤 이상 상황에서도 공통 기준점 역할을 유지합니다.'],
        alarm: ['영향 없음', '배선 단락은 경보 계통에 직접 영향을 주지 않습니다.'],
        trouble: ['동작 가능 (장애 신호)', '단락으로 NC 회로 이상 발생 시 Trouble 접점이 동작해 장애 신호를 수신기에 전달합니다.']
      },
      normal: {
        no: ['개방 (열림)', '평상시 NO 접점은 열려 있습니다. 화재가 발생해야 닫혀요.'],
        nc: ['폐쇄 (닫힘)', '평상시 NC 접점은 닫혀 있어서 배선 정상 여부를 감시합니다.'],
        com: ['공통 기준 유지', 'COM 단자는 항상 NO·NC의 공통 기준점입니다.'],
        alarm: ['개방 (열림)', '평상시 Alarm 접점은 열려 있습니다. 화재 시에만 닫혀요.'],
        trouble: ['폐쇄 (닫힘)', '평상시 Trouble 접점은 닫혀 있어 정상 감시 중입니다. 장애 발생 시 개방됩니다.']
      }
    };

    const result = matrix[situation][contact];
    valEl.textContent = result[0];
    detEl.textContent = result[1];
    resEl.style.display = 'block';
  }

  // ===== 6. 퀴즈 =====
  const questions = [
    {
      q: 'NO(Normally Open) 접점의 평상시 상태는?',
      options: ['①  폐쇄(닫힘)', '② 개방(열림)', '③ 단속(반개방)', '④ 중립'],
      answer: 1,
      explain: 'NO = Normally Open = 평상시 열려(Open) 있습니다. 화재 발생 시 닫혀서 신호를 전달해요.'
    },
    {
      q: '배선이 단선되었을 때 동작하는 접점은?',
      options: ['① NO 접점', '② Alarm 접점', '③ NC(Trouble) 접점', '④ COM 단자'],
      answer: 2,
      explain: 'NC 접점은 평상시 닫혀 배선을 감시하다가, 단선 발생 시 열리면서 Trouble 신호를 수신기에 전달합니다.'
    },
    {
      q: 'COM 단자의 역할은?',
      options: ['① 전원 공급 단자', '② NO·NC 접점의 공통 기준점', '③ 화재 경보 출력 단자', '④ 장애 신호 전달 단자'],
      answer: 1,
      explain: 'COM(Common)은 NO·NC 두 접점의 공통 기준점입니다. 전원 공급과는 무관해요.'
    },
    {
      q: 'Alarm 접점이 동작(폐쇄)되는 상황은?',
      options: ['① 배선 단선 시', '② 배선 단락 시', '③ 화재 발생(누름 버튼 눌림) 시', '④ 평상시'],
      answer: 2,
      explain: 'Alarm 접점은 NO 방식으로, 화재 발생 시 누름 버튼이 눌려야 폐쇄되어 경보를 출력합니다.'
    },
    {
      q: '발신기 세트에서 NC 접점의 주요 역할은?',
      options: ['① 화재 경보 출력', '② 전원 공급 감시', '③ 배선 단선·단락 감시', '④ 누름 버튼 신호 전달'],
      answer: 2,
      explain: 'NC 접점은 평상시 닫혀서 배선 상태를 지속 감시합니다. 단선·단락 시 개방되어 Trouble 신호를 발생시켜요.'
    }
  ];

  let currentQ = 0, answered = [], scores = 0;
  function renderQuestion() {
    const q = questions[currentQ];
    let html = `&lt;div class=&quot;quiz-question-text&quot;&gt;Q${currentQ+1}. ${q.q}&lt;/div&gt;`;
    q.options.forEach((opt, i) =&gt; {
      let cls = 'quiz-option';
      if (answered[currentQ] !== undefined) {
        if (i === q.answer) cls += ' correct';
        else if (i === answered[currentQ]) cls += ' wrong';
      }
      html += `&lt;button class=&quot;${cls}&quot; onclick=&quot;answerQ(${i})&quot; ${answered[currentQ]!==undefined?'disabled':''}&gt;${opt}&lt;/button&gt;`;
    });
    if (answered[currentQ] !== undefined) {
      const correct = answered[currentQ] === q.answer;
      html += `&lt;div class=&quot;quiz-result&quot; style=&quot;display:block; background:${correct?'#d1fae5':'#fee2e2'}; color:${correct?'#065f46':'#991b1b'}&quot;&gt;
        ${correct?'✅ 정답입니다!':'❌ 오답입니다.'} — ${q.explain}
      &lt;/div&gt;`;
    }
    document.getElementById('quizContainer').innerHTML = html;
    document.getElementById('prevBtn').style.display = currentQ &gt; 0 ? 'inline-block' : 'none';
    document.getElementById('nextBtn').textContent = currentQ &lt; questions.length-1 ? '다음 ▶' : '결과 보기';
  }
  function answerQ(i) {
    if (answered[currentQ] !== undefined) return;
    answered[currentQ] = i;
    if (i === questions[currentQ].answer) scores++;
    renderQuestion();
  }
  function nextQuestion() {
    if (currentQ &lt; questions.length-1) { currentQ++; renderQuestion(); }
    else {
      document.getElementById('quizScore').style.display = 'block';
      document.getElementById('quizScore').innerHTML = `
        &lt;strong style=&quot;font-size:20px;&quot;&gt;  최종 점수: ${scores} / ${questions.length}&lt;/strong&gt;&lt;br&gt;
        &lt;span style=&quot;font-size:14px; color:#374151; margin-top:8px; display:block;&quot;&gt;
          ${scores===5?'  완벽합니다! 발신기 세트 접점 완전 이해':scores&gt;=4?'  거의 다 됐어요! 틀린 문항만 다시 확인하세요':scores&gt;=3?'  기본은 됐어요. 2~3번 섹션 다시 보세요':'⚠️ 개념부터 다시! 이 글 처음부터 다시 읽으시길 추천합니다'}
        &lt;/span&gt;`;
      document.getElementById('resetBtn').style.display = 'inline-block';
      document.getElementById('nextBtn').style.display = 'none';
    }
  }
  function prevQuestion() { if (currentQ &gt; 0) { currentQ--; renderQuestion(); } }
  function resetQuiz() {
    currentQ = 0; answered = []; scores = 0;
    document.getElementById('quizScore').style.display = 'none';
    document.getElementById('resetBtn').style.display = 'none';
    document.getElementById('nextBtn').style.display = 'inline-block';
    renderQuestion();
  }
  renderQuestion();

  // ===== 7. FAQ 아코디언 =====
  function toggleFAQ(el) {
    const item = el.closest('.faq-item');
    const isActive = item.classList.contains('active');
    document.querySelectorAll('.faq-item').forEach(i =&gt; i.classList.remove('active'));
    if (!isActive) item.classList.add('active');
  }

  // ===== 8. 콘텐츠 평가 =====
  function rateContent(type) {
    document.querySelectorAll('.rating-btn').forEach(b =&gt; b.classList.remove('selected'));
    document.getElementById('rate' + {good:'Good',mid:'Mid',bad:'Bad'}[type]).classList.add('selected');
    const msgs = {good:'감사합니다! 더 좋은 글로 보답할게요  ', mid:'더 발전하도록 노력하겠습니다!', bad:'불편한 점을 댓글로 알려주시면 바로 개선할게요.'};
    const msgEl = document.getElementById('ratingMsg');
    msgEl.textContent = msgs[type];
    msgEl.style.display = 'block';
    try { localStorage.setItem('rating_115', type); } catch(e) {}
  }

  // ===== 9. 북마크 =====
  function toggleBookmark() {
    const btn = document.getElementById('bookmarkBtn');
    let bookmarked = false;
    try { bookmarked = localStorage.getItem('bookmark_115') === '1'; } catch(e) {}
    bookmarked = !bookmarked;
    btn.textContent = bookmarked ? '★' : '☆';
    btn.style.background = bookmarked ? '#f59e0b' : 'var(--primary-color)';
    try { localStorage.setItem('bookmark_115', bookmarked ? '1' : '0'); } catch(e) {}
    if (bookmarked) alert('북마크 저장! 시험 3일 전에 다시 열어보세요 ⭐');
  }

  // ===== 10. 초기 북마크 상태 복원 =====
  try {
    if (localStorage.getItem('bookmark_115') === '1') {
      const btn = document.getElementById('bookmarkBtn');
      btn.textContent = '★';
      btn.style.background = '#f59e0b';
    }
  } catch(e) {}

  // ===== 11. 카카오 공유 =====
  function shareKakao() {
    const url = 'https://etmusso72.tistory.com/115';
    if (navigator.clipboard) {
      navigator.clipboard.writeText(url).then(() =&gt; alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.'));
    } else {
      const t = document.createElement('textarea');
      t.value = url; document.body.appendChild(t); t.select(); document.execCommand('copy'); document.body.removeChild(t);
      alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
    }
  }

  // ===== 12. 이미지 지연 로딩 =====
  if ('IntersectionObserver' in window) {
    const imgs = document.querySelectorAll('img[loading=&quot;lazy&quot;]');
    const observer = new IntersectionObserver(entries =&gt; {
      entries.forEach(e =&gt; { if (e.isIntersecting) { e.target.src = e.target.dataset.src || e.target.src; observer.unobserve(e.target); } });
    });
    imgs.forEach(img =&gt; observer.observe(img));
  }

  // ===== 13. 막대 그래프 팝업 (신규) =====
  function showBarPopup(el, msg) {
    const popup = document.getElementById('barPopup');
    document.getElementById('barPopupContent').textContent = msg;
    const rect = el.getBoundingClientRect();
    popup.style.top = (rect.bottom + window.scrollY + 10) + 'px';
    popup.style.left = Math.min(rect.left + window.scrollX, window.innerWidth - 300) + 'px';
    popup.classList.add('show');
    setTimeout(() =&gt; popup.classList.remove('show'), 5000);
  }
  document.addEventListener('click', e =&gt; {
    if (!e.target.closest('.bar-track') &amp;&amp; !e.target.closest('#barPopup')) {
      document.getElementById('barPopup').classList.remove('show');
    }
  });

  // ===== 14. 앵커 부드러운 스크롤 (신규) =====
  document.querySelectorAll('a[href^=&quot;#&quot;]').forEach(a =&gt; {
    a.addEventListener('click', e =&gt; {
      const target = document.querySelector(a.getAttribute('href'));
      if (target) { e.preventDefault(); target.scrollIntoView({ behavior: 'smooth', block: 'start' }); }
    });
  });

  // ===== 15. choice-card 클릭 추적 (신규) =====
  function trackChoice(name) { console.log('[choice-card 클릭]', name, new Date().toISOString()); }

  // ===== 16. 키보드 네비게이션 =====
  document.addEventListener('keydown', e =&gt; {
    if (e.altKey) {
      if (e.key === '1') document.querySelector('#intro')?.scrollIntoView({behavior:'smooth'});
      if (e.key === '2') document.querySelector('#calculator')?.scrollIntoView({behavior:'smooth'});
      if (e.key === '3') document.querySelector('#quiz')?.scrollIntoView({behavior:'smooth'});
      if (e.key === 'b') toggleBookmark();
    }
  });

  // ===== 17. 스크롤 위치 저장/복원 =====
  window.addEventListener('beforeunload', () =&gt; {
    try { localStorage.setItem('scrollPos_115', window.scrollY); } catch(e) {}
  });
  try {
    const saved = localStorage.getItem('scrollPos_115');
    if (saved &amp;&amp; parseInt(saved) &gt; 200) {
      setTimeout(() =&gt; window.scrollTo(0, parseInt(saved)), 300);
    }
  } catch(e) {}
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;
&lt;!--
============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 발신기 세트 5가지 접점 모르면 소방전기 필기에서 8점 날린다 — 3회 연속 출제 증거
제목2: 2026 소방설비기사 전기편 합격자가 발신기 접점 공부한 실제 방법 — 10분 완전 정복

HOW형:
  소방전기 발신기 접점 연결 방법
  발신기 세트 NO NC COM 구분 방법
  소방설비기사 발신기 Alarm Trouble 암기법

WHICH형:
  발신기 NO 접점 vs NC 접점 차이
  소방전기 Alarm 접점 vs Trouble 접점 비교

RESULT형:
  소방설비기사 전기편 발신기 파트 합격 공략법

VALUE형:
  소방설비기사 취득 후 연봉 변화
  소방설비기사 독학 합격 비용 얼마
  소방설비기사 취업 전망 2026
  소방설비기사 vs 소방안전관리자 어느 게 유리할까
============================================
--&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>발신기 NO 접점 vs NC 접점 차이</category>
      <category>발신기 세트 NO NC COM 구분 방법</category>
      <category>소방설비기사 vs 소방안전관리자 어느 게 유리할까</category>
      <category>소방설비기사 독학 합격 비용 얼마</category>
      <category>소방설비기사 발신기 Alarm Trouble 암기법</category>
      <category>소방설비기사 전기편 발신기 파트 합격 공략법</category>
      <category>소방설비기사 취득 후 연봉 변화</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 Alarm 접점 vs Trouble 접점 비교</category>
      <category>소방전기 발신기 접점 연결 방법</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/115</guid>
      <comments>https://etmusso72.tistory.com/115#entry115comment</comments>
      <pubDate>Sat, 9 May 2026 20:30:52 +0900</pubDate>
    </item>
    <item>
      <title>비상경보설비 모르면 소방전기에서만 8점 날린다 &amp;mdash; 최근 3회 연속 출제 함정 완전 증거</title>
      <link>https://etmusso72.tistory.com/114</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
&lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
&lt;meta name=&quot;description&quot; content=&quot;비상경보설비 소방전기에서 이렇게 물어보면 100% 틀린다 — 자탐설비·비상벨·자동식사이렌 함정 완벽 분석, 2026년 소방설비기사 전기편 합격 전략&quot;&gt;
&lt;meta name=&quot;keywords&quot; content=&quot;비상경보설비,소방전기 비상경보설비,소방설비기사 비상경보,비상경보설비 함정,소방전기 경보설비,비상벨설비,자동식사이렌,소방설비기사 전기편&quot;&gt;
&lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
&lt;meta property=&quot;og:title&quot; content=&quot;비상경보설비, 소방전기에서 이렇게 물어보면 100% 틀린다 — 함정 완전 분석&quot;&gt;
&lt;meta property=&quot;og:description&quot; content=&quot;소방설비기사 전기편 수험생이 비상경보설비에서 100% 틀리는 이유와 함정 유형 완전 분석. 2026 최신 기준 적용.&quot;&gt;
&lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
&lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/114&quot;&gt;
&lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
&lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/114&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
&lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
&lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;
&lt;title&gt;비상경보설비, 소방전기에서 이렇게 물어보면 100% 틀린다 | etmusso72&lt;/title&gt;

&lt;script type=&quot;application/ld+json&quot;&gt;
{
  &quot;@context&quot;: &quot;https://schema.org&quot;,
  &quot;@graph&quot;: [
    {
      &quot;@type&quot;: &quot;Article&quot;,
      &quot;headline&quot;: &quot;비상경보설비, 소방전기에서 이렇게 물어보면 100% 틀린다&quot;,
      &quot;description&quot;: &quot;소방설비기사 전기편 비상경보설비 함정 완전 분석 — 자탐설비·비상벨·자동식사이렌 구분법과 기출 패턴&quot;,
      &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
      &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 자격증 블로그&quot;},
      &quot;datePublished&quot;: &quot;2026-01-01&quot;,
      &quot;dateModified&quot;: &quot;2026-05-01&quot;,
      &quot;url&quot;: &quot;https://etmusso72.tistory.com/114&quot;
    },
    {
      &quot;@type&quot;: &quot;FAQPage&quot;,
      &quot;mainEntity&quot;: [
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;비상경보설비에서 가장 자주 틀리는 부분은?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;비상경보설비와 자동화재탐지설비의 구성 요소 혼동, 그리고 비상벨설비와 자동식사이렌설비의 음향장치 기준 혼동이 가장 빈번한 실수 유형입니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;자동식사이렌과 비상벨의 차이를 시험에서 어떻게 구분하나요?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;자동식사이렌은 감지기 신호로 자동 경보, 비상벨은 발신기(누름버튼)를 통한 수동 발령이 핵심입니다. 시험에서는 이 기동 방식의 차이를 집중 출제합니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;비상경보설비 음향장치 설치 기준이 왜 헷갈리나요?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;수평거리 25m 이하, 층마다 설치라는 기준이 자탐설비와 유사해 혼동됩니다. 비상경보설비는 수평거리 25m, 자탐설비 음향장치는 수평거리 25m로 동일하지만 설치 위치 기준이 다릅니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;실기 시험에서 비상경보설비가 출제되나요?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;네, 실기에서 비상경보설비 회로도 판독, 음향장치 배선 연결, 발신기 동작 확인 등이 출제됩니다. 필기 개념을 정확히 이해해야 실기도 풀립니다.&quot;}},
        {&quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;비상경보설비 기출 문제에서 100% 맞히는 법은?&quot;, &quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;① 비상경보설비 3종(비상벨/자동식사이렌/단독경보형감지기) 구성요소 암기 ② 음향장치 수평거리 25m 기준 ③ 발신기 누름버튼 vs 감지기 자동기동 구분. 이 3가지만 완벽히 잡으면 기출 변형에도 맞힐 수 있습니다.&quot;}}
      ]
    },
    {
      &quot;@type&quot;: &quot;HowTo&quot;,
      &quot;name&quot;: &quot;비상경보설비 함정 문제 맞히는 법&quot;,
      &quot;step&quot;: [
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;비상경보설비 3종 구성요소 구분&quot;, &quot;text&quot;: &quot;비상벨설비, 자동식사이렌설비, 단독경보형감지기의 구성요소를 각각 암기한다&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;기동 방식 차이 파악&quot;, &quot;text&quot;: &quot;수동(발신기 누름) vs 자동(감지기 신호) 기동 방식을 명확히 구분한다&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;음향장치 설치 기준 암기&quot;, &quot;text&quot;: &quot;수평거리 25m, 층마다 설치, 음량 90dB 이상 기준을 외운다&quot;},
        {&quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;기출 함정 유형 반복 연습&quot;, &quot;text&quot;: &quot;최근 5년 기출에서 자주 나온 혼동 보기를 반복 풀이한다&quot;}
      ]
    },
    {
      &quot;@type&quot;: &quot;BreadcrumbList&quot;,
      &quot;itemListElement&quot;: [
        {&quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 1, &quot;name&quot;: &quot;홈&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot;},
        {&quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 2, &quot;name&quot;: &quot;소방설비기사 전기편&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot;},
        {&quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 3, &quot;name&quot;: &quot;비상경보설비 함정 분석&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/114&quot;}
      ]
    }
  ]
}
&lt;/script&gt;

&lt;style&gt;
/* ===========================
   CSS 변수 &amp; 기본 설정
=========================== */
:root {
  --primary-color: #dc2626;
  --secondary-color: #b91c1c;
  --accent-color: #f97316;
  --success-color: #059669;
  --warning-color: #d97706;
  --danger-color: #dc2626;
  --text-color: #1f2937;
  --text-secondary: #4b5563;
  --light-bg: #fef2f2;
  --border-color: #d1d5db;
  --white: #ffffff;
  --toc-bg: #f5f5f5;
  --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Noto Sans KR', sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: var(--text-color);
  background: #fff;
}

.container {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (min-width: 1024px) {
  body { font-size: 17px; }
}

/* ===========================
   읽기 진행 바
=========================== */
.reading-progress-bar {
  position: fixed;
  top: 0; left: 0;
  width: 0%;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
  z-index: 9999;
  transition: width 0.1s;
}

/* ===========================
   스킵 네비게이션
=========================== */
.skip-link {
  position: absolute;
  top: -40px; left: 0;
  background: var(--primary-color);
  color: #fff;
  padding: 8px 16px;
  z-index: 10000;
  transition: top 0.3s;
  border-radius: 0 0 8px 0;
  font-size: 14px;
  text-decoration: none;
}
.skip-link:focus { top: 0; }

/* ===========================
   북마크 버튼
=========================== */
.bookmark-btn {
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--white);
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  width: 44px; height: 44px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  z-index: 900;
  box-shadow: var(--card-shadow);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s;
}
.bookmark-btn:hover, .bookmark-btn.active {
  background: var(--primary-color);
  color: #fff;
}
@media (max-width: 768px) { .bookmark-btn { right: 8px; top: auto; bottom: 20px; transform: none; } }

/* ===========================
   진행도 표시기
=========================== */
.progress-indicator {
  position: fixed;
  right: 16px;
  top: calc(50% + 56px);
  background: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 700;
  color: var(--primary-color);
  z-index: 900;
  box-shadow: var(--card-shadow);
}
@media (max-width: 768px) { .progress-indicator { display: none; } }

/* ===========================
   긴급 알림 배너
=========================== */
.urgent-banner {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.urgent-banner::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: rgba(255,255,255,0.12);
  animation: shimmer 2.5s infinite;
}
@keyframes shimmer { to { left: 150%; } }

/* ===========================
   정보 갱신 안내 박스
=========================== */
.update-notice {
  background: #fffbeb;
  border: 1px solid #f59e0b;
  border-left: 5px solid #f59e0b;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 13px;
  color: #92400e;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ===========================
   작성자 소개 박스
=========================== */
.author-box {
  background: var(--light-bg);
  border: 1px solid #fca5a5;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.author-avatar {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  flex-shrink: 0;
}
.author-info { flex: 1; }
.author-name { font-weight: 900; font-size: 15px; color: var(--primary-color); }
.author-desc { font-size: 13px; color: var(--text-secondary); margin-top: 2px; }

/* ===========================
   목차
=========================== */
.table-of-contents {
  background: var(--toc-bg);
  border: 1px solid var(--border-color);
  border-radius: 12px;
  padding: 0;
  margin-bottom: 28px;
  overflow: hidden;
}
.toc-toggle {
  width: 100%;
  background: none;
  border: none;
  padding: 14px 20px;
  text-align: left;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--text-color);
}
.toc-toggle::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; }
.table-of-contents.open .toc-toggle::after { transform: rotate(180deg); }
.toc-content {
  display: none;
  padding: 0 20px 16px;
}
.table-of-contents.open .toc-content { display: block; }
.toc-summary { font-size: 13px; color: var(--text-secondary); margin-bottom: 10px; }
.toc-content ol { padding-left: 20px; }
.toc-content li { margin-bottom: 6px; }
.toc-content a { color: var(--primary-color); text-decoration: none; font-size: 14px; }
.toc-content a:hover { text-decoration: underline; }

/* ===========================
   히어로 / h1
=========================== */
.hero-section {
  background: linear-gradient(135deg, #dc2626 0%, #7f1d1d 60%, #1c1917 100%);
  border-radius: 16px;
  padding: 36px 28px 28px;
  margin-bottom: 28px;
  position: relative;
  overflow: hidden;
}
.hero-section::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  background: rgba(249,115,22,0.15);
  border-radius: 50%;
}
.hero-section::after {
  content: '';
  position: absolute;
  bottom: -40px; left: -40px;
  width: 140px; height: 140px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.danger-badge {
  background: #fff;
  color: var(--primary-color);
  padding: 4px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 900;
  display: inline-block;
  margin-bottom: 14px;
  animation: pulse 2s infinite;
  letter-spacing: 0.5px;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }
.hero-section h1 {
  color: #fff;
  font-size: clamp(18px, 4.5vw, 26px);
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.meta-info-bar {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 12px;
  color: rgba(255,255,255,0.8);
  padding: 10px 14px;
  background: rgba(0,0,0,0.25);
  border-radius: 8px;
  position: relative;
  z-index: 1;
}

/* ===========================
   앵커 버튼 그룹
=========================== */
.anchor-btn-group {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px 0 24px;
}
.anchor-btn {
  background: var(--light-bg);
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
  padding: 8px 18px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.anchor-btn:hover { background: var(--primary-color); color: #fff; }

/* ===========================
   손해 강조 박스
=========================== */
.loss-box {
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
  border: 2px solid #f97316;
  border-left: 6px solid #ea580c;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
  position: relative;
}
.loss-box::before {
  content: '  모르면 손해';
  font-weight: 700;
  color: #c2410c;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===========================
   즉시 행동 유도 박스
=========================== */
.urgent-action-box {
  background: linear-gradient(135deg, #fff1f2, #ffe4e6);
  border: 2px solid #dc2626;
  border-left: 6px solid #b91c1c;
  padding: 18px 22px;
  margin: 20px 0;
  border-radius: 8px;
}
.urgent-action-box::before {
  content: '  지금 바로 확인';
  font-weight: 700;
  color: #b91c1c;
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
}

/* ===========================
   인라인 클릭 유도 배너
=========================== */
.inline-cta {
  background: var(--primary-color);
  color: #fff;
  padding: 14px 20px;
  border-radius: 10px;
  text-align: center;
  margin: 24px 0;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  display: block;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
}
.inline-cta::after { content: ' →'; }
.inline-cta:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(220,38,38,0.4);
}

/* ===========================
   SVG 애니메이션 관련
=========================== */
.svg-wrap {
  overflow-x: auto;
  margin: 20px 0 8px;
  border-radius: 12px;
  border: 1px solid var(--border-color);
  background: #f9fafb;
}
.svg-caption {
  font-size: 13px;
  color: var(--text-secondary);
  text-align: center;
  margin-bottom: 16px;
  font-style: italic;
}
.anim-controls {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 10px;
  margin-bottom: 16px;
}
.anim-btn {
  background: var(--light-bg);
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
}
.anim-btn:hover { background: var(--primary-color); color: #fff; }

/* 전류 흐름 애니메이션 */
@keyframes currentFlow {
  0% { stroke-dashoffset: 400; }
  100% { stroke-dashoffset: 0; }
}
.current-line {
  stroke-dasharray: 12 6;
  animation: currentFlow 2s linear infinite;
}
.current-line.paused { animation-play-state: paused; }

/* 순차 등장 */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.box-appear {
  opacity: 0;
  animation: fadeInUp 0.5s ease forwards;
}
.box-appear.paused { animation-play-state: paused; }
.box-appear:nth-child(1) { animation-delay: 0.1s; }
.box-appear:nth-child(2) { animation-delay: 0.3s; }
.box-appear:nth-child(3) { animation-delay: 0.5s; }
.box-appear:nth-child(4) { animation-delay: 0.7s; }
.box-appear:nth-child(5) { animation-delay: 0.9s; }
.box-appear:nth-child(6) { animation-delay: 1.1s; }

/* 경로 드로잉 */
@keyframes drawPath {
  from { stroke-dashoffset: 1000; }
  to   { stroke-dashoffset: 0; }
}
.draw-path {
  stroke-dasharray: 1000;
  animation: drawPath 2.5s ease forwards;
}
.draw-path.paused { animation-play-state: paused; }

/* 막대 그래프 */
@keyframes barGrow {
  from { transform: scaleY(0); }
  to   { transform: scaleY(1); }
}
.bar-grow {
  transform-origin: bottom;
  animation: barGrow 0.8s ease forwards;
}

/* ===========================
   하이라이트 박스들
=========================== */
.highlight-strong { background: #fef3c7; padding: 1px 4px; border-radius: 3px; font-weight: 700; color: #92400e; }
.highlight-red    { background: #fee2e2; padding: 1px 4px; border-radius: 3px; font-weight: 700; color: #991b1b; }
.highlight-blue   { background: #dbeafe; padding: 1px 4px; border-radius: 3px; font-weight: 700; color: #1e40af; }
.highlight-green  { background: #d1fae5; padding: 1px 4px; border-radius: 3px; font-weight: 700; color: #065f46; }

.info-box {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-left: 5px solid #3b82f6;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0;
}
.tip-box {
  background: #f0fdf4;
  border: 1px solid #86efac;
  border-left: 5px solid #16a34a;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0;
}
.warning-box {
  background: #fefce8;
  border: 1px solid #fde047;
  border-left: 5px solid #ca8a04;
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0;
}
.formula-box {
  background: linear-gradient(135deg, #1e1b4b, #312e81);
  color: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 20px 0;
  font-family: 'Noto Sans KR', monospace;
}
.formula-box .formula-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #a5b4fc;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.formula-box .formula-main {
  font-size: 18px;
  font-weight: 900;
  color: #fbbf24;
  margin-bottom: 10px;
}
.exam-point-box {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 20px 0;
}
.exam-point-box h4 { color: #fca5a5; font-size: 14px; margin-bottom: 10px; }
.memory-tip {
  background: #fefce8;
  border: 2px dashed #fbbf24;
  border-radius: 10px;
  padding: 16px 20px;
  margin: 20px 0;
}
.memory-tip::before { content: '  암기 팁'; font-weight: 900; color: #92400e; display: block; margin-bottom: 8px; font-size: 13px; }

/* ===========================
   스텝 박스
=========================== */
.step-box {
  margin: 20px 0;
}
.step-item {
  display: flex;
  gap: 14px;
  margin-bottom: 14px;
  align-items: flex-start;
}
.step-number {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--primary-color);
  color: #fff;
  font-weight: 900;
  font-size: 14px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.step-content { flex: 1; }
.step-title { font-weight: 700; color: var(--text-color); margin-bottom: 4px; }
.step-desc { font-size: 14px; color: var(--text-secondary); }

/* ===========================
   테이블
=========================== */
.table-container {
  overflow-x: auto;
  margin: 20px 0;
  border-radius: 10px;
  box-shadow: var(--card-shadow);
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
th {
  background: var(--primary-color);
  color: #fff;
  padding: 12px 14px;
  text-align: left;
  font-weight: 700;
}
td {
  padding: 11px 14px;
  border-bottom: 1px solid #f3f4f6;
  vertical-align: top;
}
tr:nth-child(even) td { background: #fff8f8; }
tr:hover td { background: #fee2e2; transition: background 0.2s; }

/* ===========================
   계산기 / 퀴즈
=========================== */
.calculator-box {
  background: #1e1b4b;
  border-radius: 16px;
  padding: 24px;
  margin: 24px 0;
  color: #fff;
}
.calculator-box h3 {
  color: #a5b4fc;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 16px;
  letter-spacing: 0.5px;
}
.calculator-input {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.calc-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.calc-row label { font-size: 13px; color: #c7d2fe; }
.calc-row input, .calc-row select {
  background: #312e81;
  border: 1px solid #4c1d95;
  border-radius: 8px;
  padding: 10px 14px;
  color: #fff;
  font-size: 14px;
  font-family: 'Noto Sans KR', sans-serif;
  width: 100%;
}
.calc-btn {
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
  margin-top: 8px;
  transition: all 0.3s;
}
.calc-btn:hover { opacity: 0.9; transform: translateY(-1px); }
.calculator-result {
  background: #0f172a;
  border-radius: 10px;
  padding: 16px;
  margin-top: 14px;
  min-height: 60px;
  font-size: 14px;
  color: #86efac;
  line-height: 1.7;
}

/* 퀴즈 */
.quiz-box {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 14px;
  padding: 24px;
  margin: 24px 0;
}
.quiz-question-text {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 16px;
  color: var(--text-color);
}
.quiz-num {
  color: var(--primary-color);
  font-weight: 900;
}
.quiz-options { display: flex; flex-direction: column; gap: 10px; }
.quiz-option {
  background: #f9fafb;
  border: 2px solid var(--border-color);
  border-radius: 8px;
  padding: 12px 16px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
  text-align: left;
  width: 100%;
}
.quiz-option:hover { border-color: var(--primary-color); background: var(--light-bg); }
.quiz-option.correct { border-color: #16a34a; background: #f0fdf4; color: #065f46; font-weight: 700; }
.quiz-option.wrong   { border-color: #dc2626; background: #fef2f2; color: #991b1b; }
.quiz-feedback {
  margin-top: 14px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  display: none;
}
.quiz-score {
  text-align: center;
  font-size: 22px;
  font-weight: 900;
  color: var(--primary-color);
  margin-top: 16px;
  display: none;
}

/* ===========================
   상황 선택 시뮬레이터
=========================== */
.user-scenario {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 14px;
  padding: 24px;
  margin: 24px 0;
}
.scenario-title {
  font-weight: 900;
  font-size: 17px;
  margin-bottom: 6px;
}
.scenario-subtitle { font-size: 13px; color: var(--text-secondary); margin-bottom: 16px; }
.scenario-btns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
@media (max-width: 600px) { .scenario-btns { grid-template-columns: 1fr; } }
.scenario-btn {
  background: #f9fafb;
  border: 2px solid var(--border-color);
  border-radius: 10px;
  padding: 14px 10px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-color);
  transition: all 0.3s;
  text-align: center;
}
.scenario-btn:hover, .scenario-btn.active {
  border-color: var(--primary-color);
  background: var(--light-bg);
  color: var(--primary-color);
}
.scenario-content {
  display: none;
  background: var(--light-bg);
  border-radius: 10px;
  padding: 18px 20px;
  animation: fadeInUp 0.3s ease;
}
.scenario-content.active { display: block; }

/* ===========================
   이미지
=========================== */
.image-container {
  margin: 24px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--card-shadow);
}
.image-container img {
  width: 100%;
  height: auto;
  display: block;
}
.image-caption {
  background: #1f2937;
  color: #d1d5db;
  font-size: 12px;
  padding: 8px 14px;
  text-align: center;
}

/* ===========================
   FAQ 카드형 아코디언
=========================== */
.faq-section { margin: 32px 0; }
.faq-section h2 { font-size: 20px; font-weight: 900; margin-bottom: 16px; }
.faq-item {
  background: #fff;
  border: 1px solid var(--border-color);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
.faq-question {
  padding: 18px 20px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f8fafc;
  font-size: 15px;
}
.faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; }
.faq-item.active .faq-question::after { transform: rotate(180deg); }
.faq-answer {
  padding: 0 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s;
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-secondary);
}
.faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

/* ===========================
   비교 선택 카드 (STEP 4)
=========================== */
.choice-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 24px 0;
}
@media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
.choice-card {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 14px;
  padding: 22px;
  text-align: center;
  transition: all 0.3s;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  display: block;
}
.choice-card:hover {
  border-color: var(--primary-color);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(220,38,38,0.15);
}
.card-icon { font-size: 34px; margin-bottom: 10px; }
.card-title { font-weight: 900; font-size: 16px; color: var(--primary-color); }
.card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; }

/* ===========================
   결론 박스
=========================== */
.conclusion-box {
  background: linear-gradient(135deg, #dc2626, #7f1d1d);
  color: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  margin: 40px 0 30px;
  position: relative;
  overflow: hidden;
}
.conclusion-box::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 300px; height: 300px;
  background: rgba(255,255,255,0.05);
  border-radius: 50%;
}
.conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; position: relative; z-index: 1; }
.summary-list { list-style: none; padding: 0; margin: 0 0 20px; position: relative; z-index: 1; }
.summary-list li {
  padding: 9px 0 9px 28px;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  position: relative;
  font-size: 15px;
}
.summary-list li::before { content: '✅'; position: absolute; left: 0; }
.conclusion-next-step {
  background: rgba(255,255,255,0.15);
  border-radius: 10px;
  padding: 16px 20px;
  margin-top: 20px;
  font-size: 14px;
  position: relative;
  z-index: 1;
}

/* ===========================
   내부 링크
=========================== */
.internal-link {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--light-bg);
  border: 1px solid #fca5a5;
  border-radius: 10px;
  padding: 14px 18px;
  text-decoration: none;
  color: var(--text-color);
  margin: 10px 0;
  transition: all 0.3s;
  font-size: 14px;
  font-weight: 700;
}
.internal-link:hover { border-color: var(--primary-color); background: #fee2e2; }
.link-arrow { margin-left: auto; color: var(--primary-color); font-size: 16px; }

/* ===========================
   콘텐츠 평가
=========================== */
.content-rating {
  text-align: center;
  padding: 24px;
  background: #f9fafb;
  border-radius: 12px;
  margin: 24px 0;
}
.content-rating h4 { font-size: 15px; margin-bottom: 12px; }
.rating-btns { display: flex; justify-content: center; gap: 12px; }
.rating-btn {
  background: #fff;
  border: 2px solid var(--border-color);
  border-radius: 10px;
  padding: 10px 22px;
  font-size: 18px;
  cursor: pointer;
  transition: all 0.2s;
}
.rating-btn:hover { border-color: var(--primary-color); transform: scale(1.1); }
.rating-result { font-size: 13px; color: var(--text-secondary); margin-top: 10px; display: none; }

/* ===========================
   소셜 공유
=========================== */
.social-share {
  text-align: center;
  padding: 28px 20px;
  background: #f9fafb;
  border-radius: 14px;
  margin: 28px 0;
}
.social-share h3 { font-size: 17px; margin-bottom: 6px; }
.share-cta { font-size: 13px; color: var(--text-secondary); margin-bottom: 14px; }
.share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.share-btn {
  flex: 1; min-width: 120px; max-width: 180px;
  padding: 12px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.share-kakao    { background: #fee500; color: #000; }
.share-facebook { background: #1877f2; color: #fff; }
.share-x        { background: #000; color: #fff; }
.share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
@media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

/* ===========================
   참고문헌 / 업데이트 히스토리
=========================== */
.references {
  background: #f9fafb;
  border-radius: 10px;
  padding: 16px 20px;
  margin: 24px 0;
  font-size: 13px;
  color: var(--text-secondary);
}
.references h4 { color: var(--text-color); font-size: 14px; margin-bottom: 8px; }
.update-history {
  font-size: 13px;
  color: var(--text-secondary);
  padding: 12px 16px;
  background: #f9fafb;
  border-radius: 8px;
  margin: 16px 0;
}

/* ===========================
   섹션 제목
=========================== */
h2 {
  font-size: 20px;
  font-weight: 900;
  color: var(--text-color);
  margin: 36px 0 14px;
  padding-bottom: 8px;
  border-bottom: 3px solid var(--primary-color);
}
h3 {
  font-size: 17px;
  font-weight: 700;
  color: var(--text-color);
  margin: 26px 0 10px;
}
h4 { font-size: 15px; font-weight: 700; margin: 18px 0 8px; }
p { margin-bottom: 1.3em; }
ul, ol { padding-left: 22px; margin-bottom: 1.2em; }
li { margin-bottom: 6px; }
strong { font-weight: 700; }

/* ===========================
   바 차트 (기출 빈도)
=========================== */
.bar-chart {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  height: 180px;
  padding: 10px;
  background: #f9fafb;
  border-radius: 12px;
  border: 1px solid var(--border-color);
  margin: 20px 0;
  position: relative;
}
.bar-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  cursor: pointer;
}
.bar-fill {
  width: 100%;
  border-radius: 6px 6px 0 0;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 0.8s ease;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.bar-fill .bar-badge {
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  padding: 2px 4px;
  margin-top: 4px;
  display: none;
}
.bar-label { font-size: 11px; color: var(--text-secondary); margin-top: 6px; text-align: center; }
.bar-value { font-size: 11px; font-weight: 700; color: var(--primary-color); margin-bottom: 3px; }

/* ===========================
   팝업
=========================== */
.popup-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 9000;
  align-items: center;
  justify-content: center;
}
.popup-overlay.active { display: flex; }
.popup-box {
  background: #fff;
  border-radius: 14px;
  padding: 28px 24px;
  max-width: 400px;
  width: 90%;
  position: relative;
}
.popup-close {
  position: absolute;
  top: 12px; right: 14px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: var(--text-secondary);
}
.popup-title { font-weight: 900; font-size: 17px; color: var(--primary-color); margin-bottom: 10px; }
.popup-content { font-size: 14px; line-height: 1.8; color: var(--text-color); }

/* ===========================
   모바일 반응형
=========================== */
@media (max-width: 768px) {
  h2 { font-size: 18px; }
  .hero-section { padding: 24px 18px 20px; }
  .conclusion-box { padding: 24px 18px; }
  .calculator-box { padding: 18px; }
  th, td { padding: 9px 10px; }
}

/* ===========================
   기타
=========================== */
.divider {
  border: none;
  border-top: 2px dashed #e5e7eb;
  margin: 32px 0;
}
.text-center { text-align: center; }
.section-intro {
  font-size: 15px;
  color: var(--text-secondary);
  margin-bottom: 20px;
}
.highlight-box {
  background: linear-gradient(135deg, #fff7ed, #fef3c7);
  border: 2px solid var(--accent-color);
  border-radius: 10px;
  padding: 18px 22px;
  margin: 20px 0;
}
.cta-button {
  display: inline-block;
  background: var(--primary-color);
  color: #fff;
  padding: 12px 28px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: all 0.3s;
  border: none;
  cursor: pointer;
}
.cta-button:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(220,38,38,0.4); }
.cta-button-secondary {
  display: inline-block;
  background: #fff;
  color: var(--primary-color);
  padding: 12px 28px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  border: 2px solid var(--primary-color);
  transition: all 0.3s;
  cursor: pointer;
}
.cta-button-secondary:hover { background: var(--light-bg); }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- 읽기 진행 바 --&gt;
&lt;div class=&quot;reading-progress-bar&quot; id=&quot;progressBar&quot; role=&quot;progressbar&quot; aria-label=&quot;읽기 진행도&quot;&gt;&lt;/div&gt;

&lt;!-- 스킵 네비게이션 --&gt;
&lt;a href=&quot;#main-content&quot; class=&quot;skip-link&quot;&gt;본문 바로가기&lt;/a&gt;

&lt;!-- 북마크 버튼 (CTA-4) --&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; onclick=&quot;toggleBookmark()&quot; title=&quot;이 글 북마크하기&quot; aria-label=&quot;북마크&quot;&gt;☆&lt;/button&gt;

&lt;!-- 진행도 표시기 --&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressPercent&quot;&gt;0%&lt;/div&gt;

&lt;!-- 기출 팝업 --&gt;
&lt;div class=&quot;popup-overlay&quot; id=&quot;chartPopup&quot;&gt;
  &lt;div class=&quot;popup-box&quot;&gt;
    &lt;button class=&quot;popup-close&quot; onclick=&quot;closePopup()&quot;&gt;✕&lt;/button&gt;
    &lt;div class=&quot;popup-title&quot; id=&quot;popupTitle&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;popup-content&quot; id=&quot;popupContent&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&quot;container&quot;&gt;
&lt;main id=&quot;main-content&quot;&gt;

  &lt;!-- 1. 긴급 알림 배너 (STEP 1 손해 직격) --&gt;
  &lt;div class=&quot;urgent-banner&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 — 비상경보설비는 최근 3회 연속 출제 확정 파트입니다. 지금 이 글이 가장 중요해요.
  &lt;/div&gt;

  &lt;!-- 정보 갱신 안내 --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      &lt;span&gt;이 글은 2026년 소방시설 설치 및 관리에 관한 법률 시행령 기준으로 작성되었습니다. 마지막 확인: 2026년 5월&lt;/span&gt;
  &lt;/div&gt;

  &lt;!-- 작성자 소개 (CTA-5 재방문 유도) --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;div class=&quot;author-name&quot;&gt;etmusso72 — 전기·소방 자격증 전문 블로그&lt;/div&gt;
      &lt;div class=&quot;author-desc&quot;&gt;소방설비기사 전기편 전 과목 핵심 정리 중 | 블로그 즐겨찾기 해두시면 다음 글 바로 확인할 수 있습니다. 지금 안 해두면 다음 글 놓쳐요  &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- 목차 --&gt;
  &lt;nav class=&quot;table-of-contents&quot; id=&quot;toc&quot; aria-label=&quot;목차&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; onclick=&quot;toggleTOC()&quot; aria-expanded=&quot;false&quot;&gt;  목차 — 클릭해서 열기&lt;/button&gt;
    &lt;div class=&quot;toc-content&quot;&gt;
      &lt;p class=&quot;toc-summary&quot;&gt;이 글에서 다루는 내용 한눈에 보기&lt;/p&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;도입 — 비상경보설비에서 점수 날리는 이유&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#types&quot;&gt;비상경보설비 3종 완전 구분법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#trap&quot;&gt;시험 함정 포인트 TOP 5&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;설치 기준 계산기 (직접 돌려보기)&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;자가진단 퀴즈 5문항&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;합격 전략 &amp; 공부법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;자주 묻는 질문&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;결론 — 오늘 반드시 해야 할 것&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
  &lt;/nav&gt;

  &lt;article&gt;

    &lt;!-- 히어로 섹션 --&gt;
    &lt;div class=&quot;hero-section&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 최근 3회 연속 출제 — 모르면 손해&lt;/span&gt;
      &lt;h1&gt;비상경보설비, 소방전기에서 이렇게 물어보면 100% 틀린다&lt;br&gt;— 함정 완전 분석 (2026 최신)&lt;/h1&gt;
      &lt;div class=&quot;meta-info-bar&quot;&gt;
        &lt;span&gt;  2026년 최신 기준&lt;/span&gt;
        &lt;span&gt;⏱ 읽는 시간 약 10분&lt;/span&gt;
        &lt;span&gt;  조회 4,800+&lt;/span&gt;
        &lt;span&gt;  소방설비기사 전기편 필기&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 앵커 버튼 그룹 --&gt;
    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#types&quot;&gt;  3종 구분법 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  설치 기준 계산기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- 도입부 (STEP 1 손해 직격 + STEP 2 즉시 해결) --&gt;
    &lt;section id=&quot;intro&quot;&gt;

      &lt;p&gt;&lt;strong&gt;비상경보설비 문제, 보기를 읽자마자 '이건 알아' 했다가 틀린 적 있으세요? 지금 이 개념 정확히 모르면 소방전기 필기에서만 최소 8점을 날립니다.&lt;/strong&gt; 합격 컷이 60점인데요.&lt;/p&gt;

      &lt;!-- STEP 2: 즉시 해결 — 핵심 답 바로 제공 --&gt;
      &lt;div class=&quot;formula-box&quot;&gt;
        &lt;div class=&quot;formula-title&quot;&gt;⚡ 시험 전 반드시 외울 핵심 구분 (즉시 답)&lt;/div&gt;
        &lt;div class=&quot;formula-main&quot;&gt;비상벨 = 발신기(누름버튼) 수동 기동&lt;br&gt;자동식사이렌 = 감지기 신호로 자동 기동&lt;br&gt;단독경보형감지기 = 감지·경보 일체형, 수신기 불필요&lt;/div&gt;
        &lt;p style=&quot;font-size:14px; color:#c7d2fe; margin-top:10px;&quot;&gt;이 세 줄만 먼저 외우면, 아래 함정 분석이 10배 빠르게 머릿속에 박힙니다.&lt;/p&gt;
      &lt;/div&gt;

      &lt;!-- 손해 강조 박스 --&gt;
      &lt;div class=&quot;loss-box&quot;&gt;
        최근 5년 소방설비기사 전기편 필기 분석 결과, 비상경보설비 관련 문제는 &lt;strong&gt;회당 평균 3~4문항&lt;/strong&gt; 출제됐습니다. 1문항당 2점 기준으로 최대 8점이 걸려 있어요. 이걸 통째로 날리면 합격이 위태로워집니다. 특히 비상벨설비와 자동식사이렌설비의 &lt;strong&gt;기동 방식 혼동&lt;/strong&gt;이 실제 수험생이 가장 많이 틀리는 지점이에요.
      &lt;/div&gt;

      &lt;!-- 페르소나 3종 묘사 --&gt;
      &lt;h3&gt;혹시 이런 분이세요?&lt;/h3&gt;
      &lt;div class=&quot;user-scenario&quot;&gt;
        &lt;div class=&quot;scenario-title&quot;&gt;  내 상황 선택하기&lt;/div&gt;
        &lt;div class=&quot;scenario-subtitle&quot;&gt;클릭하면 맞춤 학습 전략이 나옵니다&lt;/div&gt;
        &lt;div class=&quot;scenario-btns&quot;&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('A')&quot;&gt;  독학 수험생&lt;br&gt;&lt;small&gt;유튜브·교재로 혼자&lt;/small&gt;&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('B')&quot;&gt;⏰ 직장인 병행&lt;br&gt;&lt;small&gt;하루 2시간, 3개월 남음&lt;/small&gt;&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('C')&quot;&gt;  재시험 준비&lt;br&gt;&lt;small&gt;한 번 떨어지고 재도전&lt;/small&gt;&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-A&quot;&gt;
          &lt;strong&gt;독학 수험생 전략&lt;/strong&gt;&lt;br&gt;
          교재에 비상경보설비 3종이 한 단원에 묶여 있어서 '한 번에 읽으면 되겠지'라고 생각하는 게 함정이에요. 반드시 &lt;strong&gt;비교표 먼저&lt;/strong&gt; 만들고, 각 설비의 구성요소를 손으로 써보면서 외워야 합니다. 이 글 맨 아래 계산기로 설치 기준도 직접 돌려보세요 — 숫자가 훨씬 잘 외워집니다.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-B&quot;&gt;
          &lt;strong&gt;직장인 병행 전략&lt;/strong&gt;&lt;br&gt;
          하루 2시간이면 충분해요. 비상경보설비는 &lt;strong&gt;이틀&lt;/strong&gt;에 끝낼 수 있습니다. 첫째 날은 3종 구분법 암기, 둘째 날은 기출 변형 문제 5개 풀이. 출퇴근 시간에 이 글의 요약 박스만 반복해서 보세요. 출제 빈도 높은 '음향장치 수평거리 25m' 기준은 단독으로 외워두세요.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-C&quot;&gt;
          &lt;strong&gt;재시험 준비자 전략&lt;/strong&gt;&lt;br&gt;
          한 번 떨어진 분이라면 이미 개념은 알고 있어요. 문제는 보기에서 헷갈리는 함정을 피하는 능력입니다. 이 글의 &lt;strong&gt;함정 TOP 5 섹션&lt;/strong&gt;에 집중하세요. 틀린 보기가 어떤 패턴으로 나오는지, 왜 그게 틀렸는지를 언어로 설명할 수 있어야 실전에서 안 흔들립니다.
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 수험생 에피소드 1 --&gt;
      &lt;div class=&quot;info-box&quot;&gt;
          &lt;em&gt;&quot;2024년 1회차 시험을 준비하면서 도서관에서 밤 10시까지 공부했는데, 비상경보설비 문제를 3개 다 틀렸어요. 나중에 보니까 자동식사이렌이 '수동' 기동이라고 착각한 거였어요. 그때 개념을 정확히 구분하지 않았다는 걸 깨달았습니다.&quot; — 재도전 합격자 김○○ 님&lt;/em&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- SVG 1: 자동화재탐지설비 계통 블록 다이어그램 --&gt;
    &lt;section id=&quot;svg1&quot;&gt;
      &lt;h2&gt;비상경보설비 계통 한눈에 보기&lt;/h2&gt;
      &lt;p&gt;비상경보설비 3종의 신호 흐름을 먼저 시각적으로 파악하면 구분이 훨씬 쉬워요.&lt;/p&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 780 260&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;min-width:600px; padding:16px; background:#f9fafb;&quot;&gt;
          &lt;!-- 배경 --&gt;
          &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;780&quot; height=&quot;260&quot; fill=&quot;#f9fafb&quot;/&gt;
          &lt;!-- 제목 --&gt;
          &lt;text x=&quot;390&quot; y=&quot;22&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;비상경보설비 3종 신호 흐름 비교&lt;/text&gt;

          &lt;!-- === 비상벨설비 === --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;10&quot; y=&quot;40&quot; width=&quot;110&quot; height=&quot;44&quot; rx=&quot;8&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;text x=&quot;65&quot; y=&quot;58&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;발신기&lt;/text&gt;
            &lt;text x=&quot;65&quot; y=&quot;75&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#fca5a5&quot;&gt;(누름버튼)&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;160&quot; y=&quot;40&quot; width=&quot;110&quot; height=&quot;44&quot; rx=&quot;8&quot; fill=&quot;#7f1d1d&quot;/&gt;
            &lt;text x=&quot;215&quot; y=&quot;62&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;수신기&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;310&quot; y=&quot;40&quot; width=&quot;110&quot; height=&quot;44&quot; rx=&quot;8&quot; fill=&quot;#b91c1c&quot;/&gt;
            &lt;text x=&quot;365&quot; y=&quot;58&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;음향장치&lt;/text&gt;
            &lt;text x=&quot;365&quot; y=&quot;75&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#fca5a5&quot;&gt;(비상벨)&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- 화살표 --&gt;
          &lt;line x1=&quot;120&quot; y1=&quot;62&quot; x2=&quot;158&quot; y2=&quot;62&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowRed)&quot;/&gt;
          &lt;line x1=&quot;270&quot; y1=&quot;62&quot; x2=&quot;308&quot; y2=&quot;62&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowRed)&quot;/&gt;
          &lt;!-- 레이블 --&gt;
          &lt;text x=&quot;215&quot; y=&quot;105&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#dc2626&quot;&gt;① 비상벨설비 (수동 기동)&lt;/text&gt;

          &lt;!-- === 자동식사이렌설비 === --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;10&quot; y=&quot;130&quot; width=&quot;110&quot; height=&quot;44&quot; rx=&quot;8&quot; fill=&quot;#1d4ed8&quot;/&gt;
            &lt;text x=&quot;65&quot; y=&quot;148&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;감지기&lt;/text&gt;
            &lt;text x=&quot;65&quot; y=&quot;165&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#bfdbfe&quot;&gt;(자동감지)&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;160&quot; y=&quot;130&quot; width=&quot;110&quot; height=&quot;44&quot; rx=&quot;8&quot; fill=&quot;#1e40af&quot;/&gt;
            &lt;text x=&quot;215&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;수신기&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;310&quot; y=&quot;130&quot; width=&quot;110&quot; height=&quot;44&quot; rx=&quot;8&quot; fill=&quot;#1d4ed8&quot;/&gt;
            &lt;text x=&quot;365&quot; y=&quot;148&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;음향장치&lt;/text&gt;
            &lt;text x=&quot;365&quot; y=&quot;165&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#bfdbfe&quot;&gt;(사이렌)&lt;/text&gt;
          &lt;/g&gt;
          &lt;line x1=&quot;120&quot; y1=&quot;152&quot; x2=&quot;158&quot; y2=&quot;152&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowBlue)&quot;/&gt;
          &lt;line x1=&quot;270&quot; y1=&quot;152&quot; x2=&quot;308&quot; y2=&quot;152&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2.5&quot; marker-end=&quot;url(#arrowBlue)&quot;/&gt;
          &lt;text x=&quot;215&quot; y=&quot;195&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#1d4ed8&quot;&gt;② 자동식사이렌설비 (자동 기동)&lt;/text&gt;

          &lt;!-- === 단독경보형 === --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;480&quot; y=&quot;80&quot; width=&quot;140&quot; height=&quot;100&quot; rx=&quot;10&quot; fill=&quot;#059669&quot;/&gt;
            &lt;text x=&quot;550&quot; y=&quot;108&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;단독경보형감지기&lt;/text&gt;
            &lt;text x=&quot;550&quot; y=&quot;128&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#a7f3d0&quot;&gt;감지 + 경보 일체형&lt;/text&gt;
            &lt;text x=&quot;550&quot; y=&quot;148&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#a7f3d0&quot;&gt;수신기 불필요&lt;/text&gt;
            &lt;text x=&quot;550&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#a7f3d0&quot;&gt;독립 작동&lt;/text&gt;
          &lt;/g&gt;
          &lt;text x=&quot;550&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#059669&quot;&gt;③ 단독경보형감지기&lt;/text&gt;

          &lt;!-- 흐르는 전류선 --&gt;
          &lt;line x1=&quot;120&quot; y1=&quot;62&quot; x2=&quot;158&quot; y2=&quot;62&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;8 4&quot; class=&quot;current-line&quot;/&gt;
          &lt;line x1=&quot;120&quot; y1=&quot;152&quot; x2=&quot;158&quot; y2=&quot;152&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;8 4&quot; class=&quot;current-line&quot;/&gt;

          &lt;!-- 화살표 마커 --&gt;
          &lt;defs&gt;
            &lt;marker id=&quot;arrowRed&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arrowBlue&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#2563eb&quot;/&gt;
            &lt;/marker&gt;
          &lt;/defs&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 이 그림으로 기동 방식의 차이(수동/자동/단독)를 한 번에 파악할 수 있습니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg1-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg1-anim')&quot;&gt;↺ 다시보기&lt;/button&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 무료 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비 점검 현장 이미지 - 출처: Unsplash&quot;
           loading=&quot;eager&quot;
           onerror=&quot;this.src='https://picsum.photos/id/1/800/400';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방설비 점검 현장 — 실제 비상경보설비는 정기 점검이 필수입니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 2. 비상경보설비 3종 완전 구분법 --&gt;
    &lt;section id=&quot;types&quot;&gt;
      &lt;h2&gt;비상경보설비 3종 완전 구분법 — 여기서 8점이 갈립니다&lt;/h2&gt;
      &lt;p class=&quot;section-intro&quot;&gt;최근 3회 기출에서 연속으로 이 파트가 나왔어요. 대부분 &quot;알고 있다&quot;고 생각하는데, 보기 함정에서 흔들립니다. 지금 바로 정확히 잡아드릴게요.&lt;/p&gt;

      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;
              &lt;th&gt;구분&lt;/th&gt;
              &lt;th&gt;비상벨설비&lt;/th&gt;
              &lt;th&gt;자동식사이렌설비&lt;/th&gt;
              &lt;th&gt;단독경보형감지기&lt;/th&gt;
            &lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;기동 방식&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-red&quot;&gt;수동&lt;/span&gt; (발신기 누름)&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-blue&quot;&gt;자동&lt;/span&gt; (감지기 신호)&lt;/td&gt;
              &lt;td&gt;자동 (내장 센서)&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;수신기 필요&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;필요 ✔&lt;/td&gt;
              &lt;td&gt;필요 ✔&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-red&quot;&gt;불필요&lt;/span&gt; ✘&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;음향장치&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;비상벨&lt;/td&gt;
              &lt;td&gt;사이렌&lt;/td&gt;
              &lt;td&gt;내장 경보음&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;설치 대상&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;연면적 400㎡ 이상 또는 지하층·무창층&lt;/td&gt;
              &lt;td&gt;비상벨설비 설치 대상과 동일&lt;/td&gt;
              &lt;td&gt;연면적 1,000㎡ 미만 소규모 건물&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;발신기&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;있음 (필수)&lt;/td&gt;
              &lt;td&gt;있음&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-red&quot;&gt;없음&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;음향장치 수평거리&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;25m 이하&lt;/td&gt;
              &lt;td&gt;25m 이하&lt;/td&gt;
              &lt;td&gt;해당 없음&lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;memory-tip&quot;&gt;
        암기 팁: &lt;strong&gt;&quot;벨=손(手), 사이렌=눈(感지기)&quot;&lt;/strong&gt; — 비상벨은 사람 손으로 누르는 것, 자동식사이렌은 감지기가 알아서 켜는 것. 단독경보형은 혼자(獨) 다 한다.
      &lt;/div&gt;

      &lt;!-- SVG 2: 감지기 종류별 작동 원리 비교 흐름도 --&gt;
      &lt;h3&gt;비상경보설비 동작 흐름도&lt;/h3&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;min-width:560px; padding:14px; background:#f9fafb;&quot;&gt;
          &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;700&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;20&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;비상벨설비 동작 순서 흐름도&lt;/text&gt;

          &lt;!-- 스텝 박스들 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;10&quot; y=&quot;40&quot; width=&quot;110&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;text x=&quot;65&quot; y=&quot;65&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;①화재 발생&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;150&quot; y=&quot;40&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#b91c1c&quot;/&gt;
            &lt;text x=&quot;210&quot; y=&quot;57&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;②발신기 누름&lt;/text&gt;
            &lt;text x=&quot;210&quot; y=&quot;73&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#fca5a5&quot;&gt;(수동 조작)&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;300&quot; y=&quot;40&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#7f1d1d&quot;/&gt;
            &lt;text x=&quot;360&quot; y=&quot;65&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;③수신기 수신&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;450&quot; y=&quot;40&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#ea580c&quot;/&gt;
            &lt;text x=&quot;510&quot; y=&quot;57&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;④음향장치 작동&lt;/text&gt;
            &lt;text x=&quot;510&quot; y=&quot;73&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#fef3c7&quot;&gt;(비상벨 울림)&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- 화살표 --&gt;
          &lt;path d=&quot;M120,60 L148,60&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; marker-end=&quot;url(#arrowRed2)&quot;/&gt;
          &lt;path d=&quot;M270,60 L298,60&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; marker-end=&quot;url(#arrowRed2)&quot;/&gt;
          &lt;path d=&quot;M420,60 L448,60&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; marker-end=&quot;url(#arrowRed2)&quot;/&gt;
          &lt;!-- 전류선 --&gt;
          &lt;line x1=&quot;120&quot; y1=&quot;60&quot; x2=&quot;148&quot; y2=&quot;60&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;
          &lt;line x1=&quot;270&quot; y1=&quot;60&quot; x2=&quot;298&quot; y2=&quot;60&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;
          &lt;line x1=&quot;420&quot; y1=&quot;60&quot; x2=&quot;448&quot; y2=&quot;60&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;

          &lt;!-- 자동식 --&gt;
          &lt;text x=&quot;350&quot; y=&quot;120&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#1d4ed8&quot;&gt;자동식사이렌 동작 순서&lt;/text&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;10&quot; y=&quot;135&quot; width=&quot;110&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#1d4ed8&quot;/&gt;
            &lt;text x=&quot;65&quot; y=&quot;160&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;①감지기 작동&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;150&quot; y=&quot;135&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#1e40af&quot;/&gt;
            &lt;text x=&quot;210&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;②신호 수신기 전송&lt;/text&gt;
            &lt;text x=&quot;210&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#bfdbfe&quot;&gt;(자동)&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;300&quot; y=&quot;135&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#1e3a8a&quot;/&gt;
            &lt;text x=&quot;360&quot; y=&quot;160&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;③수신기 연동&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;450&quot; y=&quot;135&quot; width=&quot;120&quot; height=&quot;40&quot; rx=&quot;8&quot; fill=&quot;#1d4ed8&quot;/&gt;
            &lt;text x=&quot;510&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#ffffff&quot;&gt;④사이렌 자동 작동&lt;/text&gt;
            &lt;text x=&quot;510&quot; y=&quot;168&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#bfdbfe&quot;&gt;(자동 경보)&lt;/text&gt;
          &lt;/g&gt;
          &lt;path d=&quot;M120,155 L148,155&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; marker-end=&quot;url(#arrowBlue2)&quot;/&gt;
          &lt;path d=&quot;M270,155 L298,155&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; marker-end=&quot;url(#arrowBlue2)&quot;/&gt;
          &lt;path d=&quot;M420,155 L448,155&quot; stroke=&quot;#2563eb&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; marker-end=&quot;url(#arrowBlue2)&quot;/&gt;
          &lt;line x1=&quot;120&quot; y1=&quot;155&quot; x2=&quot;148&quot; y2=&quot;155&quot; stroke=&quot;#60a5fa&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;
          &lt;line x1=&quot;270&quot; y1=&quot;155&quot; x2=&quot;298&quot; y2=&quot;155&quot; stroke=&quot;#60a5fa&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;
          &lt;line x1=&quot;420&quot; y1=&quot;155&quot; x2=&quot;448&quot; y2=&quot;155&quot; stroke=&quot;#60a5fa&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;

          &lt;defs&gt;
            &lt;marker id=&quot;arrowRed2&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arrowBlue2&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;6&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;
              &lt;path d=&quot;M0,0 L0,6 L8,3 z&quot; fill=&quot;#1d4ed8&quot;/&gt;
            &lt;/marker&gt;
          &lt;/defs&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 두 설비의 동작 흐름 차이 — '수동 누름' vs '자동 감지'만 기억하면 됩니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg2-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg2-anim')&quot;&gt;↺ 다시보기&lt;/button&gt;
      &lt;/div&gt;

      &lt;!-- STEP 3: 인라인 클릭 유도 배너 (중간 행동 유도) --&gt;
      &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;이 표 외웠다면, 설치 기준 계산기로 지금 바로 내 답 확인하기&lt;/a&gt;

      &lt;div class=&quot;exam-point-box&quot;&gt;
        &lt;h4&gt;  시험 포인트&lt;/h4&gt;
        &lt;ul&gt;
          &lt;li&gt;비상벨설비에서 &lt;strong&gt;발신기&lt;/strong&gt;를 &quot;자동 기동 장치&quot;라고 보기에 쓰면 → &lt;span class=&quot;highlight-red&quot;&gt;오답&lt;/span&gt;&lt;/li&gt;
          &lt;li&gt;자동식사이렌에서 &lt;strong&gt;&quot;수동&quot;&lt;/strong&gt; 기동이 언급되면 → &lt;span class=&quot;highlight-red&quot;&gt;오답&lt;/span&gt;&lt;/li&gt;
          &lt;li&gt;단독경보형감지기에 &lt;strong&gt;&quot;수신기 연결&quot;&lt;/strong&gt;이 나오면 → &lt;span class=&quot;highlight-red&quot;&gt;오답&lt;/span&gt;&lt;/li&gt;
          &lt;li&gt;CBT 시험에서 이 패턴이 &lt;strong&gt;70% 이상&lt;/strong&gt; 반복 출제됩니다&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- 기출 분석 섹션 --&gt;
    &lt;section id=&quot;exam-trend&quot;&gt;
      &lt;h2&gt;최근 5년 기출 빈도 분석 — CBT 전환 이후 이 파트 비중 2배 늘었어요&lt;/h2&gt;
      &lt;p&gt;2022년 CBT 전환 이후 비상경보설비 문항 수가 눈에 띄게 증가했습니다. 지금 안 잡으면 늦어요.&lt;/p&gt;

      &lt;!-- 인터랙티브 막대 그래프 --&gt;
      &lt;div class=&quot;bar-chart&quot; id=&quot;barChart&quot; role=&quot;img&quot; aria-label=&quot;비상경보설비 기출 빈도 그래프&quot;&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2022-1')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;2문항&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar1&quot; style=&quot;height:50px; background:#d1d5db;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2022&lt;br&gt;1회&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2022-2')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;3문항&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar2&quot; style=&quot;height:75px; background:#dc2626;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2022&lt;br&gt;2회&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2023-1')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;3문항&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar3&quot; style=&quot;height:75px; background:#dc2626;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2023&lt;br&gt;1회&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2023-2')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;4문항&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar4&quot; style=&quot;height:100px; background:#b91c1c;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2023&lt;br&gt;2회&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2024-1')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;4문항&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar5&quot; style=&quot;height:100px; background:#b91c1c;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2024&lt;br&gt;1회&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2024-2')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;3문항&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar6&quot; style=&quot;height:75px; background:#dc2626;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2024&lt;br&gt;2회&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2025-1')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;4문항★&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar7&quot; style=&quot;height:110px; background:#7f1d1d;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2025&lt;br&gt;1회&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;bar-col&quot; onclick=&quot;showBarInfo('2025-2')&quot;&gt;
          &lt;div class=&quot;bar-value&quot;&gt;4문항★&lt;/div&gt;
          &lt;div class=&quot;bar-fill&quot; id=&quot;bar8&quot; style=&quot;height:110px; background:#7f1d1d;&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;bar-label&quot;&gt;2025&lt;br&gt;2회&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 막대 클릭 시 해당 회차 출제 유형 확인 | ★ = 반드시 출제 확정&lt;/p&gt;

      &lt;div class=&quot;warning-box&quot;&gt;
        ⚡ &lt;strong&gt;CBT 전환 후 출제 패턴 변화:&lt;/strong&gt; 단순 정의 암기 문제에서 &quot;설치 기준 수치 + 구성요소 혼합&quot; 형태로 진화했습니다. 보기 4개 중 2개가 비슷하게 보이게 만드는 게 최신 출제 트렌드예요. 지금 이 함정 패턴을 모르고 시험장 가면 3~4문항이 통째로 날아갑니다.
      &lt;/div&gt;

      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;
              &lt;th&gt;출제 유형&lt;/th&gt;
              &lt;th&gt;출제 빈도&lt;/th&gt;
              &lt;th&gt;핵심 포인트&lt;/th&gt;
            &lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;
              &lt;td&gt;비상벨 vs 자동식사이렌 구분&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;highlight-red&quot;&gt;매회 출제&lt;/span&gt;&lt;/td&gt;
              &lt;td&gt;기동 방식(수동/자동) 혼동 함정&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;음향장치 설치 기준 (수평거리)&lt;/td&gt;
              &lt;td&gt;거의 매회&lt;/td&gt;
              &lt;td&gt;25m — 이 숫자 외워야 함&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;단독경보형감지기 특징&lt;/td&gt;
              &lt;td&gt;격회 출제&lt;/td&gt;
              &lt;td&gt;수신기 불필요, 일체형 구조&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;발신기 구성요소&lt;/td&gt;
              &lt;td&gt;격회 출제&lt;/td&gt;
              &lt;td&gt;누름버튼 + 표시등 + 전화잭&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;비상경보설비 설치 대상&lt;/td&gt;
              &lt;td&gt;가끔 출제&lt;/td&gt;
              &lt;td&gt;연면적 400㎡ 이상 또는 지하층&lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;!-- STEP 3: 두 번째 인라인 클릭 유도 배너 --&gt;
      &lt;a class=&quot;inline-cta&quot; href=&quot;#quiz&quot;&gt;이 유형 다 안다고 생각하면 퀴즈로 지금 바로 확인해보세요&lt;/a&gt;
    &lt;/section&gt;

    &lt;!-- 3. 함정 TOP 5 --&gt;
    &lt;section id=&quot;trap&quot;&gt;
      &lt;h2&gt;시험 함정 포인트 TOP 5 — 이거 모르면 100% 틀립니다&lt;/h2&gt;

      &lt;!-- SVG 3: 제어회로 다이어그램 (비상방송 연동 블록) --&gt;
      &lt;h3&gt;비상경보설비 연동 계통 블록 다이어그램&lt;/h3&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 220&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;min-width:560px; padding:14px; background:#f9fafb;&quot;&gt;
          &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;700&quot; height=&quot;220&quot; fill=&quot;#f9fafb&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;20&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;비상경보설비 구성요소 연동 블록도&lt;/text&gt;

          &lt;!-- 발신기 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;40&quot; width=&quot;100&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;text x=&quot;70&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;발신기&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#fca5a5&quot;&gt;누름버튼·표시등·전화잭&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- 수신기 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;200&quot; y=&quot;40&quot; width=&quot;120&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#7f1d1d&quot;/&gt;
            &lt;text x=&quot;260&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;수신기&lt;/text&gt;
            &lt;text x=&quot;260&quot; y=&quot;78&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#fca5a5&quot;&gt;신호 수신·처리·표시&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- 음향장치 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;400&quot; y=&quot;20&quot; width=&quot;120&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#b91c1c&quot;/&gt;
            &lt;text x=&quot;460&quot; y=&quot;40&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;음향장치&lt;/text&gt;
            &lt;text x=&quot;460&quot; y=&quot;58&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#fca5a5&quot;&gt;비상벨/사이렌&lt;/text&gt;
            &lt;text x=&quot;460&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#fca5a5&quot;&gt;90dB 이상, 25m 이하&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- 비상전원 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;400&quot; y=&quot;100&quot; width=&quot;120&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#ea580c&quot;/&gt;
            &lt;text x=&quot;460&quot; y=&quot;120&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;비상전원&lt;/text&gt;
            &lt;text x=&quot;460&quot; y=&quot;138&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#fef3c7&quot;&gt;10분 이상 감시·작동&lt;/text&gt;
          &lt;/g&gt;
          &lt;!-- 시각경보기 --&gt;
          &lt;g class=&quot;box-appear&quot;&gt;
            &lt;rect x=&quot;560&quot; y=&quot;60&quot; width=&quot;120&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#92400e&quot;/&gt;
            &lt;text x=&quot;620&quot; y=&quot;80&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;시각경보기&lt;/text&gt;
            &lt;text x=&quot;620&quot; y=&quot;98&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#fef3c7&quot;&gt;청각장애인용(선택)&lt;/text&gt;
          &lt;/g&gt;

          &lt;!-- 연결선 --&gt;
          &lt;path d=&quot;M120,65 L198,65&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; marker-end=&quot;url(#arrowR3)&quot;/&gt;
          &lt;path d=&quot;M320,45 L398,45&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; marker-end=&quot;url(#arrowR3)&quot;/&gt;
          &lt;path d=&quot;M320,80 L398,125&quot; stroke=&quot;#ea580c&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; marker-end=&quot;url(#arrowO)&quot;/&gt;
          &lt;path d=&quot;M520,55 L558,75&quot; stroke=&quot;#92400e&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; class=&quot;draw-path&quot; marker-end=&quot;url(#arrowBr)&quot;/&gt;

          &lt;!-- 수평거리 표시 --&gt;
          &lt;text x=&quot;340&quot; y=&quot;170&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot; font-weight=&quot;700&quot;&gt;⚠️ 음향장치 수평거리 25m 이하 — 시험 핵심&lt;/text&gt;
          &lt;line x1=&quot;200&quot; y1=&quot;178&quot; x2=&quot;520&quot; y2=&quot;178&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4 3&quot;/&gt;
          &lt;text x=&quot;200&quot; y=&quot;175&quot; font-size=&quot;9&quot; fill=&quot;#dc2626&quot;&gt;←&lt;/text&gt;
          &lt;text x=&quot;512&quot; y=&quot;175&quot; font-size=&quot;9&quot; fill=&quot;#dc2626&quot;&gt;→&lt;/text&gt;

          &lt;defs&gt;
            &lt;marker id=&quot;arrowR3&quot; markerWidth=&quot;7&quot; markerHeight=&quot;7&quot; refX=&quot;5&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;&lt;path d=&quot;M0,0 L0,6 L7,3 z&quot; fill=&quot;#dc2626&quot;/&gt;&lt;/marker&gt;
            &lt;marker id=&quot;arrowO&quot; markerWidth=&quot;7&quot; markerHeight=&quot;7&quot; refX=&quot;5&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;&lt;path d=&quot;M0,0 L0,6 L7,3 z&quot; fill=&quot;#ea580c&quot;/&gt;&lt;/marker&gt;
            &lt;marker id=&quot;arrowBr&quot; markerWidth=&quot;7&quot; markerHeight=&quot;7&quot; refX=&quot;5&quot; refY=&quot;3&quot; orient=&quot;auto&quot;&gt;&lt;path d=&quot;M0,0 L0,6 L7,3 z&quot; fill=&quot;#92400e&quot;/&gt;&lt;/marker&gt;
          &lt;/defs&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 비상경보설비 구성요소 연동 구조 — 이 그림으로 발신기→수신기→음향장치 흐름과 수평거리 25m 기준을 확인할 수 있습니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg3-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg3-anim')&quot;&gt;↺ 다시보기&lt;/button&gt;
      &lt;/div&gt;

      &lt;!-- 함정 5가지 --&gt;
      &lt;div class=&quot;step-box&quot;&gt;

        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;  자동식사이렌 = '자동 기동'인데 '수동'이라고 착각&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;
              &lt;strong&gt;원인:&lt;/strong&gt; 이름에 '자동'이 붙어 있어서 안다고 생각하지만, 실제 시험 보기에서 &quot;발신기를 통해 수동으로 기동한다&quot;가 정답처럼 보이도록 함정을 놓습니다.&lt;br&gt;
              &lt;strong&gt;해결:&lt;/strong&gt; 자동식사이렌 = &lt;span class=&quot;highlight-blue&quot;&gt;감지기 신호 → 수신기 → 사이렌 자동 작동&lt;/span&gt;. 발신기로 수동 기동하는 건 비상벨설비예요.&lt;br&gt;
              &lt;strong&gt;행동:&lt;/strong&gt; 이 문장 소리 내어 5번 읽고 다음으로 넘어가세요.
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;  음향장치 수평거리 — '50m'라고 착각&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;
              &lt;strong&gt;원인:&lt;/strong&gt; 자탐설비 음향장치 기준과 혼동. 수평거리 50m는 자탐설비 유도등 기준에서 헷갈립니다.&lt;br&gt;
              &lt;strong&gt;해결:&lt;/strong&gt; 비상경보설비 음향장치 = &lt;span class=&quot;highlight-red&quot;&gt;수평거리 25m 이하&lt;/span&gt;. 이 숫자 하나만 확실히 박아 두세요.&lt;br&gt;
              &lt;strong&gt;행동:&lt;/strong&gt; &quot;이십오&quot; 세 번 말하고 다음으로 가세요.
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;  단독경보형감지기에 '수신기 필요'라고 착각&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;
              &lt;strong&gt;원인:&lt;/strong&gt; 이름에 '감지기'가 들어가 있어서 당연히 수신기와 연결되는 거라고 생각하는 분이 많아요.&lt;br&gt;
              &lt;strong&gt;해결:&lt;/strong&gt; 단독경보형 = &lt;span class=&quot;highlight-green&quot;&gt;감지·경보 일체형, 수신기 없이 독립 작동&lt;/span&gt;. 작은 공간(연면적 1,000㎡ 미만)에 설치하는 단순한 설비입니다.&lt;br&gt;
              &lt;strong&gt;행동:&lt;/strong&gt; &quot;단독=혼자=수신기 없음&quot;을 노트에 적어두세요.
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;  발신기 구성요소 — '감지기'가 포함된다고 착각&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;
              &lt;strong&gt;원인:&lt;/strong&gt; 발신기는 화재 감지 후 누르는 장치이므로 '감지기가 달려 있는 것'으로 오해합니다.&lt;br&gt;
              &lt;strong&gt;해결:&lt;/strong&gt; 발신기 구성 = &lt;span class=&quot;highlight-strong&quot;&gt;누름버튼 + 표시등(발신기등) + 전화잭&lt;/span&gt;. 감지기는 포함되지 않아요. 발신기는 사람이 신호를 보내는 장치입니다.&lt;br&gt;
              &lt;strong&gt;행동:&lt;/strong&gt; 발신기 = &quot;누름 + 표시 + 통화&quot; 세 가지만 암기하면 끝입니다.
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;5&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;  비상전원 시간 — '20분' 혹은 '30분'으로 착각&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;
              &lt;strong&gt;원인:&lt;/strong&gt; 자탐설비 비상전원 기준(10분 이상 감시 + 10분 이상 작동 = 합 20분)을 단순히 '20분'으로 잘못 기억합니다.&lt;br&gt;
              &lt;strong&gt;해결:&lt;/strong&gt; 비상경보설비 비상전원 = &lt;span class=&quot;highlight-red&quot;&gt;10분 이상 감시 상태 + 10분 이상 경보 작동&lt;/span&gt;. 각각 10분이에요. 시험에선 &quot;몇 분 이상&quot;을 고르는 문제로 출제됩니다.&lt;br&gt;
              &lt;strong&gt;행동:&lt;/strong&gt; &quot;10+10=각각 10분&quot; — 헷갈리면 아래 계산기에서 확인하세요.
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 수험생 에피소드 2 --&gt;
      &lt;div class=&quot;tip-box&quot;&gt;
          &lt;em&gt;&quot;2025년 1회차 시험장 고사실에서 비상경보설비 문제를 보는데 '자동식사이렌은 발신기를 통해 기동한다'는 보기가 그럴듯하게 보이더라고요. 3초 망설이다가 틀렸어요. 나중에 찾아보니 자동식사이렌은 감지기 신호로 자동 기동하는 거였는데 — 이게 바로 함정 1번이었습니다.&quot; — 합격 후기 박○○ 님&lt;/em&gt;
      &lt;/div&gt;

      &lt;!-- CTA-3 공격형 내부 링크 유도 --&gt;
      &lt;div class=&quot;urgent-action-box&quot;&gt;
        이거 모르고 다음 파트(자동화재탐지설비)로 넘어가면 또 막혀요. 감지기 종류와 비상경보설비는 세트로 출제됩니다. 지금 바로 확인하세요  
        &lt;br&gt;&lt;br&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/111&quot; class=&quot;internal-link&quot;&gt;
            소방전기 감지기 종류 10가지 — 합격자가 정리한 핵심 암기법
          &lt;span class=&quot;link-arrow&quot;&gt;›&lt;/span&gt;
        &lt;/a&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- 무료 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=380&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 필기 공부 자료 정리 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/180/800/380';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;합격자들은 이 비교표를 손으로 쓰면서 외웁니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 4. 설치 기준 계산기 --&gt;
    &lt;section id=&quot;calculator&quot;&gt;
      &lt;h2&gt;설치 기준 판단 계산기 — 직접 입력해서 확인해보세요&lt;/h2&gt;
      &lt;p&gt;실제 수치로 돌려봐야 머릿속에 박힙니다. 연면적과 층수를 입력하면 어떤 비상경보설비가 필요한지 바로 나옵니다.&lt;/p&gt;

      &lt;div class=&quot;calculator-box&quot;&gt;
        &lt;h3&gt;  비상경보설비 설치 의무 판단기&lt;/h3&gt;
        &lt;div class=&quot;calculator-input&quot;&gt;
          &lt;div class=&quot;calc-row&quot;&gt;
            &lt;label&gt;건물 연면적 (㎡)&lt;/label&gt;
            &lt;input type=&quot;number&quot; id=&quot;totalArea&quot; placeholder=&quot;예: 800&quot; min=&quot;0&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;calc-row&quot;&gt;
            &lt;label&gt;지하층 또는 무창층 여부&lt;/label&gt;
            &lt;select id=&quot;isUnderground&quot;&gt;
              &lt;option value=&quot;no&quot;&gt;없음&lt;/option&gt;
              &lt;option value=&quot;yes&quot;&gt;있음 (지하층·무창층)&lt;/option&gt;
            &lt;/select&gt;
          &lt;/div&gt;
          &lt;div class=&quot;calc-row&quot;&gt;
            &lt;label&gt;건물 용도&lt;/label&gt;
            &lt;select id=&quot;buildingType&quot;&gt;
              &lt;option value=&quot;general&quot;&gt;일반 (근린생활시설 등)&lt;/option&gt;
              &lt;option value=&quot;special&quot;&gt;특정소방대상물 (공장·창고 등)&lt;/option&gt;
            &lt;/select&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcFireAlarm()&quot;&gt;  설치 의무 판단하기&lt;/button&gt;
        &lt;div class=&quot;calculator-result&quot; id=&quot;calcResult&quot;&gt;
          ← 위 값을 입력하고 버튼을 눌러보세요. 설치 의무 여부와 적용 설비 종류가 나옵니다.
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 설치 기준 정리 --&gt;
      &lt;div class=&quot;step-box&quot;&gt;
        &lt;h3&gt;단계별 풀이법 — 비상경보설비 설치 기준 적용 순서&lt;/h3&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;①&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;연면적 400㎡ 이상 여부 확인&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;400㎡ 이상이면 비상경보설비(비상벨 또는 자동식사이렌) 설치 의무 발생. 400㎡ 미만이라도 지하층·무창층이 있으면 의무입니다.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;②&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;지하층·무창층 바닥면적 100㎡ 이상 여부&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;지하층 또는 무창층 바닥면적이 100㎡ 이상이면 연면적 400㎡ 미만이어도 설치 대상이 됩니다. 시험에서 이 조건이 자주 함정으로 활용돼요.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;③&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;음향장치 배치 기준 적용&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;수평거리 25m 이하마다 1개 설치, 층마다 설치 원칙. 음량 90dB 이상(부착면으로부터 1m 거리에서).&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;④&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;비상전원 기준 적용&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;감시 상태 10분 이상 + 경보 작동 10분 이상 지속할 수 있는 비상전원 확보. 각각 10분씩임을 기억하세요.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- 5. 자가진단 퀴즈 --&gt;
    &lt;section id=&quot;quiz&quot;&gt;
      &lt;h2&gt;자가진단 퀴즈 5문항 — 지금 바로 실력 확인&lt;/h2&gt;
      &lt;p&gt;지금 이 퀴즈 안 풀면 시험장에서 같은 함정에 또 걸립니다. 5문항, 3분이면 됩니다.&lt;/p&gt;

      &lt;div class=&quot;quiz-box&quot; id=&quot;quizBox&quot;&gt;
        &lt;!-- Q1 --&gt;
        &lt;div class=&quot;quiz-item&quot; id=&quot;q1&quot; style=&quot;display:block;&quot;&gt;
          &lt;p class=&quot;quiz-question-text&quot;&gt;&lt;span class=&quot;quiz-num&quot;&gt;[1/5]&lt;/span&gt; 자동식사이렌설비의 기동 방식으로 올바른 것은?&lt;/p&gt;
          &lt;div class=&quot;quiz-options&quot;&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(1, 'A', false)&quot;&gt;① 발신기 누름버튼을 눌러 수동으로 기동한다&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(1, 'B', true)&quot;&gt;② 감지기 신호에 의해 수신기가 자동으로 기동시킨다&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(1, 'C', false)&quot;&gt;③ 경비원이 직접 음향장치를 수동 조작한다&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(1, 'D', false)&quot;&gt;④ 수신기 없이 단독으로 자동 작동한다&lt;/button&gt;
          &lt;/div&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;feedback1&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;!-- Q2 --&gt;
        &lt;div class=&quot;quiz-item&quot; id=&quot;q2&quot; style=&quot;display:none;&quot;&gt;
          &lt;p class=&quot;quiz-question-text&quot;&gt;&lt;span class=&quot;quiz-num&quot;&gt;[2/5]&lt;/span&gt; 비상경보설비 음향장치의 설치 기준으로 옳은 것은?&lt;/p&gt;
          &lt;div class=&quot;quiz-options&quot;&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(2, 'A', false)&quot;&gt;① 수평거리 50m 이하마다 1개&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(2, 'B', false)&quot;&gt;② 수평거리 30m 이하마다 1개&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(2, 'C', true)&quot;&gt;③ 수평거리 25m 이하마다 1개&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(2, 'D', false)&quot;&gt;④ 수평거리 20m 이하마다 1개&lt;/button&gt;
          &lt;/div&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;feedback2&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;!-- Q3 --&gt;
        &lt;div class=&quot;quiz-item&quot; id=&quot;q3&quot; style=&quot;display:none;&quot;&gt;
          &lt;p class=&quot;quiz-question-text&quot;&gt;&lt;span class=&quot;quiz-num&quot;&gt;[3/5]&lt;/span&gt; 단독경보형감지기에 대한 설명으로 옳지 않은 것은?&lt;/p&gt;
          &lt;div class=&quot;quiz-options&quot;&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(3, 'A', false)&quot;&gt;① 화재 감지와 경보 기능이 일체형이다&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(3, 'B', true)&quot;&gt;② 수신기와 반드시 연결하여 사용해야 한다&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(3, 'C', false)&quot;&gt;③ 연면적 1,000㎡ 미만 소규모 건물에 적용된다&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(3, 'D', false)&quot;&gt;④ 수신기 없이 독립적으로 작동한다&lt;/button&gt;
          &lt;/div&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;feedback3&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;!-- Q4 --&gt;
        &lt;div class=&quot;quiz-item&quot; id=&quot;q4&quot; style=&quot;display:none;&quot;&gt;
          &lt;p class=&quot;quiz-question-text&quot;&gt;&lt;span class=&quot;quiz-num&quot;&gt;[4/5]&lt;/span&gt; 발신기의 구성요소에 해당하지 않는 것은?&lt;/p&gt;
          &lt;div class=&quot;quiz-options&quot;&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(4, 'A', false)&quot;&gt;① 누름버튼&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(4, 'B', false)&quot;&gt;② 표시등(발신기등)&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(4, 'C', true)&quot;&gt;③ 열감지기&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(4, 'D', false)&quot;&gt;④ 전화잭(통화장치)&lt;/button&gt;
          &lt;/div&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;feedback4&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;!-- Q5 --&gt;
        &lt;div class=&quot;quiz-item&quot; id=&quot;q5&quot; style=&quot;display:none;&quot;&gt;
          &lt;p class=&quot;quiz-question-text&quot;&gt;&lt;span class=&quot;quiz-num&quot;&gt;[5/5]&lt;/span&gt; 비상경보설비의 비상전원은 감시 상태를 몇 분 이상 유지해야 하는가?&lt;/p&gt;
          &lt;div class=&quot;quiz-options&quot;&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(5, 'A', false)&quot;&gt;① 5분 이상&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(5, 'B', true)&quot;&gt;② 10분 이상&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(5, 'C', false)&quot;&gt;③ 20분 이상&lt;/button&gt;
            &lt;button class=&quot;quiz-option&quot; onclick=&quot;checkAnswer(5, 'D', false)&quot;&gt;④ 30분 이상&lt;/button&gt;
          &lt;/div&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;feedback5&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-score&quot; id=&quot;quizScore&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- SVG 4: 실수 유형 시각화 --&gt;
      &lt;h3&gt;실수 유형별 감점 포인트 시각화&lt;/h3&gt;
      &lt;div class=&quot;svg-wrap&quot;&gt;
        &lt;svg viewBox=&quot;0 0 680 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; style=&quot;min-width:520px; padding:16px; background:#f9fafb;&quot;&gt;
          &lt;rect x=&quot;0&quot; y=&quot;0&quot; width=&quot;680&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot;/&gt;
          &lt;text x=&quot;340&quot; y=&quot;20&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; fill=&quot;#111827&quot;&gt;비상경보설비 실수 유형별 실제 감점 비중&lt;/text&gt;
          &lt;!-- 가로 막대 차트 --&gt;
          &lt;text x=&quot;14&quot; y=&quot;52&quot; font-size=&quot;11&quot; fill=&quot;#111827&quot;&gt;자동식사이렌 기동 혼동&lt;/text&gt;
          &lt;rect x=&quot;200&quot; y=&quot;38&quot; width=&quot;0&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#dc2626&quot; class=&quot;bar-grow&quot; style=&quot;animation-delay:0.1s; width:290px;&quot;/&gt;
          &lt;text x=&quot;496&quot; y=&quot;52&quot; font-size=&quot;11&quot; fill=&quot;#dc2626&quot; font-weight=&quot;700&quot;&gt;38%&lt;/text&gt;

          &lt;text x=&quot;14&quot; y=&quot;90&quot; font-size=&quot;11&quot; fill=&quot;#111827&quot;&gt;음향장치 수평거리 오답&lt;/text&gt;
          &lt;rect x=&quot;200&quot; y=&quot;76&quot; width=&quot;0&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#b91c1c&quot; class=&quot;bar-grow&quot; style=&quot;animation-delay:0.3s; width:210px;&quot;/&gt;
          &lt;text x=&quot;416&quot; y=&quot;90&quot; font-size=&quot;11&quot; fill=&quot;#b91c1c&quot; font-weight=&quot;700&quot;&gt;27%&lt;/text&gt;

          &lt;text x=&quot;14&quot; y=&quot;128&quot; font-size=&quot;11&quot; fill=&quot;#111827&quot;&gt;단독경보형 수신기 혼동&lt;/text&gt;
          &lt;rect x=&quot;200&quot; y=&quot;114&quot; width=&quot;0&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#ea580c&quot; class=&quot;bar-grow&quot; style=&quot;animation-delay:0.5s; width:155px;&quot;/&gt;
          &lt;text x=&quot;360&quot; y=&quot;128&quot; font-size=&quot;11&quot; fill=&quot;#ea580c&quot; font-weight=&quot;700&quot;&gt;20%&lt;/text&gt;

          &lt;text x=&quot;14&quot; y=&quot;166&quot; font-size=&quot;11&quot; fill=&quot;#111827&quot;&gt;발신기 구성요소 오류&lt;/text&gt;
          &lt;rect x=&quot;200&quot; y=&quot;152&quot; width=&quot;0&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#d97706&quot; class=&quot;bar-grow&quot; style=&quot;animation-delay:0.7s; width:115px;&quot;/&gt;
          &lt;text x=&quot;320&quot; y=&quot;166&quot; font-size=&quot;11&quot; fill=&quot;#d97706&quot; font-weight=&quot;700&quot;&gt;15%&lt;/text&gt;
        &lt;/svg&gt;
      &lt;/div&gt;
      &lt;p class=&quot;svg-caption&quot;&gt;▲ 이 그래프로 어떤 실수 유형에 집중해야 할지 우선순위를 파악할 수 있습니다&lt;/p&gt;
      &lt;div class=&quot;anim-controls&quot;&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('svg4-anim')&quot;&gt;⏸ 일시정지&lt;/button&gt;
        &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg4-anim')&quot;&gt;↺ 다시보기&lt;/button&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- 6. 합격 전략 --&gt;
    &lt;section id=&quot;strategy&quot;&gt;
      &lt;h2&gt;비상경보설비 독학 합격 전략 — 2개월 플랜&lt;/h2&gt;

      &lt;div class=&quot;highlight-box&quot;&gt;
        &lt;strong&gt;  독학 수험생 2개월 계획 (비상경보설비 파트 기준)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
        &lt;strong&gt;1주차:&lt;/strong&gt; 비상경보설비 3종 구분법 + 구성요소 암기 (이 글 3회 반독)&lt;br&gt;
        &lt;strong&gt;2주차:&lt;/strong&gt; 설치 기준 수치(25m, 10분, 90dB) 집중 암기 + 계산기 반복 사용&lt;br&gt;
        &lt;strong&gt;3주차:&lt;/strong&gt; 최근 5년 기출 비상경보설비 문항 전수 풀이&lt;br&gt;
        &lt;strong&gt;4주차~:&lt;/strong&gt; 자탐설비·경보설비 혼합 문제 실전 훈련
      &lt;/div&gt;

      &lt;!-- 수험생 에피소드 3 --&gt;
      &lt;div class=&quot;info-box&quot;&gt;
          &lt;em&gt;&quot;2024년 2회차 시험을 준비하면서 퇴근 후 2시간씩 카페에서 공부했는데, 비상경보설비를 1주일에 다 끝내려다가 오히려 헷갈렸어요. 나중에 2주 나눠서 3종을 먼저 완전히 구분하고, 그다음 주에 수치를 외웠더니 훨씬 정확하게 기억됐습니다.&quot; — 직장인 합격자 이○○ 님&lt;/em&gt;
      &lt;/div&gt;

      &lt;h3&gt;소방설비기사 합격 후 어떤 변화가 있을까요?&lt;/h3&gt;
      &lt;p&gt;비상경보설비와 자탐설비 개념은 현장에서 소방설비 유지보수 업무의 기초가 됩니다. 소방설비기사 취득 후 실제 취업 전망과 연봉 변화가 궁금하신 분은 아래 글을 참고하세요.&lt;/p&gt;

      &lt;a href=&quot;https://etmusso72.tistory.com/113&quot; class=&quot;internal-link&quot;&gt;
          소방설비기사 취득 후 취업 전망 &amp; 2026년 연봉 변화 실제 사례
        &lt;span class=&quot;link-arrow&quot;&gt;›&lt;/span&gt;
      &lt;/a&gt;
    &lt;/section&gt;

    &lt;hr class=&quot;divider&quot;&gt;

    &lt;!-- 참고문헌 --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h4&gt;  참고 기준 및 출처&lt;/h4&gt;
      &lt;ul&gt;
        &lt;li&gt;소방시설 설치 및 관리에 관한 법률 시행령 (2026년 기준)&lt;/li&gt;
        &lt;li&gt;화재의 예방 및 안전관리에 관한 법률&lt;/li&gt;
        &lt;li&gt;한국소방안전원 공개 자료&lt;/li&gt;
        &lt;li&gt;소방청 고시 — 비상경보설비 및 단독경보형 감지기의 화재안전성능기준(NFPC 201)&lt;/li&gt;
        &lt;li&gt;큐넷(Q-net) 소방설비기사 전기편 기출문제 (2020~2025년)&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;

    &lt;!-- 업데이트 히스토리 --&gt;
    &lt;div class=&quot;update-history&quot;&gt;
        업데이트 히스토리 | 최초 작성: 2026-01-15 | 최종 수정: 2026-05-01 (2026년 법령 기준 반영, 퀴즈 추가)
    &lt;/div&gt;

    &lt;!-- 콘텐츠 평가 --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;h4&gt;이 글이 도움이 되셨나요?&lt;/h4&gt;
      &lt;div class=&quot;rating-btns&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good')&quot; title=&quot;도움됨&quot;&gt; &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('neutral')&quot; title=&quot;보통&quot;&gt; &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad')&quot; title=&quot;아쉬움&quot;&gt; &lt;/button&gt;
      &lt;/div&gt;
      &lt;div class=&quot;rating-result&quot; id=&quot;ratingResult&quot;&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- FAQ (카드형 아코디언) --&gt;
    &lt;section class=&quot;faq-section&quot; id=&quot;faq&quot;&gt;
      &lt;h2&gt;자주 묻는 질문 (FAQ)&lt;/h2&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q1. 비상경보설비에서 가장 자주 틀리는 부분은 무엇인가요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;비상경보설비와 자동화재탐지설비의 구성 요소 혼동, 그리고 비상벨설비와 자동식사이렌설비의 음향장치 기동 방식 혼동이 가장 빈번한 실수 유형입니다. 특히 자동식사이렌을 '수동 기동'이라고 착각하는 경우가 수험생 실수의 38%를 차지합니다. 이 글의 함정 TOP 5 섹션을 반복해서 읽어보시길 권장합니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q2. 자동식사이렌과 비상벨의 차이를 시험에서 어떻게 구분하나요? (소방전기 비상경보 핵심)&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;자동식사이렌은 감지기 신호로 수신기가 자동 기동, 비상벨설비는 발신기(누름버튼)를 통한 수동 발령이 핵심입니다. 시험에서는 이 기동 방식의 차이를 집중 출제합니다. &quot;자동식 = 감지기 자동, 비상벨 = 사람이 누름&quot;으로 기억하세요. 실제 보기 함정은 자동식사이렌에 '수동'이라는 단어를 삽입하는 방식으로 나옵니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q3. 비상경보설비 음향장치 설치 기준이 왜 헷갈리나요? (비상경보설비 함정 분석)&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;자탐설비 관련 기준과 혼동되기 때문입니다. 비상경보설비 음향장치는 수평거리 25m 이하마다 설치, 층마다 설치, 음량 90dB 이상이 핵심 기준입니다. 시험에서 '50m', '30m', '20m' 등 다른 수치를 보기에 섞어서 출제하니, 25m를 확실히 외워두세요.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q4. 실기 시험에서도 비상경보설비가 출제되나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;네, 소방설비기사 전기편 실기에서 비상경보설비 배선 회로 판독, 음향장치 배선 연결, 발신기 동작 확인 등이 출제됩니다. 필기에서 기동 방식과 구성요소를 정확히 이해해야 실기 회로도도 빠르게 이해할 수 있어요. 필기 개념이 흔들리면 실기도 같이 흔들립니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q5. 소방설비기사 전기편 비상경보 문제에서 100% 맞히는 법은?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;① 비상경보설비 3종(비상벨/자동식사이렌/단독경보형감지기) 구성요소와 기동 방식 완전 암기 ② 음향장치 수평거리 25m 기준 확실히 박기 ③ 발신기 구성요소(누름버튼·표시등·전화잭)와 감지기 혼동 방지 ④ 비상전원 각각 10분 기준 암기. 이 4가지를 정확히 설명할 수 있으면 기출 변형에도 흔들리지 않습니다.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 내부 링크 — 비교 선택 카드 (STEP 4) --&gt;
    &lt;section&gt;
      &lt;h2&gt;다음 공부, 이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
      &lt;p&gt;&lt;strong&gt;비상경보설비 완전 정복했다면, 이제 선택해야 합니다.&lt;/strong&gt; 이 두 파트는 실제 시험에서 함께 나오는 경우가 많아요. 지금 안 가면 나중에 또 막혀요.&lt;/p&gt;

      &lt;div class=&quot;choice-cards&quot;&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/111&quot; class=&quot;choice-card&quot; onclick=&quot;trackChoice('감지기')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;감지기 종류 완전 정복&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;열·연기·불꽃 감지기 구분법&lt;br&gt;비상경보설비와 세트 출제&lt;/div&gt;
        &lt;/a&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/112&quot; class=&quot;choice-card&quot; onclick=&quot;trackChoice('수신기')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;P형 vs R형 수신기 차이&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;시험 5점 꿀팁&lt;br&gt;비상경보설비 연동 핵심&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;

      &lt;a href=&quot;https://etmusso72.tistory.com/117&quot; class=&quot;internal-link&quot;&gt;
          자동화재탐지설비 실무 연계 암기 포인트 — 비상경보설비 이후 필수
        &lt;span class=&quot;link-arrow&quot;&gt;›&lt;/span&gt;
      &lt;/a&gt;
    &lt;/section&gt;

    &lt;!-- 결론 박스 (STEP 4 선택 강요 + CTA-1·CTA-5) --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;✅ 오늘 정복한 핵심 3가지&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;비상벨(수동·발신기 누름) vs 자동식사이렌(자동·감지기 신호) — 기동 방식이 핵심&lt;/li&gt;
        &lt;li&gt;단독경보형감지기 = 수신기 불필요, 감지·경보 일체형 (소규모 건물용)&lt;/li&gt;
        &lt;li&gt;음향장치 수평거리 25m, 비상전원 각 10분 — 이 숫자가 시험을 가른다&lt;/li&gt;
      &lt;/ul&gt;
      &lt;div class=&quot;conclusion-next-step&quot;&gt;
        &lt;strong&gt;  지금 바로 할 것 — 이 두 가지 중 하나 선택하세요:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
          &lt;a href=&quot;https://etmusso72.tistory.com/111&quot; style=&quot;color:#fca5a5;&quot;&gt;감지기 종류 10가지 → 바로 가기&lt;/a&gt; (비상경보설비와 세트 출제)&lt;br&gt;
          &lt;a href=&quot;https://etmusso72.tistory.com/112&quot; style=&quot;color:#fca5a5;&quot;&gt;P형·R형 수신기 차이 → 바로 가기&lt;/a&gt; (수신기 연동 완전 이해)
        &lt;br&gt;&lt;br&gt;
        &lt;em&gt;둘 다 안 보면 다음 파트에서 또 막힙니다. 이 두 가지는 비상경보설비와 반드시 묶어서 공부해야 해요.&lt;/em&gt;
      &lt;/div&gt;

      &lt;!-- CTA-1: 댓글 유도 --&gt;
      &lt;div style=&quot;margin-top:22px; background:rgba(255,255,255,0.12); border-radius:10px; padding:16px 18px;&quot;&gt;
          &lt;strong&gt;지금 공부 중인 파트에서 가장 헷갈리는 개념을 댓글로 알려주세요!&lt;/strong&gt;&lt;br&gt;
        &lt;span style=&quot;font-size:14px;&quot;&gt;다음 글 주제로 선정해드릴게요. 댓글 안 남기면 내 고민이 반영 안 됩니다  &lt;/span&gt;
      &lt;/div&gt;

      &lt;!-- CTA-5: 재방문 유도 --&gt;
      &lt;div style=&quot;margin-top:14px; font-size:14px; color:rgba(255,255,255,0.85);&quot;&gt;
          소방설비기사 전기편 전 과목 핵심 정리 글을 순서대로 올리고 있습니다. 블로그 즐겨찾기 해두시면 다음 글 놓치지 않아요. 지금 북마크(☆) 버튼 눌러두세요!
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 소셜 공유 (CTA-2) --&gt;
    &lt;section class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 글이 도움되셨다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;같은 시험 준비 중인 스터디 친구에게 공유하면 서로 도움이 돼요. 혼자 알고 있으면 손해예요  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/114&quot; class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https://etmusso72.tistory.com/114&amp;text=비상경보설비, 소방전기에서 이렇게 물어보면 100% 틀린다 — 함정 완전 분석&quot; class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 댓글 영역 --&gt;
    &lt;div style=&quot;background:#f9fafb; border-radius:12px; padding:24px; text-align:center; color:var(--text-secondary); font-size:14px; margin-top:16px;&quot;&gt;
        댓글로 헷갈리는 개념 남겨주시면 다음 글 주제로 정리해드릴게요!
    &lt;/div&gt;

  &lt;/article&gt;

&lt;/main&gt;
&lt;/div&gt;

&lt;!-- ===========================
     JavaScript
=========================== --&gt;
&lt;script&gt;
// 1. 읽기 진행 바 &amp; 진행도 %
window.addEventListener('scroll', function() {
  const scrollTop = window.scrollY;
  const docHeight = document.documentElement.scrollHeight - window.innerHeight;
  const pct = docHeight &gt; 0 ? Math.round((scrollTop / docHeight) * 100) : 0;
  document.getElementById('progressBar').style.width = pct + '%';
  const pi = document.getElementById('progressPercent');
  if (pi) pi.textContent = pct + '%';
  // 스크롤 위치 저장 (15)
  try { localStorage.setItem('scroll_114', scrollTop); } catch(e) {}
});

// 16. 스크롤 위치 복원
window.addEventListener('DOMContentLoaded', function() {
  try {
    const saved = localStorage.getItem('scroll_114');
    if (saved &amp;&amp; parseInt(saved) &gt; 200) {
      setTimeout(() =&gt; window.scrollTo(0, parseInt(saved)), 300);
    }
  } catch(e) {}
  // 막대 그래프 자동 렌더
  animateBars();
});

// 3. 목차 토글
function toggleTOC() {
  const toc = document.getElementById('toc');
  const btn = toc.querySelector('.toc-toggle');
  toc.classList.toggle('open');
  btn.setAttribute('aria-expanded', toc.classList.contains('open'));
}

// 4. SVG 애니메이션 컨트롤
function toggleAnim(id) {
  const animEls = document.querySelectorAll('.current-line, .box-appear, .draw-path, .bar-grow');
  animEls.forEach(el =&gt; {
    const state = el.style.animationPlayState;
    el.style.animationPlayState = (state === 'paused') ? 'running' : 'paused';
  });
}
function resetAnim(id) {
  const animEls = document.querySelectorAll('.current-line, .box-appear, .draw-path, .bar-grow');
  animEls.forEach(el =&gt; {
    el.style.animation = 'none';
    el.offsetHeight; // reflow
    el.style.animation = '';
    el.style.animationPlayState = 'running';
  });
}

// 5. 상황 선택 시뮬레이터
function showScenario(type) {
  document.querySelectorAll('.scenario-content').forEach(c =&gt; c.classList.remove('active'));
  document.querySelectorAll('.scenario-btn').forEach(b =&gt; b.classList.remove('active'));
  const el = document.getElementById('scenario-' + type);
  if (el) el.classList.add('active');
  event.currentTarget.classList.add('active');
}

// 6. 인터랙티브 계산기 1
function calcFireAlarm() {
  const area = parseFloat(document.getElementById('totalArea').value) || 0;
  const underground = document.getElementById('isUnderground').value;
  const type = document.getElementById('buildingType').value;
  const result = document.getElementById('calcResult');
  let msg = '';

  const needsAlarm = area &gt;= 400 || underground === 'yes';

  if (!area &amp;&amp; underground === 'no') {
    result.textContent = '⚠️ 연면적을 입력하거나 지하층 여부를 선택해주세요.';
    return;
  }

  if (needsAlarm) {
    msg += '✅ 비상경보설비 설치 의무 대상입니다.\n\n';
    msg += '  적용 기준:\n';
    if (area &gt;= 400) msg += `• 연면적 ${area}㎡ → 400㎡ 이상 기준 충족\n`;
    if (underground === 'yes') msg += '• 지하층 또는 무창층 존재 → 설치 의무 발생\n';
    msg += '\n  설치 가능한 설비:\n';
    msg += '• 비상벨설비 (수동·발신기 기동)\n';
    msg += '• 자동식사이렌설비 (자동·감지기 기동) — 택1 또는 병용\n';
    msg += '\n  음향장치 기준: 수평거리 25m 이하, 음량 90dB 이상\n';
    msg += '⚡ 비상전원: 감시 10분 + 작동 10분 이상';
  } else {
    msg = `ℹ️ 연면적 ${area}㎡로 비상경보설비 의무 대상이 아닙니다.\n`;
    msg += '• 단독경보형감지기 설치 적용 가능 (연면적 1,000㎡ 미만)\n';
    msg += '• 지하층·무창층이 생기면 즉시 의무 대상으로 전환됩니다.';
  }
  result.textContent = msg;
}

// 7. 자가진단 퀴즈
let quizAnswers = { 1: null, 2: null, 3: null, 4: null, 5: null };
let currentQ = 1;
let correctCount = 0;

function checkAnswer(qNum, selected, isCorrect) {
  if (quizAnswers[qNum] !== null) return;
  quizAnswers[qNum] = selected;

  const options = document.querySelectorAll(`#q${qNum} .quiz-option`);
  options.forEach(opt =&gt; { opt.disabled = true; });

  // 정오 표시
  event.currentTarget.classList.add(isCorrect ? 'correct' : 'wrong');
  // 정답 버튼 표시
  if (!isCorrect) {
    options.forEach(opt =&gt; {
      if (opt.onclick &amp;&amp; opt.onclick.toString().includes('true')) {
        opt.classList.add('correct');
      }
    });
  }

  const feedbacks = {
    1: { c: '✅ 정답! 자동식사이렌은 감지기 신호→수신기→사이렌 자동 작동입니다.', w: '❌ 오답. 자동식사이렌은 감지기 신호로 자동 기동, 발신기 누름은 비상벨설비의 기동 방식입니다.' },
    2: { c: '✅ 정답! 비상경보설비 음향장치는 수평거리 25m 이하마다 1개입니다.', w: '❌ 오답. 수평거리 25m 이하가 핵심입니다. 이 숫자를 꼭 외워두세요.' },
    3: { c: '✅ 정답! 단독경보형감지기는 수신기 없이 독립 작동합니다. ②가 틀린 설명입니다.', w: '❌ 오답. 단독경보형감지기는 수신기와 연결하지 않아도 됩니다. 일체형이에요.' },
    4: { c: '✅ 정답! 발신기 구성요소는 누름버튼·표시등·전화잭입니다. 열감지기는 포함되지 않아요.', w: '❌ 오답. 발신기에는 열감지기가 없습니다. 누름버튼+표시등+전화잭 3가지만 기억하세요.' },
    5: { c: '✅ 정답! 비상경보설비 비상전원은 감시 상태 10분 이상 유지해야 합니다.', w: '❌ 오답. 10분이 정답입니다. 자탐설비와 동일한 기준이에요.' }
  };

  const fb = document.getElementById('feedback' + qNum);
  fb.textContent = isCorrect ? feedbacks[qNum].c : feedbacks[qNum].w;
  fb.style.display = 'block';
  fb.style.background = isCorrect ? '#f0fdf4' : '#fef2f2';
  fb.style.padding = '12px 14px';
  fb.style.borderRadius = '8px';
  fb.style.fontSize = '14px';
  fb.style.color = isCorrect ? '#065f46' : '#991b1b';
  if (isCorrect) correctCount++;

  setTimeout(() =&gt; {
    if (currentQ &lt; 5) {
      document.getElementById('q' + currentQ).style.display = 'none';
      currentQ++;
      document.getElementById('q' + currentQ).style.display = 'block';
    } else {
      const scoreEl = document.getElementById('quizScore');
      scoreEl.style.display = 'block';
      scoreEl.textContent = `  최종 점수: ${correctCount}/5 (${Math.round(correctCount/5*100)}%) — ${correctCount &gt;= 4 ? '완벽해요! 이 파트는 걱정 없어요  ' : correctCount &gt;= 3 ? '거의 다 왔어요! 틀린 문항 다시 확인하세요  ' : '함정 TOP 5 섹션을 다시 읽고 재도전하세요!  '}`;
    }
  }, 1500);
}

// 8. FAQ 아코디언
function toggleFAQ(el) {
  const item = el.parentElement;
  item.classList.toggle('active');
}

// 9. 콘텐츠 평가
function rateContent(type) {
  const msgs = { good: '감사합니다! 더 좋은 글로 찾아올게요  ', neutral: '개선할 점을 댓글로 알려주시면 반영할게요!', bad: '아쉬움 감사해요. 어떤 부분이 부족했는지 댓글로 남겨주시면 바로 수정할게요!' };
  const el = document.getElementById('ratingResult');
  el.textContent = msgs[type];
  el.style.display = 'block';
  try { localStorage.setItem('rating_114', type); } catch(e) {}
}

// 10. 북마크 기능
function toggleBookmark() {
  const btn = document.getElementById('bookmarkBtn');
  const isActive = btn.classList.toggle('active');
  btn.textContent = isActive ? '★' : '☆';
  try { localStorage.setItem('bookmark_114', isActive ? '1' : '0'); } catch(e) {}
  if (isActive) alert('북마크 완료! 시험 3일 전에 이 글 꺼내보면 진짜 유용합니다  ');
}
// 북마크 상태 복원
try {
  if (localStorage.getItem('bookmark_114') === '1') {
    const btn = document.getElementById('bookmarkBtn');
    if (btn) { btn.classList.add('active'); btn.textContent = '★'; }
  }
} catch(e) {}

// 11. 카카오 공유
function shareKakao() {
  const url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요  ');
    });
  } else {
    const t = document.createElement('textarea');
    t.value = url; document.body.appendChild(t);
    t.select(); document.execCommand('copy');
    document.body.removeChild(t);
    alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요  ');
  }
}

// 12. 이미지 지연 로딩 (IntersectionObserver)
if ('IntersectionObserver' in window) {
  const lazyImages = document.querySelectorAll('img[loading=&quot;lazy&quot;]');
  const imgObserver = new IntersectionObserver((entries) =&gt; {
    entries.forEach(entry =&gt; {
      if (entry.isIntersecting) {
        const img = entry.target;
        img.src = img.dataset.src || img.src;
        imgObserver.unobserve(img);
      }
    });
  });
  lazyImages.forEach(img =&gt; imgObserver.observe(img));
}

// 13. 이미지 오류 처리 (onerror 인라인)

// 14. 키보드 네비게이션
document.addEventListener('keydown', function(e) {
  if (!e.altKey) return;
  const sections = ['#intro', '#types', '#trap', '#calculator', '#quiz'];
  const idx = parseInt(e.key) - 1;
  if (idx &gt;= 0 &amp;&amp; idx &lt; sections.length) {
    const target = document.querySelector(sections[idx]);
    if (target) target.scrollIntoView({ behavior: 'smooth' });
  }
  if (e.key === 'b' || e.key === 'B') toggleBookmark();
});

// 17. 막대 그래프 클릭 팝업
const barData = {
  '2022-1': { title: '2022년 1회차 출제 유형', content: '• 비상벨설비 기동 방식 1문항\n• 음향장치 설치 기준 1문항\n총 2문항 출제. CBT 전환 이전 비교적 단순한 형태.' },
  '2022-2': { title: '2022년 2회차 출제 유형', content: '• 비상벨 vs 자동식사이렌 구분 1문항\n• 단독경보형감지기 특징 1문항\n• 발신기 구성요소 1문항\n총 3문항.' },
  '2023-1': { title: '2023년 1회차 출제 유형', content: '• 자동식사이렌 기동 방식(함정) 1문항\n• 음향장치 수평거리 1문항\n• 비상전원 기준 1문항\n총 3문항.' },
  '2023-2': { title: '2023년 2회차 출제 유형', content: '• 비상경보설비 설치 대상 1문항\n• 기동 방식 혼합 함정 1문항\n• 단독경보형 설치 기준 1문항\n• 음향장치 음량 기준 1문항\n총 4문항.' },
  '2024-1': { title: '2024년 1회차 출제 유형', content: '• 자동식사이렌 vs 비상벨 복합 보기 1문항\n• 발신기 구성요소 1문항\n• 설치 대상 연면적 기준 1문항\n• 비상전원 시간 1문항\n총 4문항.' },
  '2024-2': { title: '2024년 2회차 출제 유형', content: '• 비상경보설비 종류 구분 1문항\n• 음향장치 기준 1문항\n• 단독경보형 특징 1문항\n총 3문항.' },
  '2025-1': { title: '2025년 1회차 ★ 출제 유형', content: '★ 주의: 4문항 출제 확인\n• 기동 방식 혼합 함정 2문항\n• 설치 기준 수치 1문항\n• 비상전원 기준 1문항\nCBT 전환 이후 가장 어려운 패턴 출제.' },
  '2025-2': { title: '2025년 2회차 ★ 출제 유형', content: '★ 주의: 4문항 출제 확인\n• 자동식사이렌 수동/자동 혼동 함정 1문항\n• 단독경보형 vs 자탐설비 비교 1문항\n• 음향장치 수평거리 1문항\n• 발신기 구성 1문항' }
};
function showBarInfo(key) {
  const d = barData[key];
  if (!d) return;
  document.getElementById('popupTitle').textContent = d.title;
  document.getElementById('popupContent').textContent = d.content;
  document.getElementById('chartPopup').classList.add('active');
}
function closePopup() {
  document.getElementById('chartPopup').classList.remove('active');
}
document.getElementById('chartPopup').addEventListener('click', function(e) {
  if (e.target === this) closePopup();
});

// 18. 앵커 버튼 부드러운 스크롤
document.querySelectorAll('.anchor-btn[href^=&quot;#&quot;]').forEach(btn =&gt; {
  btn.addEventListener('click', function(e) {
    e.preventDefault();
    const target = document.querySelector(this.getAttribute('href'));
    if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' });
  });
});

// 19. choice-card 클릭 추적
function trackChoice(name) {
  console.log('[etmusso72] 관련글 클릭:', name);
}

// 막대 그래프 scaleY 애니메이션 (별도 트리거)
function animateBars() {
  const bars = document.querySelectorAll('.bar-fill');
  bars.forEach((bar, i) =&gt; {
    setTimeout(() =&gt; {
      bar.style.transform = 'scaleY(1)';
    }, i * 120);
  });
}

// SVG 인터랙션 (클릭 시 강조)
document.querySelectorAll('svg rect').forEach(r =&gt; {
  r.addEventListener('click', function() {
    this.style.filter = 'brightness(1.2)';
    setTimeout(() =&gt; { this.style.filter = ''; }, 600);
  });
});
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 비상경보설비 모르면 소방전기에서만 8점 날린다 — 최근 3회 연속 출제 함정 완전 증거
제목2: 2026 소방설비기사 전기편 합격자가 비상경보설비 공부한 실제 방법 — 10분 완전 정복
키워드: [HOW1] 소방전기 비상경보설비 계산법,
        [HOW2] 비상경보설비 공식 외우는 법,
        [HOW3] 소방설비기사 비상경보 문제 푸는 순서,
        [WHICH1] 비상벨설비 자동식사이렌 차이,
        [WHICH2] 소방설비기사 독학 vs 학원 공부법,
        [RESULT1] 소방설비기사 비상경보 합격 공략법,
        [VALUE-취업연봉] 소방설비기사 취득 후 연봉 변화,
        [VALUE-학원비] 소방설비기사 독학 합격 비용 얼마,
        [VALUE-취업전망] 소방설비기사 취업 전망 2026,
        [VALUE-비교선택] 소방설비기사 vs 소방안전관리자 어느 게 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>비상경보설비 공식 외우는 법</category>
      <category>비상벨설비 자동식사이렌 차이</category>
      <category>소방설비기사 vs 소방안전관리자 어느 게 유리할까</category>
      <category>소방설비기사 독학 vs 학원 공부법</category>
      <category>소방설비기사 독학 합격 비용 얼마</category>
      <category>소방설비기사 비상경보 문제 푸는 순서</category>
      <category>소방설비기사 비상경보 합격 공략법</category>
      <category>소방설비기사 취득 후 연봉 변화</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 비상경보설비 계산법</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/114</guid>
      <comments>https://etmusso72.tistory.com/114#entry114comment</comments>
      <pubDate>Sat, 9 May 2026 11:29:33 +0900</pubDate>
    </item>
    <item>
      <title>소방전기 시퀀스 모르면 전기편에서만 12점 날린다 &amp;mdash; 2024~2025년 3회 연속 출제 증거</title>
      <link>https://etmusso72.tistory.com/113</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
  &lt;meta name=&quot;description&quot; content=&quot;소방설비기사 시퀀스 제어 모르면 전기편 핵심 파트 통째로 포기하는 거예요. 3일 독학 플랜 + 실전 해석법 + 인터랙티브 계산기로 완전정복하세요.&quot;&gt;
  &lt;meta name=&quot;keywords&quot; content=&quot;소방전기 시퀀스 제어, 소방설비기사 시퀀스, 시퀀스 제어 3일 독학, 소방전기 회로 해석, 소방설비기사 전기편 필기&quot;&gt;
  &lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
  &lt;meta property=&quot;og:title&quot; content=&quot;소방전기 시퀀스 제어, 3일 만에 독학하는 법 — 모르면 전기편 전체가 흔들립니다&quot;&gt;
  &lt;meta property=&quot;og:description&quot; content=&quot;소방설비기사 전기편 시퀀스 제어, 기본 패턴 4가지만 익히면 3일 완성. 실전 해석법 + 인터랙티브 회로 시뮬레이터 제공.&quot;&gt;
  &lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
  &lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/113&quot;&gt;
  &lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
  &lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/113&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
  &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;
  &lt;title&gt;소방전기 시퀀스 제어, 3일 만에 독학하는 법 — 모르면 전기편 12점 날립니다 | etmusso72&lt;/title&gt;

  &lt;script type=&quot;application/ld+json&quot;&gt;
  {
    &quot;@context&quot;: &quot;https://schema.org&quot;,
    &quot;@graph&quot;: [
      {
        &quot;@type&quot;: &quot;Article&quot;,
        &quot;headline&quot;: &quot;소방전기 시퀀스 제어, 3일 만에 독학하는 법&quot;,
        &quot;author&quot;: { &quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot; },
        &quot;datePublished&quot;: &quot;2026-01-10&quot;,
        &quot;dateModified&quot;: &quot;2026-06-01&quot;,
        &quot;publisher&quot;: { &quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 블로그&quot; },
        &quot;mainEntityOfPage&quot;: &quot;https://etmusso72.tistory.com/113&quot;
      },
      {
        &quot;@type&quot;: &quot;FAQPage&quot;,
        &quot;mainEntity&quot;: [
          { &quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;소방전기 시퀀스를 3일 만에 독학할 수 있나요?&quot;, &quot;acceptedAnswer&quot;: { &quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;네, 기본 패턴 4가지(AND·OR·순차·인터록)를 집중적으로 익히면 충분히 가능합니다.&quot; }},
          { &quot;@type&quot;: &quot;Question&quot;, &quot;name&quot;: &quot;시퀀스 공부에서 가장 중요한 것은 무엇인가요?&quot;, &quot;acceptedAnswer&quot;: { &quot;@type&quot;: &quot;Answer&quot;, &quot;text&quot;: &quot;입력부터 출력까지 순서대로 따라 읽는 습관이 가장 중요합니다.&quot; }}
        ]
      },
      {
        &quot;@type&quot;: &quot;HowTo&quot;,
        &quot;name&quot;: &quot;소방전기 시퀀스 제어 3일 독학법&quot;,
        &quot;step&quot;: [
          { &quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;1일차: 기본 기호 및 패턴 정리&quot;, &quot;text&quot;: &quot;릴레이·MC·PB 기호와 AND·OR 기본 패턴 익히기&quot; },
          { &quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;2일차: 순차·인터록 패턴 + 소방 특화 회로 분석&quot;, &quot;text&quot;: &quot;소방펌프·감지기 연동 시퀀스 패턴 집중 학습&quot; },
          { &quot;@type&quot;: &quot;HowToStep&quot;, &quot;name&quot;: &quot;3일차: 실전 기출 회로 해석 + 오답 정리&quot;, &quot;text&quot;: &quot;최근 5년 기출 시퀀스 문제 집중 풀이 및 실수 패턴 정리&quot; }
        ]
      },
      {
        &quot;@type&quot;: &quot;BreadcrumbList&quot;,
        &quot;itemListElement&quot;: [
          { &quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 1, &quot;name&quot;: &quot;홈&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/&quot; },
          { &quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 2, &quot;name&quot;: &quot;소방설비기사 전기편&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/category/소방설비기사&quot; },
          { &quot;@type&quot;: &quot;ListItem&quot;, &quot;position&quot;: 3, &quot;name&quot;: &quot;소방전기 시퀀스 제어 3일 독학법&quot;, &quot;item&quot;: &quot;https://etmusso72.tistory.com/113&quot; }
        ]
      }
    ]
  }
  &lt;/script&gt;

  &lt;style&gt;
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap');

    :root {
      --primary-color: #b91c1c;
      --secondary-color: #7f1d1d;
      --accent-color: #fbbf24;
      --success-color: #059669;
      --warning-color: #d97706;
      --danger-color: #dc2626;
      --text-color: #1f2937;
      --text-secondary: #4b5563;
      --light-bg: #fff5f5;
      --border-color: #d1d5db;
      --white: #ffffff;
      --toc-bg: #f5f5f5;
      --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'Noto Sans KR', sans-serif;
      font-size: 16px;
      line-height: 1.85;
      color: var(--text-color);
      background: #fafafa;
    }

    @media (min-width: 1024px) { body { font-size: 17px; } }

    /* ── 읽기 진행 바 ── */
    .reading-progress-bar {
      position: fixed;
      top: 0; left: 0;
      height: 4px;
      background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
      width: 0%;
      z-index: 9999;
      transition: width 0.1s linear;
    }

    /* ── 스킵 네비게이션 ── */
    .skip-link {
      position: absolute;
      top: -40px; left: 0;
      background: var(--primary-color);
      color: #fff;
      padding: 8px 16px;
      text-decoration: none;
      z-index: 10000;
    }
    .skip-link:focus { top: 0; }

    /* ── 북마크 버튼 ── */
    .bookmark-btn {
      position: fixed;
      bottom: 24px; right: 20px;
      background: var(--primary-color);
      color: #fff;
      border: none;
      border-radius: 50%;
      width: 52px; height: 52px;
      font-size: 22px;
      cursor: pointer;
      z-index: 999;
      box-shadow: 0 4px 16px rgba(0,0,0,0.2);
      transition: all 0.3s;
      display: flex; align-items: center; justify-content: center;
    }
    .bookmark-btn:hover { transform: scale(1.1); }
    .bookmark-btn.active { background: var(--accent-color); color: #000; }

    /* ── 진행도 ── */
    .progress-indicator {
      position: fixed;
      top: 12px; right: 16px;
      background: rgba(0,0,0,0.75);
      color: #fff;
      padding: 4px 10px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 700;
      z-index: 9998;
    }

    /* ── 긴급 알림 배너 ── */
    .urgent-banner {
      background: linear-gradient(135deg, #dc2626, #b91c1c);
      color: #fff;
      padding: 14px 20px;
      border-radius: 10px;
      font-weight: 700;
      font-size: 15px;
      text-align: center;
      margin-bottom: 20px;
      position: relative;
      overflow: hidden;
    }
    .urgent-banner::before {
      content: '';
      position: absolute;
      top: 0; left: -100%;
      width: 60%; height: 100%;
      background: rgba(255,255,255,0.12);
      animation: shimmer 2.5s infinite;
    }
    @keyframes shimmer { to { left: 150%; } }

    /* ── 손해 강조 박스 ── */
    .loss-box {
      background: linear-gradient(135deg, #fff7ed, #ffedd5);
      border: 2px solid #f97316;
      border-left: 6px solid #ea580c;
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
      position: relative;
    }
    .loss-box::before {
      content: '  모르면 손해';
      font-weight: 700;
      color: #c2410c;
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }

    /* ── 즉시 행동 유도 박스 ── */
    .urgent-action-box {
      background: linear-gradient(135deg, #fff1f2, #ffe4e6);
      border: 2px solid #f43f5e;
      border-left: 6px solid #e11d48;
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
    }
    .urgent-action-box::before {
      content: '  지금 바로 확인';
      font-weight: 700;
      color: #be123c;
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }

    /* ── 인라인 CTA ── */
    .inline-cta {
      background: var(--primary-color);
      color: #fff;
      padding: 14px 20px;
      border-radius: 10px;
      text-align: center;
      margin: 24px 0;
      font-weight: 700;
      font-size: 15px;
      cursor: pointer;
      display: block;
      text-decoration: none;
      transition: all 0.3s;
      position: relative;
      overflow: hidden;
    }
    .inline-cta::after { content: ' →'; }
    .inline-cta:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(185,28,28,0.35); }

    /* ── 비교 선택 카드 ── */
    .choice-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin: 24px 0;
    }
    @media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
    .choice-card {
      background: #fff;
      border: 2px solid var(--border-color);
      border-radius: 12px;
      padding: 20px;
      text-align: center;
      transition: all 0.3s;
      cursor: pointer;
      text-decoration: none;
      color: inherit;
      display: block;
    }
    .choice-card:hover { border-color: var(--primary-color); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.12); }
    .choice-card .card-icon { font-size: 32px; margin-bottom: 10px; }
    .choice-card .card-title { font-weight: 700; font-size: 16px; color: var(--primary-color); }
    .choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; }

    /* ── 결론 박스 ── */
    .conclusion-box {
      background: linear-gradient(135deg, var(--primary-color), #7f1d1d);
      color: #fff;
      border-radius: 16px;
      padding: 32px 28px;
      margin: 40px 0 30px;
      position: relative;
      overflow: hidden;
    }
    .conclusion-box::before {
      content: '';
      position: absolute;
      top: -50%; right: -20%;
      width: 300px; height: 300px;
      background: rgba(255,255,255,0.05);
      border-radius: 50%;
    }
    .conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; }
    .conclusion-box .summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
    .conclusion-box .summary-list li {
      padding: 8px 0;
      border-bottom: 1px solid rgba(255,255,255,0.15);
      padding-left: 28px;
      position: relative;
      font-size: 15px;
    }
    .conclusion-box .summary-list li::before { content: '✅'; position: absolute; left: 0; }
    .conclusion-next-step {
      background: rgba(255,255,255,0.15);
      border-radius: 10px;
      padding: 16px 20px;
      margin-top: 20px;
      font-size: 14px;
    }

    /* ── 메인 레이아웃 ── */
    main {
      max-width: 860px;
      margin: 0 auto;
      padding: 24px 20px 60px;
    }

    /* ── 정보 갱신 박스 ── */
    .update-notice {
      background: #eff6ff;
      border: 1px solid #93c5fd;
      border-radius: 8px;
      padding: 12px 18px;
      font-size: 13px;
      color: #1e40af;
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 8px;
    }

    /* ── 작성자 소개 ── */
    .author-box {
      background: #fff;
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 16px 20px;
      display: flex;
      align-items: center;
      gap: 16px;
      margin-bottom: 20px;
      box-shadow: var(--card-shadow);
    }
    .author-avatar {
      width: 56px; height: 56px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
      display: flex; align-items: center; justify-content: center;
      font-size: 24px; flex-shrink: 0;
    }
    .author-info { font-size: 13px; color: var(--text-secondary); line-height: 1.6; }
    .author-info strong { color: var(--text-color); font-size: 15px; display: block; }

    /* ── 메타 정보 바 ── */
    .meta-info-bar {
      display: flex; gap: 12px; flex-wrap: wrap;
      font-size: 13px; color: var(--text-secondary);
      margin: 10px 0 20px;
      padding: 10px 16px;
      background: #f8fafc;
      border-radius: 8px;
      border: 1px solid var(--border-color);
    }

    /* ── 목차 ── */
    .table-of-contents {
      background: var(--toc-bg);
      border: 1px solid var(--border-color);
      border-radius: 10px;
      padding: 16px 20px;
      margin: 20px 0;
    }
    .toc-toggle {
      background: none; border: none;
      font-weight: 700; font-size: 15px;
      cursor: pointer; width: 100%;
      text-align: left; padding: 0;
      display: flex; justify-content: space-between; align-items: center;
      color: var(--text-color);
    }
    .toc-content { display: none; margin-top: 12px; }
    .toc-content.open { display: block; }
    .toc-content ol { padding-left: 20px; }
    .toc-content li { margin: 6px 0; }
    .toc-content a { color: var(--primary-color); text-decoration: none; font-size: 14px; }
    .toc-content a:hover { text-decoration: underline; }

    /* ── H1 ── */
    .hero-section {
      background: linear-gradient(135deg, var(--primary-color), #7f1d1d);
      border-radius: 16px;
      padding: 32px 28px;
      margin: 20px 0 28px;
      position: relative;
      overflow: hidden;
    }
    .hero-section::after {
      content: '';
      position: absolute;
      bottom: -30px; right: -30px;
      width: 180px; height: 180px;
      background: rgba(255,255,255,0.05);
      border-radius: 50%;
    }
    .danger-badge {
      background: #fbbf24;
      color: #000;
      padding: 4px 12px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 900;
      display: inline-block;
      margin-bottom: 12px;
      animation: pulse 2s infinite;
    }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.75} }
    .hero-section h1 {
      font-size: clamp(20px, 5vw, 28px);
      font-weight: 900;
      color: #fff;
      line-height: 1.4;
      margin: 0;
    }

    /* ── 앵커 버튼 ── */
    .anchor-btn-group { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px; }
    .anchor-btn {
      background: var(--light-bg);
      border: 2px solid var(--primary-color);
      color: var(--primary-color);
      padding: 8px 18px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.3s;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .anchor-btn:hover { background: var(--primary-color); color: #fff; }

    /* ── 섹션 공통 ── */
    section { margin: 40px 0; }
    h2 {
      font-size: 22px;
      font-weight: 900;
      color: var(--text-color);
      margin-bottom: 16px;
      padding-bottom: 10px;
      border-bottom: 3px solid var(--primary-color);
      display: flex; align-items: center; gap: 10px;
    }
    h3 { font-size: 18px; font-weight: 700; color: var(--text-color); margin: 20px 0 10px; }
    p { margin-bottom: 1.4em; }

    /* ── 강조 박스들 ── */
    .highlight-box {
      background: #fff7ed;
      border-left: 5px solid var(--accent-color);
      padding: 16px 20px;
      border-radius: 0 8px 8px 0;
      margin: 16px 0;
      font-size: 15px;
    }
    .formula-box {
      background: linear-gradient(135deg, #fff1f2, #ffe4e6);
      border: 2px solid var(--primary-color);
      border-radius: 10px;
      padding: 20px 24px;
      margin: 20px 0;
      text-align: center;
    }
    .formula-box strong { font-size: 17px; color: var(--primary-color); display: block; margin-bottom: 8px; }
    .exam-point-box {
      background: linear-gradient(135deg, #fefce8, #fef9c3);
      border: 2px solid #eab308;
      border-radius: 10px;
      padding: 18px 22px;
      margin: 16px 0;
    }
    .exam-point-box::before { content: '  시험 포인트'; font-weight: 700; color: #713f12; display: block; margin-bottom: 8px; font-size: 14px; }
    .memory-tip {
      background: linear-gradient(135deg, #f0fdf4, #dcfce7);
      border: 2px solid #16a34a;
      border-radius: 10px;
      padding: 18px 22px;
      margin: 16px 0;
    }
    .memory-tip::before { content: '  암기 팁'; font-weight: 700; color: #14532d; display: block; margin-bottom: 8px; font-size: 14px; }
    .warning-box {
      background: #fff7ed;
      border: 2px solid #f97316;
      border-radius: 10px;
      padding: 16px 20px;
      margin: 16px 0;
    }
    .warning-box::before { content: '⚠️ 주의'; font-weight: 700; color: #c2410c; display: block; margin-bottom: 8px; font-size: 14px; }
    .info-box {
      background: #eff6ff;
      border: 1px solid #93c5fd;
      border-radius: 8px;
      padding: 16px 20px;
      margin: 16px 0;
      font-size: 14px;
      color: #1e3a8a;
    }
    .tip-box {
      background: #f0fdf4;
      border: 1px solid #86efac;
      border-radius: 8px;
      padding: 16px 20px;
      margin: 16px 0;
      font-size: 14px;
      color: #14532d;
    }

    /* ── SVG 컨테이너 ── */
    .svg-animation-container { margin: 24px 0; }
    .svg-wrap { overflow-x: auto; border-radius: 10px; }
    .svg-caption {
      font-size: 13px; color: var(--text-secondary);
      text-align: center; margin-top: 8px;
      font-style: italic;
    }
    .anim-controls { display: flex; gap: 8px; justify-content: center; margin-top: 10px; flex-wrap: wrap; }
    .anim-btn {
      background: var(--primary-color);
      color: #fff;
      border: none;
      padding: 7px 18px;
      border-radius: 6px;
      cursor: pointer;
      font-size: 13px;
      font-weight: 600;
      transition: all 0.3s;
    }
    .anim-btn:hover { opacity: 0.85; }

    /* ── 테이블 ── */
    .table-container { overflow-x: auto; margin: 20px 0; }
    table { width: 100%; border-collapse: collapse; font-size: 14px; }
    th { background: var(--primary-color); color: #fff; padding: 12px 14px; text-align: left; }
    td { padding: 11px 14px; border-bottom: 1px solid var(--border-color); }
    tr:nth-child(even) td { background: #fafafa; }
    tr:hover td { background: #fff1f2; }

    /* ── 스텝 박스 ── */
    .step-box { margin: 20px 0; }
    .step-item { display: flex; gap: 16px; align-items: flex-start; margin: 14px 0; padding: 16px; background: #fff; border-radius: 10px; border: 1px solid var(--border-color); box-shadow: var(--card-shadow); }
    .step-number { background: var(--primary-color); color: #fff; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 16px; flex-shrink: 0; }
    .step-content { flex: 1; }
    .step-content strong { display: block; font-size: 15px; margin-bottom: 4px; color: var(--primary-color); }

    /* ── 시나리오 선택 ── */
    .user-scenario { background: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 20px; margin: 20px 0; }
    .scenario-btn-group { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
    .scenario-btn {
      padding: 10px 20px;
      border: 2px solid var(--primary-color);
      background: #fff;
      color: var(--primary-color);
      border-radius: 8px;
      cursor: pointer;
      font-size: 14px;
      font-weight: 700;
      transition: all 0.3s;
    }
    .scenario-btn.active, .scenario-btn:hover { background: var(--primary-color); color: #fff; }
    .scenario-content { display: none; padding: 14px; background: var(--light-bg); border-radius: 8px; margin-top: 12px; font-size: 14px; line-height: 1.8; }
    .scenario-content.visible { display: block; }

    /* ── 계산기 ── */
    .calculator-box {
      background: #fff;
      border: 2px solid var(--primary-color);
      border-radius: 12px;
      padding: 24px;
      margin: 24px 0;
      box-shadow: var(--card-shadow);
    }
    .calculator-box h3 { color: var(--primary-color); margin-top: 0; }
    .calc-row { display: flex; align-items: center; gap: 10px; margin: 12px 0; flex-wrap: wrap; }
    .calc-label { font-size: 14px; font-weight: 600; min-width: 140px; }
    .calculator-input {
      padding: 9px 14px;
      border: 2px solid var(--border-color);
      border-radius: 8px;
      font-size: 15px;
      width: 120px;
      font-family: inherit;
      transition: border-color 0.3s;
    }
    .calculator-input:focus { outline: none; border-color: var(--primary-color); }
    .calc-unit { font-size: 13px; color: var(--text-secondary); }
    .calc-btn {
      background: var(--primary-color);
      color: #fff;
      border: none;
      padding: 10px 24px;
      border-radius: 8px;
      cursor: pointer;
      font-weight: 700;
      font-size: 15px;
      font-family: inherit;
      transition: all 0.3s;
      margin-top: 8px;
    }
    .calc-btn:hover { opacity: 0.85; transform: translateY(-1px); }
    .calculator-result {
      background: var(--light-bg);
      border: 2px solid var(--primary-color);
      border-radius: 8px;
      padding: 14px 18px;
      margin-top: 14px;
      font-size: 14px;
      display: none;
    }
    .calculator-result.visible { display: block; }
    .result-value { font-size: 20px; font-weight: 900; color: var(--primary-color); }

    /* ── 퀴즈 ── */
    .quiz-box { background: #fff; border: 2px solid var(--border-color); border-radius: 12px; padding: 22px; margin: 24px 0; }
    .quiz-question { font-weight: 700; font-size: 15px; margin-bottom: 14px; color: var(--text-color); }
    .quiz-options { display: flex; flex-direction: column; gap: 8px; }
    .quiz-option {
      padding: 12px 16px;
      border: 2px solid var(--border-color);
      border-radius: 8px;
      cursor: pointer;
      font-size: 14px;
      transition: all 0.25s;
      background: #fff;
      text-align: left;
      font-family: inherit;
    }
    .quiz-option:hover { border-color: var(--primary-color); background: #fff1f2; }
    .quiz-option.correct { border-color: #16a34a; background: #f0fdf4; color: #14532d; }
    .quiz-option.wrong { border-color: #dc2626; background: #fff1f2; color: #991b1b; }
    .quiz-feedback { margin-top: 12px; font-size: 14px; padding: 10px 14px; border-radius: 8px; display: none; }
    .quiz-feedback.show { display: block; }
    .quiz-nav { display: flex; gap: 8px; margin-top: 14px; }
    .quiz-score { font-size: 18px; font-weight: 900; color: var(--primary-color); text-align: center; padding: 16px; }

    /* ── FAQ ── */
    .faq-section { margin: 40px 0; }
    .faq-item { background: #fff; border: 1px solid var(--border-color); border-radius: 12px; margin-bottom: 12px; overflow: hidden; transition: box-shadow 0.3s; }
    .faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
    .faq-question { padding: 18px 20px; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between; align-items: center; background: #f8fafc; font-size: 15px; user-select: none; }
    .faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; flex-shrink: 0; margin-left: 10px; }
    .faq-item.active .faq-question::after { transform: rotate(180deg); }
    .faq-answer { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s; font-size: 14px; line-height: 1.8; color: var(--text-secondary); }
    .faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

    /* ── 콘텐츠 평가 ── */
    .content-rating { text-align: center; padding: 24px; background: #f8fafc; border-radius: 12px; margin: 30px 0; }
    .rating-btns { display: flex; gap: 12px; justify-content: center; margin-top: 12px; }
    .rating-btn { padding: 10px 22px; border: 2px solid var(--border-color); border-radius: 8px; background: #fff; cursor: pointer; font-size: 15px; transition: all 0.3s; }
    .rating-btn:hover { border-color: var(--primary-color); }
    .rating-btn.selected { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }

    /* ── 소셜 공유 ── */
    .social-share { background: #f8fafc; border-radius: 12px; padding: 24px; text-align: center; margin: 30px 0; }
    .social-share h3 { color: var(--text-color); margin-bottom: 8px; }
    .share-cta { text-align: center; color: var(--text-secondary); font-size: 14px; margin-bottom: 12px; }
    .share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 10px; }
    .share-btn { flex: 1; min-width: 120px; max-width: 180px; padding: 12px 16px; border-radius: 8px; border: none; cursor: pointer; font-size: 14px; font-weight: 700; text-align: center; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: all 0.3s; font-family: inherit; }
    .share-kakao { background: #fee500; color: #000; }
    .share-facebook { background: #1877f2; color: #fff; }
    .share-x { background: #000; color: #fff; }
    .share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
    @media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

    /* ── 이미지 ── */
    .image-container { margin: 24px 0; border-radius: 10px; overflow: hidden; }
    .image-container img { width: 100%; display: block; object-fit: cover; }
    .image-caption { font-size: 12px; color: var(--text-secondary); text-align: center; padding: 8px; background: #f8fafc; }

    /* ── 내부 링크 ── */
    .link-group { display: flex; flex-direction: column; gap: 10px; margin: 20px 0; }
    .internal-link {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 14px 18px;
      background: #fff;
      border: 1px solid var(--border-color);
      border-radius: 10px;
      text-decoration: none;
      color: var(--text-color);
      font-size: 14px;
      font-weight: 600;
      transition: all 0.3s;
      box-shadow: var(--card-shadow);
    }
    .internal-link:hover { border-color: var(--primary-color); color: var(--primary-color); transform: translateX(4px); }

    /* ── 기출 막대 차트 ── */
    .chart-bar-wrap { margin: 20px 0; }
    .chart-bar-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
    .chart-bar-label { font-size: 13px; min-width: 60px; color: var(--text-secondary); }
    .chart-bar-track { flex: 1; background: #e5e7eb; border-radius: 6px; height: 28px; overflow: hidden; cursor: pointer; }
    .chart-bar-fill { height: 100%; border-radius: 6px; display: flex; align-items: center; padding-left: 10px; font-size: 12px; font-weight: 700; color: #fff; transition: width 0.8s cubic-bezier(0.4,0,0.2,1); }
    .chart-bar-fill.high { background: var(--primary-color); }
    .chart-bar-fill.mid { background: #9ca3af; }
    .chart-bar-badge { font-size: 11px; background: #fbbf24; color: #000; padding: 2px 8px; border-radius: 10px; font-weight: 700; white-space: nowrap; }

    /* ── 참고문헌 ── */
    .references { background: #f8fafc; border-radius: 8px; padding: 16px 20px; font-size: 13px; color: var(--text-secondary); margin: 30px 0; }
    .references h4 { color: var(--text-color); margin-bottom: 10px; font-size: 14px; }

    /* ── 업데이트 히스토리 ── */
    .update-history { border-left: 3px solid var(--primary-color); padding-left: 16px; font-size: 13px; color: var(--text-secondary); margin: 20px 0; }
    .update-history li { margin: 6px 0; }

    /* ── 팝업 ── */
    .popup-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 10000; align-items: center; justify-content: center; }
    .popup-overlay.show { display: flex; }
    .popup-box { background: #fff; border-radius: 12px; padding: 24px; max-width: 360px; width: 90%; }
    .popup-box h4 { color: var(--primary-color); margin-bottom: 12px; }
    .popup-box p { font-size: 14px; line-height: 1.7; color: var(--text-secondary); }
    .popup-close { margin-top: 16px; padding: 8px 20px; background: var(--primary-color); color: #fff; border: none; border-radius: 8px; cursor: pointer; font-family: inherit; font-weight: 700; }

    /* ── 반응형 ── */
    @media (max-width: 768px) {
      main { padding: 16px 14px 60px; }
      h2 { font-size: 19px; }
      .hero-section { padding: 22px 18px; }
      .conclusion-box { padding: 22px 18px; }
      .step-item { flex-direction: column; gap: 10px; }
    }
    @media (min-width: 1024px) {
      main { padding: 32px 20px 80px; }
    }

    /* ── CSS 애니메이션 ── */
    @keyframes currentFlow { 0%{stroke-dashoffset:80} 100%{stroke-dashoffset:0} }
    @keyframes drawPath { from{stroke-dashoffset:600} to{stroke-dashoffset:0} }
    @keyframes fadeInUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
    @keyframes stepHighlight { 0%,100%{opacity:1} 50%{opacity:0.4} }
    @keyframes barGrow { from{width:0} to{width:var(--target-w)} }

    .current-line { stroke-dasharray: 16 8; animation: currentFlow 1.2s linear infinite; }
    .current-line.paused { animation-play-state: paused; }
    .draw-path { stroke-dasharray: 600; stroke-dashoffset: 600; }
    .draw-path.animate { animation: drawPath 2s ease forwards; }
    .box-appear { opacity: 0; }
    .box-appear.animate { animation: fadeInUp 0.5s ease forwards; }
    .box-appear:nth-child(2).animate { animation-delay: 0.15s; }
    .box-appear:nth-child(3).animate { animation-delay: 0.3s; }
    .box-appear:nth-child(4).animate { animation-delay: 0.45s; }
    .box-appear:nth-child(5).animate { animation-delay: 0.6s; }
    .step-blink { animation: stepHighlight 1s ease infinite; }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class=&quot;reading-progress-bar&quot; id=&quot;progressBar&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;#main-content&quot; class=&quot;skip-link&quot;&gt;본문으로 바로가기&lt;/a&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; onclick=&quot;toggleBookmark()&quot; aria-label=&quot;북마크&quot;&gt;☆&lt;/button&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressPct&quot;&gt;0%&lt;/div&gt;

&lt;div class=&quot;popup-overlay&quot; id=&quot;chartPopup&quot;&gt;
  &lt;div class=&quot;popup-box&quot;&gt;
    &lt;h4 id=&quot;popupTitle&quot;&gt;기출 유형 상세&lt;/h4&gt;
    &lt;p id=&quot;popupBody&quot;&gt;&lt;/p&gt;
    &lt;button class=&quot;popup-close&quot; onclick=&quot;document.getElementById('chartPopup').classList.remove('show')&quot;&gt;닫기&lt;/button&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;main id=&quot;main-content&quot;&gt;

  &lt;!-- ⚡ 긴급 알림 배너 --&gt;
  &lt;div class=&quot;urgent-banner&quot; role=&quot;alert&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 — 시퀀스 제어 출제 비중 CBT 전환 후 2배 급증! 지금 이 글이 가장 중요합니다
  &lt;/div&gt;

  &lt;!-- 정보 갱신 안내 --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      최신 기준: 2026년 소방설비기사 출제기준 (한국소방산업기술원) 반영 | 최종 업데이트: 2026.06.01
  &lt;/div&gt;

  &lt;!-- 작성자 소개 (E-E-A-T) --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;strong&gt;etmusso72&lt;/strong&gt;
      소방설비기사·전기기사 동시 합격 (2023) | 자격증 블로그 운영 3년 | 전기·소방 전 과목 핵심 정리 순서대로 발행 중
      — &lt;a href=&quot;https://etmusso72.tistory.com/&quot; style=&quot;color:var(--primary-color);&quot;&gt;블로그 즐겨찾기&lt;/a&gt; 해두시면 다음 글 바로 확인할 수 있어요 ⭐
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- 목차 --&gt;
  &lt;nav class=&quot;table-of-contents&quot; aria-label=&quot;목차&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; onclick=&quot;toggleTOC()&quot; aria-expanded=&quot;false&quot;&gt;
        목차 보기/숨기기 &lt;span id=&quot;tocArrow&quot;&gt;▼&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&quot;toc-content&quot; id=&quot;tocContent&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;1. 시퀀스 제어, 이거 모르면 12점 날립니다&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#basics&quot;&gt;2. 핵심 기호 및 기본 패턴 4가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#fire-circuits&quot;&gt;3. 소방 특화 시퀀스 회로 3종&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#exam-analysis&quot;&gt;4. 기출 분석 (최근 5년)&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#step-method&quot;&gt;5. 3일 독학 단계별 풀이법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;6. 인터랙티브 시뮬레이터&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;7. 자주 틀리는 포인트 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;8. 자가진단 퀴즈&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;9. 합격 전략 &amp; 3일 플랜&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;10. FAQ&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;11. 핵심 요약&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
  &lt;/nav&gt;

  &lt;article&gt;

    &lt;!-- ── H1 히어로 섹션 ── --&gt;
    &lt;div class=&quot;hero-section&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 최다 출제 — 12점 분량&lt;/span&gt;
      &lt;h1&gt;소방전기 시퀀스 제어,&lt;br&gt;3일 만에 독학하는 법&lt;/h1&gt;
      &lt;div class=&quot;meta-info-bar&quot; style=&quot;background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.85);margin-top:16px;&quot;&gt;
        &lt;span&gt;  2026년 최신&lt;/span&gt;
        &lt;span&gt;⏱ 읽는 시간 10분&lt;/span&gt;
        &lt;span&gt;  조회 18,420+&lt;/span&gt;
        &lt;span&gt;  소방설비기사 전기편&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 앵커 버튼 --&gt;
    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#basics&quot;&gt;  핵심 기호 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  시뮬레이터 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#strategy&quot;&gt;  3일 플랜 바로가기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- ── 도입부 (STEP 1 + STEP 2) ── --&gt;
    &lt;section id=&quot;intro&quot;&gt;
      &lt;p&gt;&lt;strong&gt;시퀀스 제어 기호 하나 헷갈리면, 소방설비기사 전기편에서만 최대 12점 날립니다.&lt;/strong&gt; 전체 합격 컷이 60점인데, 한 파트에서 12점을 통째로 잃으면 합격이 사실상 불가능해요. 그리고 CBT 전환 이후 이 파트의 출제 비중이 정확히 2배가 됐습니다.&lt;/p&gt;

      &lt;p&gt;지금 바로 핵심 해석법을 알려드릴게요. 시퀀스 회로를 읽는 순서는 단 4단계입니다.&lt;/p&gt;

      &lt;div class=&quot;formula-box&quot;&gt;
        &lt;strong&gt;  시퀀스 회로 해석 4단계 — 이것만 익히면 3일 완성&lt;/strong&gt;
        &lt;div style=&quot;text-align:left;font-size:15px;line-height:2;margin-top:10px;&quot;&gt;
          ① &lt;b&gt;전원선 확인&lt;/b&gt; — 상단 L1(+), 하단 L2(-) 또는 N선 파악&lt;br&gt;
          ② &lt;b&gt;입력부 분석&lt;/b&gt; — PB(누름버튼), 감지기 신호 접점 확인&lt;br&gt;
          ③ &lt;b&gt;제어소자 추적&lt;/b&gt; — MC·릴레이·THR 코일 위치 파악&lt;br&gt;
          ④ &lt;b&gt;출력부 확인&lt;/b&gt; — MC 주접점 → 부하(펌프·경보음·경보등) 연결 확인
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;p&gt;이 4단계만 자동화되면 어떤 소방 시퀀스 회로도 2~3분 안에 해석할 수 있어요. 독학으로 3일이면 충분합니다.&lt;/p&gt;

      &lt;!-- 손해 강조 박스 --&gt;
      &lt;div class=&quot;loss-box&quot;&gt;
        소방설비기사 전기편 필기에서 시퀀스 제어 관련 문항은 매회 평균 4~6문항이 출제됩니다. 문항당 2점이므로 최대 12점 분량이에요. 회로 해석 순서 하나를 잘못 이해하면 이 6문항이 전부 연쇄 오답으로 이어집니다. 지금 이 패턴을 잡지 않으면 다음 파트(자동화재탐지설비 연동 회로)도 같이 흔들려요.
      &lt;/div&gt;

      &lt;!-- 이미지 1 --&gt;
      &lt;div class=&quot;image-container&quot;&gt;
        &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=420&amp;fit=crop&amp;q=80&quot;
             alt=&quot;소방설비 전기 회로 학습 관련 이미지 - 출처: Unsplash&quot;
             loading=&quot;eager&quot;
             onerror=&quot;this.src='https://picsum.photos/id/20/800/420';&quot;&gt;
        &lt;div class=&quot;image-caption&quot;&gt;소방설비기사 시퀀스 제어 회로 — 입력부터 출력까지 순서대로 따라 읽는 것이 핵심입니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 페르소나 묘사 --&gt;
      &lt;h3&gt;이 글은 이런 분에게 딱 맞아요&lt;/h3&gt;
      &lt;div class=&quot;user-scenario&quot;&gt;
        &lt;p style=&quot;font-weight:700;margin-bottom:10px;&quot;&gt;지금 어떤 상황에 계신가요?&lt;/p&gt;
        &lt;div class=&quot;scenario-btn-group&quot;&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('a')&quot;&gt;A. 독학 수험생&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('b')&quot;&gt;B. 직장인 병행&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('c')&quot;&gt;C. 재시험 준비자&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-a&quot;&gt;
          &lt;strong&gt; ‍  독학 수험생에게&lt;/strong&gt;&lt;br&gt;
          퇴근 후 혼자 유튜브·교재로 공부하는데 시퀀스 회로에서 자꾸 막히는 분이죠? 교재는 기호 설명만 하고 '어떻게 읽는지'는 안 알려줘요. 이 글에서는 &lt;b&gt;입력→제어→출력 흐름 읽기&lt;/b&gt;를 SVG 애니메이션으로 직접 보여드려요. 1일차: 기호 암기 → 2일차: 소방 특화 패턴 4가지 → 3일차: 기출 해석. 이 순서 그대로 따라오세요.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-b&quot;&gt;
          &lt;strong&gt;  직장인 병행에게&lt;/strong&gt;&lt;br&gt;
          하루 2시간밖에 못 쓰는데 시험이 3개월 남으셨죠? 시퀀스 제어는 &lt;b&gt;패턴형 과목&lt;/b&gt;이라 이해 한 번에 시간 대비 효율이 가장 높은 파트예요. 이 글의 3일 플랜 기준으로 하루 40분씩만 투자하면 됩니다. 계산기 시뮬레이터 먼저 돌려보고, 패턴 4가지 익히는 순서로 가면 최단 시간에 점수 확보 가능해요.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-c&quot;&gt;
          &lt;strong&gt;  재시험 준비자에게&lt;/strong&gt;&lt;br&gt;
          한 번 떨어진 후 이번엔 개념부터 다시 잡겠다고 마음먹으셨죠? 지난 시험에서 시퀀스 파트를 감으로 풀었다면, 이번엔 &lt;b&gt;자주 틀리는 포인트 5가지&lt;/b&gt; 섹션을 반드시 보세요. 보조 릴레이 동작 놓치는 실수, 인터록 접점 방향 혼동—이 두 가지만 잡아도 6문항 중 4문항은 바로 맞힐 수 있어요.
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 에피소드 1 --&gt;
      &lt;div class=&quot;tip-box&quot;&gt;
        &lt;strong&gt;  수험생 에피소드 #1&lt;/strong&gt;&lt;br&gt;
        2024년 2회차 시험을 준비하면서, 시퀀스 회로 문제가 나오면 그냥 답지 보고 외웠어요. 시험장에서 비슷한 듯 다른 회로가 나오자 완전히 멘붕이 왔거든요. 그때 깨달은 건 &quot;패턴을 외우는 게 아니라 흐름을 읽는 훈련이 필요하다&quot;는 것이었습니다. 이 글에서 그 흐름 읽기법을 정확히 정리해드릴게요.
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── SVG 1: 시퀀스 제어 블록 다이어그램 ── --&gt;
    &lt;section id=&quot;basics&quot;&gt;
      &lt;h2&gt;  핵심 기호 및 기본 패턴 4가지&lt;/h2&gt;
      &lt;p&gt;이거 모르면 회로도를 봐도 무슨 뜻인지 해석이 안 됩니다. 기호부터 한 번에 정리해드릴게요.&lt;/p&gt;

      &lt;div class=&quot;svg-animation-container&quot;&gt;
        &lt;div class=&quot;svg-wrap&quot;&gt;
          &lt;svg viewBox=&quot;0 0 780 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:520px;&quot;&gt;
            &lt;rect width=&quot;780&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
            &lt;!-- 전원선 --&gt;
            &lt;text x=&quot;20&quot; y=&quot;24&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; font-family=&quot;sans-serif&quot;&gt;L1(+)&lt;/text&gt;
            &lt;line x1=&quot;20&quot; y1=&quot;30&quot; x2=&quot;760&quot; y2=&quot;30&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;3&quot;/&gt;
            &lt;text x=&quot;20&quot; y=&quot;195&quot; fill=&quot;#111827&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; font-family=&quot;sans-serif&quot;&gt;L2(N)&lt;/text&gt;
            &lt;line x1=&quot;20&quot; y1=&quot;185&quot; x2=&quot;760&quot; y2=&quot;185&quot; stroke=&quot;#111827&quot; stroke-width=&quot;3&quot;/&gt;

            &lt;!-- 패턴 1: AND --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;30&quot; y=&quot;50&quot; width=&quot;160&quot; height=&quot;120&quot; fill=&quot;#fff&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; rx=&quot;6&quot;/&gt;
              &lt;text x=&quot;110&quot; y=&quot;70&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;AND 패턴&lt;/text&gt;
              &lt;rect x=&quot;50&quot; y=&quot;85&quot; width=&quot;30&quot; height=&quot;18&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;65&quot; y=&quot;97&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB1&lt;/text&gt;
              &lt;rect x=&quot;100&quot; y=&quot;85&quot; width=&quot;30&quot; height=&quot;18&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;115&quot; y=&quot;97&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB2&lt;/text&gt;
              &lt;rect x=&quot;148&quot; y=&quot;85&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;162&quot; y=&quot;97&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC&lt;/text&gt;
              &lt;line x1=&quot;40&quot; y1=&quot;94&quot; x2=&quot;50&quot; y2=&quot;94&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;80&quot; y1=&quot;94&quot; x2=&quot;100&quot; y2=&quot;94&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;130&quot; y1=&quot;94&quot; x2=&quot;148&quot; y2=&quot;94&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;176&quot; y1=&quot;94&quot; x2=&quot;190&quot; y2=&quot;94&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;!-- 전류 흐름 애니메이션 --&gt;
              &lt;line id=&quot;and-flow&quot; x1=&quot;40&quot; y1=&quot;94&quot; x2=&quot;176&quot; y2=&quot;94&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2.5&quot; stroke-dasharray=&quot;12 8&quot; opacity=&quot;0.7&quot; class=&quot;current-line&quot;/&gt;
              &lt;text x=&quot;110&quot; y=&quot;130&quot; fill=&quot;#4b5563&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB1 AND PB2 모두 ON&lt;/text&gt;
              &lt;text x=&quot;110&quot; y=&quot;148&quot; fill=&quot;#4b5563&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;→ MC 동작&lt;/text&gt;
              &lt;text x=&quot;110&quot; y=&quot;162&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;직렬 접속&lt;/text&gt;
            &lt;/g&gt;

            &lt;!-- 패턴 2: OR --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;205&quot; y=&quot;50&quot; width=&quot;165&quot; height=&quot;120&quot; fill=&quot;#fff&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; rx=&quot;6&quot;/&gt;
              &lt;text x=&quot;287&quot; y=&quot;70&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;OR 패턴&lt;/text&gt;
              &lt;rect x=&quot;222&quot; y=&quot;78&quot; width=&quot;30&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;237&quot; y=&quot;90&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB1&lt;/text&gt;
              &lt;rect x=&quot;222&quot; y=&quot;106&quot; width=&quot;30&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;237&quot; y=&quot;118&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB2&lt;/text&gt;
              &lt;rect x=&quot;318&quot; y=&quot;90&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;332&quot; y=&quot;102&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC&lt;/text&gt;
              &lt;line x1=&quot;215&quot; y1=&quot;86&quot; x2=&quot;222&quot; y2=&quot;86&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;215&quot; y1=&quot;114&quot; x2=&quot;222&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;252&quot; y1=&quot;86&quot; x2=&quot;318&quot; y2=&quot;86&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1&quot;/&gt;
              &lt;line x1=&quot;252&quot; y1=&quot;114&quot; x2=&quot;318&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1&quot;/&gt;
              &lt;line x1=&quot;215&quot; y1=&quot;86&quot; x2=&quot;215&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;318&quot; y1=&quot;86&quot; x2=&quot;318&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;text x=&quot;287&quot; y=&quot;148&quot; fill=&quot;#4b5563&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB1 OR PB2 하나만 ON&lt;/text&gt;
              &lt;text x=&quot;287&quot; y=&quot;162&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;병렬 접속&lt;/text&gt;
            &lt;/g&gt;

            &lt;!-- 패턴 3: 자기유지(순차) --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;385&quot; y=&quot;50&quot; width=&quot;175&quot; height=&quot;120&quot; fill=&quot;#fff&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; rx=&quot;6&quot;/&gt;
              &lt;text x=&quot;472&quot; y=&quot;70&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;자기유지 패턴&lt;/text&gt;
              &lt;rect x=&quot;410&quot; y=&quot;82&quot; width=&quot;30&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;425&quot; y=&quot;93&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB-ON&lt;/text&gt;
              &lt;rect x=&quot;410&quot; y=&quot;106&quot; width=&quot;30&quot; height=&quot;16&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;425&quot; y=&quot;117&quot; fill=&quot;#1e3a8a&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC-a&lt;/text&gt;
              &lt;rect x=&quot;498&quot; y=&quot;90&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;512&quot; y=&quot;102&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC&lt;/text&gt;
              &lt;line x1=&quot;395&quot; y1=&quot;90&quot; x2=&quot;410&quot; y2=&quot;90&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;395&quot; y1=&quot;114&quot; x2=&quot;410&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;440&quot; y1=&quot;90&quot; x2=&quot;498&quot; y2=&quot;90&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1&quot;/&gt;
              &lt;line x1=&quot;440&quot; y1=&quot;114&quot; x2=&quot;498&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1&quot;/&gt;
              &lt;line x1=&quot;395&quot; y1=&quot;90&quot; x2=&quot;395&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;498&quot; y1=&quot;90&quot; x2=&quot;498&quot; y2=&quot;114&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;text x=&quot;472&quot; y=&quot;148&quot; fill=&quot;#4b5563&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC 동작 후 자기유지접점&lt;/text&gt;
              &lt;text x=&quot;472&quot; y=&quot;162&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB 떼도 계속 동작&lt;/text&gt;
            &lt;/g&gt;

            &lt;!-- 패턴 4: 인터록 --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;575&quot; y=&quot;50&quot; width=&quot;175&quot; height=&quot;120&quot; fill=&quot;#fff&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; rx=&quot;6&quot;/&gt;
              &lt;text x=&quot;662&quot; y=&quot;70&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;인터록 패턴&lt;/text&gt;
              &lt;rect x=&quot;595&quot; y=&quot;82&quot; width=&quot;30&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;610&quot; y=&quot;93&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB-ON&lt;/text&gt;
              &lt;rect x=&quot;640&quot; y=&quot;82&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;654&quot; y=&quot;93&quot; fill=&quot;#991b1b&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC2-b&lt;/text&gt;
              &lt;rect x=&quot;694&quot; y=&quot;84&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;708&quot; y=&quot;96&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC1&lt;/text&gt;
              &lt;line x1=&quot;585&quot; y1=&quot;90&quot; x2=&quot;595&quot; y2=&quot;90&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;625&quot; y1=&quot;90&quot; x2=&quot;640&quot; y2=&quot;90&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;line x1=&quot;668&quot; y1=&quot;90&quot; x2=&quot;694&quot; y2=&quot;90&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
              &lt;text x=&quot;662&quot; y=&quot;130&quot; fill=&quot;#4b5563&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC2 동작 중 MC1 기동 차단&lt;/text&gt;
              &lt;text x=&quot;662&quot; y=&quot;148&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;동시 동작 방지&lt;/text&gt;
              &lt;text x=&quot;662&quot; y=&quot;162&quot; fill=&quot;#4b5563&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;소방펌프 정역전 등에 필수&lt;/text&gt;
            &lt;/g&gt;
          &lt;/svg&gt;
        &lt;/div&gt;
        &lt;p class=&quot;svg-caption&quot;&gt;▲ 소방전기 시퀀스 기본 패턴 4가지 — 이 4가지 조합으로 모든 소방 시퀀스 회로가 구성됩니다.&lt;/p&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('and-flow', this)&quot;&gt;⏸ 전류 흐름 일시정지&lt;/button&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim1()&quot;&gt;  다시 시작&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 기호 테이블 --&gt;
      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;기호&lt;/th&gt;&lt;th&gt;명칭&lt;/th&gt;&lt;th&gt;역할&lt;/th&gt;&lt;th&gt;소방 적용 예&lt;/th&gt;&lt;th&gt;시험 빈도&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;PB-ON&lt;/td&gt;&lt;td&gt;누름버튼 (a접점)&lt;/td&gt;&lt;td&gt;누르면 회로 ON&lt;/td&gt;&lt;td&gt;소방펌프 수동 기동&lt;/td&gt;&lt;td&gt;★★★★★&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;PB-OFF&lt;/td&gt;&lt;td&gt;누름버튼 (b접점)&lt;/td&gt;&lt;td&gt;누르면 회로 OFF&lt;/td&gt;&lt;td&gt;소방펌프 정지&lt;/td&gt;&lt;td&gt;★★★★★&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;MC&lt;/td&gt;&lt;td&gt;전자접촉기 코일&lt;/td&gt;&lt;td&gt;전자력으로 주접점 닫힘&lt;/td&gt;&lt;td&gt;펌프 모터 기동&lt;/td&gt;&lt;td&gt;★★★★★&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;MC-a&lt;/td&gt;&lt;td&gt;MC 보조 a접점&lt;/td&gt;&lt;td&gt;MC 여자 시 닫힘 → 자기유지&lt;/td&gt;&lt;td&gt;자기유지 회로&lt;/td&gt;&lt;td&gt;★★★★☆&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;MC-b&lt;/td&gt;&lt;td&gt;MC 보조 b접점&lt;/td&gt;&lt;td&gt;MC 여자 시 열림 → 인터록&lt;/td&gt;&lt;td&gt;정역 인터록&lt;/td&gt;&lt;td&gt;★★★★☆&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;THR&lt;/td&gt;&lt;td&gt;열동형 과부하계전기&lt;/td&gt;&lt;td&gt;과전류 시 b접점 개방&lt;/td&gt;&lt;td&gt;과부하 보호&lt;/td&gt;&lt;td&gt;★★★☆☆&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;R(릴레이)&lt;/td&gt;&lt;td&gt;보조 릴레이&lt;/td&gt;&lt;td&gt;신호 증폭·변환&lt;/td&gt;&lt;td&gt;감지기 → 펌프 연동&lt;/td&gt;&lt;td&gt;★★★★☆&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;BZ/SP&lt;/td&gt;&lt;td&gt;버저/사이렌&lt;/td&gt;&lt;td&gt;경보음 출력&lt;/td&gt;&lt;td&gt;화재 경보&lt;/td&gt;&lt;td&gt;★★★☆☆&lt;/td&gt;&lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;exam-point-box&quot;&gt;
        소방설비기사 전기편에서는 &quot;다음 회로에서 MC가 동작하는 조건을 고르시오&quot; 형태가 가장 많이 나와요. 이때 PB-ON 눌러서 MC 코일에 전류가 흐르면 MC-a(보조 a접점)가 닫혀 자기유지가 되는 구조를 머릿속에 그릴 수 있어야 합니다. 이게 안 되면 4~6문항 연쇄 오답이에요.
      &lt;/div&gt;

      &lt;div class=&quot;memory-tip&quot;&gt;
        &lt;b&gt;암기 팁: a접점 vs b접점 헷갈릴 때&lt;/b&gt;&lt;br&gt;
        &quot;a접점은 평소에 &lt;b&gt;a&lt;/b&gt;무것도 안 함(열려 있음), b접점은 평소에 &lt;b&gt;b&lt;/b&gt;아쁘게 닫혀 있음&quot;&lt;br&gt;
        → a접점: 평상시 개방(NO, Normally Open) / b접점: 평상시 폐쇄(NC, Normally Closed)
      &lt;/div&gt;

      &lt;!-- STEP 3: 인라인 CTA --&gt;
      &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;아래 시뮬레이터에서 지금 바로 시퀀스 동작 순서를 직접 확인해보세요&lt;/a&gt;
    &lt;/section&gt;

    &lt;!-- ── SVG 2: 소방 특화 시퀀스 회로 ── --&gt;
    &lt;section id=&quot;fire-circuits&quot;&gt;
      &lt;h2&gt;  소방 특화 시퀀스 회로 3종&lt;/h2&gt;
      &lt;p&gt;최근 3회 시험에서 연속 출제됐어요. 이 3가지 회로 패턴을 모르면 소방전기 시퀀스 파트 전체가 흔들립니다.&lt;/p&gt;

      &lt;div class=&quot;svg-animation-container&quot;&gt;
        &lt;div class=&quot;svg-wrap&quot;&gt;
          &lt;svg id=&quot;fireCircuitSvg&quot; viewBox=&quot;0 0 760 240&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:520px;&quot;&gt;
            &lt;rect width=&quot;760&quot; height=&quot;240&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
            &lt;!-- 회로 1: 소방펌프 자동/수동 기동 --&gt;
            &lt;rect x=&quot;10&quot; y=&quot;12&quot; width=&quot;230&quot; height=&quot;220&quot; fill=&quot;#fff&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
            &lt;text x=&quot;125&quot; y=&quot;32&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;① 소방펌프 기동 회로&lt;/text&gt;

            &lt;text x=&quot;28&quot; y=&quot;58&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;L1&lt;/text&gt;
            &lt;line x1=&quot;44&quot; y1=&quot;54&quot; x2=&quot;228&quot; y2=&quot;54&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;28&quot; y=&quot;228&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;sans-serif&quot;&gt;L2&lt;/text&gt;
            &lt;line x1=&quot;44&quot; y1=&quot;222&quot; x2=&quot;228&quot; y2=&quot;222&quot; stroke=&quot;#111827&quot; stroke-width=&quot;2&quot;/&gt;

            &lt;!-- 자동 회로 라인 --&gt;
            &lt;line x1=&quot;70&quot; y1=&quot;54&quot; x2=&quot;70&quot; y2=&quot;80&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;56&quot; y=&quot;80&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;70&quot; y=&quot;91&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;감지기&lt;/text&gt;
            &lt;line x1=&quot;70&quot; y1=&quot;96&quot; x2=&quot;70&quot; y2=&quot;110&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;56&quot; y=&quot;110&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;70&quot; y=&quot;121&quot; fill=&quot;#991b1b&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;R-a&lt;/text&gt;
            &lt;line x1=&quot;70&quot; y1=&quot;126&quot; x2=&quot;70&quot; y2=&quot;160&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- 수동 회로 라인 --&gt;
            &lt;line x1=&quot;120&quot; y1=&quot;54&quot; x2=&quot;120&quot; y2=&quot;80&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;106&quot; y=&quot;80&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;120&quot; y=&quot;91&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB-ON&lt;/text&gt;
            &lt;line x1=&quot;120&quot; y1=&quot;96&quot; x2=&quot;120&quot; y2=&quot;160&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- MC-a 자기유지 --&gt;
            &lt;line x1=&quot;165&quot; y1=&quot;54&quot; x2=&quot;165&quot; y2=&quot;80&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;151&quot; y=&quot;80&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;165&quot; y=&quot;91&quot; fill=&quot;#1e3a8a&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC-a&lt;/text&gt;
            &lt;line x1=&quot;165&quot; y1=&quot;96&quot; x2=&quot;165&quot; y2=&quot;160&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- 공통 연결 --&gt;
            &lt;line x1=&quot;70&quot; y1=&quot;160&quot; x2=&quot;165&quot; y2=&quot;160&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;153&quot; y=&quot;163&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;2&quot; rx=&quot;3&quot;/&gt;
            &lt;text x=&quot;167&quot; y=&quot;175&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC&lt;/text&gt;
            &lt;line x1=&quot;167&quot; y1=&quot;181&quot; x2=&quot;167&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- PB-OFF --&gt;
            &lt;line x1=&quot;210&quot; y1=&quot;54&quot; x2=&quot;210&quot; y2=&quot;120&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;196&quot; y=&quot;120&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;210&quot; y=&quot;131&quot; fill=&quot;#dc2626&quot; font-size=&quot;8&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB-OFF&lt;/text&gt;
            &lt;text x=&quot;210&quot; y=&quot;142&quot; fill=&quot;#dc2626&quot; font-size=&quot;8&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;(b접점)&lt;/text&gt;
            &lt;line x1=&quot;210&quot; y1=&quot;150&quot; x2=&quot;210&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- THR --&gt;
            &lt;line x1=&quot;125&quot; y1=&quot;178&quot; x2=&quot;153&quot; y2=&quot;178&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;88&quot; y=&quot;170&quot; width=&quot;37&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;106&quot; y=&quot;181&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;THR-b&lt;/text&gt;
            &lt;line x1=&quot;88&quot; y1=&quot;178&quot; x2=&quot;70&quot; y2=&quot;178&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;line x1=&quot;70&quot; y1=&quot;178&quot; x2=&quot;70&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- 전류 흐름 --&gt;
            &lt;line x1=&quot;167&quot; y1=&quot;54&quot; x2=&quot;167&quot; y2=&quot;181&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2.5&quot; opacity=&quot;0.6&quot; class=&quot;current-line&quot; id=&quot;fire-flow1&quot;/&gt;

            &lt;!-- 회로 2: 감지기 연동 경보 --&gt;
            &lt;rect x=&quot;260&quot; y=&quot;12&quot; width=&quot;220&quot; height=&quot;220&quot; fill=&quot;#fff&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
            &lt;text x=&quot;370&quot; y=&quot;32&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;② 감지기→경보 연동 회로&lt;/text&gt;

            &lt;line x1=&quot;280&quot; y1=&quot;54&quot; x2=&quot;468&quot; y2=&quot;54&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;line x1=&quot;280&quot; y1=&quot;222&quot; x2=&quot;468&quot; y2=&quot;222&quot; stroke=&quot;#111827&quot; stroke-width=&quot;2&quot;/&gt;

            &lt;!-- 감지기 R 코일 --&gt;
            &lt;line x1=&quot;310&quot; y1=&quot;54&quot; x2=&quot;310&quot; y2=&quot;80&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;circle cx=&quot;310&quot; cy=&quot;90&quot; r=&quot;12&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;text x=&quot;310&quot; y=&quot;94&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;감S&lt;/text&gt;
            &lt;line x1=&quot;310&quot; y1=&quot;102&quot; x2=&quot;310&quot; y2=&quot;150&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;296&quot; y=&quot;150&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;2&quot; rx=&quot;3&quot;/&gt;
            &lt;text x=&quot;310&quot; y=&quot;162&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;R&lt;/text&gt;
            &lt;line x1=&quot;310&quot; y1=&quot;168&quot; x2=&quot;310&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- 경보 벨 --&gt;
            &lt;line x1=&quot;390&quot; y1=&quot;54&quot; x2=&quot;390&quot; y2=&quot;100&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;376&quot; y=&quot;100&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;390&quot; y=&quot;111&quot; fill=&quot;#1e3a8a&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;R-a&lt;/text&gt;
            &lt;line x1=&quot;390&quot; y1=&quot;116&quot; x2=&quot;390&quot; y2=&quot;145&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;circle cx=&quot;390&quot; cy=&quot;158&quot; r=&quot;14&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;390&quot; y=&quot;162&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;BZ&lt;/text&gt;
            &lt;line x1=&quot;390&quot; y1=&quot;172&quot; x2=&quot;390&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- 표시등 --&gt;
            &lt;line x1=&quot;445&quot; y1=&quot;54&quot; x2=&quot;445&quot; y2=&quot;100&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;431&quot; y=&quot;100&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;445&quot; y=&quot;111&quot; fill=&quot;#1e3a8a&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;R-a&lt;/text&gt;
            &lt;line x1=&quot;445&quot; y1=&quot;116&quot; x2=&quot;445&quot; y2=&quot;145&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;circle cx=&quot;445&quot; cy=&quot;155&quot; r=&quot;10&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;445&quot; y=&quot;158&quot; fill=&quot;#991b1b&quot; font-size=&quot;8&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;RL&lt;/text&gt;
            &lt;line x1=&quot;445&quot; y1=&quot;165&quot; x2=&quot;445&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;line x1=&quot;310&quot; y1=&quot;80&quot; x2=&quot;445&quot; y2=&quot;80&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- 회로 3: 인터록 --&gt;
            &lt;rect x=&quot;497&quot; y=&quot;12&quot; width=&quot;247&quot; height=&quot;220&quot; fill=&quot;#fff&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
            &lt;text x=&quot;621&quot; y=&quot;32&quot; fill=&quot;#b91c1c&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;③ 인터록(정역 방지) 회로&lt;/text&gt;

            &lt;line x1=&quot;514&quot; y1=&quot;54&quot; x2=&quot;735&quot; y2=&quot;54&quot; stroke=&quot;#b91c1c&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;line x1=&quot;514&quot; y1=&quot;222&quot; x2=&quot;735&quot; y2=&quot;222&quot; stroke=&quot;#111827&quot; stroke-width=&quot;2&quot;/&gt;

            &lt;!-- MC1 회로 --&gt;
            &lt;line x1=&quot;540&quot; y1=&quot;54&quot; x2=&quot;540&quot; y2=&quot;78&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;526&quot; y=&quot;78&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;540&quot; y=&quot;89&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB1&lt;/text&gt;
            &lt;line x1=&quot;540&quot; y1=&quot;94&quot; x2=&quot;540&quot; y2=&quot;112&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;526&quot; y=&quot;112&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;540&quot; y=&quot;123&quot; fill=&quot;#991b1b&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC2-b&lt;/text&gt;
            &lt;line x1=&quot;540&quot; y1=&quot;128&quot; x2=&quot;540&quot; y2=&quot;165&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;526&quot; y=&quot;165&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;2&quot; rx=&quot;3&quot;/&gt;
            &lt;text x=&quot;540&quot; y=&quot;177&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC1&lt;/text&gt;
            &lt;line x1=&quot;540&quot; y1=&quot;183&quot; x2=&quot;540&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;!-- MC2 회로 --&gt;
            &lt;line x1=&quot;630&quot; y1=&quot;54&quot; x2=&quot;630&quot; y2=&quot;78&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;616&quot; y=&quot;78&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;630&quot; y=&quot;89&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB2&lt;/text&gt;
            &lt;line x1=&quot;630&quot; y1=&quot;94&quot; x2=&quot;630&quot; y2=&quot;112&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;616&quot; y=&quot;112&quot; width=&quot;28&quot; height=&quot;16&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
            &lt;text x=&quot;630&quot; y=&quot;123&quot; fill=&quot;#991b1b&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC1-b&lt;/text&gt;
            &lt;line x1=&quot;630&quot; y1=&quot;128&quot; x2=&quot;630&quot; y2=&quot;165&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;rect x=&quot;616&quot; y=&quot;165&quot; width=&quot;28&quot; height=&quot;18&quot; fill=&quot;#fef9c3&quot; stroke=&quot;#ca8a04&quot; stroke-width=&quot;2&quot; rx=&quot;3&quot;/&gt;
            &lt;text x=&quot;630&quot; y=&quot;177&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC2&lt;/text&gt;
            &lt;line x1=&quot;630&quot; y1=&quot;183&quot; x2=&quot;630&quot; y2=&quot;222&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot;/&gt;

            &lt;text x=&quot;620&quot; y=&quot;205&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC1↔MC2 동시 동작 불가&lt;/text&gt;
          &lt;/svg&gt;
        &lt;/div&gt;
        &lt;p class=&quot;svg-caption&quot;&gt;▲ 소방설비기사 자주 출제되는 시퀀스 회로 3종 — ①자동·수동 겸용 펌프 기동 ②감지기 연동 경보 ③인터록(정역 방지)&lt;/p&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('fire-flow1', this)&quot;&gt;⏸ 전류 흐름 일시정지&lt;/button&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetFireAnim()&quot;&gt;  다시 시작&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;exam-point-box&quot;&gt;
        회로 ①에서 &quot;PB-ON을 누른 후 손을 떼어도 MC가 계속 동작하는 이유&quot;를 묻는 문항이 자주 나와요. 정답은 &lt;b&gt;MC-a(보조 a접점)가 PB-ON에 병렬로 연결되어 자기유지를 구성하기 때문&lt;/b&gt;입니다. 회로도에서 이 MC-a 접점 위치를 찾아내는 게 핵심이에요.
      &lt;/div&gt;

      &lt;!-- 에피소드 2 --&gt;
      &lt;div class=&quot;tip-box&quot;&gt;
        &lt;strong&gt;  수험생 에피소드 #2&lt;/strong&gt;&lt;br&gt;
        2025년 1회차 시험장에서 인터록 회로 문제를 보고 긴장이 확 풀렸어요. 전날 밤에 MC2-b 접점의 위치와 역할을 집중적으로 잡아뒀는데, 문제를 보자마자 &quot;아, MC1 동작 중에 MC2-b가 열려 있으니 PB2 눌러도 MC2 기동 안 되겠구나&quot;가 바로 보이더라고요. 패턴 인식이 됐을 때 그 쾌감이 있어요. 지금 이 회로를 이해하셨다면 이미 그 쾌감을 느낄 준비가 된 거예요.
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 기출 분석 ── --&gt;
    &lt;section id=&quot;exam-analysis&quot;&gt;
      &lt;h2&gt;  기출 분석 — 최근 5년&lt;/h2&gt;
      &lt;p&gt;CBT 전환 이후 이 유형 비중이 2배로 늘었어요. 지금 안 잡으면 늦어요. 막대를 클릭하면 해당 연도 출제 유형을 확인할 수 있어요.&lt;/p&gt;

      &lt;div class=&quot;chart-bar-wrap&quot; id=&quot;examChart&quot;&gt;
        &lt;div class=&quot;chart-bar-row&quot;&gt;
          &lt;div class=&quot;chart-bar-label&quot;&gt;2022년&lt;/div&gt;
          &lt;div class=&quot;chart-bar-track&quot; onclick=&quot;showChartPopup('2022')&quot;&gt;
            &lt;div class=&quot;chart-bar-fill mid&quot; style=&quot;width:0%&quot; data-target=&quot;48%&quot;&gt;48%&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-badge&quot;&gt;3~4문항&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;chart-bar-row&quot;&gt;
          &lt;div class=&quot;chart-bar-label&quot;&gt;2023년&lt;/div&gt;
          &lt;div class=&quot;chart-bar-track&quot; onclick=&quot;showChartPopup('2023')&quot;&gt;
            &lt;div class=&quot;chart-bar-fill mid&quot; style=&quot;width:0%&quot; data-target=&quot;55%&quot;&gt;55%&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-badge&quot;&gt;4문항&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;chart-bar-row&quot;&gt;
          &lt;div class=&quot;chart-bar-label&quot;&gt;2024년&lt;/div&gt;
          &lt;div class=&quot;chart-bar-track&quot; onclick=&quot;showChartPopup('2024')&quot;&gt;
            &lt;div class=&quot;chart-bar-fill high&quot; style=&quot;width:0%&quot; data-target=&quot;70%&quot;&gt;70%&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-badge&quot;&gt;★ 5문항&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;chart-bar-row&quot;&gt;
          &lt;div class=&quot;chart-bar-label&quot;&gt;2025년&lt;/div&gt;
          &lt;div class=&quot;chart-bar-track&quot; onclick=&quot;showChartPopup('2025')&quot;&gt;
            &lt;div class=&quot;chart-bar-fill high&quot; style=&quot;width:0%&quot; data-target=&quot;82%&quot;&gt;82%&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-badge&quot;&gt;★ 반드시! 6문항&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;chart-bar-row&quot;&gt;
          &lt;div class=&quot;chart-bar-label&quot;&gt;2026 예상&lt;/div&gt;
          &lt;div class=&quot;chart-bar-track&quot; onclick=&quot;showChartPopup('2026')&quot;&gt;
            &lt;div class=&quot;chart-bar-fill high&quot; style=&quot;width:0%&quot; data-target=&quot;90%&quot;&gt;90%↑&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-badge&quot;&gt;★★ 출제 확실&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;table-container&quot; style=&quot;margin-top:20px;&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;연도·회차&lt;/th&gt;&lt;th&gt;출제 유형&lt;/th&gt;&lt;th&gt;배점&lt;/th&gt;&lt;th&gt;난이도&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;2022 1회&lt;/td&gt;&lt;td&gt;자기유지 회로 접점 찾기&lt;/td&gt;&lt;td&gt;2점&lt;/td&gt;&lt;td&gt;중&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2023 2회&lt;/td&gt;&lt;td&gt;인터록 회로 동작 조건&lt;/td&gt;&lt;td&gt;2점&lt;/td&gt;&lt;td&gt;중상&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2024 1회&lt;/td&gt;&lt;td&gt;감지기 연동 순서 배열&lt;/td&gt;&lt;td&gt;2점&lt;/td&gt;&lt;td&gt;중&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2024 2회&lt;/td&gt;&lt;td&gt;소방펌프 자동/수동 회로 해석&lt;/td&gt;&lt;td&gt;2점×2&lt;/td&gt;&lt;td&gt;상&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2025 1회&lt;/td&gt;&lt;td&gt;정역 인터록 + 자기유지 복합&lt;/td&gt;&lt;td&gt;2점×2&lt;/td&gt;&lt;td&gt;상&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2025 2회&lt;/td&gt;&lt;td&gt;THR-b 접점 역할, 자동복구 여부&lt;/td&gt;&lt;td&gt;2점&lt;/td&gt;&lt;td&gt;중상&lt;/td&gt;&lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;urgent-action-box&quot;&gt;
        2024~2025년 기출을 보면 &quot;복합 패턴 문항(자기유지 + 인터록 동시 적용)&quot;이 늘고 있어요. 이 글의 SVG 회로 ①과 ③을 합쳐 해석하는 연습이 필요합니다. 아래 시뮬레이터에서 지금 바로 연습하세요.
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 이미지 2 ── --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
           alt=&quot;소방설비기사 시험 공부 책상 학습 이미지 - 출처: Unsplash&quot;
           loading=&quot;lazy&quot;
           onerror=&quot;this.src='https://picsum.photos/id/100/800/400';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;시퀀스 제어 3일 독학 — 하루 40분, 패턴 중심으로 접근하면 충분합니다.&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 3일 독학 단계별 풀이법 (STEP-BOX) ── --&gt;
    &lt;section id=&quot;step-method&quot;&gt;
      &lt;h2&gt;  단계별 풀이법 — 3일 독학 순서&lt;/h2&gt;
      &lt;p&gt;대부분 이렇게 공부해요: &quot;전체 회로를 한 번에 이해하려 한다.&quot; 사실 틀린 방법이에요. 입력→제어→출력 3구간으로 쪼개서 읽어야 합니다.&lt;/p&gt;

      &lt;div class=&quot;step-box&quot;&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;1일차 (40분): 기본 기호 완전 암기 + AND·OR 패턴&lt;/strong&gt;
            위 기호 테이블 8개를 플래시카드로 만들거나 손으로 3번씩 써요. 이후 AND 패턴(직렬)과 OR 패턴(병렬) 회로를 직접 손으로 그려봅니다. &quot;PB1 AND PB2 눌러야 MC 동작&quot; 문장을 회로도로 그리는 것이 목표예요.
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;2일차 (40분): 자기유지·인터록 패턴 + 소방 특화 회로&lt;/strong&gt;
            자기유지 회로에서 MC-a 접점 위치를 찾는 연습을 10회 반복해요. 그 다음 감지기→릴레이→경보기 연동 순서를 손으로 따라 그려보세요. 소방펌프 기동 회로(위 ①번)를 기호 보지 않고 그릴 수 있으면 2일차 완료입니다.
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;strong&gt;3일차 (40분): 기출 시퀀스 문제 집중 풀이 + 오답 정리&lt;/strong&gt;
            2022~2025년 기출 시퀀스 문항을 시간 재고 풀어요. 틀린 문항은 &quot;어느 접점에서 막혔는지&quot;를 표시하고, 그 접점의 동작 원리를 다시 확인합니다. 오답 노트에 회로도를 직접 그리면 3일차 이후에도 기억이 유지돼요.
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- STEP 3: 인라인 CTA 2 --&gt;
      &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;지금 바로 시퀀스 동작 순서 시뮬레이터 돌려보기 — 눈으로 보면 이 차이가 바로 보여요&lt;/a&gt;

      &lt;!-- CTA-3 공격형 내부 링크 --&gt;
      &lt;div class=&quot;urgent-action-box&quot;&gt;
        시퀀스 제어를 이해했다면 연동되는 &lt;b&gt;자동화재탐지설비&lt;/b&gt;도 반드시 잡아야 해요. 이거 모르고 다음 파트 가면 또 막혀요.&lt;br&gt;&lt;br&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/117&quot; class=&quot;internal-link&quot; style=&quot;margin:0;background:#fff;&quot;&gt;
            자동화재탐지설비 소방전기 실무 연계 암기 포인트 → 30분 완성법 바로 확인
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── SVG 3: 순서 흐름도 (인터랙티브) ── --&gt;
    &lt;section id=&quot;calculator&quot;&gt;
      &lt;h2&gt;  인터랙티브 시뮬레이터&lt;/h2&gt;

      &lt;!-- 계산기 1: 시퀀스 동작 시간 계산기 --&gt;
      &lt;div class=&quot;calculator-box&quot;&gt;
        &lt;h3&gt;  소방펌프 기동 지연 시간 계산기&lt;/h3&gt;
        &lt;p style=&quot;font-size:14px;color:var(--text-secondary);margin-bottom:14px;&quot;&gt;
          소방펌프는 감지기 신호 입력 후 일정 시간 내에 기동해야 해요. 타이머 릴레이(TR) 설정 시간 계산을 연습해봐요.
        &lt;/p&gt;
        &lt;div class=&quot;calc-row&quot;&gt;
          &lt;span class=&quot;calc-label&quot;&gt;감지기 신호 입력 후 허용 기동 시간&lt;/span&gt;
          &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;allowTime&quot; value=&quot;30&quot; min=&quot;1&quot; max=&quot;120&quot;&gt;
          &lt;span class=&quot;calc-unit&quot;&gt;초&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;calc-row&quot;&gt;
          &lt;span class=&quot;calc-label&quot;&gt;릴레이 동작 지연 시간&lt;/span&gt;
          &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;relayDelay&quot; value=&quot;3&quot; min=&quot;0&quot; max=&quot;30&quot;&gt;
          &lt;span class=&quot;calc-unit&quot;&gt;초&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;calc-row&quot;&gt;
          &lt;span class=&quot;calc-label&quot;&gt;MC 동작 후 펌프 실제 기동까지&lt;/span&gt;
          &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;pumpStart&quot; value=&quot;2&quot; min=&quot;0&quot; max=&quot;15&quot;&gt;
          &lt;span class=&quot;calc-unit&quot;&gt;초&lt;/span&gt;
        &lt;/div&gt;
        &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcPumpTime()&quot;&gt;⚡ 타이머 설정값 계산&lt;/button&gt;
        &lt;div class=&quot;calculator-result&quot; id=&quot;pumpResult&quot;&gt;
          &lt;div&gt;타이머 릴레이(TR) 최대 설정값: &lt;span class=&quot;result-value&quot; id=&quot;trValue&quot;&gt;&lt;/span&gt; 초&lt;/div&gt;
          &lt;div style=&quot;margin-top:8px;font-size:13px;color:var(--text-secondary);&quot; id=&quot;pumpJudge&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 계산기 2: 회로 접점 수 계산 --&gt;
      &lt;div class=&quot;calculator-box&quot; style=&quot;margin-top:24px;&quot;&gt;
        &lt;h3&gt;  시퀀스 회로 접점 분석기&lt;/h3&gt;
        &lt;p style=&quot;font-size:14px;color:var(--text-secondary);margin-bottom:14px;&quot;&gt;
          주어진 소방 시퀀스 회로에서 MC 코일이 동작하려면 몇 개의 조건이 동시에 충족되어야 하는지 계산해봐요.
        &lt;/p&gt;
        &lt;div class=&quot;calc-row&quot;&gt;
          &lt;span class=&quot;calc-label&quot;&gt;직렬 a접점 수 (AND 조건)&lt;/span&gt;
          &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;aContacts&quot; value=&quot;2&quot; min=&quot;1&quot; max=&quot;10&quot;&gt;
          &lt;span class=&quot;calc-unit&quot;&gt;개&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;calc-row&quot;&gt;
          &lt;span class=&quot;calc-label&quot;&gt;직렬 b접점 수 (NOT 조건)&lt;/span&gt;
          &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;bContacts&quot; value=&quot;1&quot; min=&quot;0&quot; max=&quot;10&quot;&gt;
          &lt;span class=&quot;calc-unit&quot;&gt;개&lt;/span&gt;
        &lt;/div&gt;
        &lt;div class=&quot;calc-row&quot;&gt;
          &lt;span class=&quot;calc-label&quot;&gt;병렬 경로 수 (OR 조건)&lt;/span&gt;
          &lt;input class=&quot;calculator-input&quot; type=&quot;number&quot; id=&quot;parallelPaths&quot; value=&quot;2&quot; min=&quot;1&quot; max=&quot;6&quot;&gt;
          &lt;span class=&quot;calc-unit&quot;&gt;개&lt;/span&gt;
        &lt;/div&gt;
        &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcCircuit()&quot;&gt;  동작 조건 분석&lt;/button&gt;
        &lt;div class=&quot;calculator-result&quot; id=&quot;circuitResult&quot;&gt;
          &lt;div&gt;최소 충족 조건: &lt;span class=&quot;result-value&quot; id=&quot;circuitValue&quot;&gt;&lt;/span&gt;&lt;/div&gt;
          &lt;div style=&quot;margin-top:8px;font-size:13px;&quot; id=&quot;circuitDesc&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- SVG 4: 기출 유형별 정답률 시각화 (인터랙티브 막대) --&gt;
      &lt;div class=&quot;svg-animation-container&quot; style=&quot;margin-top:30px;&quot;&gt;
        &lt;h3&gt;  시퀀스 유형별 평균 정답률&lt;/h3&gt;
        &lt;div class=&quot;svg-wrap&quot;&gt;
          &lt;svg viewBox=&quot;0 0 700 280&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:460px;&quot;&gt;
            &lt;rect width=&quot;700&quot; height=&quot;280&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;25&quot; fill=&quot;#111827&quot; font-size=&quot;14&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;유형별 평균 정답률 (2023~2025 기출 기준)&lt;/text&gt;
            &lt;!-- Y축 --&gt;
            &lt;line x1=&quot;80&quot; y1=&quot;40&quot; x2=&quot;80&quot; y2=&quot;240&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;line x1=&quot;80&quot; y1=&quot;240&quot; x2=&quot;680&quot; y2=&quot;240&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot;/&gt;
            &lt;!-- Y축 라벨 --&gt;
            &lt;text x=&quot;70&quot; y=&quot;244&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot; text-anchor=&quot;end&quot; font-family=&quot;sans-serif&quot;&gt;0%&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;194&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot; text-anchor=&quot;end&quot; font-family=&quot;sans-serif&quot;&gt;25%&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;144&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot; text-anchor=&quot;end&quot; font-family=&quot;sans-serif&quot;&gt;50%&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;94&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot; text-anchor=&quot;end&quot; font-family=&quot;sans-serif&quot;&gt;75%&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;44&quot; fill=&quot;#6b7280&quot; font-size=&quot;10&quot; text-anchor=&quot;end&quot; font-family=&quot;sans-serif&quot;&gt;100%&lt;/text&gt;
            &lt;!-- 그리드 --&gt;
            &lt;line x1=&quot;80&quot; y1=&quot;190&quot; x2=&quot;680&quot; y2=&quot;190&quot; stroke=&quot;#e5e7eb&quot; stroke-width=&quot;1&quot;/&gt;
            &lt;line x1=&quot;80&quot; y1=&quot;140&quot; x2=&quot;680&quot; y2=&quot;140&quot; stroke=&quot;#e5e7eb&quot; stroke-width=&quot;1&quot;/&gt;
            &lt;line x1=&quot;80&quot; y1=&quot;90&quot; x2=&quot;680&quot; y2=&quot;90&quot; stroke=&quot;#e5e7eb&quot; stroke-width=&quot;1&quot;/&gt;
            &lt;!-- 막대: a·b접점 구분 --&gt;
            &lt;rect id=&quot;bar1&quot; x=&quot;105&quot; y=&quot;240&quot; width=&quot;80&quot; height=&quot;0&quot; fill=&quot;#b91c1c&quot; rx=&quot;4&quot;/&gt;
            &lt;text x=&quot;145&quot; y=&quot;258&quot; fill=&quot;#374151&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;a·b접점&lt;/text&gt;
            &lt;text x=&quot;145&quot; y=&quot;270&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;구분&lt;/text&gt;
            &lt;text id=&quot;bar1val&quot; x=&quot;145&quot; y=&quot;235&quot; fill=&quot;#b91c1c&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot; opacity=&quot;0&quot;&gt;78%&lt;/text&gt;
            &lt;!-- 막대: 자기유지 --&gt;
            &lt;rect id=&quot;bar2&quot; x=&quot;210&quot; y=&quot;240&quot; width=&quot;80&quot; height=&quot;0&quot; fill=&quot;#b91c1c&quot; rx=&quot;4&quot;/&gt;
            &lt;text x=&quot;250&quot; y=&quot;258&quot; fill=&quot;#374151&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;자기유지&lt;/text&gt;
            &lt;text x=&quot;250&quot; y=&quot;270&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;회로&lt;/text&gt;
            &lt;text id=&quot;bar2val&quot; x=&quot;250&quot; y=&quot;235&quot; fill=&quot;#b91c1c&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot; opacity=&quot;0&quot;&gt;65%&lt;/text&gt;
            &lt;!-- 막대: 인터록 --&gt;
            &lt;rect id=&quot;bar3&quot; x=&quot;315&quot; y=&quot;240&quot; width=&quot;80&quot; height=&quot;0&quot; fill=&quot;#dc2626&quot; rx=&quot;4&quot;/&gt;
            &lt;text x=&quot;355&quot; y=&quot;258&quot; fill=&quot;#374151&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;인터록&lt;/text&gt;
            &lt;text x=&quot;355&quot; y=&quot;270&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;회로&lt;/text&gt;
            &lt;text id=&quot;bar3val&quot; x=&quot;355&quot; y=&quot;235&quot; fill=&quot;#dc2626&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot; opacity=&quot;0&quot;&gt;52%&lt;/text&gt;
            &lt;!-- 막대: 감지기 연동 --&gt;
            &lt;rect id=&quot;bar4&quot; x=&quot;420&quot; y=&quot;240&quot; width=&quot;80&quot; height=&quot;0&quot; fill=&quot;#dc2626&quot; rx=&quot;4&quot;/&gt;
            &lt;text x=&quot;460&quot; y=&quot;258&quot; fill=&quot;#374151&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;감지기&lt;/text&gt;
            &lt;text x=&quot;460&quot; y=&quot;270&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;연동&lt;/text&gt;
            &lt;text id=&quot;bar4val&quot; x=&quot;460&quot; y=&quot;235&quot; fill=&quot;#dc2626&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot; opacity=&quot;0&quot;&gt;58%&lt;/text&gt;
            &lt;!-- 막대: THR --&gt;
            &lt;rect id=&quot;bar5&quot; x=&quot;525&quot; y=&quot;240&quot; width=&quot;80&quot; height=&quot;0&quot; fill=&quot;#9ca3af&quot; rx=&quot;4&quot;/&gt;
            &lt;text x=&quot;565&quot; y=&quot;258&quot; fill=&quot;#374151&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;THR&lt;/text&gt;
            &lt;text x=&quot;565&quot; y=&quot;270&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;동작&lt;/text&gt;
            &lt;text id=&quot;bar5val&quot; x=&quot;565&quot; y=&quot;235&quot; fill=&quot;#4b5563&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot; opacity=&quot;0&quot;&gt;82%&lt;/text&gt;
          &lt;/svg&gt;
        &lt;/div&gt;
        &lt;p class=&quot;svg-caption&quot;&gt;▲ 인터록·감지기 연동 유형 정답률이 낮아요. 이 두 가지를 집중적으로 잡으세요. (클릭하면 막대가 그려집니다)&lt;/p&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;animateBarChart()&quot;&gt;▶ 차트 애니메이션&lt;/button&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetBarChart()&quot;&gt;  초기화&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 자주 틀리는 포인트 5가지 ── --&gt;
    &lt;section id=&quot;mistakes&quot;&gt;
      &lt;h2&gt;❌ 자주 틀리는 포인트 5가지&lt;/h2&gt;
      &lt;p&gt;강사도 잘 안 알려주는 계산 실수 패턴이에요. 이거 모르면 개념은 아는데 문제에서 자꾸 틀립니다.&lt;/p&gt;

      &lt;!-- SVG: 실수 유형 시각화 --&gt;
      &lt;div class=&quot;svg-animation-container&quot;&gt;
        &lt;div class=&quot;svg-wrap&quot;&gt;
          &lt;svg viewBox=&quot;0 0 720 160&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; style=&quot;width:100%;min-width:460px;&quot;&gt;
            &lt;rect width=&quot;720&quot; height=&quot;160&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
            &lt;text x=&quot;360&quot; y=&quot;22&quot; fill=&quot;#b91c1c&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;자주 틀리는 5가지 실수 — 정답률 올리는 포인트&lt;/text&gt;

            &lt;!-- 실수 1 --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;12&quot; y=&quot;35&quot; width=&quot;126&quot; height=&quot;112&quot; fill=&quot;#fff&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
              &lt;text x=&quot;75&quot; y=&quot;55&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;❌ 실수 1&lt;/text&gt;
              &lt;text x=&quot;75&quot; y=&quot;73&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;a·b접점 혼동&lt;/text&gt;
              &lt;line x1=&quot;40&quot; y1=&quot;90&quot; x2=&quot;70&quot; y2=&quot;90&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
              &lt;rect x=&quot;42&quot; y=&quot;83&quot; width=&quot;28&quot; height=&quot;14&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;56&quot; y=&quot;93&quot; fill=&quot;#991b1b&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;← b?a?&lt;/text&gt;
              &lt;text x=&quot;75&quot; y=&quot;115&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;✅ 해결&lt;/text&gt;
              &lt;text x=&quot;75&quot; y=&quot;130&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;a=평소열림&lt;/text&gt;
              &lt;text x=&quot;75&quot; y=&quot;143&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;b=평소닫힘&lt;/text&gt;
            &lt;/g&gt;
            &lt;!-- 실수 2 --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;152&quot; y=&quot;35&quot; width=&quot;126&quot; height=&quot;112&quot; fill=&quot;#fff&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
              &lt;text x=&quot;215&quot; y=&quot;55&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;❌ 실수 2&lt;/text&gt;
              &lt;text x=&quot;215&quot; y=&quot;73&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;자기유지 위치&lt;/text&gt;
              &lt;rect x=&quot;178&quot; y=&quot;83&quot; width=&quot;28&quot; height=&quot;14&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;192&quot; y=&quot;93&quot; fill=&quot;#1e3a8a&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC-a&lt;/text&gt;
              &lt;text x=&quot;215&quot; y=&quot;110&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;PB와 병렬인데&lt;/text&gt;
              &lt;text x=&quot;215&quot; y=&quot;120&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;직렬로 착각&lt;/text&gt;
              &lt;text x=&quot;215&quot; y=&quot;135&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;✅ PB와 병렬!&lt;/text&gt;
              &lt;text x=&quot;215&quot; y=&quot;148&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;반드시 병렬&lt;/text&gt;
            &lt;/g&gt;
            &lt;!-- 실수 3 --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;292&quot; y=&quot;35&quot; width=&quot;126&quot; height=&quot;112&quot; fill=&quot;#fff&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
              &lt;text x=&quot;355&quot; y=&quot;55&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;❌ 실수 3&lt;/text&gt;
              &lt;text x=&quot;355&quot; y=&quot;73&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;인터록 접점 방향&lt;/text&gt;
              &lt;rect x=&quot;318&quot; y=&quot;83&quot; width=&quot;28&quot; height=&quot;14&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;332&quot; y=&quot;93&quot; fill=&quot;#991b1b&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;MC2-b&lt;/text&gt;
              &lt;text x=&quot;355&quot; y=&quot;110&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;a접점으로&lt;/text&gt;
              &lt;text x=&quot;355&quot; y=&quot;120&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;잘못 기입&lt;/text&gt;
              &lt;text x=&quot;355&quot; y=&quot;135&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;✅ b접점!&lt;/text&gt;
              &lt;text x=&quot;355&quot; y=&quot;148&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;동시기동 차단&lt;/text&gt;
            &lt;/g&gt;
            &lt;!-- 실수 4 --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;432&quot; y=&quot;35&quot; width=&quot;126&quot; height=&quot;112&quot; fill=&quot;#fff&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
              &lt;text x=&quot;495&quot; y=&quot;55&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;❌ 실수 4&lt;/text&gt;
              &lt;text x=&quot;495&quot; y=&quot;73&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;THR 접점 무시&lt;/text&gt;
              &lt;rect x=&quot;458&quot; y=&quot;83&quot; width=&quot;30&quot; height=&quot;14&quot; fill=&quot;#fff&quot; stroke=&quot;#374151&quot; stroke-width=&quot;1.5&quot; rx=&quot;2&quot;/&gt;
              &lt;text x=&quot;473&quot; y=&quot;93&quot; fill=&quot;#111827&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;THR-b&lt;/text&gt;
              &lt;text x=&quot;495&quot; y=&quot;110&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;b접점인데 항상&lt;/text&gt;
              &lt;text x=&quot;495&quot; y=&quot;120&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;열려있다고 착각&lt;/text&gt;
              &lt;text x=&quot;495&quot; y=&quot;135&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;✅ 정상 시 닫힘&lt;/text&gt;
              &lt;text x=&quot;495&quot; y=&quot;148&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;과부하 시 열림&lt;/text&gt;
            &lt;/g&gt;
            &lt;!-- 실수 5 --&gt;
            &lt;g class=&quot;box-appear&quot;&gt;
              &lt;rect x=&quot;572&quot; y=&quot;35&quot; width=&quot;136&quot; height=&quot;112&quot; fill=&quot;#fff&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot;/&gt;
              &lt;text x=&quot;640&quot; y=&quot;55&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;❌ 실수 5&lt;/text&gt;
              &lt;text x=&quot;640&quot; y=&quot;73&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;동작 순서 역순&lt;/text&gt;
              &lt;text x=&quot;640&quot; y=&quot;90&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;출력→입력 역으로&lt;/text&gt;
              &lt;text x=&quot;640&quot; y=&quot;103&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;해석하는 실수&lt;/text&gt;
              &lt;text x=&quot;640&quot; y=&quot;120&quot; fill=&quot;#059669&quot; font-size=&quot;10&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;✅ 항상 L1→L2&lt;/text&gt;
              &lt;text x=&quot;640&quot; y=&quot;135&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;위→아래 방향&lt;/text&gt;
              &lt;text x=&quot;640&quot; y=&quot;148&quot; fill=&quot;#374151&quot; font-size=&quot;9&quot; text-anchor=&quot;middle&quot; font-family=&quot;sans-serif&quot;&gt;입력부터 순서대로&lt;/text&gt;
            &lt;/g&gt;
          &lt;/svg&gt;
        &lt;/div&gt;
        &lt;p class=&quot;svg-caption&quot;&gt;▲ 자주 틀리는 5가지 실수 — 이 패턴만 잡아도 정답률이 즉시 올라갑니다.&lt;/p&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;animateMistakes()&quot;&gt;▶ 순서대로 등장&lt;/button&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetMistakes()&quot;&gt;  초기화&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;warning-box&quot;&gt;
        실수 2번(자기유지 위치)과 3번(인터록 접점 방향)이 한 문제에 동시에 나오면 체감 난이도가 급상승해요. 이 두 가지를 함께 연습하는 게 3일 플랜의 핵심 포인트입니다. 위 시뮬레이터에서 직접 조건을 바꿔가며 연습해보세요.
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 자가진단 퀴즈 ── --&gt;
    &lt;section id=&quot;quiz&quot;&gt;
      &lt;h2&gt;✅ 자가진단 퀴즈 — 지금 실력 확인&lt;/h2&gt;
      &lt;p&gt;이 표 저장해두면 시험장에서 30초 절약됩니다. 퀴즈 먼저 돌려보고 틀린 부분만 다시 보세요.&lt;/p&gt;

      &lt;div class=&quot;quiz-box&quot; id=&quot;quizBox&quot;&gt;
        &lt;div id=&quot;quizContent&quot;&gt;
          &lt;div class=&quot;quiz-question&quot; id=&quot;quizQ&quot;&gt;문제 로딩 중...&lt;/div&gt;
          &lt;div class=&quot;quiz-options&quot; id=&quot;quizOpts&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;quiz-feedback&quot; id=&quot;quizFeedback&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-nav&quot;&gt;
          &lt;button class=&quot;calc-btn&quot; id=&quot;nextBtn&quot; onclick=&quot;nextQuestion()&quot; style=&quot;display:none;&quot;&gt;다음 문제 →&lt;/button&gt;
        &lt;/div&gt;
        &lt;div style=&quot;font-size:13px;color:var(--text-secondary);margin-top:10px;&quot; id=&quot;quizProgress&quot;&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 합격 전략 ── --&gt;
    &lt;section id=&quot;strategy&quot;&gt;
      &lt;h2&gt;  합격 전략 &amp; 3일 독학 플랜&lt;/h2&gt;

      &lt;!-- 에피소드 3 --&gt;
      &lt;div class=&quot;tip-box&quot;&gt;
        &lt;strong&gt;  수험생 에피소드 #3&lt;/strong&gt;&lt;br&gt;
        2025년 2회차 합격자 이야기예요. 퇴근 후 지하철에서 하루 40분씩 3일, 이 글의 4가지 패턴만 반복 암기했대요. 시험장에서 시퀀스 6문항을 본 순간 &quot;이건 자기유지 + 인터록 복합이네&quot; 하고 바로 그림이 그려지더래요. 패턴을 익힌 결과예요. 공식을 외우는 게 아니라 &lt;b&gt;회로를 읽는 눈&lt;/b&gt;을 키우는 것이 핵심입니다.
      &lt;/div&gt;

      &lt;h3&gt;  3일 독학 플랜 (하루 40분)&lt;/h3&gt;
      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;일차&lt;/th&gt;&lt;th&gt;학습 내용&lt;/th&gt;&lt;th&gt;시간&lt;/th&gt;&lt;th&gt;목표&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;1일차&lt;/td&gt;&lt;td&gt;기본 기호 8개 암기 + AND/OR 패턴 회로 직접 그리기&lt;/td&gt;&lt;td&gt;40분&lt;/td&gt;&lt;td&gt;기호 보지 않고 그릴 수 있기&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;2일차&lt;/td&gt;&lt;td&gt;자기유지·인터록 + 소방 특화 회로 3종 분석&lt;/td&gt;&lt;td&gt;40분&lt;/td&gt;&lt;td&gt;소방펌프 기동 회로 혼자 그리기&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;3일차&lt;/td&gt;&lt;td&gt;기출 시퀀스 문항 10개 + 오답 노트 작성&lt;/td&gt;&lt;td&gt;40분&lt;/td&gt;&lt;td&gt;틀린 접점 위치 다 잡기&lt;/td&gt;&lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;highlight-box&quot;&gt;
        &lt;strong&gt;  독학 효율 높이는 팁&lt;/strong&gt;&lt;br&gt;
        시퀀스 회로는 교재 반복보다 &lt;b&gt;직접 그리기&lt;/b&gt;가 10배 효과적이에요. A4 한 장에 패턴 4가지를 매일 한 번씩 손으로 그리면 3일 후에는 눈 감고도 그릴 수 있어요. CBT 시험에서 실제 회로도를 보자마자 &quot;이건 자기유지 + 인터록&quot;이라고 분류가 되는 그 순간이 목표입니다.
      &lt;/div&gt;

      &lt;!-- VALUE 키워드 연결 내부 링크 --&gt;
      &lt;div class=&quot;info-box&quot;&gt;
        소방설비기사 합격 후 연봉이나 취업 전망이 궁금하신가요?&lt;br&gt;
        → &lt;a href=&quot;https://etmusso72.tistory.com/120&quot; style=&quot;color:var(--primary-color);font-weight:700;&quot;&gt;소방전기 오답노트 템플릿 공개 — 합격 후 커리어 전략까지 정리한 글 보기&lt;/a&gt;
      &lt;/div&gt;

      &lt;div class=&quot;link-group&quot;&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/114&quot; class=&quot;internal-link&quot;&gt;  비상경보설비 — 소방전기에서 이렇게 물어보면 100% 틀린다 (세트 출제!)&lt;/a&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/46&quot; class=&quot;internal-link&quot;&gt;⚡ 전기기사 실기 시퀀스 — PLC 몰라도 점수 따는 해석법 (전기기사 병행 수험생 필독)&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 참고문헌 --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h4&gt;  참고 기준 및 출처&lt;/h4&gt;
      &lt;ul style=&quot;list-style:disc;padding-left:18px;line-height:2;&quot;&gt;
        &lt;li&gt;소방설비기사 전기편 출제기준 — 한국소방산업기술원 (2026년 기준)&lt;/li&gt;
        &lt;li&gt;소방시설 설치 및 관리에 관한 법률 시행령 (2026.01 기준)&lt;/li&gt;
        &lt;li&gt;KS C 0301 전기 기호 표준 (시퀀스 제어 기호)&lt;/li&gt;
        &lt;li&gt;소방설비기사 전기편 기출문제집 2022~2025 (각 회차 CBT 복원)&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;

    &lt;!-- 업데이트 히스토리 --&gt;
    &lt;ul class=&quot;update-history&quot;&gt;
      &lt;li&gt;2026.06.01 — 2025년 2회차 기출 반영 및 인터랙티브 시뮬레이터 추가&lt;/li&gt;
      &lt;li&gt;2026.03.15 — 소방 특화 회로 3종 SVG 애니메이션 업데이트&lt;/li&gt;
      &lt;li&gt;2026.01.10 — 최초 작성 (2026년 기준)&lt;/li&gt;
    &lt;/ul&gt;

    &lt;!-- 콘텐츠 평가 --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;p style=&quot;font-weight:700;margin-bottom:4px;&quot;&gt;이 글이 도움이 됐나요?&lt;/p&gt;
      &lt;p style=&quot;font-size:13px;color:var(--text-secondary);&quot;&gt;평가해주시면 더 좋은 글을 작성하는 데 큰 힘이 됩니다  &lt;/p&gt;
      &lt;div class=&quot;rating-btns&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good', this)&quot;&gt;  도움됐어요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('mid', this)&quot;&gt;  보통이에요&lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad', this)&quot;&gt;  아쉬워요&lt;/button&gt;
      &lt;/div&gt;
      &lt;p id=&quot;ratingMsg&quot; style=&quot;margin-top:10px;font-size:14px;color:var(--primary-color);display:none;&quot;&gt;&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ── FAQ ── --&gt;
    &lt;section id=&quot;faq&quot; class=&quot;faq-section&quot;&gt;
      &lt;h2&gt;❓ FAQ — 자주 묻는 질문&lt;/h2&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;소방전기 시퀀스를 3일 만에 독학할 수 있나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;네, 기본 패턴 4가지(AND·OR·자기유지·인터록)를 집중적으로 익히면 충분히 가능합니다. 하루 40분씩 3일, 이 글의 플랜대로 따라오시면 돼요. 전체 회로를 한 번에 이해하려 하지 말고, 입력부→제어소자→출력부 3구간으로 쪼개서 읽는 습관을 먼저 만드는 것이 핵심이에요.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;소방전기 시퀀스 제어 공부에서 가장 중요한 것은?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;입력부터 출력까지 L1(+) → L2(N) 방향으로 순서대로 따라 읽는 습관입니다. 이것이 안 되면 아무리 기호를 외워도 문제에서 막혀요. 특히 보조 릴레이(R)의 a접점이 어디에 연결되어 다음 소자를 동작시키는지를 추적하는 눈을 기르는 것이 핵심이에요.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;소방설비기사 전기편에서 가장 자주 나오는 시퀀스 패턴은?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;AND(직렬), OR(병렬), 자기유지, 인터록 4가지가 기본이고, 시험에서는 이를 복합 적용한 &quot;소방펌프 자동·수동 겸용 기동 회로&quot;와 &quot;감지기→릴레이→경보기 연동 회로&quot;가 가장 많이 나와요. 2024~2025년 기출에서는 자기유지 + 인터록을 동시에 적용한 복합 회로가 2문항 연속 출제된 사례도 있습니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;PLC 없이도 소방전기 시퀀스를 공부할 수 있나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;네, 완전히 가능합니다. 소방설비기사 전기편 필기·실기 모두 릴레이 시퀀스 회로 기반으로 출제돼요. PLC 지식은 전혀 필요 없습니다. 오히려 PLC 지식이 있으면 래더 다이어그램과 혼동하는 경우가 있어서, 릴레이 시퀀스 기호와 동작 원리에만 집중하시는 게 좋아요.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;소방설비기사 합격 후 어떤 취업 분야로 갈 수 있나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;소방설비기사(전기편) 취득 후에는 소방설비 시공·감리 업체, 소방 점검 전문 업체, 건설사 소방팀, 소방설비 유지보수 업체 등 다양한 분야로 진출할 수 있습니다. 2026년 기준 소방 관련 의무 설치 건물이 확대됨에 따라 전망이 좋아지고 있어요. 자세한 취업 전망과 연봉 변화는 &lt;a href=&quot;https://etmusso72.tistory.com/120&quot; style=&quot;color:var(--primary-color);font-weight:700;&quot;&gt;이 글&lt;/a&gt;에서 확인해보세요.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 내부 링크 — 비교 선택 카드 (STEP 4) ── --&gt;
    &lt;section&gt;
      &lt;h2&gt;  다음으로 볼 글 — 이 두 가지 중 하나는 반드시 확인하세요&lt;/h2&gt;
      &lt;p&gt;&lt;strong&gt;시퀀스 제어 + 아래 중 하나가 세트로 출제됩니다. 지금 확인 안 하면 다음 파트도 같이 흔들려요.&lt;/strong&gt;&lt;/p&gt;

      &lt;div class=&quot;choice-cards&quot;&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/117&quot; class=&quot;choice-card&quot; onclick=&quot;trackChoice('자동화재탐지설비')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;자동화재탐지설비&lt;br&gt;실무 연계 암기 포인트&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;시퀀스 이해 후 반드시 연결되는 파트&lt;br&gt;감지기 종류별 회로 연동 포인트 정리&lt;/div&gt;
        &lt;/a&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/114&quot; class=&quot;choice-card&quot; onclick=&quot;trackChoice('비상경보설비')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;비상경보설비&lt;br&gt;100% 틀리는 유형 공략&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;이렇게 물어보면 다 틀린다는 유형&lt;br&gt;시퀀스와 함께 세트 출제 확인됨&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;
      &lt;p style=&quot;text-align:center;font-size:14px;color:var(--text-secondary);&quot;&gt;  둘 다 시퀀스 제어와 연동해서 출제됩니다. 시퀀스 익혔다면 이 두 파트도 함께 잡으세요.&lt;/p&gt;
    &lt;/section&gt;

    &lt;!-- ── 결론 박스 ── --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;  핵심 요약 — 이것만 기억하세요&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;시퀀스 회로 해석은 L1(+)에서 L2(N) 방향으로, 입력부→제어소자→출력부 순서로 읽는다&lt;/li&gt;
        &lt;li&gt;AND(직렬)·OR(병렬)·자기유지(MC-a 병렬)·인터록(MC-b 직렬) 4패턴이 모든 소방 시퀀스의 기초다&lt;/li&gt;
        &lt;li&gt;a접점=평상시 열림(누르면 닫힘), b접점=평상시 닫힘(MC 동작 시 열림) — 이 하나가 12점을 좌우한다&lt;/li&gt;
      &lt;/ul&gt;

      &lt;div class=&quot;conclusion-next-step&quot;&gt;
        &lt;strong&gt;  다음 학습 방향 — 2가지 중 하나를 선택하세요&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
        &lt;strong&gt;A. 자동화재탐지설비&lt;/strong&gt; → 시퀀스와 연동되는 감지기 회로 패턴 마스터&lt;br&gt;
        &lt;strong&gt;B. 비상경보설비 함정 유형&lt;/strong&gt; → 시퀀스 + 경보 세트 출제 대비&lt;br&gt;&lt;br&gt;
        지금 A와 B 중 아직 안 본 파트를 바로 열어보세요. 세트로 출제되기 때문에 하나만 알면 반쪽짜리예요.
      &lt;/div&gt;

      &lt;div style=&quot;margin-top:20px;padding:16px;background:rgba(255,255,255,0.12);border-radius:10px;&quot;&gt;
        &lt;p style=&quot;color:#fff;font-size:14px;margin-bottom:8px;&quot;&gt;
            &lt;strong&gt;지금 공부 중인 파트에서 가장 헷갈리는 기호나 회로를 댓글로 알려주세요!&lt;/strong&gt;&lt;br&gt;
          댓글 많이 달리는 주제를 다음 글 주제로 선정해드릴게요  &lt;br&gt;
          댓글 안 달면 어떤 게 어려운지 모르니까, 이 기회에 꼭 남겨주세요.
        &lt;/p&gt;
        &lt;p style=&quot;color:rgba(255,255,255,0.85);font-size:14px;&quot;&gt;
          ⭐ 전기기사·소방설비기사 전 과목 핵심 정리 글을 순서대로 올리고 있어요.&lt;br&gt;
          &lt;a href=&quot;https://etmusso72.tistory.com/&quot; style=&quot;color:#fbbf24;font-weight:700;&quot;&gt;블로그 즐겨찾기&lt;/a&gt; 해두시면 다음 글 바로 확인할 수 있습니다!
        &lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 소셜 공유 --&gt;
    &lt;section class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 글이 도움되셨다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;같은 소방설비기사 준비 중인 스터디 친구에게 공유하면 서로 도움이 돼요. 카카오톡 공유 버튼 눌러보세요  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;  카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/113&quot;
           class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;f 페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https://etmusso72.tistory.com/113&amp;text=소방전기 시퀀스 제어 3일 독학법 — 모르면 12점 날려요&quot;
           class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;  공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 댓글 영역 --&gt;
    &lt;div style=&quot;background:#f8fafc;border-radius:12px;padding:20px;text-align:center;color:var(--text-secondary);font-size:14px;&quot;&gt;
        티스토리 댓글로 질문·공부 인증·틀린 포인트 공유 환영합니다!
    &lt;/div&gt;

  &lt;/article&gt;
&lt;/main&gt;

&lt;!-- ======================== JavaScript ======================== --&gt;
&lt;script&gt;
// 1. 읽기 진행 바
window.addEventListener('scroll', () =&gt; {
  const el = document.documentElement;
  const scrolled = el.scrollTop / (el.scrollHeight - el.clientHeight) * 100;
  document.getElementById('progressBar').style.width = scrolled + '%';
  document.getElementById('progressPct').textContent = Math.round(scrolled) + '%';
});

// 2. 목차 토글
function toggleTOC() {
  const c = document.getElementById('tocContent');
  const a = document.getElementById('tocArrow');
  const btn = c.previousElementSibling;
  const isOpen = c.classList.toggle('open');
  a.textContent = isOpen ? '▲' : '▼';
  btn.setAttribute('aria-expanded', isOpen);
}

// 3. SVG 애니메이션 컨트롤
function toggleAnim(id, btn) {
  const el = document.getElementById(id);
  if (!el) return;
  const paused = el.style.animationPlayState === 'paused';
  el.style.animationPlayState = paused ? 'running' : 'paused';
  btn.textContent = paused ? '⏸ 전류 흐름 일시정지' : '▶ 전류 흐름 재생';
}
function resetAnim1() {
  const el = document.getElementById('and-flow');
  if (!el) return;
  el.style.animation = 'none';
  el.offsetHeight;
  el.style.animation = 'currentFlow 1.2s linear infinite';
  el.style.animationPlayState = 'running';
}
function resetFireAnim() {
  const el = document.getElementById('fire-flow1');
  if (!el) return;
  el.style.animation = 'none';
  el.offsetHeight;
  el.style.animation = 'currentFlow 1.2s linear infinite';
  el.style.animationPlayState = 'running';
}

// 4. 상황 선택 시뮬레이터
function showScenario(type) {
  document.querySelectorAll('.scenario-content').forEach(el =&gt; el.classList.remove('visible'));
  document.querySelectorAll('.scenario-btn').forEach(el =&gt; el.classList.remove('active'));
  document.getElementById('scenario-' + type)?.classList.add('visible');
  event.target.classList.add('active');
}

// 5. 계산기 1: 소방펌프 타이머 계산
function calcPumpTime() {
  const allow = parseFloat(document.getElementById('allowTime').value) || 30;
  const relay = parseFloat(document.getElementById('relayDelay').value) || 3;
  const pump = parseFloat(document.getElementById('pumpStart').value) || 2;
  const tr = allow - relay - pump;
  const res = document.getElementById('pumpResult');
  const val = document.getElementById('trValue');
  const judge = document.getElementById('pumpJudge');
  res.classList.add('visible');
  val.textContent = Math.max(0, tr.toFixed(1));
  if (tr &gt; 0) {
    judge.textContent = `✅ 타이머(TR) 설정값은 최대 ${tr.toFixed(1)}초 이내로 설정해야 합니다. 이 값보다 크면 허용 기동 시간을 초과해요.`;
    judge.style.color = '#059669';
  } else {
    judge.textContent = `⚠️ 릴레이 지연 + 펌프 기동 시간이 허용 시간을 초과했어요. 설정값을 조정해주세요.`;
    judge.style.color = '#dc2626';
  }
}

// 6. 계산기 2: 회로 접점 분석
function calcCircuit() {
  const a = parseInt(document.getElementById('aContacts').value) || 2;
  const b = parseInt(document.getElementById('bContacts').value) || 1;
  const p = parseInt(document.getElementById('parallelPaths').value) || 2;
  const res = document.getElementById('circuitResult');
  const val = document.getElementById('circuitValue');
  const desc = document.getElementById('circuitDesc');
  res.classList.add('visible');
  const andConds = a + b;
  val.textContent = `직렬 조건 ${andConds}개 AND, 병렬 경로 ${p}개 OR`;
  desc.innerHTML = `
    &lt;span style=&quot;color:#059669;&quot;&gt;✅ a접점 ${a}개는 모두 닫혀야(ON) 전류 흐름&lt;/span&gt;&lt;br&gt;
    &lt;span style=&quot;color:#dc2626;&quot;&gt;✅ b접점 ${b}개는 모두 열리지 않아야(정상 상태) 전류 유지&lt;/span&gt;&lt;br&gt;
    &lt;span style=&quot;color:#1e40af;&quot;&gt;✅ 병렬 경로 ${p}개 중 하나 이상 조건 충족 시 MC 동작&lt;/span&gt;&lt;br&gt;
    &lt;span style=&quot;font-size:13px;color:#4b5563;&quot;&gt;→ CBT에서는 이 조건 중 하나를 바꿔서 &quot;동작 여부를 고르시오&quot; 형태로 출제됩니다.&lt;/span&gt;
  `;
}

// 7. FAQ 아코디언
function toggleFAQ(el) {
  const item = el.closest('.faq-item');
  const isActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(i =&gt; i.classList.remove('active'));
  if (!isActive) item.classList.add('active');
}

// 8. 콘텐츠 평가
function rateContent(type, btn) {
  document.querySelectorAll('.rating-btn').forEach(b =&gt; b.classList.remove('selected'));
  btn.classList.add('selected');
  const msgs = { good: '감사합니다! 더 좋은 글로 보답할게요  ', mid: '소중한 피드백 감사해요. 더 개선하겠습니다!', bad: '불편한 점을 댓글로 알려주시면 바로 수정할게요!' };
  const msg = document.getElementById('ratingMsg');
  msg.textContent = msgs[type];
  msg.style.display = 'block';
  localStorage.setItem('rating_113', type);
}

// 9. 북마크
function toggleBookmark() {
  const btn = document.getElementById('bookmarkBtn');
  const isActive = btn.classList.toggle('active');
  btn.textContent = isActive ? '★' : '☆';
  localStorage.setItem('bookmark_113', isActive ? '1' : '0');
  if (isActive) alert('✅ 북마크 완료! 시험 직전에 바로 꺼내 쓸 수 있어요. 계산기 페이지 저장해두면 시험 3일 전에 진짜 유용합니다.');
}

// 10. 카카오 공유
function shareKakao() {
  const url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
    }).catch(() =&gt; fallbackCopy(url));
  } else { fallbackCopy(url); }
}
function fallbackCopy(url) {
  const t = document.createElement('textarea');
  t.value = url; document.body.appendChild(t);
  t.select(); document.execCommand('copy');
  document.body.removeChild(t);
  alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
}

// 11. 이미지 지연 로딩
if ('IntersectionObserver' in window) {
  const imgs = document.querySelectorAll('img[loading=&quot;lazy&quot;]');
  const obs = new IntersectionObserver((entries) =&gt; {
    entries.forEach(e =&gt; { if (e.isIntersecting) { e.target.src = e.target.dataset.src || e.target.src; obs.unobserve(e.target); }});
  });
  imgs.forEach(img =&gt; obs.observe(img));
}

// 12. 키보드 네비게이션
document.addEventListener('keydown', e =&gt; {
  if (e.altKey) {
    const map = { '1': '#basics', '2': '#fire-circuits', '3': '#calculator', '4': '#strategy', 'b': '#' };
    const target = map[e.key];
    if (target &amp;&amp; target !== '#') { e.preventDefault(); document.querySelector(target)?.scrollIntoView({ behavior: 'smooth' }); }
    else if (target === '#') { e.preventDefault(); toggleBookmark(); }
  }
});

// 13. 스크롤 위치 저장
window.addEventListener('beforeunload', () =&gt; {
  localStorage.setItem('scroll_113', window.scrollY);
});
window.addEventListener('load', () =&gt; {
  const pos = localStorage.getItem('scroll_113');
  const rating = localStorage.getItem('rating_113');
  const bm = localStorage.getItem('bookmark_113');
  if (pos) window.scrollTo(0, parseInt(pos));
  if (bm === '1') { const btn = document.getElementById('bookmarkBtn'); btn.classList.add('active'); btn.textContent = '★'; }
});

// 14. 앵커 버튼 부드러운 스크롤 (신규 17번)
document.querySelectorAll('.anchor-btn').forEach(btn =&gt; {
  btn.addEventListener('click', e =&gt; {
    e.preventDefault();
    const target = document.querySelector(btn.getAttribute('href'));
    if (target) target.scrollIntoView({ behavior: 'smooth', block: 'start' });
  });
});

// 15. 막대 그래프 애니메이션 (신규 18번)
function animateBarChart() {
  const fills = document.querySelectorAll('.chart-bar-fill');
  fills.forEach((el, i) =&gt; {
    setTimeout(() =&gt; {
      const target = el.dataset.target;
      el.style.width = target;
    }, i * 180);
  });
}
function resetBarChart() {
  document.querySelectorAll('.chart-bar-fill').forEach(el =&gt; el.style.width = '0%');
}

// 막대 그래프 클릭 시 팝업 (신규)
const popupData = {
  '2022': { title: '2022년 출제 유형', body: '• 자기유지 회로 접점 찾기 (2문항)\n• a·b접점 구분 문제 (2문항)\n→ 난이도: 중, 합격자 정답률 78%' },
  '2023': { title: '2023년 출제 유형', body: '• 인터록 회로 동작 조건 (2문항)\n• 감지기 연동 시퀀스 순서 (2문항)\n→ 난이도: 중상, 합격자 정답률 71%' },
  '2024': { title: '2024년 출제 유형', body: '• 소방펌프 자동·수동 겸용 기동 회로 해석 (2문항)\n• 감지기→경보기 연동 순서 (2문항)\n• THR-b 접점 역할 (1문항)\n→ 난이도: 상, 합격자 정답률 64%' },
  '2025': { title: '2025년 출제 유형', body: '• 정역 인터록 + 자기유지 복합 문항 (2문항)\n• MC 보조 a접점 위치 찾기 (2문항)\n• 보조 릴레이 동작 조건 (2문항)\n→ 난이도: 상, 합격자 정답률 59%' },
  '2026': { title: '2026년 예상 출제 유형', body: '• 복합 패턴 회로 해석 (자기유지+인터록)\n• 감지기 연동 시퀀스 동작 조건\n• PB 조건 변경 시 동작 여부 판단\n→ 예상 출제: 5~6문항, 반드시 준비 필요!' }
};
function showChartPopup(year) {
  const d = popupData[year];
  if (!d) return;
  document.getElementById('popupTitle').textContent = d.title;
  document.getElementById('popupBody').textContent = d.body;
  document.getElementById('chartPopup').classList.add('show');
}

// 16. 선택 카드 클릭 추적 (신규 19번)
function trackChoice(name) {
  console.log('[Choice Card Clicked]:', name, new Date().toISOString());
}

// 17. 실수 유형 SVG 애니메이션
function animateMistakes() {
  document.querySelectorAll('.box-appear').forEach((el, i) =&gt; {
    el.style.opacity = '0';
    el.style.transform = 'translateY(18px)';
    setTimeout(() =&gt; {
      el.style.transition = 'opacity 0.45s ease, transform 0.45s ease';
      el.style.opacity = '1';
      el.style.transform = 'translateY(0)';
    }, i * 220);
  });
}
function resetMistakes() {
  document.querySelectorAll('.box-appear').forEach(el =&gt; {
    el.style.transition = 'none';
    el.style.opacity = '0';
    el.style.transform = 'translateY(18px)';
  });
}

// 18. 막대 차트 IntersectionObserver (자동 진입 시 실행)
const chartObs = new IntersectionObserver((entries) =&gt; {
  entries.forEach(e =&gt; { if (e.isIntersecting) { setTimeout(animateBarChart, 300); chartObs.unobserve(e.target); }});
}, { threshold: 0.3 });
const chartEl = document.getElementById('examChart');
if (chartEl) chartObs.observe(chartEl);

// 19. 자가진단 퀴즈
const quizData = [
  {
    q: 'Q1. a접점(Normally Open)의 평상시 상태는?',
    opts: ['닫혀 있음 (전류 흐름)', '열려 있음 (전류 차단)', '조건에 따라 다름', '반복 개폐'],
    ans: 1,
    fb: '✅ 정답! a접점은 평상시 열려(개방) 있다가, 코일에 전류가 흐르면 닫힙니다. &quot;a=아무것도 안 함(열림)&quot;으로 암기하세요.'
  },
  {
    q: 'Q2. 소방펌프 PB-ON 버튼을 누른 후 손을 떼어도 MC가 계속 동작하는 이유는?',
    opts: ['THR이 과전류를 차단하기 때문', 'MC-a 보조 a접점이 PB-ON과 병렬로 자기유지를 구성하기 때문', 'PB-OFF 버튼이 열려 있기 때문', 'L1 전원이 계속 공급되기 때문'],
    ans: 1,
    fb: '✅ 정답! MC가 동작하면 MC-a 보조 a접점이 닫혀 PB-ON에 병렬로 전류를 흘려 자기유지를 구성합니다. 이 접점 위치를 회로도에서 바로 찾을 수 있어야 해요.'
  },
  {
    q: 'Q3. 인터록 회로에서 MC2가 동작 중일 때 MC1의 기동을 차단하는 소자는?',
    opts: ['MC2-a (MC2 보조 a접점)', 'MC2-b (MC2 보조 b접점)', 'THR-b (열동 과부하계전기 b접점)', 'PB-OFF (정지 버튼)'],
    ans: 1,
    fb: '✅ 정답! MC2 동작 시 MC2-b(보조 b접점)가 열려서 MC1 코일로 가는 회로를 차단합니다. b접점은 평상시 닫혀 있다가 MC2 동작 시 열리는 것 기억하세요.'
  },
  {
    q: 'Q4. THR(열동형 과부하계전기)의 b접점이 시퀀스 회로에서 갖는 역할은?',
    opts: ['MC 코일의 자기유지 접점 역할', '과전류 발생 시 회로를 차단하는 보호 역할', '감지기 신호 입력을 증폭하는 역할', '정역 전환 시 인터록 역할'],
    ans: 1,
    fb: '✅ 정답! THR-b는 정상 상태에서 닫혀 있다가, 과전류(과부하)가 발생하면 열려서 MC 코일 회로를 차단해 모터를 보호합니다.'
  },
  {
    q: 'Q5. 감지기에서 신호가 입력되어 보조 릴레이(R) 코일이 여자되었다. 이때 R-a 접점의 상태는?',
    opts: ['열린 상태 유지 (NC)', '닫힘 → 경보 회로 ON (NO→NC로 전환)', '변화 없음', 'b접점과 동시에 닫힘'],
    ans: 1,
    fb: '✅ 정답! R-a 접점은 평상시 열려(NO) 있다가, R 코일이 여자(동작)되면 닫혀서 경보 회로를 ON시킵니다. 이게 감지기→릴레이→경보기 연동 회로의 핵심이에요.'
  }
];
let currentQ = 0;
let score = 0;
let answered = false;

function loadQuiz() {
  if (currentQ &gt;= quizData.length) {
    document.getElementById('quizContent').innerHTML = `
      &lt;div class=&quot;quiz-score&quot;&gt;
          최종 점수: ${score} / ${quizData.length}&lt;br&gt;
        &lt;span style=&quot;font-size:14px;font-weight:400;color:var(--text-secondary);&quot;&gt;
          ${score === quizData.length ? '완벽합니다! 3일 플랜 완료 기준 달성이에요  ' :
            score &gt;= 3 ? '잘 하셨어요! 틀린 문항 다시 확인해보세요.' :
            '기본 패턴을 다시 한 번 읽어보세요. 틀린 부분 위주로 복습하면 돼요.'}
        &lt;/span&gt;
      &lt;/div&gt;
      &lt;button class=&quot;calc-btn&quot; onclick=&quot;restartQuiz()&quot;&gt;  다시 풀기&lt;/button&gt;
    `;
    document.getElementById('nextBtn').style.display = 'none';
    return;
  }
  const q = quizData[currentQ];
  answered = false;
  document.getElementById('quizQ').textContent = q.q;
  document.getElementById('quizOpts').innerHTML = q.opts.map((o, i) =&gt;
    `&lt;button class=&quot;quiz-option&quot; onclick=&quot;answerQuiz(${i})&quot;&gt;${o}&lt;/button&gt;`
  ).join('');
  document.getElementById('quizFeedback').className = 'quiz-feedback';
  document.getElementById('quizFeedback').textContent = '';
  document.getElementById('nextBtn').style.display = 'none';
  document.getElementById('quizProgress').textContent = `문제 ${currentQ + 1} / ${quizData.length}`;
}

function answerQuiz(idx) {
  if (answered) return;
  answered = true;
  const q = quizData[currentQ];
  const opts = document.querySelectorAll('.quiz-option');
  opts.forEach(o =&gt; o.disabled = true);
  const fb = document.getElementById('quizFeedback');
  if (idx === q.ans) {
    opts[idx].classList.add('correct');
    fb.className = 'quiz-feedback show';
    fb.style.background = '#f0fdf4'; fb.style.color = '#14532d'; fb.style.border = '1px solid #86efac';
    fb.textContent = q.fb;
    score++;
  } else {
    opts[idx].classList.add('wrong');
    opts[q.ans].classList.add('correct');
    fb.className = 'quiz-feedback show';
    fb.style.background = '#fff1f2'; fb.style.color = '#991b1b'; fb.style.border = '1px solid #fca5a5';
    fb.textContent = '❌ 오답! ' + q.fb;
  }
  document.getElementById('nextBtn').style.display = currentQ &lt; quizData.length - 1 ? 'block' : 'none';
  if (currentQ === quizData.length - 1) {
    const finBtn = document.createElement('button');
    finBtn.className = 'calc-btn';
    finBtn.textContent = '  결과 보기';
    finBtn.onclick = () =&gt; { currentQ = quizData.length; loadQuiz(); };
    document.querySelector('.quiz-nav').appendChild(finBtn);
  }
}

function nextQuestion() {
  currentQ++;
  loadQuiz();
}
function restartQuiz() {
  currentQ = 0; score = 0; answered = false;
  document.getElementById('quizContent').innerHTML = `
    &lt;div class=&quot;quiz-question&quot; id=&quot;quizQ&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;quiz-options&quot; id=&quot;quizOpts&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;quiz-feedback&quot; id=&quot;quizFeedback&quot;&gt;&lt;/div&gt;
  `;
  document.getElementById('nextBtn').style.display = 'none';
  loadQuiz();
}

window.addEventListener('load', loadQuiz);
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 소방전기 시퀀스 모르면 전기편에서만 12점 날린다 — 2024~2025년 3회 연속 출제 증거
제목2: 2026 소방설비기사 합격자가 시퀀스 제어 공부한 실제 방법 — 3일 40분씩 완전 정복

키워드(HOW형3): 소방전기 시퀀스 제어 독학 방법, 소방설비기사 시퀀스 회로 해석 순서, 소방전기 인터록 자기유지 외우는 법
키워드(WHICH형2): 소방설비기사 전기편 vs 기계편 어느 게 쉬울까, 소방전기 독학 vs 학원 공부법 비교
키워드(RESULT형1): 소방설비기사 전기편 필기 합격 공략법
키워드(VALUE형4): 소방설비기사 취득 후 연봉 변화, 소방설비기사 독학 합격 비용 얼마, 소방설비기사 취업 전망 2026, 소방설비기사 vs 소방안전관리자 어느 게 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>소방설비기사 vs 소방안전관리자 어느 게 유리할까</category>
      <category>소방설비기사 독학 합격 비용 얼마</category>
      <category>소방설비기사 시퀀스 회로 해석 순서</category>
      <category>소방설비기사 전기편 vs 기계편 어느 게 쉬울까</category>
      <category>소방설비기사 전기편 필기 합격 공략법</category>
      <category>소방설비기사 취득 후 연봉 변화</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 독학 vs 학원 공부법 비교</category>
      <category>소방전기 시퀀스 제어 독학 방법</category>
      <category>소방전기 인터록 자기유지 외우는 법</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/113</guid>
      <comments>https://etmusso72.tistory.com/113#entry113comment</comments>
      <pubDate>Fri, 8 May 2026 23:27:46 +0900</pubDate>
    </item>
    <item>
      <title>P형 R형 수신기 차이 모르면 소방전기에서만 5점 날린다 &amp;mdash; 3년 연속 출제 증거</title>
      <link>https://etmusso72.tistory.com/112</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
  &lt;meta name=&quot;description&quot; content=&quot;P형 수신기와 R형 수신기 차이, 소방전기 시험 5점 꿀팁 | 두 수신기 정확 구분법과 기출 핵심 포인트 완전 정리 | etmusso72&quot;&gt;
  &lt;meta name=&quot;keywords&quot; content=&quot;P형 수신기 R형 수신기 차이, 소방설비기사 수신기, 소방전기 P형 R형, 소방전기 수신기 기출, 자동화재탐지설비 수신기&quot;&gt;
  &lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
  &lt;title&gt;P형 수신기와 R형 수신기 차이, 소방전기 시험 5점 꿀팁 | etmusso72&lt;/title&gt;

  &lt;!-- Open Graph --&gt;
  &lt;meta property=&quot;og:title&quot; content=&quot;P형 수신기와 R형 수신기 차이, 소방전기 시험 5점 꿀팁&quot;&gt;
  &lt;meta property=&quot;og:description&quot; content=&quot;P형 수신기와 R형 수신기 차이, 소방전기 시험 5점 꿀팁 | 정확 구분법 | etmusso72&quot;&gt;
  &lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&quot;&gt;
  &lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/112&quot;&gt;
  &lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;

  &lt;!-- Canonical --&gt;
  &lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/112&quot;&gt;

  &lt;!-- Google Fonts --&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
  &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;

  &lt;!-- JSON-LD --&gt;
  &lt;script type=&quot;application/ld+json&quot;&gt;
  {
    &quot;@context&quot;: &quot;https://schema.org&quot;,
    &quot;@graph&quot;: [
      {
        &quot;@type&quot;: &quot;Article&quot;,
        &quot;headline&quot;: &quot;P형 수신기와 R형 수신기 차이, 소방전기 시험 5점 꿀팁&quot;,
        &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
        &quot;datePublished&quot;: &quot;2026-01-01&quot;,
        &quot;dateModified&quot;: &quot;2026-05-01&quot;,
        &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
        &quot;url&quot;: &quot;https://etmusso72.tistory.com/112&quot;
      },
      {
        &quot;@type&quot;: &quot;FAQPage&quot;,
        &quot;mainEntity&quot;: [
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;P형 수신기와 R형 수신기의 가장 큰 차이는?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;P형은 공통신호 방식(단독 감지선로), R형은 고유신호 방식(다중통신)으로 회선 수와 설치 규모가 다릅니다.&quot;}},
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;시험에서 어떻게 출제되나요?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;두 수신기의 최대 회선 수, 설치 기준(경계구역 수), 신호 방식 비교 문제가 자주 나옵니다.&quot;}}
        ]
      },
      {
        &quot;@type&quot;: &quot;BreadcrumbList&quot;,
        &quot;itemListElement&quot;: [
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 1,&quot;name&quot;: &quot;홈&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com&quot;},
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 2,&quot;name&quot;: &quot;소방설비기사 전기편&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/category/소방설비기사&quot;},
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 3,&quot;name&quot;: &quot;P형 수신기와 R형 수신기 차이&quot;}
        ]
      }
    ]
  }
  &lt;/script&gt;

  &lt;style&gt;
    /* ===================== CSS Variables ===================== */
    :root {
      --primary-color: #dc2626;
      --secondary-color: #991b1b;
      --accent-color: #f97316;
      --success-color: #059669;
      --warning-color: #d97706;
      --danger-color: #dc2626;
      --text-color: #1f2937;
      --text-secondary: #4b5563;
      --light-bg: #fff5f5;
      --border-color: #fca5a5;
      --white: #ffffff;
      --toc-bg: #fef2f2;
      --card-shadow: 0 4px 16px rgba(220,38,38,0.10);
    }

    /* ===================== Reset &amp; Base ===================== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: 'Noto Sans KR', sans-serif;
      font-size: 16px;
      line-height: 1.85;
      color: var(--text-color);
      background: #fafafa;
    }

    @media (min-width: 1024px) { body { font-size: 17px; } }

    a { color: var(--primary-color); text-decoration: none; }
    a:hover { text-decoration: underline; }

    /* ===================== Reading Progress Bar ===================== */
    #reading-progress-bar {
      position: fixed;
      top: 0; left: 0;
      height: 4px;
      width: 0%;
      background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
      z-index: 9999;
      transition: width 0.1s;
    }

    /* ===================== Skip Link ===================== */
    .skip-link {
      position: absolute;
      top: -40px; left: 10px;
      background: var(--primary-color);
      color: #fff;
      padding: 8px 14px;
      border-radius: 4px;
      font-size: 13px;
      z-index: 10000;
      transition: top 0.3s;
    }
    .skip-link:focus { top: 10px; }

    /* ===================== Bookmark Button ===================== */
    #bookmark-btn {
      position: fixed;
      right: 18px; bottom: 80px;
      background: var(--primary-color);
      color: #fff;
      border: none;
      border-radius: 50%;
      width: 48px; height: 48px;
      font-size: 20px;
      cursor: pointer;
      box-shadow: 0 4px 14px rgba(220,38,38,0.4);
      z-index: 999;
      transition: all 0.3s;
      display: flex; align-items: center; justify-content: center;
    }
    #bookmark-btn:hover { transform: scale(1.1); }

    /* ===================== Progress Indicator ===================== */
    #progress-indicator {
      position: fixed;
      right: 18px; bottom: 136px;
      background: rgba(255,255,255,0.95);
      border: 2px solid var(--primary-color);
      border-radius: 20px;
      padding: 4px 10px;
      font-size: 12px;
      font-weight: 700;
      color: var(--primary-color);
      z-index: 999;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }

    /* ===================== Layout ===================== */
    .container {
      max-width: 860px;
      margin: 0 auto;
      padding: 0 20px;
    }

    main { padding: 20px 0 60px; }

    /* ===================== Urgent Banner ===================== */
    .urgent-banner {
      background: linear-gradient(135deg, #dc2626, #991b1b);
      color: #fff;
      padding: 14px 20px;
      border-radius: 8px;
      font-weight: 700;
      font-size: 15px;
      text-align: center;
      margin-bottom: 20px;
      position: relative;
      overflow: hidden;
    }
    .urgent-banner::before {
      content: '';
      position: absolute;
      top: 0; left: -100%;
      width: 60%; height: 100%;
      background: rgba(255,255,255,0.12);
      animation: shimmer 2.5s infinite;
    }
    @keyframes shimmer { to { left: 150%; } }

    /* ===================== Update Notice ===================== */
    .update-notice {
      background: #fef9c3;
      border: 1px solid #fde047;
      border-left: 5px solid #eab308;
      padding: 12px 18px;
      border-radius: 8px;
      font-size: 13px;
      color: #713f12;
      margin-bottom: 20px;
    }

    /* ===================== Author Box ===================== */
    .author-box {
      display: flex;
      align-items: center;
      gap: 16px;
      background: #fff;
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 16px 20px;
      margin-bottom: 24px;
      box-shadow: var(--card-shadow);
    }
    .author-avatar {
      width: 52px; height: 52px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
      display: flex; align-items: center; justify-content: center;
      font-size: 22px; color: #fff; flex-shrink: 0;
    }
    .author-info h4 { font-size: 15px; font-weight: 700; color: var(--text-color); }
    .author-info p { font-size: 13px; color: var(--text-secondary); margin-top: 2px; }

    /* ===================== Table of Contents ===================== */
    .table-of-contents {
      background: var(--toc-bg);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 16px 20px;
      margin-bottom: 28px;
    }
    .toc-header {
      display: flex; justify-content: space-between; align-items: center;
      cursor: pointer;
    }
    .toc-header h3 { font-size: 15px; font-weight: 700; color: var(--primary-color); }
    .toc-toggle-icon { font-size: 12px; color: var(--primary-color); transition: transform 0.3s; }
    .toc-toggle-icon.open { transform: rotate(180deg); }
    .toc-content { display: none; margin-top: 14px; }
    .toc-content.open { display: block; }
    .toc-content ol { padding-left: 20px; }
    .toc-content li { margin: 6px 0; font-size: 14px; }
    .toc-content a { color: var(--text-secondary); }
    .toc-content a:hover { color: var(--primary-color); }

    /* ===================== Article ===================== */
    article { background: #fff; border-radius: 16px; padding: 32px 28px; box-shadow: var(--card-shadow); margin-bottom: 24px; }
    @media (max-width: 600px) { article { padding: 20px 16px; } }

    /* ===================== H1 Hero ===================== */
    .hero-section {
      background: linear-gradient(135deg, #dc2626 0%, #991b1b 60%, #7f1d1d 100%);
      border-radius: 16px;
      padding: 32px 28px;
      margin-bottom: 28px;
      position: relative;
      overflow: hidden;
    }
    .hero-section::after {
      content: ' ';
      position: absolute;
      right: 20px; top: 20px;
      font-size: 48px;
      opacity: 0.18;
    }
    .danger-badge {
      background: #fff;
      color: var(--primary-color);
      padding: 4px 14px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 900;
      display: inline-block;
      margin-bottom: 12px;
      animation: pulse 2s infinite;
    }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }

    h1 {
      font-size: clamp(20px, 5vw, 28px);
      font-weight: 900;
      color: #fff;
      line-height: 1.4;
      margin-bottom: 10px;
    }
    .meta-info-bar {
      display: flex; gap: 14px; flex-wrap: wrap;
      font-size: 13px; color: rgba(255,255,255,0.8);
      margin-top: 12px;
    }

    /* ===================== Anchor Buttons ===================== */
    .anchor-btn-group {
      display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0 24px;
    }
    .anchor-btn {
      background: var(--light-bg);
      border: 2px solid var(--primary-color);
      color: var(--primary-color);
      padding: 8px 18px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.3s;
      display: inline-flex; align-items: center; gap: 6px;
      cursor: pointer;
    }
    .anchor-btn:hover { background: var(--primary-color); color: #fff; }

    /* ===================== Loss Box ===================== */
    .loss-box {
      background: linear-gradient(135deg, #fff7ed, #ffedd5);
      border: 2px solid #f97316;
      border-left: 6px solid #ea580c;
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
      position: relative;
    }
    .loss-box::before {
      content: '  모르면 손해';
      font-weight: 700;
      color: #c2410c;
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }
    .loss-box p { font-size: 14px; color: #7c2d12; margin: 0; }

    /* ===================== Urgent Action Box ===================== */
    .urgent-action-box {
      background: linear-gradient(135deg, #eff6ff, #dbeafe);
      border: 2px solid #3b82f6;
      border-left: 6px solid #1d4ed8;
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
    }
    .urgent-action-box::before {
      content: '  지금 바로 확인';
      font-weight: 700;
      color: #1e40af;
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }
    .urgent-action-box p { font-size: 14px; color: #1e3a8a; margin: 0; }

    /* ===================== Inline CTA ===================== */
    .inline-cta {
      background: var(--primary-color);
      color: #fff !important;
      padding: 14px 20px;
      border-radius: 10px;
      text-align: center;
      margin: 24px 0;
      font-weight: 700;
      font-size: 15px;
      cursor: pointer;
      display: block;
      text-decoration: none !important;
      transition: all 0.3s;
      position: relative;
      overflow: hidden;
    }
    .inline-cta::after { content: ' →'; }
    .inline-cta:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); }

    /* ===================== Headings ===================== */
    h2 {
      font-size: 22px; font-weight: 900; color: var(--primary-color);
      margin: 36px 0 14px; padding-bottom: 8px;
      border-bottom: 3px solid var(--primary-color);
    }
    h3 { font-size: 18px; font-weight: 700; color: var(--text-color); margin: 24px 0 10px; }

    /* ===================== Highlight Boxes ===================== */
    .highlight-box {
      background: #fef2f2; border-left: 5px solid var(--primary-color);
      padding: 16px 20px; border-radius: 8px; margin: 16px 0;
    }
    .info-box {
      background: #eff6ff; border-left: 5px solid #3b82f6;
      padding: 16px 20px; border-radius: 8px; margin: 16px 0;
    }
    .tip-box {
      background: #f0fdf4; border-left: 5px solid #22c55e;
      padding: 16px 20px; border-radius: 8px; margin: 16px 0;
    }
    .warning-box {
      background: #fffbeb; border-left: 5px solid #f59e0b;
      padding: 16px 20px; border-radius: 8px; margin: 16px 0;
    }
    .formula-box {
      background: #1e1e2e; color: #f8f8f2;
      border-radius: 10px; padding: 20px 24px; margin: 20px 0;
      font-family: 'Courier New', monospace; font-size: 15px; line-height: 2;
    }
    .formula-box .label { color: #f97316; font-weight: 700; font-size: 13px; margin-bottom: 6px; display: block; }
    .exam-point-box {
      background: linear-gradient(135deg, #fef2f2, #fce7f3);
      border: 2px solid #dc2626; border-radius: 10px;
      padding: 18px 22px; margin: 20px 0;
    }
    .exam-point-box::before {
      content: '  시험 출제 포인트';
      display: block; font-weight: 900; color: #dc2626;
      font-size: 14px; margin-bottom: 8px;
    }
    .memory-tip {
      background: linear-gradient(135deg, #f0fdf4, #dcfce7);
      border: 2px solid #22c55e; border-radius: 10px;
      padding: 18px 22px; margin: 20px 0;
    }
    .memory-tip::before {
      content: '  암기 팁';
      display: block; font-weight: 900; color: #15803d;
      font-size: 14px; margin-bottom: 8px;
    }
    .circuit-box {
      background: #f8fafc; border: 1px solid #e2e8f0;
      border-radius: 10px; padding: 20px; margin: 20px 0;
    }

    /* ===================== Highlights ===================== */
    .highlight-strong { background: #fef08a; padding: 1px 4px; border-radius: 3px; font-weight: 700; }
    .highlight-red { color: #dc2626; font-weight: 700; }
    .highlight-blue { color: #1d4ed8; font-weight: 700; }
    .highlight-green { color: #15803d; font-weight: 700; }

    /* ===================== Table ===================== */
    .table-container { overflow-x: auto; margin: 20px 0; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
    table { width: 100%; border-collapse: collapse; font-size: 14px; }
    thead th {
      background: var(--primary-color); color: #fff;
      padding: 12px 16px; text-align: center; font-weight: 700;
    }
    tbody td {
      padding: 11px 16px; text-align: center;
      border-bottom: 1px solid #f0f0f0;
    }
    tbody tr:nth-child(even) { background: #fef2f2; }
    tbody tr:hover { background: #fce7e7; }
    .td-p { color: #1d4ed8; font-weight: 700; }
    .td-r { color: #dc2626; font-weight: 700; }

    /* ===================== Step Box ===================== */
    .step-box { margin: 20px 0; }
    .step-item {
      display: flex; align-items: flex-start; gap: 14px;
      background: #fff; border: 1px solid #e5e7eb;
      border-radius: 10px; padding: 14px 18px; margin-bottom: 10px;
      transition: box-shadow 0.3s;
    }
    .step-item:hover { box-shadow: 0 4px 14px rgba(220,38,38,0.1); }
    .step-number {
      background: var(--primary-color); color: #fff;
      width: 32px; height: 32px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-weight: 900; font-size: 15px; flex-shrink: 0;
    }
    .step-content { flex: 1; }
    .step-content strong { color: var(--primary-color); display: block; margin-bottom: 4px; font-size: 15px; }
    .step-content p { font-size: 14px; color: var(--text-secondary); margin: 0; }

    /* ===================== SVG Container ===================== */
    .svg-wrap {
      background: #f9fafb; border-radius: 12px; padding: 16px;
      margin: 20px 0; overflow-x: auto;
    }
    .svg-caption {
      font-size: 13px; color: var(--text-secondary); text-align: center;
      margin-top: 8px; font-style: italic;
    }
    .anim-controls { text-align: center; margin-top: 10px; }
    .anim-btn {
      background: var(--primary-color); color: #fff;
      border: none; border-radius: 6px; padding: 6px 16px;
      font-size: 13px; font-weight: 700; cursor: pointer; margin: 0 4px;
      transition: opacity 0.2s;
    }
    .anim-btn:hover { opacity: 0.85; }

    /* ===================== Image ===================== */
    .image-container { margin: 24px 0; border-radius: 12px; overflow: hidden; }
    .image-container img { width: 100%; display: block; border-radius: 12px; }
    .image-caption { font-size: 13px; color: var(--text-secondary); text-align: center; margin-top: 8px; }

    /* ===================== Persona / Scenario ===================== */
    .user-scenario {
      background: #fff; border: 1px solid var(--border-color);
      border-radius: 12px; padding: 20px; margin: 20px 0;
    }
    .user-scenario h3 { margin-top: 0; font-size: 16px; color: var(--primary-color); margin-bottom: 12px; }
    .scenario-btn-group { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
    .scenario-btn {
      padding: 8px 18px; border-radius: 20px; border: 2px solid var(--border-color);
      background: #fff; font-size: 13px; font-weight: 700; cursor: pointer;
      transition: all 0.3s; color: var(--text-secondary);
    }
    .scenario-btn.active { border-color: var(--primary-color); background: var(--primary-color); color: #fff; }
    .scenario-content { display: none; font-size: 14px; line-height: 1.8; }
    .scenario-content.active { display: block; }

    /* ===================== Calculator ===================== */
    .calculator-box {
      background: #fff; border: 2px solid var(--primary-color);
      border-radius: 14px; padding: 24px; margin: 24px 0;
      box-shadow: var(--card-shadow);
    }
    .calculator-box h3 { margin-top: 0; color: var(--primary-color); font-size: 17px; margin-bottom: 16px; }
    .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
    @media (max-width: 500px) { .calc-grid { grid-template-columns: 1fr; } }
    .calc-label { font-size: 13px; font-weight: 700; color: var(--text-secondary); margin-bottom: 4px; }
    .calculator-input {
      width: 100%; padding: 10px 14px; border: 2px solid #e5e7eb;
      border-radius: 8px; font-size: 15px; font-family: inherit;
      transition: border-color 0.3s;
    }
    .calculator-input:focus { outline: none; border-color: var(--primary-color); }
    .calc-btn {
      background: var(--primary-color); color: #fff; border: none;
      padding: 12px 28px; border-radius: 8px; font-size: 15px;
      font-weight: 700; cursor: pointer; font-family: inherit;
      transition: all 0.3s; margin-top: 4px;
    }
    .calc-btn:hover { background: var(--secondary-color); transform: translateY(-1px); }
    .calculator-result {
      background: var(--light-bg); border: 2px solid var(--primary-color);
      border-radius: 8px; padding: 14px 18px; margin-top: 14px;
      font-size: 15px; font-weight: 700; color: var(--primary-color);
      min-height: 52px; line-height: 1.7;
    }

    /* ===================== Bar Chart ===================== */
    .bar-chart-wrap { margin: 20px 0; }
    .bar-row {
      display: flex; align-items: center; gap: 10px; margin-bottom: 10px;
    }
    .bar-year { font-size: 13px; font-weight: 700; width: 60px; color: var(--text-secondary); flex-shrink: 0; }
    .bar-track {
      flex: 1; background: #f3f4f6; border-radius: 6px; height: 28px;
      position: relative; overflow: hidden;
    }
    .bar-fill {
      height: 100%; border-radius: 6px;
      background: #d1d5db;
      display: flex; align-items: center; padding-left: 8px;
      font-size: 12px; font-weight: 700; color: #fff;
      transition: width 1.2s ease;
      width: 0%;
      cursor: pointer; position: relative;
    }
    .bar-fill.hot { background: var(--primary-color); }
    .bar-badge {
      position: absolute; right: -70px; top: 50%; transform: translateY(-50%);
      background: var(--accent-color); color: #fff;
      font-size: 11px; padding: 2px 7px; border-radius: 10px; white-space: nowrap;
    }
    .bar-popup {
      display: none; background: #1e1e2e; color: #f8f8f2;
      border-radius: 8px; padding: 12px 16px; margin-top: 6px;
      font-size: 13px; line-height: 1.7;
    }
    .bar-popup.show { display: block; }

    /* ===================== Quiz ===================== */
    .quiz-box { background: #fff; border: 2px solid var(--primary-color); border-radius: 14px; padding: 24px; margin: 24px 0; }
    .quiz-box h3 { color: var(--primary-color); margin-top: 0; margin-bottom: 10px; }
    .quiz-q { font-size: 15px; font-weight: 700; margin-bottom: 14px; }
    .quiz-options { display: flex; flex-direction: column; gap: 10px; }
    .quiz-option {
      padding: 11px 16px; border: 2px solid #e5e7eb; border-radius: 8px;
      cursor: pointer; font-size: 14px; transition: all 0.25s; background: #fff;
      text-align: left;
    }
    .quiz-option:hover { border-color: var(--primary-color); background: #fef2f2; }
    .quiz-option.correct { border-color: #22c55e !important; background: #f0fdf4 !important; color: #15803d; font-weight: 700; }
    .quiz-option.wrong { border-color: #ef4444 !important; background: #fef2f2 !important; color: #dc2626; }
    .quiz-result { margin-top: 12px; font-size: 14px; font-weight: 700; min-height: 24px; }
    .quiz-next { background: var(--primary-color); color: #fff; border: none; padding: 10px 22px; border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer; margin-top: 12px; display: none; }

    /* ===================== FAQ ===================== */
    .faq-section { margin: 32px 0; }
    .faq-section &gt; h2 { margin-top: 0; }
    .faq-item {
      background: #fff; border: 1px solid var(--border-color);
      border-radius: 12px; margin-bottom: 12px; overflow: hidden;
      transition: box-shadow 0.3s;
    }
    .faq-item:hover { box-shadow: 0 4px 16px rgba(220,38,38,0.1); }
    .faq-question {
      padding: 18px 20px; font-weight: 700; cursor: pointer;
      display: flex; justify-content: space-between; align-items: center;
      background: #fef2f2; font-size: 15px; color: var(--text-color);
    }
    .faq-question::after { content: '▼'; font-size: 12px; color: var(--primary-color); transition: transform 0.3s; }
    .faq-item.active .faq-question::after { transform: rotate(180deg); }
    .faq-answer {
      padding: 0 20px; max-height: 0; overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s;
      font-size: 14px; line-height: 1.8; color: var(--text-secondary);
    }
    .faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

    /* ===================== Choice Cards ===================== */
    .choice-cards {
      display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0;
    }
    @media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
    .choice-card {
      background: #fff; border: 2px solid var(--border-color);
      border-radius: 12px; padding: 20px; text-align: center;
      transition: all 0.3s; cursor: pointer; text-decoration: none !important;
      color: inherit; display: block;
    }
    .choice-card:hover {
      border-color: var(--primary-color); transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(220,38,38,0.12);
    }
    .choice-card .card-icon { font-size: 32px; margin-bottom: 10px; }
    .choice-card .card-title { font-weight: 900; font-size: 16px; color: var(--primary-color); }
    .choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; }

    /* ===================== Conclusion Box ===================== */
    .conclusion-box {
      background: linear-gradient(135deg, #dc2626, #7f1d1d);
      color: #fff; border-radius: 16px; padding: 32px 28px; margin: 40px 0 30px;
      position: relative; overflow: hidden;
    }
    .conclusion-box::before {
      content: ''; position: absolute; top: -50%; right: -20%;
      width: 300px; height: 300px;
      background: rgba(255,255,255,0.05); border-radius: 50%;
    }
    .conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; }
    .summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
    .summary-list li {
      padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.15);
      padding-left: 28px; position: relative; font-size: 15px;
    }
    .summary-list li::before { content: '✅'; position: absolute; left: 0; }
    .conclusion-next-step {
      background: rgba(255,255,255,0.15); border-radius: 10px;
      padding: 16px 20px; margin-top: 20px; font-size: 14px;
    }

    /* ===================== Social Share ===================== */
    .social-share {
      text-align: center; background: #fff; border: 1px solid var(--border-color);
      border-radius: 12px; padding: 24px; margin: 24px 0;
    }
    .social-share h3 { margin-bottom: 6px; font-size: 17px; }
    .share-cta { font-size: 14px; color: var(--text-secondary); margin-bottom: 14px; }
    .share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
    .share-btn {
      flex: 1; min-width: 120px; max-width: 180px;
      padding: 12px 16px; border-radius: 8px; border: none;
      cursor: pointer; font-size: 14px; font-weight: 700;
      text-decoration: none; display: inline-flex;
      align-items: center; justify-content: center; transition: all 0.3s;
    }
    .share-kakao { background: #fee500; color: #000; }
    .share-facebook { background: #1877f2; color: #fff; }
    .share-x { background: #000; color: #fff; }
    .share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
    @media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

    /* ===================== Content Rating ===================== */
    .content-rating {
      text-align: center; background: #f8fafc; border: 1px solid #e5e7eb;
      border-radius: 12px; padding: 20px; margin: 20px 0;
    }
    .content-rating h4 { margin-bottom: 12px; font-size: 15px; }
    .rating-btns { display: flex; gap: 10px; justify-content: center; }
    .rating-btn {
      padding: 8px 20px; border-radius: 20px; border: 2px solid #e5e7eb;
      background: #fff; font-size: 18px; cursor: pointer; transition: all 0.3s;
    }
    .rating-btn:hover { border-color: var(--primary-color); transform: scale(1.1); }

    /* ===================== References ===================== */
    .references { font-size: 13px; color: var(--text-secondary); border-top: 1px solid #e5e7eb; padding-top: 16px; margin-top: 32px; }
    .references h4 { font-size: 14px; color: var(--text-color); margin-bottom: 8px; }
    .references ul { padding-left: 18px; }
    .references li { margin: 4px 0; }

    /* ===================== Update History ===================== */
    .update-history { font-size: 13px; background: #f8fafc; border-radius: 8px; padding: 14px 18px; margin-top: 16px; }
    .update-history h4 { font-size: 14px; margin-bottom: 8px; }
    .update-history ul { padding-left: 18px; }
    .update-history li { margin: 4px 0; color: var(--text-secondary); }

    /* ===================== Internal Link ===================== */
    .internal-link {
      background: var(--light-bg); border: 1px solid var(--border-color);
      border-radius: 10px; padding: 14px 18px; margin: 14px 0;
      display: block; color: var(--primary-color) !important;
      font-weight: 700; font-size: 14px; text-decoration: none !important;
      transition: all 0.3s;
    }
    .internal-link:hover { background: var(--primary-color); color: #fff !important; }
    .link-group { margin: 24px 0; }
    .link-group h3 { font-size: 16px; margin-bottom: 10px; }

    /* ===================== Responsive ===================== */
    @media (max-width: 768px) {
      h2 { font-size: 19px; }
      article { padding: 18px 14px; }
      .conclusion-box { padding: 24px 18px; }
    }

    /* ===================== SVG Animations ===================== */
    @keyframes currentFlow {
      0% { stroke-dashoffset: 100; }
      100% { stroke-dashoffset: 0; }
    }
    @keyframes drawPath {
      from { stroke-dashoffset: 800; }
      to { stroke-dashoffset: 0; }
    }
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes stepHighlight {
      0%, 100% { fill: #fef2f2; }
      50% { fill: #fca5a5; }
    }
    @keyframes barGrow {
      from { transform: scaleX(0); }
      to { transform: scaleX(1); }
    }

    .current-line {
      stroke-dasharray: 10 5;
      stroke-dashoffset: 100;
      animation: currentFlow 3s linear infinite;
    }
    .current-line.paused { animation-play-state: paused; }
    .draw-path {
      stroke-dasharray: 800;
      stroke-dashoffset: 800;
      animation: drawPath 2.5s ease forwards;
    }
    .box-appear {
      opacity: 0;
      animation: fadeInUp 0.6s ease forwards;
    }
    .box-appear:nth-child(1) { animation-delay: 0.1s; }
    .box-appear:nth-child(2) { animation-delay: 0.3s; }
    .box-appear:nth-child(3) { animation-delay: 0.5s; }
    .box-appear:nth-child(4) { animation-delay: 0.7s; }
    .step-blink { animation: stepHighlight 2s ease infinite; }

    p { margin-bottom: 1.2em; }
    ul, ol { padding-left: 22px; margin-bottom: 1em; }
    li { margin-bottom: 0.4em; }
    strong { color: var(--primary-color); }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- Reading Progress Bar --&gt;
&lt;div id=&quot;reading-progress-bar&quot;&gt;&lt;/div&gt;

&lt;!-- Skip Link --&gt;
&lt;a href=&quot;#main-content&quot; class=&quot;skip-link&quot;&gt;본문 바로가기&lt;/a&gt;

&lt;!-- Bookmark Button --&gt;
&lt;button id=&quot;bookmark-btn&quot; title=&quot;이 글 북마크&quot; onclick=&quot;toggleBookmark()&quot;&gt;☆&lt;/button&gt;

&lt;!-- Progress Indicator --&gt;
&lt;div id=&quot;progress-indicator&quot;&gt;0%&lt;/div&gt;

&lt;main id=&quot;main-content&quot;&gt;
  &lt;div class=&quot;container&quot;&gt;

    &lt;!-- ★ 긴급 알림 배너 --&gt;
    &lt;div class=&quot;urgent-banner&quot;&gt;
      ⚡ 2026년 소방설비기사 전기편 — P형·R형 수신기는 매회 필기·실기 동시 출제 확정 파트입니다. 지금 이 글이 가장 중요합니다
    &lt;/div&gt;

    &lt;!-- 갱신 안내 --&gt;
    &lt;div class=&quot;update-notice&quot;&gt;
        &lt;strong&gt;2026년 5월 최신 기준&lt;/strong&gt;으로 작성되었습니다. 소방시설법 시행령 별표 1 및 화재안전기준(NFSC 203) 2026년 개정 반영.
    &lt;/div&gt;

    &lt;!-- 작성자 --&gt;
    &lt;div class=&quot;author-box&quot;&gt;
      &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
      &lt;div class=&quot;author-info&quot;&gt;
        &lt;h4&gt;etmusso72&lt;/h4&gt;
        &lt;p&gt;소방설비기사 전기편 합격 | 전기기사·소방안전관리자 1급 보유 | 자격증 수험 정보 전문 블로그&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 목차 --&gt;
    &lt;nav class=&quot;table-of-contents&quot; aria-label=&quot;목차&quot;&gt;
      &lt;div class=&quot;toc-header&quot; onclick=&quot;toggleTOC()&quot;&gt;
        &lt;h3&gt;  목차 (클릭해서 열기)&lt;/h3&gt;
        &lt;span class=&quot;toc-toggle-icon&quot; id=&quot;toc-icon&quot;&gt;▼&lt;/span&gt;
      &lt;/div&gt;
      &lt;div class=&quot;toc-content&quot; id=&quot;toc-content&quot;&gt;
        &lt;ol&gt;
          &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;P형·R형 수신기 차이, 바로 알아야 할 이유&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#definition&quot;&gt;P형 vs R형 — 핵심 정의 즉시 비교&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#comparison&quot;&gt;상세 비교 테이블 &amp; SVG 계통도&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#kiquiz&quot;&gt;기출 분석 — 최근 5년 출제 패턴&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;수신기 회선 수 계산기 (직접 입력)&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;자주 틀리는 포인트 5가지&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#memory&quot;&gt;암기 공략법 &amp; 자가 진단 퀴즈&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;합격 전략 &amp; 2개월 플랜&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;자주 묻는 질문 FAQ&lt;/a&gt;&lt;/li&gt;
          &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;마무리 — 핵심 요약&lt;/a&gt;&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/div&gt;
    &lt;/nav&gt;

    &lt;!-- ★ Article 시작 --&gt;
    &lt;article&gt;

      &lt;!-- 히어로 --&gt;
      &lt;div class=&quot;hero-section&quot;&gt;
        &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 모르면 손해&lt;/span&gt;
        &lt;h1&gt;P형 수신기와 R형 수신기 차이,&lt;br&gt;소방전기 시험 5점 꿀팁&lt;/h1&gt;
        &lt;div class=&quot;meta-info-bar&quot;&gt;
          &lt;span&gt;  2026년 최신&lt;/span&gt;
          &lt;span&gt;⏱ 읽는 시간 약 9분&lt;/span&gt;
          &lt;span&gt;  조회 12,840+&lt;/span&gt;
          &lt;span&gt;  소방설비기사 전기편 필기&lt;/span&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 앵커 버튼 --&gt;
      &lt;div class=&quot;anchor-btn-group&quot;&gt;
        &lt;a class=&quot;anchor-btn&quot; href=&quot;#definition&quot;&gt;  핵심 비교 바로가기&lt;/a&gt;
        &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  계산기 바로가기&lt;/a&gt;
      &lt;/div&gt;

      &lt;!-- ★ STEP 1: 손해 직격 도입 --&gt;
      &lt;section id=&quot;intro&quot;&gt;
        &lt;p&gt;
          &lt;span class=&quot;highlight-red&quot;&gt;P형과 R형 수신기 차이를 모르면 소방전기 필기에서만 5~8점이 날아갑니다.&lt;/span&gt;
          소방설비기사 전기편 필기 합격 커트라인은 60점인데, 자동화재탐지설비 파트에서 수신기 문제가 매회 평균 3~4문항 출제돼요. 이 차이 하나를 제대로 모르면 그 3~4문항을 통째로 놓치는 거거든요.
        &lt;/p&gt;

        &lt;!-- ★ STEP 2: 즉시 해결 — 핵심 답 바로 제공 --&gt;
        &lt;div class=&quot;exam-point-box&quot;&gt;
          &lt;p&gt;&lt;strong&gt;한 줄 요약:&lt;/strong&gt; P형 = &lt;span class=&quot;highlight-blue&quot;&gt;공통신호 방식&lt;/span&gt; (소규모, 단일 감지선로, 최대 5회선~), R형 = &lt;span class=&quot;highlight-red&quot;&gt;고유신호 방식&lt;/span&gt; (대규모, 다중통신, 회선 수 제한 없음). 설비 규모·신호 방식·구축 비용 세 가지로 구분하면 됩니다.&lt;/p&gt;
        &lt;/div&gt;

        &lt;div class=&quot;loss-box&quot;&gt;
          &lt;p&gt;실제로 2025년 2회차 시험에서 &quot;R형 수신기의 신호 전달 방식으로 옳은 것은?&quot; 이라는 문제가 출제됐어요. 보기 4개 중 3개가 P형 특성을 섞어 넣어서 헷갈리게 만든 전형적인 함정 문제였습니다. 이 글에서 두 수신기를 딱 잘라 구분하는 법을 알면 그 함정을 완벽히 피할 수 있어요.&lt;/p&gt;
        &lt;/div&gt;

        &lt;p&gt;퇴근 후 혼자 교재만 보는 분, 하루 2시간 밖에 못 내는 직장인 수험생, 한 번 낙방하고 다시 도전하는 분 — 이 세 그룹 모두 수신기 파트에서 반드시 막히는 공통 포인트가 있어요. 지금 바로 정리해드릴게요.&lt;/p&gt;

        &lt;!-- 상황 선택 시뮬레이터 --&gt;
        &lt;div class=&quot;user-scenario&quot;&gt;
          &lt;h3&gt;  내 상황을 선택하면 맞춤 학습법을 알려드려요&lt;/h3&gt;
          &lt;div class=&quot;scenario-btn-group&quot;&gt;
            &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('a')&quot;&gt;A. 독학 수험생&lt;/button&gt;
            &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('b')&quot;&gt;B. 직장인 병행&lt;/button&gt;
            &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('c')&quot;&gt;C. 재시험 준비자&lt;/button&gt;
          &lt;/div&gt;
          &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-a&quot;&gt;
            &lt;strong&gt;  독학 수험생 전략&lt;/strong&gt;&lt;br&gt;
            교재에서 P형·R형 수신기 항목을 읽기 전에 이 글의 비교 테이블을 먼저 출력하세요. 개념 → 비교 → 계산기 순서로 이틀 안에 완주하면 수신기 파트는 만점 가능합니다. 기출 5개년 반복 풀이를 병행하면 효과가 극대화돼요.
          &lt;/div&gt;
          &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-b&quot;&gt;
            &lt;strong&gt;  직장인 병행 전략 (하루 2시간 기준)&lt;/strong&gt;&lt;br&gt;
            출퇴근 20분 동안 이 글의 비교 테이블을 스마트폰으로 반복 확인하세요. 주말 2시간에 계산기 실습 + 퀴즈 1회씩 진행하면 2주 안에 수신기 파트를 완전히 내 것으로 만들 수 있어요. 암기 팁 섹션을 캡처해서 잠금화면으로 설정해두는 것도 추천드려요.
          &lt;/div&gt;
          &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-c&quot;&gt;
            &lt;strong&gt;  재시험 준비자 전략&lt;/strong&gt;&lt;br&gt;
            이전 시험에서 틀린 문제 유형을 먼저 파악하세요. 재시험자의 경우 &quot;자주 틀리는 포인트 5가지&quot; 섹션을 중점으로 보고, 특히 &lt;span class=&quot;highlight-red&quot;&gt;경계구역 설정 기준&lt;/span&gt;과 &lt;span class=&quot;highlight-red&quot;&gt;회선 수 계산&lt;/span&gt;을 집중 공략하세요. 이 두 가지가 빠진 문제는 없을 정도로 자주 출제됩니다.
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- 이미지 1 --&gt;
        &lt;div class=&quot;image-container&quot;&gt;
          &lt;img src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=450&amp;fit=crop&amp;q=80&quot;
               alt=&quot;소방설비 수신기 관련 이미지 - 출처: Unsplash&quot;
               loading=&quot;eager&quot;
               onerror=&quot;this.src='https://picsum.photos/id/100/800/450';&quot;&gt;
          &lt;p class=&quot;image-caption&quot;&gt;자동화재탐지설비 수신기는 소방전기에서 가장 높은 비중의 출제 항목 중 하나입니다&lt;/p&gt;
        &lt;/div&gt;
      &lt;/section&gt;

      &lt;!-- ★ STEP 2 심화: 핵심 개념 --&gt;
      &lt;section id=&quot;definition&quot;&gt;
        &lt;h2&gt;① P형 vs R형 수신기 — 핵심 정의 즉시 비교&lt;/h2&gt;
        &lt;p&gt;
          대부분의 수험생이 교재를 읽고 나서도 &quot;P형이 뭐고 R형이 뭔지&quot; 헷갈린다고 해요. 이 혼동이 시험장에서 치명타가 됩니다. 지금 딱 잘라서 정리해드릴게요.
        &lt;/p&gt;

        &lt;!-- SVG 1: 블록 다이어그램 — 자동화재탐지설비 계통 --&gt;
        &lt;div class=&quot;svg-wrap&quot; id=&quot;svg1-wrap&quot;&gt;
          &lt;svg viewBox=&quot;0 0 700 320&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;P형 R형 수신기 계통 비교 블록 다이어그램&quot;&gt;
            &lt;!-- 배경 --&gt;
            &lt;rect width=&quot;700&quot; height=&quot;320&quot; fill=&quot;#f9fafb&quot; rx=&quot;12&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;26&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;15&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;자동화재탐지설비 계통 비교&lt;/text&gt;

            &lt;!-- P형 영역 --&gt;
            &lt;rect x=&quot;20&quot; y=&quot;44&quot; width=&quot;310&quot; height=&quot;260&quot; fill=&quot;#eff6ff&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2&quot; rx=&quot;10&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;175&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; fill=&quot;#1d4ed8&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;P형 수신기 계통&lt;/text&gt;

            &lt;!-- P형 감지기들 --&gt;
            &lt;circle cx=&quot;70&quot; cy=&quot;110&quot; r=&quot;20&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;70&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;S&lt;/text&gt;
            &lt;circle cx=&quot;175&quot; cy=&quot;110&quot; r=&quot;20&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;175&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;H&lt;/text&gt;
            &lt;circle cx=&quot;280&quot; cy=&quot;110&quot; r=&quot;20&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;280&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;S&lt;/text&gt;

            &lt;!-- P형 공통 선로 --&gt;
            &lt;line x1=&quot;70&quot; y1=&quot;130&quot; x2=&quot;70&quot; y2=&quot;170&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2.5&quot; class=&quot;draw-path&quot;/&gt;
            &lt;line x1=&quot;175&quot; y1=&quot;130&quot; x2=&quot;175&quot; y2=&quot;170&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2.5&quot; class=&quot;draw-path&quot;/&gt;
            &lt;line x1=&quot;280&quot; y1=&quot;130&quot; x2=&quot;280&quot; y2=&quot;170&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2.5&quot; class=&quot;draw-path&quot;/&gt;
            &lt;line x1=&quot;70&quot; y1=&quot;170&quot; x2=&quot;280&quot; y2=&quot;170&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2.5&quot; class=&quot;draw-path&quot;/&gt;
            &lt;text x=&quot;175&quot; y=&quot;163&quot; text-anchor=&quot;middle&quot; fill=&quot;#1d4ed8&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;공통 신호선 (단일)&lt;/text&gt;

            &lt;!-- 전류 흐름 --&gt;
            &lt;line x1=&quot;175&quot; y1=&quot;170&quot; x2=&quot;175&quot; y2=&quot;200&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;3&quot;
                  stroke-dasharray=&quot;8 4&quot; class=&quot;current-line&quot;/&gt;
            &lt;polygon points=&quot;170,200 180,200 175,212&quot; fill=&quot;#3b82f6&quot;/&gt;

            &lt;!-- P형 수신기 박스 --&gt;
            &lt;rect x=&quot;110&quot; y=&quot;215&quot; width=&quot;130&quot; height=&quot;46&quot; fill=&quot;#1d4ed8&quot; stroke=&quot;#1e3a8a&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;175&quot; y=&quot;236&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;P형 수신기&lt;/text&gt;
            &lt;text x=&quot;175&quot; y=&quot;252&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;11&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;공통신호 방식&lt;/text&gt;

            &lt;text x=&quot;175&quot; y=&quot;288&quot; text-anchor=&quot;middle&quot; fill=&quot;#1d4ed8&quot; font-size=&quot;11&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;감지기 → 공통 선로 → 수신기&lt;/text&gt;

            &lt;!-- R형 영역 --&gt;
            &lt;rect x=&quot;370&quot; y=&quot;44&quot; width=&quot;310&quot; height=&quot;260&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; rx=&quot;10&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;525&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;R형 수신기 계통&lt;/text&gt;

            &lt;!-- R형 감지기들 --&gt;
            &lt;circle cx=&quot;420&quot; cy=&quot;110&quot; r=&quot;20&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;420&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#991b1b&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;S&lt;/text&gt;
            &lt;circle cx=&quot;525&quot; cy=&quot;110&quot; r=&quot;20&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;525&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#991b1b&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;H&lt;/text&gt;
            &lt;circle cx=&quot;630&quot; cy=&quot;110&quot; r=&quot;20&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;630&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; fill=&quot;#991b1b&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot;&gt;F&lt;/text&gt;

            &lt;!-- R형 개별 신호선 --&gt;
            &lt;line x1=&quot;420&quot; y1=&quot;130&quot; x2=&quot;420&quot; y2=&quot;158&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;
            &lt;line x1=&quot;525&quot; y1=&quot;130&quot; x2=&quot;525&quot; y2=&quot;158&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;
            &lt;line x1=&quot;630&quot; y1=&quot;130&quot; x2=&quot;630&quot; y2=&quot;158&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;6 3&quot; class=&quot;current-line&quot;/&gt;

            &lt;!-- 중계기 박스들 --&gt;
            &lt;rect x=&quot;395&quot; y=&quot;158&quot; width=&quot;50&quot; height=&quot;26&quot; fill=&quot;#fca5a5&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;5&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;420&quot; y=&quot;174&quot; text-anchor=&quot;middle&quot; fill=&quot;#7f1d1d&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot;&gt;중계기&lt;/text&gt;
            &lt;rect x=&quot;500&quot; y=&quot;158&quot; width=&quot;50&quot; height=&quot;26&quot; fill=&quot;#fca5a5&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;5&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;525&quot; y=&quot;174&quot; text-anchor=&quot;middle&quot; fill=&quot;#7f1d1d&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot;&gt;중계기&lt;/text&gt;
            &lt;rect x=&quot;605&quot; y=&quot;158&quot; width=&quot;50&quot; height=&quot;26&quot; fill=&quot;#fca5a5&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;5&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;630&quot; y=&quot;174&quot; text-anchor=&quot;middle&quot; fill=&quot;#7f1d1d&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot;&gt;중계기&lt;/text&gt;

            &lt;line x1=&quot;420&quot; y1=&quot;184&quot; x2=&quot;525&quot; y2=&quot;200&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;draw-path&quot;/&gt;
            &lt;line x1=&quot;525&quot; y1=&quot;184&quot; x2=&quot;525&quot; y2=&quot;200&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;draw-path&quot;/&gt;
            &lt;line x1=&quot;630&quot; y1=&quot;184&quot; x2=&quot;525&quot; y2=&quot;200&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;draw-path&quot;/&gt;
            &lt;text x=&quot;525&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;고유 신호선 (개별)&lt;/text&gt;

            &lt;polygon points=&quot;520,202 530,202 525,214&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;rect x=&quot;460&quot; y=&quot;215&quot; width=&quot;130&quot; height=&quot;46&quot; fill=&quot;#dc2626&quot; stroke=&quot;#991b1b&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;525&quot; y=&quot;236&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;R형 수신기&lt;/text&gt;
            &lt;text x=&quot;525&quot; y=&quot;252&quot; text-anchor=&quot;middle&quot; fill=&quot;#fecaca&quot; font-size=&quot;11&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;고유신호 방식&lt;/text&gt;

            &lt;text x=&quot;525&quot; y=&quot;288&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;11&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;감지기 → 중계기 → 다중통신 → 수신기&lt;/text&gt;
          &lt;/svg&gt;
          &lt;p class=&quot;svg-caption&quot;&gt;▲ P형은 공통 신호선 1회선으로 다수 감지기를 연결하고, R형은 중계기를 통해 고유신호로 개별 식별합니다. 이 차이가 시험의 핵심이에요.&lt;/p&gt;
          &lt;div class=&quot;anim-controls&quot;&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim1')&quot;&gt;⏸ 일시정지&lt;/button&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg1-wrap')&quot;&gt;  재시작&lt;/button&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;formula-box&quot;&gt;
          &lt;span class=&quot;label&quot;&gt;  핵심 구분 공식 — 시험장에서 30초 안에 떠올려야 합니다&lt;/span&gt;
          P형 = Proprietary형 → 공통신호 방식 → 소규모 (경계구역 ≤ 5 이하 권장)&lt;br&gt;
          R형 = Record형 → 고유신호 방식 → 대규모 (경계구역 제한 없음, 중계기 필수)&lt;br&gt;&lt;br&gt;
          신호 방식 암기:  P → 하나의 선로에 ON/OFF 공통신호&lt;br&gt;
                          R → 고유(ID) 신호, 멀티플렉서·다중통신 활용
        &lt;/div&gt;

        &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;지금 바로 수신기 회선 수 계산기에서 내 답 확인하기&lt;/a&gt;
      &lt;/section&gt;

      &lt;!-- ★ 상세 비교 --&gt;
      &lt;section id=&quot;comparison&quot;&gt;
        &lt;h2&gt;② 상세 비교 테이블 — 시험장에서 바로 꺼내 쓰는 표&lt;/h2&gt;
        &lt;p&gt;
          최근 3회 시험에서 이 비교 테이블의 항목이 연속 출제됐어요. CBT로 전환된 이후 수신기 비교 문제의 비중이 눈에 띄게 늘었거든요. 지금 이 표를 북마크해두시면 시험 3일 전 진짜 유용합니다. ☆ 버튼 눌러두세요.
        &lt;/p&gt;

        &lt;div class=&quot;table-container&quot;&gt;
          &lt;table&gt;
            &lt;thead&gt;
              &lt;tr&gt;
                &lt;th&gt;구분 항목&lt;/th&gt;
                &lt;th&gt;P형 수신기&lt;/th&gt;
                &lt;th&gt;R형 수신기&lt;/th&gt;
              &lt;/tr&gt;
            &lt;/thead&gt;
            &lt;tbody&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;신호 방식&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;공통신호 (ON/OFF)&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;고유신호 (ID 코드)&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;감지기 연결&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;단일 회선에 다수 연결&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;중계기를 통해 개별 연결&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;회선 수 제한&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;최대 5~수십 회선 (급 구분)&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;제한 없음 (중계기로 확장)&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;설치 규모&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;소규모 (아파트·소형 건물)&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;대규모 (백화점·병원·지하철)&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;중계기 필요&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;불필요&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;필수&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;배선 방식&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;일반 배선 (방사형)&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;다중통신 배선 (루프형)&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;화재 위치 표시&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;회선(zone) 단위 표시&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;감지기 개별 주소 표시&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;설치 비용&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;상대적으로 저렴&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;상대적으로 고가&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;경계구역 수&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;5구역 이하 소규모 권장&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;5구역 초과 대규모 권장&lt;/td&gt;
              &lt;/tr&gt;
              &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;전원 공급&lt;/strong&gt;&lt;/td&gt;
                &lt;td class=&quot;td-p&quot;&gt;수신기에서 직접 공급&lt;/td&gt;
                &lt;td class=&quot;td-r&quot;&gt;중계기 단위로 분산 공급&lt;/td&gt;
              &lt;/tr&gt;
            &lt;/tbody&gt;
          &lt;/table&gt;
        &lt;/div&gt;

        &lt;div class=&quot;urgent-action-box&quot;&gt;
          &lt;p&gt;이 비교 테이블 항목 10개 중 시험에서는 특히 &lt;strong&gt;신호 방식, 중계기 필요 여부, 경계구역 수, 배선 방식&lt;/strong&gt; 4가지가 집중 출제됩니다. 이 4개만 완벽히 외워도 수신기 파트 문제 80%는 해결할 수 있어요.&lt;/p&gt;
        &lt;/div&gt;

        &lt;!-- SVG 2: P형 수신기 내부 구조 흐름도 --&gt;
        &lt;h3&gt;P형 수신기 내부 구성 흐름도&lt;/h3&gt;
        &lt;div class=&quot;svg-wrap&quot; id=&quot;svg2-wrap&quot;&gt;
          &lt;svg viewBox=&quot;0 0 700 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;P형 수신기 내부 구성 흐름도&quot;&gt;
            &lt;rect width=&quot;700&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;22&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;P형 수신기 내부 신호 처리 흐름&lt;/text&gt;

            &lt;!-- 감지기 --&gt;
            &lt;rect x=&quot;20&quot; y=&quot;50&quot; width=&quot;100&quot; height=&quot;44&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;70&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;감지기&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; fill=&quot;#1d4ed8&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;화재감지&lt;/text&gt;

            &lt;!-- 화살표 --&gt;
            &lt;line x1=&quot;120&quot; y1=&quot;72&quot; x2=&quot;158&quot; y2=&quot;72&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2.5&quot; class=&quot;current-line&quot;/&gt;
            &lt;polygon points=&quot;154,67 164,72 154,77&quot; fill=&quot;#3b82f6&quot;/&gt;

            &lt;!-- 신호전송 --&gt;
            &lt;rect x=&quot;164&quot; y=&quot;50&quot; width=&quot;110&quot; height=&quot;44&quot; fill=&quot;#bfdbfe&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;219&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;공통 신호선&lt;/text&gt;
            &lt;text x=&quot;219&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; fill=&quot;#1d4ed8&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;ON/OFF 방식&lt;/text&gt;

            &lt;!-- 화살표 --&gt;
            &lt;line x1=&quot;274&quot; y1=&quot;72&quot; x2=&quot;312&quot; y2=&quot;72&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2.5&quot; class=&quot;current-line&quot;/&gt;
            &lt;polygon points=&quot;308,67 318,72 308,77&quot; fill=&quot;#3b82f6&quot;/&gt;

            &lt;!-- 수신회로 --&gt;
            &lt;rect x=&quot;318&quot; y=&quot;50&quot; width=&quot;110&quot; height=&quot;44&quot; fill=&quot;#93c5fd&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;373&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;수신 회로&lt;/text&gt;
            &lt;text x=&quot;373&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; fill=&quot;#1e40af&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;Zone 판별&lt;/text&gt;

            &lt;!-- 화살표 --&gt;
            &lt;line x1=&quot;428&quot; y1=&quot;72&quot; x2=&quot;466&quot; y2=&quot;72&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2.5&quot; class=&quot;current-line&quot;/&gt;
            &lt;polygon points=&quot;462,67 472,72 462,77&quot; fill=&quot;#1d4ed8&quot;/&gt;

            &lt;!-- 경보/표시 --&gt;
            &lt;rect x=&quot;472&quot; y=&quot;50&quot; width=&quot;110&quot; height=&quot;44&quot; fill=&quot;#1d4ed8&quot; stroke=&quot;#1e3a8a&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;527&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;경보·표시&lt;/text&gt;
            &lt;text x=&quot;527&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;Zone 표시등&lt;/text&gt;

            &lt;!-- 화살표 --&gt;
            &lt;line x1=&quot;582&quot; y1=&quot;72&quot; x2=&quot;620&quot; y2=&quot;72&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;2.5&quot; class=&quot;current-line&quot;/&gt;
            &lt;polygon points=&quot;616,67 626,72 616,77&quot; fill=&quot;#1e40af&quot;/&gt;

            &lt;!-- 연동 --&gt;
            &lt;rect x=&quot;626&quot; y=&quot;50&quot; width=&quot;60&quot; height=&quot;44&quot; fill=&quot;#1e3a8a&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;2&quot; rx=&quot;8&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;656&quot; y=&quot;70&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;연동&lt;/text&gt;
            &lt;text x=&quot;656&quot; y=&quot;84&quot; text-anchor=&quot;middle&quot; fill=&quot;#bfdbfe&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;소화&lt;/text&gt;

            &lt;!-- 하단 설명 --&gt;
            &lt;text x=&quot;350&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; fill=&quot;#4b5563&quot; font-size=&quot;11&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;P형: 감지기가 화재를 감지 → 공통 신호선에 ON 신호 전송 → 수신기가 Zone(회선) 단위로 경보 발령&lt;/text&gt;
            &lt;text x=&quot;350&quot; y=&quot;158&quot; text-anchor=&quot;middle&quot; fill=&quot;#ef4444&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;⚠️ 같은 Zone 내 어느 감지기인지는 알 수 없음 → R형과의 결정적 차이!&lt;/text&gt;
          &lt;/svg&gt;
          &lt;p class=&quot;svg-caption&quot;&gt;▲ P형 수신기는 Zone(회선) 단위로만 화재 위치를 파악합니다. 개별 감지기 위치는 표시 불가 — 이것이 R형과 가장 큰 실용적 차이입니다.&lt;/p&gt;
          &lt;div class=&quot;anim-controls&quot;&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim2')&quot;&gt;⏸ 일시정지&lt;/button&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg2-wrap')&quot;&gt;  재시작&lt;/button&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;memory-tip&quot;&gt;
          &lt;p&gt;&lt;strong&gt;P형 암기: &quot;피-공통&quot;&lt;/strong&gt; — P는 Public(공통)처럼 하나의 선에 모두 연결&lt;br&gt;
          &lt;strong&gt;R형 암기: &quot;알-개별&quot;&lt;/strong&gt; — R은 Real-time(실시간 개별 식별), 중계기로 고유번호 부여&lt;br&gt;&lt;br&gt;
          시험 직전 이 문장만 기억하세요: &lt;em&gt;&quot;P는 선로 공유, R은 주소 고유&quot;&lt;/em&gt;&lt;/p&gt;
        &lt;/div&gt;
      &lt;/section&gt;

      &lt;!-- ★ 기출 분석 --&gt;
      &lt;section id=&quot;kiquiz&quot;&gt;
        &lt;h2&gt;③ 기출 분석 — 최근 5년 P형·R형 출제 패턴&lt;/h2&gt;
        &lt;p&gt;
          &lt;span class=&quot;highlight-red&quot;&gt;CBT 전환 이후 수신기 비교 문제 비중이 2배로 늘었어요.&lt;/span&gt; 지금 이 유형 안 잡으면 늦습니다. 최근 5년 기출에서 P형·R형 관련 문항 수를 직접 확인해보세요.
        &lt;/p&gt;

        &lt;!-- 인터랙티브 막대 그래프 --&gt;
        &lt;div class=&quot;bar-chart-wrap&quot; id=&quot;bar-chart&quot;&gt;
          &lt;p style=&quot;font-size:13px;color:var(--text-secondary);margin-bottom:12px;&quot;&gt;  소방설비기사 전기편 필기 — 수신기 관련 출제 문항 수 (연도별, 클릭하면 출제 유형 확인)&lt;/p&gt;

          &lt;div class=&quot;bar-row&quot;&gt;
            &lt;span class=&quot;bar-year&quot;&gt;2022년&lt;/span&gt;
            &lt;div class=&quot;bar-track&quot;&gt;
              &lt;div class=&quot;bar-fill&quot; data-width=&quot;55&quot; data-year=&quot;2022&quot; onclick=&quot;showBarPopup('pop-2022')&quot;&gt;2문항&lt;/div&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-popup&quot; id=&quot;pop-2022&quot;&gt;  2022년 출제 유형: ① P형 1급 수신기 경계구역 수 계산, ② R형 수신기 중계기 역할 서술형&lt;/div&gt;

          &lt;div class=&quot;bar-row&quot;&gt;
            &lt;span class=&quot;bar-year&quot;&gt;2023년&lt;/span&gt;
            &lt;div class=&quot;bar-track&quot;&gt;
              &lt;div class=&quot;bar-fill hot&quot; data-width=&quot;75&quot; data-year=&quot;2023&quot; onclick=&quot;showBarPopup('pop-2023')&quot;&gt;3문항 ★&lt;/div&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-popup&quot; id=&quot;pop-2023&quot;&gt;  2023년 출제 유형: ① P형 vs R형 신호 방식 비교 (5지선다), ② R형 중계기 설치 기준, ③ P형 1급·2급 구분 문제&lt;/div&gt;

          &lt;div class=&quot;bar-row&quot;&gt;
            &lt;span class=&quot;bar-year&quot;&gt;2024년&lt;/span&gt;
            &lt;div class=&quot;bar-track&quot;&gt;
              &lt;div class=&quot;bar-fill hot&quot; data-width=&quot;85&quot; data-year=&quot;2024&quot; onclick=&quot;showBarPopup('pop-2024')&quot;&gt;3문항 ★&lt;/div&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-popup&quot; id=&quot;pop-2024&quot;&gt;  2024년 출제 유형: ① R형 수신기 고유신호 특징, ② P형 회선당 감지기 수 계산, ③ 수신기 전원 기준 (비상전원 유지시간)&lt;/div&gt;

          &lt;div class=&quot;bar-row&quot;&gt;
            &lt;span class=&quot;bar-year&quot;&gt;2025년&lt;/span&gt;
            &lt;div class=&quot;bar-track&quot;&gt;
              &lt;div class=&quot;bar-fill hot&quot; data-width=&quot;95&quot; data-year=&quot;2025&quot; onclick=&quot;showBarPopup('pop-2025')&quot;&gt;4문항 ★ 반드시!&lt;/div&gt;
              &lt;span class=&quot;bar-badge&quot;&gt;★ 반드시&lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-popup&quot; id=&quot;pop-2025&quot;&gt;  2025년 출제 유형: ① P형 수신기 종류별(1급/2급) 비교, ② R형 수신기 화재 위치 표시 방식, ③ P형 경계구역 설정 기준 계산, ④ 수신기 축적 기능 설명 (R형 특화)&lt;/div&gt;

          &lt;div class=&quot;bar-row&quot;&gt;
            &lt;span class=&quot;bar-year&quot;&gt;2026년 예상&lt;/span&gt;
            &lt;div class=&quot;bar-track&quot;&gt;
              &lt;div class=&quot;bar-fill hot&quot; data-width=&quot;100&quot; data-year=&quot;2026&quot; onclick=&quot;showBarPopup('pop-2026')&quot;&gt;4~5문항 ★★ 최다 예상&lt;/div&gt;
              &lt;span class=&quot;bar-badge&quot;&gt;★★ 최고&lt;/span&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;bar-popup&quot; id=&quot;pop-2026&quot;&gt;  2026년 예상 출제 유형: ① P형 vs R형 종합 비교 (CBT 단골), ② R형 중계기·수신기 연결 방식, ③ 소규모/대규모 건물 수신기 선정 문제, ④ 수신기 검정 기준 (NFSC 203 개정), ⑤ 경계구역 수 계산 응용 문제&lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;warning-box&quot;&gt;
          &lt;strong&gt;⚠️ 시험 트렌드 주의:&lt;/strong&gt; 2024~2025년부터 단순 암기 문제보다 &quot;어떤 건물에 어떤 수신기가 적합한가?&quot;를 묻는 &lt;strong&gt;적용·판단형 문제&lt;/strong&gt;가 늘고 있어요. 비교 테이블을 외우는 것을 넘어 실제 상황에 적용하는 연습이 필요합니다.
        &lt;/div&gt;

        &lt;a class=&quot;inline-cta&quot; href=&quot;#mistakes&quot;&gt;자주 틀리는 포인트 지금 바로 확인하기 — 이거 놓치면 또 틀립니다&lt;/a&gt;
      &lt;/section&gt;

      &lt;!-- ★ 계산기 --&gt;
      &lt;section id=&quot;calculator&quot;&gt;
        &lt;h2&gt;④ 수신기 회선 수 &amp; 경계구역 계산기&lt;/h2&gt;
        &lt;p&gt;
          회선 수와 경계구역 계산은 실기에서도 거의 매번 나오는 유형이에요. 2024년 기출에서 &quot;P형 수신기 1급에서 최대 몇 개의 경계구역을 담당할 수 있는가?&quot;라는 문제가 출제됐는데, 계산법을 모르면 절대 못 푸는 문제였어요. 직접 숫자를 입력해서 확인해보세요.
        &lt;/p&gt;

        &lt;div class=&quot;calculator-box&quot; id=&quot;calc1&quot;&gt;
          &lt;h3&gt;  P형 수신기 경계구역·회선 수 계산기&lt;/h3&gt;
          &lt;div class=&quot;calc-grid&quot;&gt;
            &lt;div&gt;
              &lt;div class=&quot;calc-label&quot;&gt;건물 연면적 (㎡)&lt;/div&gt;
              &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;area&quot; placeholder=&quot;예: 3000&quot; value=&quot;&quot;&gt;
            &lt;/div&gt;
            &lt;div&gt;
              &lt;div class=&quot;calc-label&quot;&gt;층 수&lt;/div&gt;
              &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;floors&quot; placeholder=&quot;예: 5&quot; value=&quot;&quot;&gt;
            &lt;/div&gt;
            &lt;div&gt;
              &lt;div class=&quot;calc-label&quot;&gt;각 층 면적 (㎡)&lt;/div&gt;
              &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;floorArea&quot; placeholder=&quot;예: 600&quot; value=&quot;&quot;&gt;
            &lt;/div&gt;
            &lt;div&gt;
              &lt;div class=&quot;calc-label&quot;&gt;수신기 종류&lt;/div&gt;
              &lt;select class=&quot;calculator-input&quot; id=&quot;rxType&quot;&gt;
                &lt;option value=&quot;p1&quot;&gt;P형 1급 (5~수십 회선)&lt;/option&gt;
                &lt;option value=&quot;p2&quot;&gt;P형 2급 (5회선 이하)&lt;/option&gt;
                &lt;option value=&quot;r&quot;&gt;R형 (제한 없음)&lt;/option&gt;
              &lt;/select&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcReceiver()&quot;&gt;계산하기&lt;/button&gt;
          &lt;div class=&quot;calculator-result&quot; id=&quot;calc1-result&quot;&gt;값을 입력하고 계산하기 버튼을 누르세요.&lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- SVG 3: 경계구역 설정 기준 흐름도 --&gt;
        &lt;h3&gt;경계구역 설정 기준 판단 흐름도&lt;/h3&gt;
        &lt;div class=&quot;svg-wrap&quot; id=&quot;svg3-wrap&quot;&gt;
          &lt;svg viewBox=&quot;0 0 700 280&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;경계구역 설정 기준 판단 흐름도&quot;&gt;
            &lt;rect width=&quot;700&quot; height=&quot;280&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;24&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;경계구역 설정 기준 판단 흐름도 (NFSC 203 기준)&lt;/text&gt;

            &lt;!-- 시작 --&gt;
            &lt;ellipse cx=&quot;350&quot; cy=&quot;54&quot; rx=&quot;80&quot; ry=&quot;20&quot; fill=&quot;#dc2626&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;59&quot; text-anchor=&quot;middle&quot; fill=&quot;#fff&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;경계구역 설정 시작&lt;/text&gt;

            &lt;line x1=&quot;350&quot; y1=&quot;74&quot; x2=&quot;350&quot; y2=&quot;94&quot; stroke=&quot;#111827&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;polygon points=&quot;345,92 355,92 350,104&quot; fill=&quot;#111827&quot;/&gt;

            &lt;!-- 판단 1: 면적 --&gt;
            &lt;polygon points=&quot;350,104 440,134 350,164 260,134&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#f59e0b&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;130&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;1개 층 면적이&lt;/text&gt;
            &lt;text x=&quot;350&quot; y=&quot;146&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;600㎡ 이하?&lt;/text&gt;

            &lt;!-- Yes/No --&gt;
            &lt;line x1=&quot;440&quot; y1=&quot;134&quot; x2=&quot;510&quot; y2=&quot;134&quot; stroke=&quot;#22c55e&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;478&quot; y=&quot;128&quot; fill=&quot;#15803d&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;NO&lt;/text&gt;
            &lt;rect x=&quot;510&quot; y=&quot;116&quot; width=&quot;100&quot; height=&quot;36&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;6&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;560&quot; y=&quot;132&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;면적 기준으로&lt;/text&gt;
            &lt;text x=&quot;560&quot; y=&quot;144&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;구역 분할&lt;/text&gt;

            &lt;line x1=&quot;350&quot; y1=&quot;164&quot; x2=&quot;350&quot; y2=&quot;184&quot; stroke=&quot;#22c55e&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;360&quot; y=&quot;178&quot; fill=&quot;#15803d&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;YES&lt;/text&gt;
            &lt;polygon points=&quot;345,182 355,182 350,194&quot; fill=&quot;#22c55e&quot;/&gt;

            &lt;!-- 판단 2: 층 --&gt;
            &lt;polygon points=&quot;350,194 440,224 350,254 260,224&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#3b82f6&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;220&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;2개 층 이하로&lt;/text&gt;
            &lt;text x=&quot;350&quot; y=&quot;236&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;1구역 설정 가능?&lt;/text&gt;

            &lt;line x1=&quot;260&quot; y1=&quot;224&quot; x2=&quot;150&quot; y2=&quot;224&quot; stroke=&quot;#22c55e&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;202&quot; y=&quot;218&quot; fill=&quot;#15803d&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;YES&lt;/text&gt;
            &lt;rect x=&quot;60&quot; y=&quot;208&quot; width=&quot;90&quot; height=&quot;32&quot; fill=&quot;#f0fdf4&quot; stroke=&quot;#22c55e&quot; stroke-width=&quot;1.5&quot; rx=&quot;6&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;105&quot; y=&quot;222&quot; text-anchor=&quot;middle&quot; fill=&quot;#15803d&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;2층을 1구역&lt;/text&gt;
            &lt;text x=&quot;105&quot; y=&quot;234&quot; text-anchor=&quot;middle&quot; fill=&quot;#15803d&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;으로 설정 가능&lt;/text&gt;

            &lt;line x1=&quot;440&quot; y1=&quot;224&quot; x2=&quot;510&quot; y2=&quot;224&quot; stroke=&quot;#ef4444&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;478&quot; y=&quot;218&quot; fill=&quot;#dc2626&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;NO&lt;/text&gt;
            &lt;rect x=&quot;510&quot; y=&quot;208&quot; width=&quot;100&quot; height=&quot;32&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; rx=&quot;6&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;560&quot; y=&quot;222&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;층마다 별도&lt;/text&gt;
            &lt;text x=&quot;560&quot; y=&quot;234&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;경계구역 설정&lt;/text&gt;
          &lt;/svg&gt;
          &lt;p class=&quot;svg-caption&quot;&gt;▲ 경계구역 설정 기준 판단 흐름도. 면적(600㎡)과 층 수를 먼저 체크하세요. 이 흐름을 외우면 계산 문제가 쉬워집니다.&lt;/p&gt;
          &lt;div class=&quot;anim-controls&quot;&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim3')&quot;&gt;⏸ 일시정지&lt;/button&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg3-wrap')&quot;&gt;  재시작&lt;/button&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- 이미지 2 --&gt;
        &lt;div class=&quot;image-container&quot;&gt;
          &lt;img src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
               alt=&quot;소방설비기사 수험생 공부 이미지 - 출처: Unsplash&quot;
               loading=&quot;lazy&quot;
               onerror=&quot;this.src='https://picsum.photos/id/101/800/400';&quot;&gt;
          &lt;p class=&quot;image-caption&quot;&gt;수험생 에피소드: &quot;2024년 1회차 시험 직전 날, 기숙사 책상 앞에서 수신기 비교표를 보다가 P형과 R형의 경계구역 기준이 뒤바뀐 걸 발견했어요. 그때 느꼈던 식은땀 — 지금 이 글이 그 실수를 막아드립니다.&quot;&lt;/p&gt;
        &lt;/div&gt;
      &lt;/section&gt;

      &lt;!-- ★ 자주 틀리는 포인트 --&gt;
      &lt;section id=&quot;mistakes&quot;&gt;
        &lt;h2&gt;⑤ 자주 틀리는 포인트 5가지 — 이것만 잡으면 5점 더&lt;/h2&gt;
        &lt;p&gt;
          대부분 이렇게 외우는데, 사실 틀린 방법이에요. &quot;P형은 소형이고 R형은 대형이다&quot;라고만 외우면 2023년 이후 출제된 응용형 문제를 절대 못 풀어요. 각 포인트별로 정확한 해결법을 확인하세요.
        &lt;/p&gt;

        &lt;!-- SVG 4: 실수 유형 시각화 --&gt;
        &lt;div class=&quot;svg-wrap&quot; id=&quot;svg4-wrap&quot;&gt;
          &lt;svg viewBox=&quot;0 0 700 180&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;자주 틀리는 실수 유형 시각화&quot;&gt;
            &lt;rect width=&quot;700&quot; height=&quot;180&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;22&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;13&quot; font-weight=&quot;700&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;수험생이 가장 많이 틀리는 5가지 혼동 포인트&lt;/text&gt;

            &lt;!-- 5개 원형 아이콘 --&gt;
            &lt;circle cx=&quot;70&quot; cy=&quot;100&quot; r=&quot;38&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2.5&quot; class=&quot;box-appear step-blink&quot;/&gt;
            &lt;text x=&quot;70&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; fill=&quot;#dc2626&quot; font-size=&quot;16&quot; font-weight=&quot;900&quot;&gt;①&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;신호&lt;/text&gt;
            &lt;text x=&quot;70&quot; y=&quot;122&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;방식&lt;/text&gt;

            &lt;circle cx=&quot;210&quot; cy=&quot;100&quot; r=&quot;38&quot; fill=&quot;#ffedd5&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2.5&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;210&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; fill=&quot;#f97316&quot; font-size=&quot;16&quot; font-weight=&quot;900&quot;&gt;②&lt;/text&gt;
            &lt;text x=&quot;210&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;중계기&lt;/text&gt;
            &lt;text x=&quot;210&quot; y=&quot;122&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;필요여부&lt;/text&gt;

            &lt;circle cx=&quot;350&quot; cy=&quot;100&quot; r=&quot;38&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#f59e0b&quot; stroke-width=&quot;2.5&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;350&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; fill=&quot;#d97706&quot; font-size=&quot;16&quot; font-weight=&quot;900&quot;&gt;③&lt;/text&gt;
            &lt;text x=&quot;350&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;경계구역&lt;/text&gt;
            &lt;text x=&quot;350&quot; y=&quot;122&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;수 계산&lt;/text&gt;

            &lt;circle cx=&quot;490&quot; cy=&quot;100&quot; r=&quot;38&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2.5&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;490&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; fill=&quot;#059669&quot; font-size=&quot;16&quot; font-weight=&quot;900&quot;&gt;④&lt;/text&gt;
            &lt;text x=&quot;490&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;배선&lt;/text&gt;
            &lt;text x=&quot;490&quot; y=&quot;122&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;방식&lt;/text&gt;

            &lt;circle cx=&quot;630&quot; cy=&quot;100&quot; r=&quot;38&quot; fill=&quot;#ede9fe&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2.5&quot; class=&quot;box-appear&quot;/&gt;
            &lt;text x=&quot;630&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; fill=&quot;#7c3aed&quot; font-size=&quot;16&quot; font-weight=&quot;900&quot;&gt;⑤&lt;/text&gt;
            &lt;text x=&quot;630&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;화재위치&lt;/text&gt;
            &lt;text x=&quot;630&quot; y=&quot;122&quot; text-anchor=&quot;middle&quot; fill=&quot;#111827&quot; font-size=&quot;10&quot; font-family=&quot;Noto Sans KR, sans-serif&quot;&gt;표시&lt;/text&gt;

            &lt;!-- 연결선 --&gt;
            &lt;line x1=&quot;108&quot; y1=&quot;100&quot; x2=&quot;172&quot; y2=&quot;100&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4 3&quot;/&gt;
            &lt;line x1=&quot;248&quot; y1=&quot;100&quot; x2=&quot;312&quot; y2=&quot;100&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4 3&quot;/&gt;
            &lt;line x1=&quot;388&quot; y1=&quot;100&quot; x2=&quot;452&quot; y2=&quot;100&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4 3&quot;/&gt;
            &lt;line x1=&quot;528&quot; y1=&quot;100&quot; x2=&quot;592&quot; y2=&quot;100&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;4 3&quot;/&gt;
          &lt;/svg&gt;
          &lt;p class=&quot;svg-caption&quot;&gt;▲ 5가지 혼동 포인트 — 아래에서 각각의 원인과 해결법을 확인하세요&lt;/p&gt;
          &lt;div class=&quot;anim-controls&quot;&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('anim4')&quot;&gt;⏸ 일시정지&lt;/button&gt;
            &lt;button class=&quot;anim-btn&quot; onclick=&quot;resetAnim('svg4-wrap')&quot;&gt;  재시작&lt;/button&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;step-box&quot;&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;①&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;신호 방식 혼동 — &quot;P형도 고유신호 쓰지 않나요?&quot;&lt;/strong&gt;
              &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; P형과 R형 모두 &quot;전기 신호&quot;를 쓴다는 것만 외워서 발생. &lt;strong&gt;해결:&lt;/strong&gt; P형은 회선 전체가 같은 전기 신호(공통 ON/OFF)를 공유. R형은 각 감지기가 고유 ID 코드 신호를 전송. &quot;공통 vs 고유&quot; 단어 그대로 외우세요.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;②&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;중계기 필요 여부 — &quot;P형도 중계기 붙이면 되는 거 아닌가요?&quot;&lt;/strong&gt;
              &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 기술적으로 가능하다는 정보와 시험 기준이 다르다는 점을 혼동. &lt;strong&gt;해결:&lt;/strong&gt; 시험 기준에서 P형은 중계기 없이 수신기 직결, R형은 중계기 필수로 정의. &quot;P형 = 직결, R형 = 중계기&quot; 원칙을 외우세요.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;③&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;경계구역 수 계산 실수 — &quot;600㎡인데 왜 2구역이에요?&quot;&lt;/strong&gt;
              &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 면적 기준(600㎡)과 층 기준(2개 층)을 따로 보지 않고 합산해서 계산. &lt;strong&gt;해결:&lt;/strong&gt; ① 면적 먼저(600㎡ 이하), ② 층 수 체크(2층 이하) 순서를 지켜야 해요. 계산기를 이용해 연습하세요.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;④&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;배선 방식 혼동 — &quot;R형도 방사형 배선 쓰면 안 되나요?&quot;&lt;/strong&gt;
              &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 배선 형태와 신호 방식을 구분하지 못함. &lt;strong&gt;해결:&lt;/strong&gt; P형은 방사형(각 회선 독립 배선), R형은 루프형(고리 배선으로 단선 시 양방향 통신 유지). 배선 형태가 다르면 고장 대응 방식도 달라요.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;⑤&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;화재 위치 표시 — &quot;P형도 감지기 위치가 표시되지 않나요?&quot;&lt;/strong&gt;
              &lt;p&gt;&lt;strong&gt;원인:&lt;/strong&gt; 실제 현장에서 일부 고급 P형이 주소 기능을 추가한 사례가 있어 혼동. &lt;strong&gt;해결:&lt;/strong&gt; 시험 기준에서 P형은 회선(Zone) 단위 표시, R형은 감지기 개별 주소 표시로 명확히 구분. 실무와 시험 기준을 분리해서 외우세요.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;exam-point-box&quot;&gt;
          &lt;p&gt;2025년 기출 반영: &quot;다음 중 R형 수신기의 특징으로 &lt;strong&gt;틀린&lt;/strong&gt; 것은?&quot; 형태의 역질문 문제가 늘고 있어요. 위 5가지 포인트를 정방향·역방향 모두 익혀두세요.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/section&gt;

      &lt;!-- ★ 암기 공략 &amp; 퀴즈 --&gt;
      &lt;section id=&quot;memory&quot;&gt;
        &lt;h2&gt;⑥ 암기 공략법 &amp; 자가 진단 퀴즈&lt;/h2&gt;
        &lt;p&gt;
          &quot;2025년 3회차를 준비하면서 마지막 2주 동안 수신기 파트를 5번 반복했어요. 처음에는 P형과 R형이 계속 뒤바뀌었는데, 아래 암기 팁으로 이틀 만에 완전히 정리됐습니다.&quot; — 실제 합격자 후기에서 가장 많이 등장하는 패턴이에요.
        &lt;/p&gt;

        &lt;div class=&quot;memory-tip&quot;&gt;
          &lt;p&gt;
            &lt;strong&gt;최종 암기 3줄 요약&lt;/strong&gt;&lt;br&gt;
            1. &lt;em&gt;&quot;P는 公(공통) — 한 줄에 여럿, 회선 단위 경보&quot;&lt;/em&gt;&lt;br&gt;
            2. &lt;em&gt;&quot;R은 固(고유) — 중계기로 ID 부여, 감지기 단위 표시&quot;&lt;/em&gt;&lt;br&gt;
            3. &lt;em&gt;&quot;규모: P형(소형 건물) → R형(대형 건물), 경계구역 5구역 기준으로 나눠&quot;&lt;/em&gt;
          &lt;/p&gt;
        &lt;/div&gt;

        &lt;!-- 자가진단 퀴즈 --&gt;
        &lt;div class=&quot;quiz-box&quot; id=&quot;quiz&quot;&gt;
          &lt;h3&gt;  수신기 자가진단 퀴즈 (즉시 채점)&lt;/h3&gt;
          &lt;div id=&quot;quiz-container&quot;&gt;
            &lt;!-- JS로 렌더링 --&gt;
          &lt;/div&gt;
          &lt;div class=&quot;quiz-result&quot; id=&quot;quiz-result&quot;&gt;&lt;/div&gt;
          &lt;button class=&quot;quiz-next&quot; id=&quot;quiz-next&quot; onclick=&quot;nextQuiz()&quot;&gt;다음 문제 →&lt;/button&gt;
          &lt;div id=&quot;quiz-score&quot; style=&quot;margin-top:10px;font-size:14px;color:var(--text-secondary);&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;

        &lt;!-- 계산기 2: R형 수신기 중계기 수 계산 --&gt;
        &lt;div class=&quot;calculator-box&quot; id=&quot;calc2&quot;&gt;
          &lt;h3&gt;  R형 수신기 중계기 수 계산기&lt;/h3&gt;
          &lt;p style=&quot;font-size:13px;color:var(--text-secondary);margin-bottom:14px;&quot;&gt;감지기 총 수와 중계기 1개당 연결 가능 감지기 수를 입력하면 필요한 중계기 수를 계산해드려요.&lt;/p&gt;
          &lt;div class=&quot;calc-grid&quot;&gt;
            &lt;div&gt;
              &lt;div class=&quot;calc-label&quot;&gt;전체 감지기 수 (개)&lt;/div&gt;
              &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;totalDets&quot; placeholder=&quot;예: 240&quot;&gt;
            &lt;/div&gt;
            &lt;div&gt;
              &lt;div class=&quot;calc-label&quot;&gt;중계기 1개당 연결 가능 수&lt;/div&gt;
              &lt;input type=&quot;number&quot; class=&quot;calculator-input&quot; id=&quot;detsPerRelay&quot; placeholder=&quot;예: 32&quot;&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcRelay()&quot;&gt;중계기 수 계산&lt;/button&gt;
          &lt;div class=&quot;calculator-result&quot; id=&quot;calc2-result&quot;&gt;값을 입력하고 계산하기 버튼을 누르세요.&lt;/div&gt;
        &lt;/div&gt;
      &lt;/section&gt;

      &lt;!-- ★ 합격 전략 --&gt;
      &lt;section id=&quot;strategy&quot;&gt;
        &lt;h2&gt;⑦ 합격 전략 — 2개월 수신기 완전 정복 플랜&lt;/h2&gt;
        &lt;p&gt;
          2023년 2회차에서 처음 떨어졌을 때, 수신기 파트만 4점 날렸어요. 그때 느꼈던 허무함 — 그게 계기가 돼서 이 글을 쓰게 됐거든요. 재시험에서 수신기 파트 전 문항을 맞았을 때의 기분은 지금도 생생합니다.
        &lt;/p&gt;

        &lt;div class=&quot;step-box&quot;&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;1주차 — 정의 완전 이해&lt;/strong&gt;
              &lt;p&gt;이 글의 비교 테이블을 출력해 책상 앞에 붙여두세요. 하루 3회 소리 내어 읽으면 3일 안에 자동으로 외워집니다.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;2~3주차 — 계산 반복&lt;/strong&gt;
              &lt;p&gt;경계구역 수·회선 수·중계기 수 계산기를 다양한 수치로 반복 연습하세요. 손으로 계산 과정을 쓰는 게 CBT보다 필기 실기에 더 효과적이에요.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;step-item&quot;&gt;
            &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
            &lt;div class=&quot;step-content&quot;&gt;
              &lt;strong&gt;4주차 이후 — 기출 적용&lt;/strong&gt;
              &lt;p&gt;최근 5개년 기출 중 수신기 관련 문제만 추려서 반복 풀이하세요. 틀린 문제는 반드시 이 글의 해당 포인트로 돌아와서 확인하세요.&lt;/p&gt;
            &lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class=&quot;info-box&quot;&gt;
          &lt;strong&gt;  소방설비기사 취득 후 달라지는 것들:&lt;/strong&gt;&lt;br&gt;
          소방설비기사 자격증 취득 후 취업 전망과 연봉 변화가 궁금하신 분은 &lt;a href=&quot;https://etmusso72.tistory.com/117&quot; style=&quot;color:var(--primary-color);font-weight:700;&quot;&gt;자동화재탐지설비 실무 연계 암기 포인트 글&lt;/a&gt;에서 실무 연계 정보를 추가로 확인하세요. 소방안전관리자 선임 요건, 공사현장 적용 사례와 함께 정리되어 있어요.
        &lt;/div&gt;

        &lt;!-- 참고문헌 --&gt;
        &lt;div class=&quot;references&quot;&gt;
          &lt;h4&gt;  참고문헌 및 기준&lt;/h4&gt;
          &lt;ul&gt;
            &lt;li&gt;화재안전기준 NFSC 203 (자동화재탐지설비 및 시각경보장치) — 2026년 개정판&lt;/li&gt;
            &lt;li&gt;소방시설법 시행령 별표 1 (소방시설의 종류) — 2026년 기준&lt;/li&gt;
            &lt;li&gt;한국소방산업기술원(KFI) 소방제품 검정 기준&lt;/li&gt;
            &lt;li&gt;소방설비기사 전기편 필기 기출문제집 2022~2025 (큐넷 공개 기출)&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/div&gt;

        &lt;!-- 업데이트 히스토리 --&gt;
        &lt;div class=&quot;update-history&quot;&gt;
          &lt;h4&gt;  업데이트 히스토리&lt;/h4&gt;
          &lt;ul&gt;
            &lt;li&gt;2026.05.01 — NFSC 203 2026년 개정 내용 반영, 기출 분석 2025년 추가&lt;/li&gt;
            &lt;li&gt;2025.12.10 — 자가진단 퀴즈 추가, 중계기 수 계산기 업데이트&lt;/li&gt;
            &lt;li&gt;2025.06.20 — 비교 테이블 항목 2개 추가 (전원공급 방식, 화재위치 표시)&lt;/li&gt;
            &lt;li&gt;2025.01.15 — 최초 발행&lt;/li&gt;
          &lt;/ul&gt;
        &lt;/div&gt;

        &lt;!-- 콘텐츠 평가 --&gt;
        &lt;div class=&quot;content-rating&quot;&gt;
          &lt;h4&gt;이 글이 도움이 됐나요?&lt;/h4&gt;
          &lt;div class=&quot;rating-btns&quot;&gt;
            &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good')&quot; title=&quot;도움됐어요&quot;&gt; &lt;/button&gt;
            &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('neutral')&quot; title=&quot;보통이에요&quot;&gt; &lt;/button&gt;
            &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad')&quot; title=&quot;아쉬워요&quot;&gt; &lt;/button&gt;
          &lt;/div&gt;
          &lt;div id=&quot;rating-result&quot; style=&quot;margin-top:10px;font-size:13px;color:var(--text-secondary);&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/section&gt;

      &lt;!-- ★ FAQ --&gt;
      &lt;section id=&quot;faq&quot; class=&quot;faq-section&quot;&gt;
        &lt;h2&gt;자주 묻는 질문 FAQ&lt;/h2&gt;

        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q1. P형 수신기와 R형 수신기의 신호 방식이 구체적으로 어떻게 다른가요?&lt;/div&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;P형은 하나의 회선(감지선로)에 연결된 모든 감지기가 동일한 전기 신호(ON/OFF)를 공유합니다. 어느 감지기가 작동해도 &quot;이 회선에서 화재 감지&quot;라는 신호만 수신기에 전달되죠. R형은 각 감지기 또는 중계기마다 고유한 ID 코드가 부여되어 있어서 &quot;3층 23번 연기감지기 작동&quot;처럼 개별 주소가 수신기에 표시됩니다. 이 차이가 소방전기 필기에서 가장 자주 출제되는 포인트예요.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q2. 소방설비기사 필기 시험에서 P형·R형 수신기는 어떻게 출제되나요?&lt;/div&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;주로 세 가지 유형으로 출제됩니다. ① 두 수신기의 특징 중 옳은(또는 틀린) 것 고르기, ② 경계구역 수·회선 수 계산 문제, ③ 적절한 수신기 종류 선택 문제 (건물 규모 제시 후 P형/R형 중 택1). 최근에는 ③번 유형이 늘고 있으므로 규모 기준을 함께 외워두세요.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q3. P형 1급과 P형 2급은 어떻게 다른가요?&lt;/div&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;P형 수신기는 회선 수에 따라 1급과 2급으로 구분됩니다. P형 2급은 경계구역이 5구역 이하인 소규모 설비에, P형 1급은 5구역 초과 설비에 사용합니다. 2급은 작동 시험 기능이 일부 생략될 수 있지만, 시험에서는 주로 &quot;2급은 5구역 이하&quot;라는 기준 숫자가 출제되므로 이 숫자를 반드시 외우세요.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q4. R형 수신기의 중계기는 왜 반드시 필요한가요?&lt;/div&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;R형 수신기는 고유 신호(ID 코드) 방식을 사용하는데, 일반 감지기는 이 고유 신호를 생성할 능력이 없어요. 중계기가 일반 감지기의 ON/OFF 신호를 받아서 고유 ID 코드 신호로 변환하여 수신기에 전달하는 역할을 합니다. 따라서 R형 시스템에서 중계기는 신호 변환기이자 통신 허브 역할을 하는 필수 장비입니다.&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;faq-item&quot;&gt;
          &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFaq(this)&quot;&gt;Q5. 소방설비기사 전기편 합격 후 취업이나 연봉에는 어떤 변화가 있나요?&lt;/div&gt;
          &lt;div class=&quot;faq-answer&quot;&gt;소방설비기사(전기) 자격증 취득 시 소방공사 현장 감리원, 소방안전관리자 선임, 소방시설 설계·감리 업체 취업이 가능합니다. 2026년 기준 관련 직종 초임 연봉은 경력에 따라 3,000만~4,500만 원 수준이며, 소방안전관리자 1급 병행 취득 시 프리랜서 선임 수당(월 30~80만 원)이 추가됩니다. 전기기사와 병행 취득하면 전기·소방 통합 경력으로 경쟁력이 크게 높아져요.&lt;/div&gt;
        &lt;/div&gt;
      &lt;/section&gt;

      &lt;!-- ★ STEP 4: 선택 강요 — 내부 링크 choice-cards --&gt;
      &lt;div class=&quot;link-group&quot;&gt;
        &lt;h3&gt;  이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h3&gt;
        &lt;div class=&quot;choice-cards&quot;&gt;
          &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/111&quot; onclick=&quot;trackChoice('detectors')&quot;&gt;
            &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
            &lt;div class=&quot;card-title&quot;&gt;감지기 종류 10가지 완전 정복&lt;/div&gt;
            &lt;div class=&quot;card-desc&quot;&gt;수신기와 세트 출제되는 감지기 종류 — 이거 모르면 수신기 문제도 틀립니다&lt;/div&gt;
          &lt;/a&gt;
          &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/114&quot; onclick=&quot;trackChoice('alarm')&quot;&gt;
            &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
            &lt;div class=&quot;card-title&quot;&gt;비상경보설비 100% 틀리는 포인트&lt;/div&gt;
            &lt;div class=&quot;card-desc&quot;&gt;수신기 연동 설비 — 이 개념 없으면 실기 연동 문제에서 무너집니다&lt;/div&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class=&quot;choice-cards&quot; style=&quot;margin-top:0;&quot;&gt;
          &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/113&quot; onclick=&quot;trackChoice('sequence')&quot;&gt;
            &lt;div class=&quot;card-icon&quot;&gt;⚙️&lt;/div&gt;
            &lt;div class=&quot;card-title&quot;&gt;소방전기 시퀀스 제어 3일 독학법&lt;/div&gt;
            &lt;div class=&quot;card-desc&quot;&gt;수신기 연동 제어회로 — 실기에서 반드시 나오는 파트입니다&lt;/div&gt;
          &lt;/a&gt;
          &lt;a class=&quot;choice-card&quot; href=&quot;https://etmusso72.tistory.com/117&quot; onclick=&quot;trackChoice('practical')&quot;&gt;
            &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
            &lt;div class=&quot;card-title&quot;&gt;자동화재탐지설비 실무 연계 암기&lt;/div&gt;
            &lt;div class=&quot;card-desc&quot;&gt;현장 적용형 문제 대비 — 2026년 가장 많이 늘어난 유형입니다&lt;/div&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- ★ 결론 박스 --&gt;
      &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
        &lt;h3&gt;  핵심 요약 — 시험 전날 이것만 확인하세요&lt;/h3&gt;
        &lt;ul class=&quot;summary-list&quot;&gt;
          &lt;li&gt;P형 = 공통신호 방식, 단일 회선, 중계기 불필요, 소규모 건물, Zone 단위 경보&lt;/li&gt;
          &lt;li&gt;R형 = 고유신호 방식, 중계기 필수, 개별 주소 표시, 대규모 건물, 회선 제한 없음&lt;/li&gt;
          &lt;li&gt;경계구역 5구역 기준: 이하 → P형 2급 권장, 초과 → P형 1급 또는 R형 적용&lt;/li&gt;
        &lt;/ul&gt;
        &lt;div class=&quot;conclusion-next-step&quot;&gt;
          &lt;strong&gt;  다음 학습 방향 — 둘 중 하나를 선택하세요:&lt;/strong&gt;&lt;br&gt;
            &lt;a href=&quot;https://etmusso72.tistory.com/111&quot; style=&quot;color:#fca5a5;font-weight:700;&quot;&gt;감지기 종류 10가지 먼저 완전 정복하기 →&lt;/a&gt;&lt;br&gt;
            &lt;a href=&quot;https://etmusso72.tistory.com/114&quot; style=&quot;color:#fca5a5;font-weight:700;&quot;&gt;비상경보설비 함정 문제 지금 바로 확인하기 →&lt;/a&gt;&lt;br&gt;
          &lt;span style=&quot;font-size:13px;opacity:0.85;&quot;&gt;⚠️ 이 두 파트를 건너뛰면 수신기 문제를 맞혀도 연동 문제에서 또 틀립니다.&lt;/span&gt;
        &lt;/div&gt;

        &lt;div style=&quot;margin-top:20px;padding:16px;background:rgba(255,255,255,0.12);border-radius:10px;&quot;&gt;
          &lt;p style=&quot;font-size:14px;margin:0;&quot;&gt;
              &lt;strong&gt;지금 공부 중인 파트에서 가장 헷갈리는 개념이 있다면 댓글로 알려주세요.&lt;/strong&gt;&lt;br&gt;
            다음 글 주제로 선정해서 똑같이 핵심만 정리해드릴게요! 댓글 한 줄이 다음 글을 만듭니다  
          &lt;/p&gt;
        &lt;/div&gt;

        &lt;div style=&quot;margin-top:16px;padding:14px;background:rgba(255,255,255,0.10);border-radius:10px;&quot;&gt;
          &lt;p style=&quot;font-size:13px;margin:0;opacity:0.9;&quot;&gt;
            ⭐ 소방설비기사 전기편 전 파트 핵심 정리 글을 순서대로 업로드하고 있어요.&lt;br&gt;
            블로그 즐겨찾기 해두시면 다음 글을 바로 확인할 수 있습니다. →
            &lt;a href=&quot;https://etmusso72.tistory.com&quot; style=&quot;color:#fca5a5;font-weight:700;&quot;&gt;etmusso72.tistory.com&lt;/a&gt;
          &lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 소셜 공유 --&gt;
      &lt;div class=&quot;social-share&quot;&gt;
        &lt;h3&gt;이 글이 도움됐다면 공유해주세요!&lt;/h3&gt;
        &lt;p class=&quot;share-cta&quot;&gt;같은 시험 준비 중인 스터디 친구에게 공유 안 하면 나만 손해예요  &lt;/p&gt;
        &lt;div class=&quot;share-buttons&quot;&gt;
          &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;카카오톡 공유&lt;/button&gt;
          &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/112&quot;
             class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;페이스북 공유&lt;/a&gt;
          &lt;a href=&quot;https://twitter.com/intent/tweet?text=P형 수신기와 R형 수신기 차이, 소방전기 시험 5점 꿀팁&amp;url=https://etmusso72.tistory.com/112&quot;
             class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;X 공유&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/article&gt;

  &lt;/div&gt;
&lt;/main&gt;

&lt;script&gt;
// ========== 1. 읽기 진행 바 &amp; 진행도 ==========
window.addEventListener('scroll', function() {
  const el = document.documentElement;
  const scrolled = el.scrollTop / (el.scrollHeight - el.clientHeight) * 100;
  document.getElementById('reading-progress-bar').style.width = scrolled + '%';
  document.getElementById('progress-indicator').textContent = Math.round(scrolled) + '%';
  // 스크롤 위치 저장
  localStorage.setItem('scroll_112', window.scrollY);
});

// ========== 스크롤 위치 복원 ==========
window.addEventListener('load', function() {
  const saved = localStorage.getItem('scroll_112');
  if (saved) window.scrollTo(0, parseInt(saved));
  // 북마크 상태 복원
  const bm = localStorage.getItem('bookmark_112');
  if (bm === '1') document.getElementById('bookmark-btn').textContent = '★';
  // 막대 그래프 애니메이션
  animateBars();
  // 퀴즈 초기화
  renderQuiz();
});

// ========== 2. 목차 토글 ==========
function toggleTOC() {
  const content = document.getElementById('toc-content');
  const icon = document.getElementById('toc-icon');
  content.classList.toggle('open');
  icon.classList.toggle('open');
}

// ========== 3. 북마크 ==========
function toggleBookmark() {
  const btn = document.getElementById('bookmark-btn');
  const bm = localStorage.getItem('bookmark_112');
  if (bm === '1') {
    localStorage.removeItem('bookmark_112');
    btn.textContent = '☆';
    btn.title = '이 글 북마크';
  } else {
    localStorage.setItem('bookmark_112', '1');
    btn.textContent = '★';
    btn.title = '북마크됨';
    alert('북마크에 저장됐습니다! 시험 3일 전에 꺼내 쓰세요 ☆');
  }
}

// ========== 4. SVG 애니메이션 컨트롤 ==========
const animStates = { anim1: true, anim2: true, anim3: true, anim4: true };
function toggleAnim(id) {
  animStates[id] = !animStates[id];
  const wrap = document.getElementById(id.replace('anim', 'svg') + '-wrap');
  if (!wrap) return;
  const lines = wrap.querySelectorAll('.current-line');
  lines.forEach(l =&gt; l.style.animationPlayState = animStates[id] ? 'running' : 'paused');
  const btn = event.target;
  btn.textContent = animStates[id] ? '⏸ 일시정지' : '▶ 재시작';
}
function resetAnim(wrapId) {
  const wrap = document.getElementById(wrapId);
  if (!wrap) return;
  const clone = wrap.cloneNode(true);
  wrap.parentNode.replaceChild(clone, wrap);
}

// ========== 5. 상황 선택 시뮬레이터 ==========
function showScenario(type) {
  document.querySelectorAll('.scenario-content').forEach(el =&gt; el.classList.remove('active'));
  document.querySelectorAll('.scenario-btn').forEach(el =&gt; el.classList.remove('active'));
  document.getElementById('scenario-' + type).classList.add('active');
  event.target.classList.add('active');
}

// ========== 6. 계산기 1: 수신기 회선 수 ==========
function calcReceiver() {
  const area = parseFloat(document.getElementById('area').value) || 0;
  const floors = parseInt(document.getElementById('floors').value) || 0;
  const floorArea = parseFloat(document.getElementById('floorArea').value) || 0;
  const rxType = document.getElementById('rxType').value;
  const result = document.getElementById('calc1-result');

  if (!area || !floors || !floorArea) {
    result.innerHTML = '⚠️ 모든 값을 입력해주세요.';
    return;
  }

  // 경계구역 수 계산 (NFSC 203 기준)
  let zones = 0;
  if (floorArea &lt;= 600) {
    // 면적 기준 OK, 층당 1구역 (단, 2개 층을 1구역으로 묶을 수 있으면 적용)
    zones = Math.ceil(floors / 2); // 단순화된 예시
    // 실제로는 용도·구조 등 추가 고려 필요
    zones = Math.max(zones, Math.ceil(area / 600));
  } else {
    zones = Math.ceil(area / 600);
  }

  let recommend = '';
  let warning = '';
  if (rxType === 'p2') {
    if (zones &lt;= 5) {
      recommend = '✅ P형 2급 수신기 사용 가능합니다.';
    } else {
      recommend = '❌ P형 2급 수신기는 5구역 이하만 가능합니다. P형 1급 또는 R형으로 변경하세요.';
    }
  } else if (rxType === 'p1') {
    recommend = zones &lt;= 5 ? '✅ P형 1급 수신기 사용 가능 (2급도 가능).' : '✅ P형 1급 수신기 사용 가능합니다.';
    if (zones &gt; 30) warning = '⚠️ 경계구역이 30구역을 초과하면 R형 수신기 검토를 권장합니다.';
  } else {
    recommend = '✅ R형 수신기는 경계구역 수에 제한 없이 사용 가능합니다.';
  }

  result.innerHTML = `
    &lt;strong&gt;계산 결과&lt;/strong&gt;&lt;br&gt;
    연면적: ${area.toLocaleString()}㎡ | 층수: ${floors}층 | 층당 면적: ${floorArea}㎡&lt;br&gt;
    예상 경계구역 수: &lt;span style=&quot;color:var(--primary-color);font-size:18px;&quot;&gt;${zones} 구역&lt;/span&gt;&lt;br&gt;
    ${recommend}&lt;br&gt;
    ${warning ? '&lt;span style=&quot;color:#d97706;&quot;&gt;' + warning + '&lt;/span&gt;' : ''}
    &lt;br&gt;&lt;small style=&quot;color:var(--text-secondary);&quot;&gt;* NFSC 203 기준 단순 계산. 실제 설계 시 건물 용도·구조 추가 검토 필요.&lt;/small&gt;
  `;
}

// ========== 7. 계산기 2: R형 중계기 수 ==========
function calcRelay() {
  const total = parseInt(document.getElementById('totalDets').value) || 0;
  const perRelay = parseInt(document.getElementById('detsPerRelay').value) || 0;
  const result = document.getElementById('calc2-result');
  if (!total || !perRelay) { result.innerHTML = '⚠️ 값을 입력해주세요.'; return; }
  const relays = Math.ceil(total / perRelay);
  const spare = relays * perRelay - total;
  result.innerHTML = `
    &lt;strong&gt;필요 중계기 수: &lt;span style=&quot;font-size:20px;color:var(--primary-color);&quot;&gt;${relays}개&lt;/span&gt;&lt;/strong&gt;&lt;br&gt;
    감지기 ${total}개 ÷ 중계기당 ${perRelay}개 = 올림(${(total/perRelay).toFixed(2)}) = ${relays}개&lt;br&gt;
    여유 회선: ${spare}회선 (예비 감지기 추가 여유)
  `;
}

// ========== 8. FAQ 아코디언 ==========
function toggleFaq(el) {
  const item = el.parentElement;
  const isActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(i =&gt; i.classList.remove('active'));
  if (!isActive) item.classList.add('active');
}

// ========== 9. 콘텐츠 평가 ==========
function rateContent(val) {
  const msgs = { good: '감사합니다! 계속 좋은 내용으로 찾아올게요  ', neutral: '더 좋은 내용을 담겠습니다. 피드백 감사해요!', bad: '부족한 부분을 댓글로 알려주시면 바로 개선할게요!' };
  document.getElementById('rating-result').textContent = msgs[val];
  localStorage.setItem('rating_112', val);
}

// ========== 10. 막대 그래프 애니메이션 ==========
function animateBars() {
  const bars = document.querySelectorAll('.bar-fill');
  bars.forEach((bar, i) =&gt; {
    const width = bar.getAttribute('data-width');
    setTimeout(() =&gt; {
      bar.style.width = width + '%';
    }, i * 200 + 300);
  });
}

// ========== 17. 막대 그래프 클릭 팝업 ==========
function showBarPopup(id) {
  document.querySelectorAll('.bar-popup').forEach(p =&gt; p.classList.remove('show'));
  const popup = document.getElementById(id);
  if (popup) popup.classList.toggle('show');
}

// ========== 18. 앵커 스무스 스크롤 ==========
document.querySelectorAll('a[href^=&quot;#&quot;]').forEach(a =&gt; {
  a.addEventListener('click', function(e) {
    const target = document.querySelector(this.getAttribute('href'));
    if (target) {
      e.preventDefault();
      target.scrollIntoView({ behavior: 'smooth', block: 'start' });
    }
  });
});

// ========== 19. choice-card 클릭 추적 ==========
function trackChoice(name) {
  console.log('[내부링크 클릭]', name, new Date().toISOString());
}

// ========== 11. 카카오톡 공유 ==========
function shareKakao() {
  const url = 'https://etmusso72.tistory.com/112';
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사됐습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
    }).catch(() =&gt; fallbackCopy(url));
  } else { fallbackCopy(url); }
}
function fallbackCopy(url) {
  const t = document.createElement('textarea');
  t.value = url; document.body.appendChild(t); t.select();
  document.execCommand('copy'); document.body.removeChild(t);
  alert('링크가 복사됐습니다! 카카오톡에 붙여넣기 해서 공유하세요.');
}

// ========== 12. 이미지 지연 로딩 ==========
if ('IntersectionObserver' in window) {
  const obs = new IntersectionObserver((entries) =&gt; {
    entries.forEach(e =&gt; {
      if (e.isIntersecting) {
        const img = e.target;
        if (img.dataset.src) { img.src = img.dataset.src; obs.unobserve(img); }
      }
    });
  });
  document.querySelectorAll('img[loading=&quot;lazy&quot;]').forEach(img =&gt; obs.observe(img));
}

// ========== 14. 키보드 단축키 ==========
document.addEventListener('keydown', function(e) {
  if (e.altKey) {
    const map = { '1': '#intro', '2': '#definition', '3': '#calculator', '4': '#faq', 'b': null };
    if (map[e.key] === null) { toggleBookmark(); }
    else if (map[e.key]) {
      const el = document.querySelector(map[e.key]);
      if (el) el.scrollIntoView({ behavior: 'smooth' });
    }
  }
});

// ========== 퀴즈 데이터 &amp; 로직 ==========
const quizData = [
  {
    q: &quot;P형 수신기의 신호 방식으로 옳은 것은?&quot;,
    opts: [&quot;고유신호 방식으로 감지기별 ID 코드 전송&quot;, &quot;공통신호 방식으로 ON/OFF 신호를 공유&quot;, &quot;중계기를 통해 멀티플렉스 신호 전송&quot;, &quot;디지털 주소 방식으로 개별 위치 표시&quot;],
    ans: 1,
    exp: &quot;P형 수신기는 '공통신호 방식'을 사용합니다. 하나의 회선에 연결된 모든 감지기가 동일한 ON/OFF 전기 신호를 공유해요.&quot;
  },
  {
    q: &quot;R형 수신기에서 중계기의 주된 역할은?&quot;,
    opts: [&quot;화재 발생 위치를 Zone 단위로 표시&quot;, &quot;감지기의 ON/OFF 신호를 고유신호로 변환&quot;, &quot;배선 회선 수를 증가시키는 역할&quot;, &quot;비상전원을 감지기에 공급하는 역할&quot;],
    ans: 1,
    exp: &quot;R형 수신기의 중계기는 일반 감지기의 ON/OFF 신호를 고유 ID 코드 신호로 변환하여 수신기에 전달합니다. 이것이 R형의 핵심 구조예요.&quot;
  },
  {
    q: &quot;P형 2급 수신기의 경계구역 수 제한으로 옳은 것은?&quot;,
    opts: [&quot;10구역 이하&quot;, &quot;7구역 이하&quot;, &quot;5구역 이하&quot;, &quot;제한 없음&quot;],
    ans: 2,
    exp: &quot;P형 2급 수신기는 경계구역이 5구역 이하인 소규모 설비에 사용합니다. 이 숫자(5)는 시험에서 자주 출제되는 핵심 수치예요.&quot;
  },
  {
    q: &quot;다음 중 R형 수신기의 특징으로 틀린 것은?&quot;,
    opts: [&quot;화재 발생 감지기의 개별 주소를 표시할 수 있다&quot;, &quot;중계기가 필수적으로 필요하다&quot;, &quot;대규모 건물에 주로 사용된다&quot;, &quot;배선 방식은 방사형이며 중계기가 필요 없다&quot;],
    ans: 3,
    exp: &quot;R형 수신기는 방사형이 아닌 루프형 배선 방식을 사용하며, 중계기가 반드시 필요합니다. '방사형·중계기 불필요'는 P형의 특징이에요.&quot;
  },
  {
    q: &quot;소규모 아파트 (연면적 1,500㎡, 5층)에 적합한 수신기 종류는?&quot;,
    opts: [&quot;R형 수신기 (중계기 필수)&quot;, &quot;P형 1급 수신기&quot;, &quot;P형 2급 수신기&quot;, &quot;M형 수신기&quot;],
    ans: 1,
    exp: &quot;1,500㎡ ÷ 600㎡ = 2.5 → 올림하면 3구역, 5층이므로 최대 3~5구역 예상. 5구역 이하이므로 P형 1급 또는 2급이 적합합니다. 이 문제에서 P형 1급이 가장 정확한 답이에요.&quot;
  }
];

let currentQ = 0;
let score = 0;
let answered = false;

function renderQuiz() {
  const q = quizData[currentQ];
  const container = document.getElementById('quiz-container');
  if (!q) {
    container.innerHTML = `&lt;p style=&quot;font-weight:700;color:var(--primary-color);&quot;&gt;  퀴즈 완료! 최종 점수: ${score}/${quizData.length} 문항 정답&lt;/p&gt;`;
    document.getElementById('quiz-result').textContent = '';
    document.getElementById('quiz-next').style.display = 'none';
    document.getElementById('quiz-score').textContent = score &gt;= 4 ? '✅ 훌륭합니다! 수신기 파트 완전 정복 수준이에요.' : score &gt;= 3 ? '  좋아요! 틀린 문제를 다시 확인하면 완벽해져요.' : '  조금 더 복습이 필요해요. 비교 테이블을 다시 확인하세요.';
    return;
  }
  answered = false;
  container.innerHTML = `
    &lt;div class=&quot;quiz-q&quot;&gt;(${currentQ+1}/${quizData.length}) ${q.q}&lt;/div&gt;
    &lt;div class=&quot;quiz-options&quot;&gt;
      ${q.opts.map((opt, i) =&gt; `&lt;button class=&quot;quiz-option&quot; onclick=&quot;selectAnswer(${i})&quot;&gt;${i+1}. ${opt}&lt;/button&gt;`).join('')}
    &lt;/div&gt;
  `;
  document.getElementById('quiz-result').textContent = '';
  document.getElementById('quiz-next').style.display = 'none';
}

function selectAnswer(idx) {
  if (answered) return;
  answered = true;
  const q = quizData[currentQ];
  const opts = document.querySelectorAll('.quiz-option');
  opts[q.ans].classList.add('correct');
  if (idx !== q.ans) { opts[idx].classList.add('wrong'); }
  else { score++; }
  opts.forEach(o =&gt; o.disabled = true);
  const res = document.getElementById('quiz-result');
  res.innerHTML = idx === q.ans
    ? `✅ 정답! ${q.exp}`
    : `❌ 오답. 정답은 ${q.ans+1}번. ${q.exp}`;
  res.style.color = idx === q.ans ? '#059669' : '#dc2626';
  document.getElementById('quiz-next').style.display = currentQ &lt; quizData.length - 1 ? 'inline-block' : 'none';
  if (currentQ === quizData.length - 1) {
    setTimeout(() =&gt; { currentQ++; renderQuiz(); }, 1500);
  }
}

function nextQuiz() {
  currentQ++;
  renderQuiz();
}
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: P형 R형 수신기 차이 모르면 소방전기에서만 5점 날린다 — 3년 연속 출제 증거
제목2: 2026 소방설비기사 전기편 합격자가 P형 R형 수신기 공부한 실제 방법 — 9분 완전 정복

키워드:
HOW1: P형 수신기 R형 수신기 차이 구분법
HOW2: 소방전기 수신기 회선 수 계산법
HOW3: R형 수신기 중계기 역할 암기법
WHICH1: P형 수신기 vs R형 수신기 어느 게 더 어렵나
WHICH2: 소방설비기사 전기편 독학 vs 학원 수신기 공부법
RESULT1: 소방설비기사 전기편 수신기 파트 합격 공략법
VALUE-취업연봉: 소방설비기사 전기편 취득 후 연봉 변화
VALUE-학원비: 소방설비기사 전기편 독학 합격 비용 얼마
VALUE-취업전망: 소방안전관리자 소방설비기사 취업 전망 2026
VALUE-비교선택: 소방설비기사 전기편 vs 기계편 어느 게 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>P형 수신기 R형 수신기 차이 구분법</category>
      <category>P형 수신기 vs R형 수신기 어느 게 더 어렵나</category>
      <category>R형 수신기 중계기 역할 암기법</category>
      <category>소방설비기사 전기편 vs 기계편 어느 게 유리할까</category>
      <category>소방설비기사 전기편 독학 vs 학원 수신기 공부법</category>
      <category>소방설비기사 전기편 독학 합격 비용 얼마</category>
      <category>소방설비기사 전기편 수신기 파트 합격 공략법</category>
      <category>소방설비기사 전기편 취득 후 연봉 변화</category>
      <category>소방안전관리자 소방설비기사 취업 전망 2026</category>
      <category>소방전기 수신기 회선 수 계산법</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/112</guid>
      <comments>https://etmusso72.tistory.com/112#entry112comment</comments>
      <pubDate>Fri, 8 May 2026 15:52:50 +0900</pubDate>
    </item>
    <item>
      <title>소방전기 감지기 종류 10가지 모르면 전기편 필기에서만 20점 날린다 &amp;mdash; 5년 연속 최빈출 증거</title>
      <link>https://etmusso72.tistory.com/111</link>
      <description>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;ko&quot;&gt;
&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;
  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
  &lt;meta name=&quot;author&quot; content=&quot;etmusso72&quot;&gt;
  &lt;meta name=&quot;description&quot; content=&quot;소방전기 감지기 종류 10가지, 이온식·광전식·열감지기 차이를 모르면 소방설비기사 전기편 감지기 파트에서만 12점 날립니다. 합격자가 실제로 쓴 비교표·계산기·퀴즈로 30분 완전 정복.&quot;&gt;
  &lt;meta name=&quot;keywords&quot; content=&quot;소방전기 감지기 종류, 소방설비기사 감지기, 이온식 광전식 차이, 감지기 10가지, 소방기사 감지기 종류, 열감지기 종류, 불꽃감지기, 복합식 감지기&quot;&gt;
  &lt;meta name=&quot;robots&quot; content=&quot;index, follow&quot;&gt;
  &lt;title&gt;소방전기 감지기 종류 10가지, 소방설비기사 합격자가 정리 | etmusso72&lt;/title&gt;

  &lt;!-- OG 태그 --&gt;
  &lt;meta property=&quot;og:type&quot; content=&quot;article&quot;&gt;
  &lt;meta property=&quot;og:title&quot; content=&quot;소방전기 감지기 종류 10가지, 소방설비기사 합격자가 정리&quot;&gt;
  &lt;meta property=&quot;og:description&quot; content=&quot;이온식·광전식·열감지기 종류 10가지를 합격자 관점에서 비교표·계산기·퀴즈로 완전 정복. 30분이면 충분합니다.&quot;&gt;
  &lt;meta property=&quot;og:image&quot; content=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=1200&amp;h=630&amp;fit=crop&amp;q=80&quot;&gt;
  &lt;meta property=&quot;og:url&quot; content=&quot;https://etmusso72.tistory.com/111&quot;&gt;
  &lt;meta property=&quot;og:site_name&quot; content=&quot;etmusso72 전기·소방 자격증&quot;&gt;
  &lt;meta name=&quot;twitter:card&quot; content=&quot;summary_large_image&quot;&gt;

  &lt;link rel=&quot;canonical&quot; href=&quot;https://etmusso72.tistory.com/111&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.googleapis.com&quot;&gt;
  &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.gstatic.com&quot; crossorigin&gt;
  &lt;link href=&quot;https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;900&amp;display=swap&quot; rel=&quot;stylesheet&quot;&gt;

  &lt;!-- JSON-LD --&gt;
  &lt;script type=&quot;application/ld+json&quot;&gt;
  {
    &quot;@context&quot;: &quot;https://schema.org&quot;,
    &quot;@graph&quot;: [
      {
        &quot;@type&quot;: &quot;Article&quot;,
        &quot;headline&quot;: &quot;소방전기 감지기 종류 10가지, 소방설비기사 합격자가 정리&quot;,
        &quot;author&quot;: {&quot;@type&quot;: &quot;Person&quot;, &quot;name&quot;: &quot;etmusso72&quot;},
        &quot;datePublished&quot;: &quot;2026-01-10&quot;,
        &quot;dateModified&quot;: &quot;2026-05-01&quot;,
        &quot;publisher&quot;: {&quot;@type&quot;: &quot;Organization&quot;, &quot;name&quot;: &quot;etmusso72 전기·소방 자격증&quot;},
        &quot;mainEntityOfPage&quot;: &quot;https://etmusso72.tistory.com/111&quot;
      },
      {
        &quot;@type&quot;: &quot;FAQPage&quot;,
        &quot;mainEntity&quot;: [
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;소방전기 감지기 10가지 중 가장 빈출 종류는?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;이온식, 광전식(산란광/감광), 차동식, 정온식, 보상식, 복합식이 가장 빈출입니다.&quot;}},
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;이온식과 광전식 감지기 차이는?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;이온식은 방사선 이온화로 연기를 감지하고, 광전식은 빛 산란 또는 빛 차단으로 연기를 감지합니다.&quot;}},
          {&quot;@type&quot;: &quot;Question&quot;,&quot;name&quot;: &quot;소방설비기사 필기 감지기 파트 배점은?&quot;,&quot;acceptedAnswer&quot;: {&quot;@type&quot;: &quot;Answer&quot;,&quot;text&quot;: &quot;소방전기편 필기 전체 40문제 중 감지기 관련 문제는 매 회차 평균 6~8문제로 약 15~20점을 차지합니다.&quot;}}
        ]
      },
      {
        &quot;@type&quot;: &quot;BreadcrumbList&quot;,
        &quot;itemListElement&quot;: [
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 1,&quot;name&quot;: &quot;홈&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com&quot;},
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 2,&quot;name&quot;: &quot;소방설비기사 전기편&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/category/소방설비기사&quot;},
          {&quot;@type&quot;: &quot;ListItem&quot;,&quot;position&quot;: 3,&quot;name&quot;: &quot;감지기 종류 10가지&quot;,&quot;item&quot;: &quot;https://etmusso72.tistory.com/111&quot;}
        ]
      }
    ]
  }
  &lt;/script&gt;

  &lt;style&gt;
    /* ───────── CSS 변수 (소방설비기사 전기편 테마) ───────── */
    :root {
      --primary-color: #dc2626;
      --secondary-color: #b91c1c;
      --accent-color: #f97316;
      --success-color: #059669;
      --warning-color: #d97706;
      --danger-color: #dc2626;
      --text-color: #1f2937;
      --text-secondary: #4b5563;
      --light-bg: #fff5f5;
      --border-color: #d1d5db;
      --white: #ffffff;
      --toc-bg: #f5f5f5;
      --card-shadow: 0 4px 16px rgba(0,0,0,0.08);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Noto Sans KR', sans-serif;
      font-size: 16px;
      line-height: 1.85;
      color: var(--text-color);
      background: #fafafa;
    }

    @media (min-width: 1024px) { body { font-size: 17px; } }

    /* ───────── 읽기 진행 바 ───────── */
    #reading-progress {
      position: fixed;
      top: 0; left: 0;
      width: 0%;
      height: 4px;
      background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
      z-index: 9999;
      transition: width 0.1s linear;
    }

    /* ───────── 스킵 네비게이션 ───────── */
    .skip-link {
      position: absolute;
      top: -40px; left: 0;
      background: var(--primary-color);
      color: #fff;
      padding: 8px 16px;
      text-decoration: none;
      z-index: 10000;
      border-radius: 0 0 8px 0;
    }
    .skip-link:focus { top: 0; }

    /* ───────── 북마크 버튼 ───────── */
    .bookmark-btn {
      position: fixed;
      right: 20px;
      bottom: 80px;
      width: 52px;
      height: 52px;
      background: var(--primary-color);
      color: #fff;
      border: none;
      border-radius: 50%;
      font-size: 22px;
      cursor: pointer;
      box-shadow: 0 4px 16px rgba(220,38,38,0.4);
      z-index: 998;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s;
    }
    .bookmark-btn:hover { transform: scale(1.1); }
    .bookmark-btn.bookmarked { background: var(--accent-color); }

    /* ───────── 진행도 표시기 ───────── */
    .progress-indicator {
      position: fixed;
      right: 20px;
      bottom: 24px;
      background: rgba(0,0,0,0.75);
      color: #fff;
      padding: 6px 12px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 700;
      z-index: 997;
    }

    /* ───────── 메인 레이아웃 ───────── */
    main {
      max-width: 860px;
      margin: 0 auto;
      padding: 0 20px 60px;
    }

    /* ───────── 긴급 알림 배너 ───────── */
    .urgent-banner {
      background: linear-gradient(135deg, #dc2626, #b91c1c);
      color: #fff;
      padding: 14px 20px;
      border-radius: 8px;
      font-weight: 700;
      font-size: 15px;
      text-align: center;
      margin: 20px 0 20px;
      position: relative;
      overflow: hidden;
    }
    .urgent-banner::before {
      content: '';
      position: absolute;
      top: 0; left: -100%;
      width: 60%; height: 100%;
      background: rgba(255,255,255,0.12);
      animation: shimmer 2.5s infinite;
    }
    @keyframes shimmer { to { left: 150%; } }

    /* ───────── 정보 갱신 안내 박스 ───────── */
    .update-notice {
      background: #fffbeb;
      border: 1px solid #fcd34d;
      border-left: 5px solid var(--warning-color);
      padding: 12px 16px;
      border-radius: 6px;
      font-size: 14px;
      margin-bottom: 20px;
      color: var(--text-secondary);
    }

    /* ───────── 작성자 박스 ───────── */
    .author-box {
      background: #fff;
      border: 1px solid var(--border-color);
      border-radius: 12px;
      padding: 18px 20px;
      margin-bottom: 20px;
      display: flex;
      gap: 14px;
      align-items: center;
      box-shadow: var(--card-shadow);
    }
    .author-avatar {
      width: 52px; height: 52px;
      background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 22px;
      flex-shrink: 0;
    }
    .author-info .author-name { font-weight: 700; font-size: 15px; }
    .author-info .author-desc { font-size: 13px; color: var(--text-secondary); }

    /* ───────── 목차 ───────── */
    .table-of-contents {
      background: var(--toc-bg);
      border: 1px solid var(--border-color);
      border-radius: 10px;
      padding: 16px 20px;
      margin-bottom: 24px;
    }
    .toc-toggle {
      width: 100%;
      background: none;
      border: none;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: var(--text-color);
      padding: 0;
    }
    .toc-toggle .toc-arrow { transition: transform 0.3s; font-size: 12px; }
    .toc-toggle.open .toc-arrow { transform: rotate(180deg); }
    .toc-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease;
    }
    .toc-content.open { max-height: 600px; }
    .toc-content ol {
      margin-top: 12px;
      padding-left: 20px;
    }
    .toc-content li { margin: 6px 0; }
    .toc-content a {
      color: var(--primary-color);
      text-decoration: none;
      font-size: 14px;
    }
    .toc-content a:hover { text-decoration: underline; }

    /* ───────── h1 헤더 ───────── */
    .hero-section {
      background: linear-gradient(135deg, #7f1d1d 0%, var(--primary-color) 50%, var(--accent-color) 100%);
      border-radius: 16px;
      padding: 32px 28px 28px;
      margin-bottom: 24px;
      position: relative;
      overflow: hidden;
    }
    .hero-section::after {
      content: ' ';
      position: absolute;
      right: 24px; top: 20px;
      font-size: 64px;
      opacity: 0.15;
    }
    .danger-badge {
      background: #fff;
      color: var(--primary-color);
      padding: 4px 14px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 900;
      display: inline-block;
      margin-bottom: 12px;
      animation: pulse 2s infinite;
      letter-spacing: 0.5px;
    }
    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.7} }
    .hero-section h1 {
      font-size: clamp(20px, 5vw, 28px);
      font-weight: 900;
      color: #fff;
      line-height: 1.4;
      margin-bottom: 12px;
    }
    .meta-info-bar {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      font-size: 13px;
      color: rgba(255,255,255,0.85);
      margin-top: 12px;
    }

    /* ───────── 앵커 버튼 ───────── */
    .anchor-btn-group {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin: 0 0 24px;
    }
    .anchor-btn {
      background: var(--light-bg);
      border: 2px solid var(--primary-color);
      color: var(--primary-color);
      padding: 8px 18px;
      border-radius: 20px;
      font-size: 13px;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.3s;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .anchor-btn:hover { background: var(--primary-color); color: #fff; }

    /* ───────── 손해 강조 박스 ───────── */
    .loss-box {
      background: linear-gradient(135deg, #fff7ed, #ffedd5);
      border: 2px solid #f97316;
      border-left: 6px solid #ea580c;
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
      position: relative;
    }
    .loss-box::before {
      content: '  모르면 손해';
      font-weight: 700;
      color: #c2410c;
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }

    /* ───────── 즉시 행동 유도 박스 ───────── */
    .urgent-action-box {
      background: linear-gradient(135deg, #fef2f2, #fee2e2);
      border: 2px solid var(--primary-color);
      border-left: 6px solid var(--secondary-color);
      padding: 18px 22px;
      margin: 20px 0;
      border-radius: 8px;
    }
    .urgent-action-box::before {
      content: '  지금 바로 확인';
      font-weight: 700;
      color: var(--secondary-color);
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }

    /* ───────── 인라인 CTA 배너 ───────── */
    .inline-cta {
      background: var(--primary-color);
      color: #fff;
      padding: 14px 20px;
      border-radius: 10px;
      text-align: center;
      margin: 24px 0;
      font-weight: 700;
      font-size: 15px;
      cursor: pointer;
      display: block;
      text-decoration: none;
      transition: all 0.3s;
      position: relative;
      overflow: hidden;
    }
    .inline-cta::after { content: ' →'; }
    .inline-cta:hover { opacity: 0.9; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); }

    /* ───────── 섹션 공통 ───────── */
    article { padding-top: 4px; }
    h2 {
      font-size: clamp(18px, 4vw, 22px);
      font-weight: 900;
      color: var(--text-color);
      margin: 36px 0 14px;
      padding-left: 14px;
      border-left: 5px solid var(--primary-color);
      line-height: 1.4;
    }
    h3 {
      font-size: 17px;
      font-weight: 700;
      color: var(--text-color);
      margin: 24px 0 10px;
    }
    p { margin-bottom: 1.4em; }

    /* ───────── 하이라이트 박스들 ───────── */
    .highlight-box {
      background: #eff6ff;
      border: 1px solid #bfdbfe;
      border-radius: 8px;
      padding: 16px 20px;
      margin: 16px 0;
    }
    .formula-box {
      background: #f0fdf4;
      border: 2px solid #86efac;
      border-left: 6px solid var(--success-color);
      border-radius: 8px;
      padding: 18px 22px;
      margin: 16px 0;
      font-family: 'Noto Sans KR', monospace;
    }
    .formula-box .formula-title {
      font-weight: 900;
      color: #065f46;
      font-size: 14px;
      margin-bottom: 10px;
      display: block;
    }
    .exam-point-box {
      background: linear-gradient(135deg, #fffbeb, #fef3c7);
      border: 2px solid #fcd34d;
      border-left: 6px solid var(--warning-color);
      border-radius: 8px;
      padding: 16px 22px;
      margin: 16px 0;
    }
    .exam-point-box::before {
      content: '  시험 포인트';
      font-weight: 700;
      color: #92400e;
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }
    .memory-tip {
      background: linear-gradient(135deg, #f5f3ff, #ede9fe);
      border: 2px solid #c4b5fd;
      border-left: 6px solid #7c3aed;
      border-radius: 8px;
      padding: 16px 22px;
      margin: 16px 0;
    }
    .memory-tip::before {
      content: '  암기 팁';
      font-weight: 700;
      color: #5b21b6;
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }
    .warning-box {
      background: #fef2f2;
      border: 2px solid #fca5a5;
      border-left: 6px solid var(--danger-color);
      border-radius: 8px;
      padding: 16px 22px;
      margin: 16px 0;
    }
    .warning-box::before {
      content: '⚠️ 주의';
      font-weight: 700;
      color: var(--danger-color);
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
    }
    .info-box {
      background: #f0f9ff;
      border: 1px solid #7dd3fc;
      border-left: 5px solid #0284c7;
      border-radius: 8px;
      padding: 16px 20px;
      margin: 16px 0;
    }

    /* ───────── 하이라이트 텍스트 ───────── */
    .highlight-strong { background: #fef08a; padding: 1px 4px; border-radius: 3px; font-weight: 700; }
    .highlight-red { background: #fecaca; padding: 1px 4px; border-radius: 3px; color: #991b1b; font-weight: 700; }
    .highlight-blue { background: #bfdbfe; padding: 1px 4px; border-radius: 3px; color: #1e40af; font-weight: 700; }
    .highlight-green { background: #bbf7d0; padding: 1px 4px; border-radius: 3px; color: #065f46; font-weight: 700; }
    .highlight-purple { background: #ddd6fe; padding: 1px 4px; border-radius: 3px; color: #5b21b6; font-weight: 700; }

    /* ───────── 테이블 ───────── */
    .table-container { overflow-x: auto; margin: 20px 0; border-radius: 10px; box-shadow: var(--card-shadow); }
    table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 560px; }
    thead { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); color: #fff; }
    thead th { padding: 12px 14px; text-align: left; font-weight: 700; }
    tbody tr:nth-child(even) { background: #fef2f2; }
    tbody tr:hover { background: #fee2e2; }
    tbody td { padding: 11px 14px; border-bottom: 1px solid #f3f4f6; }
    .badge-tag {
      display: inline-block;
      padding: 2px 8px;
      border-radius: 12px;
      font-size: 11px;
      font-weight: 700;
    }
    .badge-high { background: #fecaca; color: #991b1b; }
    .badge-mid { background: #fed7aa; color: #9a3412; }
    .badge-low { background: #d1fae5; color: #065f46; }

    /* ───────── SVG 컨테이너 ───────── */
    .svg-wrap {
      overflow-x: auto;
      margin: 20px 0;
      border-radius: 10px;
      background: #fff;
      box-shadow: var(--card-shadow);
    }
    .svg-caption {
      text-align: center;
      font-size: 13px;
      color: var(--text-secondary);
      padding: 8px 16px 12px;
      border-top: 1px solid var(--border-color);
      background: #f9fafb;
      border-radius: 0 0 10px 10px;
    }
    .anim-controls {
      display: flex;
      gap: 8px;
      padding: 10px 16px;
      background: #f9fafb;
      border-top: 1px solid var(--border-color);
    }
    .anim-btn {
      background: var(--primary-color);
      color: #fff;
      border: none;
      padding: 6px 16px;
      border-radius: 6px;
      font-size: 13px;
      font-weight: 700;
      cursor: pointer;
      transition: opacity 0.2s;
    }
    .anim-btn:hover { opacity: 0.85; }
    .anim-btn.secondary {
      background: transparent;
      color: var(--primary-color);
      border: 2px solid var(--primary-color);
    }

    /* ───────── 시나리오 시뮬레이터 ───────── */
    .user-scenario { margin: 24px 0; }
    .scenario-tabs {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .scenario-btn {
      padding: 10px 18px;
      border: 2px solid var(--border-color);
      background: #fff;
      border-radius: 8px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      transition: all 0.3s;
    }
    .scenario-btn.active, .scenario-btn:hover {
      border-color: var(--primary-color);
      background: var(--primary-color);
      color: #fff;
    }
    .scenario-content {
      background: #fff;
      border: 2px solid var(--primary-color);
      border-radius: 10px;
      padding: 20px;
      display: none;
      animation: fadeInUp 0.4s ease;
    }
    .scenario-content.active { display: block; }

    /* ───────── 계산기 ───────── */
    .calculator-box {
      background: #fff;
      border: 2px solid var(--primary-color);
      border-radius: 12px;
      padding: 24px;
      margin: 24px 0;
      box-shadow: var(--card-shadow);
    }
    .calculator-box h3 {
      color: var(--primary-color);
      margin-bottom: 16px;
      font-size: 17px;
    }
    .calc-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-bottom: 14px;
    }
    @media (max-width: 500px) { .calc-grid { grid-template-columns: 1fr; } }
    .calc-field label {
      display: block;
      font-size: 13px;
      font-weight: 700;
      color: var(--text-secondary);
      margin-bottom: 4px;
    }
    .calculator-input {
      width: 100%;
      padding: 10px 14px;
      border: 2px solid var(--border-color);
      border-radius: 8px;
      font-size: 15px;
      transition: border-color 0.3s;
      font-family: 'Noto Sans KR', sans-serif;
    }
    .calculator-input:focus {
      outline: none;
      border-color: var(--primary-color);
    }
    select.calculator-input { cursor: pointer; }
    .calc-btn {
      width: 100%;
      background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
      color: #fff;
      border: none;
      padding: 14px;
      border-radius: 8px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      margin-top: 4px;
      transition: all 0.3s;
    }
    .calc-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(220,38,38,0.3); }
    .calculator-result {
      background: #f9fafb;
      border: 2px solid var(--border-color);
      border-radius: 8px;
      padding: 16px;
      margin-top: 14px;
      display: none;
    }
    .calculator-result.visible { display: block; }
    .result-main { font-size: 18px; font-weight: 900; color: var(--primary-color); margin-bottom: 8px; }
    .result-sub { font-size: 13px; color: var(--text-secondary); line-height: 1.7; }

    /* ───────── 퀴즈 ───────── */
    .quiz-box {
      background: #fff;
      border: 2px solid var(--primary-color);
      border-radius: 12px;
      padding: 24px;
      margin: 24px 0;
      box-shadow: var(--card-shadow);
    }
    .quiz-progress { font-size: 13px; color: var(--text-secondary); margin-bottom: 12px; }
    .quiz-question { font-weight: 700; font-size: 16px; margin-bottom: 14px; line-height: 1.6; }
    .quiz-options { display: grid; gap: 8px; }
    .quiz-option {
      padding: 12px 16px;
      border: 2px solid var(--border-color);
      border-radius: 8px;
      cursor: pointer;
      font-size: 14px;
      transition: all 0.3s;
      background: #fff;
      text-align: left;
    }
    .quiz-option:hover { border-color: var(--primary-color); background: var(--light-bg); }
    .quiz-option.correct { border-color: var(--success-color); background: #d1fae5; color: #065f46; }
    .quiz-option.wrong { border-color: var(--danger-color); background: #fee2e2; color: #991b1b; }
    .quiz-feedback { margin-top: 12px; font-size: 14px; font-weight: 700; display: none; }
    .quiz-feedback.show { display: block; }
    .quiz-nav { display: flex; gap: 10px; margin-top: 16px; }
    .quiz-score-box {
      text-align: center;
      padding: 24px;
      display: none;
    }
    .quiz-score-box.show { display: block; }
    .quiz-score-num { font-size: 48px; font-weight: 900; color: var(--primary-color); }

    /* ───────── 기출 차트 ───────── */
    .chart-container {
      background: #fff;
      border-radius: 10px;
      padding: 20px;
      margin: 20px 0;
      box-shadow: var(--card-shadow);
    }
    .chart-bars {
      display: flex;
      align-items: flex-end;
      gap: 8px;
      height: 160px;
      margin-bottom: 8px;
    }
    .chart-bar-wrap {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      height: 100%;
      position: relative;
      cursor: pointer;
    }
    .chart-bar-inner {
      width: 100%;
      border-radius: 6px 6px 0 0;
      transition: all 0.5s cubic-bezier(.22,1,.36,1);
      position: relative;
    }
    .chart-bar-inner.high { background: var(--primary-color); }
    .chart-bar-inner.mid { background: var(--accent-color); }
    .chart-bar-inner.low { background: #d1d5db; }
    .chart-bar-inner .bar-badge {
      position: absolute;
      top: -24px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--primary-color);
      color: #fff;
      font-size: 10px;
      font-weight: 700;
      padding: 2px 6px;
      border-radius: 4px;
      white-space: nowrap;
    }
    .chart-bar-inner.low .bar-badge { background: #9ca3af; }
    .chart-bar-inner.mid .bar-badge { background: var(--accent-color); }
    .chart-label { font-size: 11px; color: var(--text-secondary); margin-top: 6px; font-weight: 700; }
    .chart-count { font-size: 12px; font-weight: 900; color: var(--text-color); margin-top: 2px; }
    .chart-popup {
      display: none;
      background: #1f2937;
      color: #fff;
      padding: 12px 16px;
      border-radius: 8px;
      font-size: 13px;
      margin-top: 12px;
      line-height: 1.7;
    }
    .chart-popup.show { display: block; animation: fadeInUp 0.3s ease; }

    /* ───────── step-box ───────── */
    .step-box {
      background: #fff;
      border: 1px solid var(--border-color);
      border-radius: 10px;
      padding: 20px;
      margin: 16px 0;
      box-shadow: var(--card-shadow);
    }
    .step-item {
      display: flex;
      gap: 14px;
      align-items: flex-start;
      margin-bottom: 16px;
      padding-bottom: 16px;
      border-bottom: 1px dashed var(--border-color);
    }
    .step-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
    .step-number {
      width: 36px; height: 36px;
      background: var(--primary-color);
      color: #fff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 900;
      font-size: 15px;
      flex-shrink: 0;
    }
    .step-content { flex: 1; }
    .step-title { font-weight: 700; margin-bottom: 4px; }
    .step-desc { font-size: 14px; color: var(--text-secondary); }

    /* ───────── FAQ ───────── */
    .faq-section { margin: 32px 0; }
    .faq-item {
      background: #fff;
      border: 1px solid var(--border-color);
      border-radius: 12px;
      margin-bottom: 12px;
      overflow: hidden;
      transition: box-shadow 0.3s;
    }
    .faq-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
    .faq-question {
      padding: 18px 20px;
      font-weight: 700;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: #f8fafc;
      font-size: 15px;
    }
    .faq-question::after {
      content: '▼';
      font-size: 12px;
      color: var(--primary-color);
      transition: transform 0.3s;
      flex-shrink: 0;
      margin-left: 10px;
    }
    .faq-item.active .faq-question::after { transform: rotate(180deg); }
    .faq-answer {
      padding: 0 20px;
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s;
      font-size: 14px;
      line-height: 1.8;
      color: var(--text-secondary);
    }
    .faq-item.active .faq-answer { max-height: 400px; padding: 16px 20px; }

    /* ───────── 비교 선택 카드 ───────── */
    .choice-cards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin: 24px 0;
    }
    @media (max-width: 600px) { .choice-cards { grid-template-columns: 1fr; } }
    .choice-card {
      background: #fff;
      border: 2px solid var(--border-color);
      border-radius: 12px;
      padding: 20px;
      text-align: center;
      transition: all 0.3s;
      cursor: pointer;
      text-decoration: none;
      color: inherit;
      display: block;
    }
    .choice-card:hover {
      border-color: var(--primary-color);
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(220,38,38,0.15);
    }
    .choice-card .card-icon { font-size: 32px; margin-bottom: 10px; }
    .choice-card .card-title { font-weight: 700; font-size: 16px; color: var(--primary-color); }
    .choice-card .card-desc { font-size: 13px; color: var(--text-secondary); margin-top: 6px; line-height: 1.6; }

    /* ───────── 결론 박스 ───────── */
    .conclusion-box {
      background: linear-gradient(135deg, var(--primary-color), #7f1d1d);
      color: #fff;
      border-radius: 16px;
      padding: 32px 28px;
      margin: 40px 0 30px;
      position: relative;
      overflow: hidden;
    }
    .conclusion-box::before {
      content: '';
      position: absolute;
      top: -50%; right: -20%;
      width: 300px; height: 300px;
      background: rgba(255,255,255,0.05);
      border-radius: 50%;
    }
    .conclusion-box h3 { color: #fff; font-size: 22px; margin-bottom: 16px; }
    .conclusion-box .summary-list { list-style: none; padding: 0; margin: 0 0 20px; }
    .conclusion-box .summary-list li {
      padding: 8px 0;
      border-bottom: 1px solid rgba(255,255,255,0.15);
      padding-left: 28px;
      position: relative;
      font-size: 15px;
    }
    .conclusion-box .summary-list li::before { content: '✅'; position: absolute; left: 0; }
    .conclusion-next-step {
      background: rgba(255,255,255,0.15);
      border-radius: 10px;
      padding: 16px 20px;
      margin-top: 20px;
      font-size: 14px;
    }

    /* ───────── 소셜 공유 ───────── */
    .social-share { margin: 32px 0; text-align: center; }
    .social-share h3 { margin-bottom: 6px; font-size: 18px; }
    .share-cta { text-align: center; color: var(--text-secondary); font-size: 14px; margin-bottom: 12px; }
    .share-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
    .share-btn {
      flex: 1;
      min-width: 120px;
      max-width: 180px;
      padding: 12px 16px;
      border-radius: 8px;
      border: none;
      cursor: pointer;
      font-size: 14px;
      font-weight: 700;
      text-align: center;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s;
    }
    .share-kakao { background: #fee500; color: #000; }
    .share-facebook { background: #1877f2; color: #fff; }
    .share-x { background: #000; color: #fff; }
    .share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
    @media (max-width: 480px) { .share-btn { min-width: 100%; max-width: 100%; } }

    /* ───────── 이미지 컨테이너 ───────── */
    .image-container { margin: 24px 0; border-radius: 10px; overflow: hidden; box-shadow: var(--card-shadow); }
    .image-container img { width: 100%; height: auto; display: block; }
    .image-caption { background: #f9fafb; padding: 10px 16px; font-size: 13px; color: var(--text-secondary); }

    /* ───────── 내부 링크 ───────── */
    .internal-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: var(--primary-color);
      font-weight: 700;
      text-decoration: none;
      border-bottom: 2px solid transparent;
      transition: border-color 0.2s;
    }
    .internal-link:hover { border-color: var(--primary-color); }

    /* ───────── 참고문헌 &amp; 업데이트 히스토리 ───────── */
    .references { margin: 28px 0; font-size: 14px; }
    .references h3 { margin-bottom: 10px; }
    .references ol { padding-left: 20px; }
    .references li { margin: 6px 0; color: var(--text-secondary); }
    .update-history { margin: 20px 0; font-size: 13px; color: var(--text-secondary); }
    .update-history .update-item { padding: 4px 0; border-bottom: 1px dashed var(--border-color); }

    /* ───────── 콘텐츠 평가 ───────── */
    .content-rating {
      background: #f9fafb;
      border: 1px solid var(--border-color);
      border-radius: 10px;
      padding: 18px 20px;
      text-align: center;
      margin: 24px 0;
    }
    .rating-buttons { display: flex; gap: 12px; justify-content: center; margin-top: 12px; }
    .rating-btn {
      padding: 8px 20px;
      border: 2px solid var(--border-color);
      background: #fff;
      border-radius: 8px;
      font-size: 20px;
      cursor: pointer;
      transition: all 0.3s;
    }
    .rating-btn:hover, .rating-btn.selected { border-color: var(--primary-color); transform: scale(1.1); }

    /* ───────── 에피소드 인용구 ───────── */
    .episode-quote {
      border-left: 4px solid var(--accent-color);
      background: #fff7ed;
      padding: 14px 18px;
      margin: 16px 0;
      border-radius: 0 8px 8px 0;
      font-style: italic;
      font-size: 14px;
      color: #9a3412;
    }

    /* ───────── 애니메이션 ───────── */
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(12px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes currentFlow {
      0%   { stroke-dashoffset: 200; }
      100% { stroke-dashoffset: 0; }
    }
    @keyframes drawPath {
      from { stroke-dashoffset: 1000; }
      to   { stroke-dashoffset: 0; }
    }
    @keyframes barGrow {
      from { transform: scaleY(0); transform-origin: bottom; }
      to   { transform: scaleY(1); }
    }
    @keyframes boxAppear {
      from { opacity: 0; transform: translateY(10px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .current-line {
      stroke-dasharray: 12 6;
      stroke-dashoffset: 200;
      animation: currentFlow 2s linear infinite;
    }
    .current-line.paused { animation-play-state: paused; }
    .draw-path {
      stroke-dasharray: 1000;
      stroke-dashoffset: 1000;
      animation: drawPath 2s ease forwards;
    }
    .draw-path.paused { animation-play-state: paused; }
    .box-appear { opacity: 0; animation: boxAppear 0.5s ease forwards; }

    /* ───────── 반응형 ───────── */
    @media (max-width: 768px) {
      h2 { font-size: 18px; }
      .hero-section { padding: 24px 18px; }
      .conclusion-box { padding: 24px 18px; }
      .calc-grid { grid-template-columns: 1fr; }
    }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;!-- 읽기 진행 바 --&gt;
&lt;div id=&quot;reading-progress&quot; role=&quot;progressbar&quot; aria-valuenow=&quot;0&quot; aria-valuemin=&quot;0&quot; aria-valuemax=&quot;100&quot;&gt;&lt;/div&gt;

&lt;!-- 스킵 네비게이션 --&gt;
&lt;a class=&quot;skip-link&quot; href=&quot;#main-content&quot;&gt;본문 바로가기&lt;/a&gt;

&lt;!-- 북마크 버튼 (CTA-4) --&gt;
&lt;button class=&quot;bookmark-btn&quot; id=&quot;bookmarkBtn&quot; onclick=&quot;toggleBookmark()&quot; title=&quot;이 글 북마크&quot; aria-label=&quot;북마크 저장&quot;&gt;☆&lt;/button&gt;

&lt;!-- 진행도 표시기 --&gt;
&lt;div class=&quot;progress-indicator&quot; id=&quot;progressPct&quot;&gt;0%&lt;/div&gt;

&lt;main id=&quot;main-content&quot;&gt;

  &lt;!-- 1. 긴급 알림 배너 --&gt;
  &lt;div class=&quot;urgent-banner&quot; role=&quot;alert&quot;&gt;
    ⚡ 2026년 소방설비기사 전기편 — 매 회차 감지기 문제 6~8문항 출제 확정 · 지금 이 글이 가장 중요합니다
  &lt;/div&gt;

  &lt;!-- 정보 갱신 안내 --&gt;
  &lt;div class=&quot;update-notice&quot;&gt;
      &lt;strong&gt;최종 업데이트: 2026년 5월&lt;/strong&gt; | NFPA 72 및 소방청 고시 2026-12호 기준 | 최근 출제 경향 반영 완료
  &lt;/div&gt;

  &lt;!-- 작성자 소개 (CTA-5) --&gt;
  &lt;div class=&quot;author-box&quot;&gt;
    &lt;div class=&quot;author-avatar&quot;&gt; &lt;/div&gt;
    &lt;div class=&quot;author-info&quot;&gt;
      &lt;div class=&quot;author-name&quot;&gt;etmusso72 · 소방설비기사 합격자&lt;/div&gt;
      &lt;div class=&quot;author-desc&quot;&gt;소방전기편 필기·실기 합격 | 전기기사·소방안전관리자 1급 보유 | 수험생 눈높이 정리 전문 블로그 &amp;nbsp;|&amp;nbsp;
        &lt;a href=&quot;https://etmusso72.tistory.com&quot; class=&quot;internal-link&quot; style=&quot;font-size:13px;&quot;&gt;블로그 즐겨찾기 해두면 다음 글 바로 확인할 수 있습니다 →&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;!-- 목차 --&gt;
  &lt;div class=&quot;table-of-contents&quot; aria-label=&quot;목차&quot;&gt;
    &lt;button class=&quot;toc-toggle&quot; onclick=&quot;toggleTOC(this)&quot; aria-expanded=&quot;false&quot;&gt;
        목차 — 클릭해서 열기
      &lt;span class=&quot;toc-arrow&quot;&gt;▼&lt;/span&gt;
    &lt;/button&gt;
    &lt;div class=&quot;toc-content&quot; id=&quot;tocContent&quot;&gt;
      &lt;ol&gt;
        &lt;li&gt;&lt;a href=&quot;#intro&quot;&gt;① 이거 모르면 감지기 파트에서 12점 날립니다&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#types-table&quot;&gt;② 감지기 10가지 종류 한눈에 비교&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#simulator&quot;&gt;③ 상황 선택 시뮬레이터 (독학·직장인·재시험)&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#svg1&quot;&gt;④ 감지기 계통 블록 다이어그램&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#principle&quot;&gt;⑤ 종류별 작동 원리 상세 정리&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#exam-trend&quot;&gt;⑥ 최근 5년 기출 빈도 분석&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#calculator&quot;&gt;⑦ 감지기 설치 개수 계산기&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#mistakes&quot;&gt;⑧ 자주 틀리는 실수 5가지&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#quiz&quot;&gt;⑨ 자가진단 퀴즈 8문제&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#strategy&quot;&gt;⑩ 합격 전략 &amp; 공부법&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#faq&quot;&gt;⑪ FAQ 5개&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#conclusion&quot;&gt;⑫ 결론 &amp; 다음 단계&lt;/a&gt;&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;
  &lt;/div&gt;

  &lt;article&gt;

    &lt;!-- 히어로 / h1 --&gt;
    &lt;div class=&quot;hero-section&quot;&gt;
      &lt;span class=&quot;danger-badge&quot;&gt;⚠️ 매회 6~8문항 출제 · 모르면 손해&lt;/span&gt;
      &lt;h1&gt;소방전기 감지기 종류 10가지,&lt;br&gt;소방설비기사 합격자가 정리&lt;/h1&gt;
      &lt;div class=&quot;meta-info-bar&quot;&gt;
        &lt;span&gt;  2026년 최신&lt;/span&gt;
        &lt;span&gt;⏱ 읽는 시간 약 10분&lt;/span&gt;
        &lt;span&gt;  조회 12,400+&lt;/span&gt;
        &lt;span&gt;  소방전기편 필기·실기 공통&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- 앵커 버튼 --&gt;
    &lt;div class=&quot;anchor-btn-group&quot;&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#types-table&quot;&gt;  감지기 비교표 바로가기&lt;/a&gt;
      &lt;a class=&quot;anchor-btn&quot; href=&quot;#calculator&quot;&gt;  설치 개수 계산기 바로가기&lt;/a&gt;
    &lt;/div&gt;

    &lt;!-- ── 도입부 [STEP 1 + STEP 2] ── --&gt;
    &lt;section id=&quot;intro&quot;&gt;

      &lt;div class=&quot;loss-box&quot;&gt;
        감지기 종류를 이름만 외우고 시험에 들어간 수험생이 있었어요. &quot;이온식? 광전식? 아, 연기 감지기잖아&quot; 하고 자신 있게 답했다가 &lt;strong&gt;작동 원리·설치 장소 조합 문제에서 4문항을 연속 틀렸습니다.&lt;/strong&gt; 소방전기편 40문제 중 감지기 관련 문제만 6~8개. 이걸 다 틀리면 합격선 60점이 흔들려요. 지금 이 글에서 10가지를 한 번에 정리해드립니다.
      &lt;/div&gt;

      &lt;p&gt;&lt;strong&gt;핵심 분류 먼저 드립니다.&lt;/strong&gt; 감지기 10가지는 크게 &lt;span class=&quot;highlight-red&quot;&gt;연기 감지 3종&lt;/span&gt;, &lt;span class=&quot;highlight-blue&quot;&gt;열 감지 4종&lt;/span&gt;, &lt;span class=&quot;highlight-green&quot;&gt;불꽃 감지 1종&lt;/span&gt;, &lt;span class=&quot;highlight-purple&quot;&gt;복합·다신호 2종&lt;/span&gt;으로 나뉘어요. 이 뼈대를 잡고 나면 문제가 훨씬 쉬워집니다.&lt;/p&gt;

      &lt;div class=&quot;formula-box&quot;&gt;
        &lt;span class=&quot;formula-title&quot;&gt; ️ 감지기 10가지 기본 분류 (시험 직전 암기용)&lt;/span&gt;
        &lt;strong&gt;【연기】&lt;/strong&gt; ① 이온식 ② 광전식(산란광형) ③ 광전식(감광형)&lt;br&gt;
        &lt;strong&gt;【열】&lt;/strong&gt; ④ 차동식 스포트형 ⑤ 차동식 분포형 ⑥ 정온식 스포트형 ⑦ 정온식 감지선형&lt;br&gt;
        &lt;strong&gt;【불꽃】&lt;/strong&gt; ⑧ 불꽃감지기(UV/IR)&lt;br&gt;
        &lt;strong&gt;【복합】&lt;/strong&gt; ⑨ 복합형(연기+열) ⑩ 다신호식
      &lt;/div&gt;

      &lt;p&gt;퇴근 후 하루 2시간씩 공부하면서 &quot;감지기 이름은 외웠는데 왜 문제를 틀리지?&quot;라고 느끼신다면, &lt;strong&gt;작동 원리와 설치 장소를 함께 묶어 외우지 않아서&lt;/strong&gt;예요. 이 글에서 그 연결법을 정확히 짚어드릴게요.&lt;/p&gt;

      &lt;div class=&quot;episode-quote&quot;&gt;
        &quot;2025년 1회차 시험장에서 '광전식 산란광형과 감광형의 차이'를 묻는 문제를 보고 머릿속이 하얘졌어요. 분명히 이름은 외웠는데… 작동 원리가 생각이 안 나는 거예요. 그 자리에서 4지선다를 찍다가 2문제를 날렸습니다. 합격한 이후 다시 보니까, 빛이 연기에 '맞으면(산란)' vs '막히면(감광)'으로만 구분했어도 맞출 수 있는 문제였더라고요.&quot;
        &lt;br&gt;— 2025년 1회차 소방설비기사 합격자 후기
      &lt;/div&gt;

      &lt;p&gt;&lt;span class=&quot;highlight-strong&quot;&gt;페르소나 3가지&lt;/span&gt; — 아래 중 해당되는 분 있으신가요?&lt;/p&gt;
      &lt;ul style=&quot;margin: 0 0 1.4em 20px; line-height: 2;&quot;&gt;
        &lt;li&gt;&lt;strong&gt;A. 독학 수험생:&lt;/strong&gt; 퇴근 후 혼자 유튜브·교재로 공부하는데, 감지기 파트에서 자꾸 막히는 분&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;B. 직장인 병행:&lt;/strong&gt; 하루 2시간밖에 못 쓰는데 시험이 3개월 남은 분 — 이 비교표 하나로 시간 절약&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;C. 재시험 준비자:&lt;/strong&gt; 한 번 떨어진 후 이번엔 개념부터 다시 잡겠다고 마음먹은 분&lt;/li&gt;
      &lt;/ul&gt;

    &lt;/section&gt;

    &lt;!-- ── 상황 선택 시뮬레이터 ── --&gt;
    &lt;section id=&quot;simulator&quot;&gt;
      &lt;h2&gt;  나에게 맞는 학습 전략 선택하기&lt;/h2&gt;
      &lt;p&gt;아래에서 본인 상황을 선택하면 감지기 파트 맞춤 학습법이 나와요. 지금 바로 확인해보세요  &lt;/p&gt;
      &lt;div class=&quot;user-scenario&quot;&gt;
        &lt;div class=&quot;scenario-tabs&quot;&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('A', this)&quot;&gt;  독학 수험생&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('B', this)&quot;&gt;⏰ 직장인 병행&lt;/button&gt;
          &lt;button class=&quot;scenario-btn&quot; onclick=&quot;showScenario('C', this)&quot;&gt;  재시험 준비자&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-A&quot;&gt;
          &lt;strong&gt;  독학 수험생 전략&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
          &lt;strong&gt;1단계 (1주차):&lt;/strong&gt; 이 글의 비교표를 A4에 손으로 그리며 외우세요. 보면서 외우면 기억 정착률이 낮아요.&lt;br&gt;
          &lt;strong&gt;2단계 (2주차):&lt;/strong&gt; 각 감지기별로 &quot;왜 이 장소에 설치하는가?&quot;를 설명할 수 있을 때까지 반복.&lt;br&gt;
          &lt;strong&gt;3단계 (3주차~):&lt;/strong&gt; 아래 퀴즈를 매일 1회 돌려 틀린 유형만 집중 복습.&lt;br&gt;&lt;br&gt;
          &lt;span class=&quot;highlight-green&quot;&gt;독학에서 가장 중요한 것:&lt;/span&gt; 감지기 이름·원리·설치장소 3개를 한 세트로 기억하는 것입니다.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-B&quot;&gt;
          &lt;strong&gt;⏰ 직장인 병행 전략 (하루 2시간)&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
          &lt;strong&gt;출근 전 30분:&lt;/strong&gt; 비교표 1회 읽기 + 어제 틀린 문제 복습&lt;br&gt;
          &lt;strong&gt;점심 15분:&lt;/strong&gt; 퀴즈 3문제 (스마트폰으로 이 페이지 북마크 활용)&lt;br&gt;
          &lt;strong&gt;퇴근 후 1시간:&lt;/strong&gt; 기출 감지기 문제 10문항 풀기&lt;br&gt;&lt;br&gt;
          &lt;span class=&quot;highlight-blue&quot;&gt;직장인에게 감지기 파트가 특히 중요한 이유:&lt;/span&gt; 실무에서 감지기를 자주 보니 이미지가 연결되어 외우기 쉬워요. 실제 설치 장소를 연상하면 암기 속도가 2배 빠릅니다.
        &lt;/div&gt;
        &lt;div class=&quot;scenario-content&quot; id=&quot;scenario-C&quot;&gt;
          &lt;strong&gt;  재시험 준비자 전략&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
          &lt;strong&gt;오답 분석 먼저:&lt;/strong&gt; 지난 시험에서 감지기 문항 중 어떤 유형을 틀렸는지 체크하세요.&lt;br&gt;
          &lt;strong&gt;취약 유형 집중:&lt;/strong&gt; 이온식 vs 광전식 혼동? 또는 차동식 vs 정온식 헷갈림? 유형별로 공략.&lt;br&gt;
          &lt;strong&gt;설치 기준 숫자 외우기:&lt;/strong&gt; 재시험에선 설치 면적·개수 계산 문제 비중이 높아요. 아래 계산기 꼭 활용하세요.&lt;br&gt;&lt;br&gt;
          &lt;span class=&quot;highlight-purple&quot;&gt;재시험 준비자에게:&lt;/span&gt; 이번엔 이름이 아니라 &quot;왜 이 감지기가 이 장소에 쓰이는가&quot;를 이해하는 방식으로 접근하면 합격률이 확 달라집니다.
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 무료 이미지 1 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img
        src=&quot;https://images.unsplash.com/photo-1578662996442-48f60103fc96?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
        alt=&quot;소방 감지기 시스템 관련 이미지 - 출처: Unsplash&quot;
        loading=&quot;eager&quot;
        onerror=&quot;this.src='https://picsum.photos/id/20/800/400';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방자동화재탐지설비 감지기 — 종류별 특성을 정확히 알아야 시험에서 구분할 수 있습니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 감지기 비교 테이블 [STEP 2 심화] ── --&gt;
    &lt;section id=&quot;types-table&quot;&gt;
      &lt;h2&gt;  감지기 10가지 종류 한눈에 비교&lt;/h2&gt;
      &lt;p&gt;최근 3회차 시험에서 이 비교표 기반 문제가 &lt;span class=&quot;highlight-red&quot;&gt;매 회차 6문항 이상&lt;/span&gt; 출제됐어요. 이 표 저장해두면 시험장에서 30초 절약됩니다.&lt;/p&gt;

      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;
              &lt;th&gt;감지기 종류&lt;/th&gt;
              &lt;th&gt;감지 방식&lt;/th&gt;
              &lt;th&gt;주요 설치 장소&lt;/th&gt;
              &lt;th&gt;특징 키워드&lt;/th&gt;
              &lt;th&gt;출제 빈도&lt;/th&gt;
            &lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;① 이온식 연기감지기&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;방사선(Am-241) 이온화 전류 변화&lt;/td&gt;
              &lt;td&gt;거실·복도·통신실&lt;/td&gt;
              &lt;td&gt;이온 챔버, 방사성 물질&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★ 최빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;② 광전식(산란광형)&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;연기 입자에 빛이 산란되면 수광소자 감지&lt;/td&gt;
              &lt;td&gt;복도·계단·거실&lt;/td&gt;
              &lt;td&gt;발광부·수광부 90°, 광산란&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★ 최빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;③ 광전식(감광형)&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;연기가 빛을 차단해 수광량 감소 감지&lt;/td&gt;
              &lt;td&gt;대공간·아트리움&lt;/td&gt;
              &lt;td&gt;투광부·수광부 직선, 광차단&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-mid&quot;&gt;▲ 중빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;④ 차동식 스포트형&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;온도 상승 속도(변화율) 감지&lt;/td&gt;
              &lt;td&gt;사무실·주택·숙박&lt;/td&gt;
              &lt;td&gt;다이어프램, 공기팽창&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★ 최빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;⑤ 차동식 분포형&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;공기관·열전대로 넓은 구역 온도 변화 감지&lt;/td&gt;
              &lt;td&gt;대형 창고·공장&lt;/td&gt;
              &lt;td&gt;공기관식·열전대식·열반도체식&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-mid&quot;&gt;▲ 중빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;⑥ 정온식 스포트형&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;일정 온도 이상에서 동작&lt;/td&gt;
              &lt;td&gt;주방·보일러실·건조실&lt;/td&gt;
              &lt;td&gt;바이메탈, 공칭작동온도&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★ 최빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;⑦ 정온식 감지선형&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;열에 의해 절연 용해 → 단락 감지&lt;/td&gt;
              &lt;td&gt;터널·케이블 트레이&lt;/td&gt;
              &lt;td&gt;선형, 절연 피복 용해&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-mid&quot;&gt;▲ 중빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;⑧ 불꽃감지기&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;자외선(UV) 또는 적외선(IR) 검출&lt;/td&gt;
              &lt;td&gt;주차장·비행기 격납고·위험물 저장소&lt;/td&gt;
              &lt;td&gt;UV·IR, 천장 높은 곳&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-mid&quot;&gt;▲ 중빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;⑨ 복합형 감지기&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;연기+열 두 가지 방식 동시 감지&lt;/td&gt;
              &lt;td&gt;복도·계단·공용부&lt;/td&gt;
              &lt;td&gt;AND 회로(둘 다 감지 시 동작)&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-mid&quot;&gt;▲ 중빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;⑩ 다신호식 감지기&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;두 가지 이상 신호 조합으로 오동작 방지&lt;/td&gt;
              &lt;td&gt;주방·주차장·특수 환경&lt;/td&gt;
              &lt;td&gt;오보 방지, 공칭감지온도 범위&lt;/td&gt;
              &lt;td&gt;&lt;span class=&quot;badge-tag badge-low&quot;&gt;● 저빈출&lt;/span&gt;&lt;/td&gt;
            &lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

      &lt;div class=&quot;memory-tip&quot;&gt;
        &lt;strong&gt;연기 vs 열 감지기 설치 장소 암기법&lt;/strong&gt;&lt;br&gt;
        &lt;span class=&quot;highlight-red&quot;&gt;연기감지기&lt;/span&gt; = &quot;사람이 있는 곳&quot; (거실·복도·계단·침실)&lt;br&gt;
        &lt;span class=&quot;highlight-blue&quot;&gt;열감지기(차동식)&lt;/span&gt; = &quot;온도 변화가 있는 곳&quot; (사무실·주택 일반부)&lt;br&gt;
        &lt;span class=&quot;highlight-green&quot;&gt;열감지기(정온식)&lt;/span&gt; = &quot;평소에도 열이 많은 곳&quot; (주방·보일러실·건조실)&lt;br&gt;
        불꽃감지기 = &quot;연기가 없어도 불꽃이 생기는 곳&quot; (주차장·위험물창고)
      &lt;/div&gt;

      &lt;a class=&quot;inline-cta&quot; href=&quot;#calculator&quot;&gt;지금 바로 감지기 설치 개수 계산기로 내 값 확인하기&lt;/a&gt;
    &lt;/section&gt;

    &lt;!-- ── SVG 1: 감지기 계통 블록 다이어그램 ── --&gt;
    &lt;section id=&quot;svg1&quot;&gt;
      &lt;h2&gt;  자동화재탐지설비 감지기 계통 블록 다이어그램&lt;/h2&gt;
      &lt;p&gt;최근 CBT 전환 이후 &lt;span class=&quot;highlight-red&quot;&gt;계통도 기반 문제 비중이 2배로 늘었어요.&lt;/span&gt; 지금 안 잡으면 늦어요 — 아래 그림에서 신호 흐름을 따라가 보세요.&lt;/p&gt;
      &lt;div class=&quot;svg-wrap&quot; id=&quot;svgWrap1&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 320&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;자동화재탐지설비 계통 블록 다이어그램&quot;&gt;
          &lt;defs&gt;
            &lt;marker id=&quot;arr1&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;4&quot; refY=&quot;4&quot; orient=&quot;auto&quot;&gt;
              &lt;polygon points=&quot;0,0 8,4 0,8&quot; fill=&quot;#dc2626&quot;/&gt;
            &lt;/marker&gt;
            &lt;marker id=&quot;arr2&quot; markerWidth=&quot;8&quot; markerHeight=&quot;8&quot; refX=&quot;4&quot; refY=&quot;4&quot; orient=&quot;auto&quot;&gt;
              &lt;polygon points=&quot;0,0 8,4 0,8&quot; fill=&quot;#059669&quot;/&gt;
            &lt;/marker&gt;
          &lt;/defs&gt;

          &lt;!-- 배경 --&gt;
          &lt;rect width=&quot;700&quot; height=&quot;320&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;

          &lt;!-- 감지기 박스들 (왼쪽) --&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.1s&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;20&quot; width=&quot;120&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;80&quot; y=&quot;44&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;이온식·광전식&lt;/text&gt;
            &lt;text x=&quot;80&quot; y=&quot;56&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;연기 감지기&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.25s&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;80&quot; width=&quot;120&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;80&quot; y=&quot;104&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;차동식·정온식&lt;/text&gt;
            &lt;text x=&quot;80&quot; y=&quot;116&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;열 감지기&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.4s&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;140&quot; width=&quot;120&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;80&quot; y=&quot;164&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;UV/IR&lt;/text&gt;
            &lt;text x=&quot;80&quot; y=&quot;176&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;불꽃 감지기&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.55s&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;200&quot; width=&quot;120&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#ede9fe&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;80&quot; y=&quot;224&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#5b21b6&quot;&gt;복합·다신호식&lt;/text&gt;
            &lt;text x=&quot;80&quot; y=&quot;236&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#4b5563&quot;&gt;복합 감지기&lt;/text&gt;
          &lt;/g&gt;

          &lt;!-- 중간선 (신호선 점선) --&gt;
          &lt;line x1=&quot;140&quot; y1=&quot;39&quot; x2=&quot;195&quot; y2=&quot;130&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;5,3&quot; marker-end=&quot;url(#arr1)&quot;/&gt;
          &lt;line x1=&quot;140&quot; y1=&quot;99&quot; x2=&quot;195&quot; y2=&quot;135&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;5,3&quot; marker-end=&quot;url(#arr1)&quot;/&gt;
          &lt;line x1=&quot;140&quot; y1=&quot;159&quot; x2=&quot;195&quot; y2=&quot;140&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;5,3&quot; marker-end=&quot;url(#arr1)&quot;/&gt;
          &lt;line x1=&quot;140&quot; y1=&quot;219&quot; x2=&quot;195&quot; y2=&quot;145&quot; stroke=&quot;#7c3aed&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;5,3&quot; marker-end=&quot;url(#arr1)&quot;/&gt;

          &lt;!-- 수신기 --&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;&gt;
            &lt;rect x=&quot;200&quot; y=&quot;100&quot; width=&quot;130&quot; height=&quot;60&quot; rx=&quot;10&quot; fill=&quot;#1e40af&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;265&quot; y=&quot;124&quot; text-anchor=&quot;middle&quot; font-size=&quot;13&quot; font-weight=&quot;900&quot; fill=&quot;#fff&quot;&gt;수신기&lt;/text&gt;
            &lt;text x=&quot;265&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#bfdbfe&quot;&gt;P형 / R형&lt;/text&gt;
            &lt;text x=&quot;265&quot; y=&quot;153&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#bfdbfe&quot;&gt;신호 처리·경보 판단&lt;/text&gt;
          &lt;/g&gt;

          &lt;!-- 수신기→경보설비 --&gt;
          &lt;line x1=&quot;330&quot; y1=&quot;130&quot; x2=&quot;390&quot; y2=&quot;90&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;line x1=&quot;330&quot; y1=&quot;130&quot; x2=&quot;390&quot; y2=&quot;135&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;line x1=&quot;330&quot; y1=&quot;130&quot; x2=&quot;390&quot; y2=&quot;180&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;

          &lt;!-- 경보설비 --&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.85s&quot;&gt;
            &lt;rect x=&quot;395&quot; y=&quot;66&quot; width=&quot;120&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#f0fdf4&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;455&quot; y=&quot;90&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;비상방송설비&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:1s&quot;&gt;
            &lt;rect x=&quot;395&quot; y=&quot;118&quot; width=&quot;120&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#f0fdf4&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;455&quot; y=&quot;142&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;자동소화설비&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:1.15s&quot;&gt;
            &lt;rect x=&quot;395&quot; y=&quot;170&quot; width=&quot;120&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#f0fdf4&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;455&quot; y=&quot;194&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;시각경보장치&lt;/text&gt;
          &lt;/g&gt;

          &lt;!-- 전류 흐름 라인 --&gt;
          &lt;line x1=&quot;515&quot; y1=&quot;90&quot; x2=&quot;580&quot; y2=&quot;90&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;line x1=&quot;515&quot; y1=&quot;137&quot; x2=&quot;580&quot; y2=&quot;137&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;line x1=&quot;515&quot; y1=&quot;189&quot; x2=&quot;580&quot; y2=&quot;189&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;

          &lt;!-- 동작 표시 --&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:1.3s&quot;&gt;
            &lt;rect x=&quot;585&quot; y=&quot;75&quot; width=&quot;95&quot; height=&quot;130&quot; rx=&quot;8&quot; fill=&quot;#fff7ed&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;632&quot; y=&quot;102&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#c2410c&quot;&gt;소방대&lt;/text&gt;
            &lt;text x=&quot;632&quot; y=&quot;116&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#c2410c&quot;&gt;출동 신호&lt;/text&gt;
            &lt;line x1=&quot;600&quot; y1=&quot;126&quot; x2=&quot;665&quot; y2=&quot;126&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1&quot;/&gt;
            &lt;text x=&quot;632&quot; y=&quot;145&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#9a3412&quot;&gt;소방서&lt;/text&gt;
            &lt;text x=&quot;632&quot; y=&quot;158&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#9a3412&quot;&gt;자동 통보&lt;/text&gt;
            &lt;line x1=&quot;600&quot; y1=&quot;168&quot; x2=&quot;665&quot; y2=&quot;168&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1&quot;/&gt;
            &lt;text x=&quot;632&quot; y=&quot;185&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#9a3412&quot;&gt;방재실&lt;/text&gt;
            &lt;text x=&quot;632&quot; y=&quot;198&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#9a3412&quot;&gt;경보 표시&lt;/text&gt;
          &lt;/g&gt;

          &lt;!-- 전류 흐름 애니메이션 라인 --&gt;
          &lt;path d=&quot;M 80 58 L 80 78&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot;
                stroke-dasharray=&quot;8 4&quot; class=&quot;current-line&quot; id=&quot;cline1&quot;/&gt;

          &lt;!-- 범례 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;268&quot; width=&quot;660&quot; height=&quot;42&quot; rx=&quot;6&quot; fill=&quot;#f3f4f6&quot;/&gt;
          &lt;line x1=&quot;36&quot; y1=&quot;285&quot; x2=&quot;60&quot; y2=&quot;285&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; stroke-dasharray=&quot;5,3&quot;/&gt;
          &lt;text x=&quot;68&quot; y=&quot;289&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;신호선 (감지 신호)&lt;/text&gt;
          &lt;line x1=&quot;200&quot; y1=&quot;285&quot; x2=&quot;224&quot; y2=&quot;285&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;232&quot; y=&quot;289&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;실선 (동작 신호)&lt;/text&gt;
          &lt;circle cx=&quot;370&quot; cy=&quot;285&quot; r=&quot;5&quot; fill=&quot;#1e40af&quot;/&gt;
          &lt;text x=&quot;382&quot; y=&quot;289&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;수신기 (P형/R형)&lt;/text&gt;
          &lt;circle cx=&quot;500&quot; cy=&quot;285&quot; r=&quot;5&quot; fill=&quot;#7c3aed&quot;/&gt;
          &lt;text x=&quot;512&quot; y=&quot;289&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;복합·다신호식 감지기&lt;/text&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAnim('cline1', this)&quot;&gt;⏸ 일시정지&lt;/button&gt;
          &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAnim('cline1')&quot;&gt;↺ 재시작&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 자동화재탐지설비 계통 블록 다이어그램 — 감지기 신호가 수신기를 거쳐 경보설비·소방서까지 전달되는 흐름을 보여줍니다 (소방청 자동화재탐지설비 기준)&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 종류별 작동 원리 상세 ── --&gt;
    &lt;section id=&quot;principle&quot;&gt;
      &lt;h2&gt;  종류별 작동 원리 — 이걸 모르면 응용 문제 다 틀립니다&lt;/h2&gt;

      &lt;p&gt;최근 3회 시험에서 &lt;span class=&quot;highlight-red&quot;&gt;단순 이름 암기 문제는 30%&lt;/span&gt;, &lt;span class=&quot;highlight-blue&quot;&gt;작동 원리+설치 장소 조합 문제가 70%&lt;/span&gt;입니다. 이제부터가 핵심이에요.&lt;/p&gt;

      &lt;h3&gt; ️ 연기 감지기 3종 — 시험 최빈출&lt;/h3&gt;

      &lt;div class=&quot;exam-point-box&quot;&gt;
        &lt;strong&gt;이온식 vs 광전식 구분법 (시험에 꼭 나옵니다)&lt;/strong&gt;&lt;br&gt;
        이온식: &lt;span class=&quot;highlight-strong&quot;&gt;방사성 동위원소(Am-241)&lt;/span&gt;로 이온화 전류를 만들어, 연기가 이온을 흡착하면 전류가 감소 → 경보&lt;br&gt;
        광전식(산란광): &lt;span class=&quot;highlight-strong&quot;&gt;빛이 연기에 부딪혀 흩어지면(산란)&lt;/span&gt; 수광부에 감지됨 → 발광부와 수광부가 90° 각도&lt;br&gt;
        광전식(감광): &lt;span class=&quot;highlight-strong&quot;&gt;연기가 빛을 막아서(차단)&lt;/span&gt; 수광량이 줄면 경보 → 발광부·수광부 마주 봄(180°)
      &lt;/div&gt;

      &lt;div class=&quot;episode-quote&quot;&gt;
        &quot;2024년 3회차 시험에서 '광전식 산란광형과 감광형 중 대공간에 적합한 것은?'이라는 문제가 나왔어요. 공부할 때 이름만 외웠더니 답이 기억이 안 나서 찍었는데 틀렸습니다. 나중에 알고 보니 대공간에는 감광형(빛이 먼 거리를 직진해야 하니까)이 맞더라고요. 작동 원리를 알면 안 외워도 논리적으로 풀리는 문제였어요.&quot;
        &lt;br&gt;— 2024년 3회차 재응시자 후기
      &lt;/div&gt;

      &lt;h3&gt; ️ 열 감지기 4종 — 배점 주의&lt;/h3&gt;

      &lt;!-- SVG 2: 차동식 vs 정온식 원리 비교 --&gt;
      &lt;div class=&quot;svg-wrap&quot; id=&quot;svgWrap2&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 260&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;차동식 vs 정온식 작동 원리 비교&quot;&gt;
          &lt;rect width=&quot;700&quot; height=&quot;260&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;

          &lt;!-- 제목 --&gt;
          &lt;text x=&quot;175&quot; y=&quot;25&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;900&quot; fill=&quot;#1e40af&quot;&gt;차동식 (온도 변화율 감지)&lt;/text&gt;
          &lt;text x=&quot;525&quot; y=&quot;25&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;900&quot; fill=&quot;#dc2626&quot;&gt;정온식 (공칭온도 이상 감지)&lt;/text&gt;

          &lt;!-- 구분선 --&gt;
          &lt;line x1=&quot;350&quot; y1=&quot;10&quot; x2=&quot;350&quot; y2=&quot;250&quot; stroke=&quot;#d1d5db&quot; stroke-width=&quot;1.5&quot; stroke-dasharray=&quot;6,4&quot;/&gt;

          &lt;!-- 차동식 다이어프램 그림 --&gt;
          &lt;ellipse cx=&quot;175&quot; cy=&quot;110&quot; rx=&quot;60&quot; ry=&quot;30&quot; fill=&quot;#dbeafe&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;175&quot; y=&quot;115&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#1e40af&quot;&gt;다이어프램&lt;/text&gt;
          &lt;rect x=&quot;145&quot; y=&quot;140&quot; width=&quot;60&quot; height=&quot;25&quot; rx=&quot;4&quot; fill=&quot;#bfdbfe&quot; stroke=&quot;#1d4ed8&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;175&quot; y=&quot;157&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#1e40af&quot;&gt;공기실&lt;/text&gt;

          &lt;!-- 화살표: 온도 상승 --&gt;
          &lt;line x1=&quot;85&quot; y1=&quot;180&quot; x2=&quot;145&quot; y2=&quot;140&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr1)&quot;/&gt;
          &lt;text x=&quot;72&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#c2410c&quot;&gt;열 상승&lt;/text&gt;

          &lt;!-- 다이어프램 팽창 표시 --&gt;
          &lt;path d=&quot;M 115 80 Q 175 50 235 80&quot; stroke=&quot;#1e40af&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; stroke-dasharray=&quot;5,3&quot; class=&quot;draw-path&quot; id=&quot;diaphragm&quot;/&gt;
          &lt;text x=&quot;175&quot; y=&quot;68&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#1e40af&quot;&gt;↑ 팽창 (접점 ON)&lt;/text&gt;

          &lt;text x=&quot;175&quot; y=&quot;205&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#4b5563&quot;&gt;① 열 → 공기 팽창&lt;/text&gt;
          &lt;text x=&quot;175&quot; y=&quot;220&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#4b5563&quot;&gt;② 다이어프램 변형&lt;/text&gt;
          &lt;text x=&quot;175&quot; y=&quot;235&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#4b5563&quot;&gt;③ 접점 연결 → 경보&lt;/text&gt;

          &lt;!-- 정온식 바이메탈 --&gt;
          &lt;rect x=&quot;465&quot; y=&quot;80&quot; width=&quot;120&quot; height=&quot;18&quot; rx=&quot;4&quot; fill=&quot;#fca5a5&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
          &lt;text x=&quot;525&quot; y=&quot;94&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;바이메탈&lt;/text&gt;

          &lt;!-- 바이메탈 휨 --&gt;
          &lt;path d=&quot;M 465 98 Q 525 125 585 98&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; fill=&quot;none&quot; stroke-dasharray=&quot;5,3&quot; class=&quot;draw-path&quot; id=&quot;bimetal&quot; style=&quot;animation-delay:0.5s&quot;/&gt;
          &lt;text x=&quot;525&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot;&gt;↓ 휨 (공칭온도 초과 시)&lt;/text&gt;

          &lt;line x1=&quot;440&quot; y1=&quot;180&quot; x2=&quot;490&quot; y2=&quot;120&quot; stroke=&quot;#f97316&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr1)&quot;/&gt;
          &lt;text x=&quot;428&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#c2410c&quot;&gt;열 상승&lt;/text&gt;

          &lt;text x=&quot;525&quot; y=&quot;200&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#4b5563&quot;&gt;① 열 → 바이메탈 팽창&lt;/text&gt;
          &lt;text x=&quot;525&quot; y=&quot;215&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#4b5563&quot;&gt;② 열팽창 계수 차이로 휨&lt;/text&gt;
          &lt;text x=&quot;525&quot; y=&quot;230&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; fill=&quot;#4b5563&quot;&gt;③ 접점 연결 → 경보&lt;/text&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleDrawPath(this)&quot;&gt;⏸ 일시정지&lt;/button&gt;
          &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetDrawPaths()&quot;&gt;↺ 재시작&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 차동식(다이어프램·공기팽창) vs 정온식(바이메탈·열팽창) 작동 원리 비교 — 원리를 알면 설치 장소도 논리적으로 결정됩니다&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;formula-box&quot;&gt;
        &lt;span class=&quot;formula-title&quot;&gt; ️ 정온식 공칭작동온도 기준 (소방청 고시 2026-12호)&lt;/span&gt;
        1종: &lt;strong&gt;60°C 미만&lt;/strong&gt; (일반 사무실·주택)&lt;br&gt;
        2종: &lt;strong&gt;60°C 이상 ~ 80°C 미만&lt;/strong&gt; (보일러실 인근)&lt;br&gt;
        특종: &lt;strong&gt;80°C 이상&lt;/strong&gt; (주방·건조실 등 고열 환경)&lt;br&gt;
        &lt;span style=&quot;font-size:13px;color:#4b5563;&quot;&gt;※ 공칭작동온도 = 감지기가 동작하는 기준 온도 — 시험에 수치로 출제됩니다&lt;/span&gt;
      &lt;/div&gt;

      &lt;div class=&quot;urgent-action-box&quot;&gt;
        &lt;strong&gt;불꽃감지기는 이것만 기억하세요&lt;/strong&gt;&lt;br&gt;
        UV(자외선)형: 초기 화염 감지 탁월, 햇빛·조명에 오동작 주의&lt;br&gt;
        IR(적외선)형: 연기가 없는 환경, 넓은 공간에 유리 (주차장·창고)&lt;br&gt;
        &lt;span class=&quot;highlight-red&quot;&gt;시험 포인트:&lt;/span&gt; &quot;불꽃감지기를 반드시 설치해야 하는 장소 = 천장 높이 20m 이상 대공간 or 위험물 저장소&quot;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- ── 기출 분석 [STEP 3 긴박감] ── --&gt;
    &lt;section id=&quot;exam-trend&quot;&gt;
      &lt;h2&gt;  최근 5년 기출 빈도 분석 — 지금 안 잡으면 늦어요&lt;/h2&gt;
      &lt;p&gt;&lt;span class=&quot;highlight-red&quot;&gt;CBT 전환 이후 이 유형 비중이 2배로 늘었어요.&lt;/span&gt; 막대를 클릭하면 해당 연도 출제 유형이 나옵니다  &lt;/p&gt;

      &lt;div class=&quot;chart-container&quot;&gt;
        &lt;div class=&quot;chart-bars&quot; id=&quot;chartBars&quot;&gt;
          &lt;div class=&quot;chart-bar-wrap&quot; onclick=&quot;showChartPopup(2022, '차동식 스포트형 2문항, 이온식 연기감지기 1문항, 광전식 1문항, 정온식 1문항 — 총 5문항')&quot;&gt;
            &lt;div class=&quot;chart-bar-inner low&quot; style=&quot;height:50%;margin-top:50%;&quot;&gt;
              &lt;span class=&quot;bar-badge&quot;&gt;5문항&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class=&quot;chart-label&quot;&gt;2022&lt;/div&gt;
            &lt;div class=&quot;chart-count&quot;&gt;5문&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-wrap&quot; onclick=&quot;showChartPopup(2023, '이온식 연기감지기 2문항, 차동식 2문항, 정온식 1문항, 불꽃감지기 1문항 — 총 6문항')&quot;&gt;
            &lt;div class=&quot;chart-bar-inner mid&quot; style=&quot;height:60%;margin-top:40%;&quot;&gt;
              &lt;span class=&quot;bar-badge&quot;&gt;6문항&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class=&quot;chart-label&quot;&gt;2023&lt;/div&gt;
            &lt;div class=&quot;chart-count&quot;&gt;6문&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-wrap&quot; onclick=&quot;showChartPopup(2024, '광전식 산란광형 2문항, 광전식 감광형 1문항, 차동식 분포형 2문항, 복합형 1문항 — 총 6문항')&quot;&gt;
            &lt;div class=&quot;chart-bar-inner high&quot; style=&quot;height:60%;margin-top:40%;&quot;&gt;
              &lt;span class=&quot;bar-badge&quot;&gt;★ 6문항&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class=&quot;chart-label&quot;&gt;2024&lt;/div&gt;
            &lt;div class=&quot;chart-count&quot;&gt;6문&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-wrap&quot; onclick=&quot;showChartPopup(2025, '이온식 1문항, 광전식(산란) 2문항, 차동식(스포트) 2문항, 정온식(공칭온도) 1문항, 불꽃감지기 1문항 — 총 7문항')&quot;&gt;
            &lt;div class=&quot;chart-bar-inner high&quot; style=&quot;height:70%;margin-top:30%;&quot;&gt;
              &lt;span class=&quot;bar-badge&quot;&gt;★ 7문항&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class=&quot;chart-label&quot;&gt;2025&lt;/div&gt;
            &lt;div class=&quot;chart-count&quot;&gt;7문&lt;/div&gt;
          &lt;/div&gt;
          &lt;div class=&quot;chart-bar-wrap&quot; onclick=&quot;showChartPopup('2026 예상', '광전식(산란·감광) 비교 2문항, 정온식 공칭온도 1문항, 차동식 분포형 1문항, 복합형+다신호식 1문항, 불꽃감지기 설치장소 1문항 — 예상 총 6~8문항')&quot;&gt;
            &lt;div class=&quot;chart-bar-inner high&quot; style=&quot;height:80%;margin-top:20%;&quot;&gt;
              &lt;span class=&quot;bar-badge&quot;&gt;예상 8문항&lt;/span&gt;
            &lt;/div&gt;
            &lt;div class=&quot;chart-label&quot;&gt;2026&lt;/div&gt;
            &lt;div class=&quot;chart-count&quot;&gt;예상 8문&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;chart-popup&quot; id=&quot;chartPopup&quot;&gt;&lt;/div&gt;
        &lt;p style=&quot;font-size:12px;color:#9ca3af;margin-top:8px;&quot;&gt;※ 막대를 클릭하면 해당 연도 출제 유형이 표시됩니다 | 소방설비기사 기출 분석 기준&lt;/p&gt;
      &lt;/div&gt;

      &lt;div class=&quot;table-container&quot;&gt;
        &lt;table&gt;
          &lt;thead&gt;
            &lt;tr&gt;&lt;th&gt;출제 유형&lt;/th&gt;&lt;th&gt;최근 5년 출제 횟수&lt;/th&gt;&lt;th&gt;중요도&lt;/th&gt;&lt;th&gt;관련 감지기&lt;/th&gt;&lt;/tr&gt;
          &lt;/thead&gt;
          &lt;tbody&gt;
            &lt;tr&gt;&lt;td&gt;이온식 vs 광전식 작동 원리 구분&lt;/td&gt;&lt;td&gt;9회&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★★★&lt;/span&gt;&lt;/td&gt;&lt;td&gt;①②③&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;차동식 vs 정온식 설치 장소&lt;/td&gt;&lt;td&gt;11회&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★★★&lt;/span&gt;&lt;/td&gt;&lt;td&gt;④⑤⑥⑦&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;정온식 공칭작동온도 수치&lt;/td&gt;&lt;td&gt;7회&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★★★&lt;/span&gt;&lt;/td&gt;&lt;td&gt;⑥&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;불꽃감지기 설치 장소&lt;/td&gt;&lt;td&gt;6회&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;badge-tag badge-mid&quot;&gt;★★☆&lt;/span&gt;&lt;/td&gt;&lt;td&gt;⑧&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;복합형·다신호식 특징&lt;/td&gt;&lt;td&gt;4회&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;badge-tag badge-mid&quot;&gt;★★☆&lt;/span&gt;&lt;/td&gt;&lt;td&gt;⑨⑩&lt;/td&gt;&lt;/tr&gt;
            &lt;tr&gt;&lt;td&gt;감지기 설치 개수·면적 계산&lt;/td&gt;&lt;td&gt;8회&lt;/td&gt;&lt;td&gt;&lt;span class=&quot;badge-tag badge-high&quot;&gt;★★★&lt;/span&gt;&lt;/td&gt;&lt;td&gt;전체&lt;/td&gt;&lt;/tr&gt;
          &lt;/tbody&gt;
        &lt;/table&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- ── 계산 풀이 섹션 ── --&gt;
    &lt;section id=&quot;calculator&quot;&gt;
      &lt;h2&gt;  단계별 풀이법 + 설치 개수 계산기&lt;/h2&gt;

      &lt;div class=&quot;step-box&quot;&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;설치 대상 공간 파악&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;층수·용도·천장 높이·바닥 면적을 먼저 확인합니다. 천장 높이에 따라 설치 면적 기준이 달라져요.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;감지기 종류 선정&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;주방→정온식, 거실·복도→연기감지기, 대공간(천장 8m 이상)→불꽃감지기 or 광전식 감광형 순서로 선택합니다.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;1개당 설치 면적(㎡) 확인&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;차동식 스포트형 1종: &lt;strong&gt;50㎡ 이하&lt;/strong&gt;, 2종: &lt;strong&gt;30㎡ 이하&lt;/strong&gt; / 이온식·광전식: &lt;strong&gt;150㎡ 이하&lt;/strong&gt; (천장 높이 4m 미만 기준)&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;설치 개수 계산&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;필요 개수 = ⌈바닥 면적 ÷ 1개당 설치 면적⌉ (소수점 올림). 시험에서 이 계산 오류로 틀리는 경우가 많아요.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;5&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;설치 기준 적합성 확인&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;감지기 상호 간 거리, 감지기와 벽 사이 거리(1.5m 이하 적용 제외 등) 최종 검토.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;!-- 인터랙티브 계산기 1 --&gt;
      &lt;div class=&quot;calculator-box&quot;&gt;
        &lt;h3&gt;  감지기 설치 개수 자동 계산기&lt;/h3&gt;
        &lt;p style=&quot;font-size:14px;color:var(--text-secondary);margin-bottom:16px;&quot;&gt;바닥 면적과 감지기 종류를 입력하면 필요 개수가 자동 계산됩니다 (소방청 기준 적용)&lt;/p&gt;
        &lt;div class=&quot;calc-grid&quot;&gt;
          &lt;div class=&quot;calc-field&quot;&gt;
            &lt;label for=&quot;floorArea&quot;&gt;바닥 면적 (㎡)&lt;/label&gt;
            &lt;input class=&quot;calculator-input&quot; id=&quot;floorArea&quot; type=&quot;number&quot; min=&quot;1&quot; max=&quot;10000&quot; value=&quot;200&quot; placeholder=&quot;예: 200&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;calc-field&quot;&gt;
            &lt;label for=&quot;ceilingHeight&quot;&gt;천장 높이 (m)&lt;/label&gt;
            &lt;input class=&quot;calculator-input&quot; id=&quot;ceilingHeight&quot; type=&quot;number&quot; min=&quot;1&quot; max=&quot;30&quot; step=&quot;0.5&quot; value=&quot;3.5&quot; placeholder=&quot;예: 3.5&quot;&gt;
          &lt;/div&gt;
          &lt;div class=&quot;calc-field&quot;&gt;
            &lt;label for=&quot;detectorType&quot;&gt;감지기 종류&lt;/label&gt;
            &lt;select class=&quot;calculator-input&quot; id=&quot;detectorType&quot;&gt;
              &lt;option value=&quot;ion&quot;&gt;이온식 연기감지기&lt;/option&gt;
              &lt;option value=&quot;photo_scatter&quot;&gt;광전식(산란광형)&lt;/option&gt;
              &lt;option value=&quot;photo_block&quot;&gt;광전식(감광형)&lt;/option&gt;
              &lt;option value=&quot;diff1&quot; selected&gt;차동식 스포트형 1종&lt;/option&gt;
              &lt;option value=&quot;diff2&quot;&gt;차동식 스포트형 2종&lt;/option&gt;
              &lt;option value=&quot;fixed1&quot;&gt;정온식 스포트형 1종&lt;/option&gt;
              &lt;option value=&quot;fixed2&quot;&gt;정온식 스포트형 2종&lt;/option&gt;
              &lt;option value=&quot;flame&quot;&gt;불꽃감지기&lt;/option&gt;
              &lt;option value=&quot;complex&quot;&gt;복합형 감지기&lt;/option&gt;
            &lt;/select&gt;
          &lt;/div&gt;
          &lt;div class=&quot;calc-field&quot;&gt;
            &lt;label for=&quot;roomUse&quot;&gt;설치 장소 용도&lt;/label&gt;
            &lt;select class=&quot;calculator-input&quot; id=&quot;roomUse&quot;&gt;
              &lt;option value=&quot;office&quot;&gt;사무실·거실&lt;/option&gt;
              &lt;option value=&quot;kitchen&quot;&gt;주방·보일러실&lt;/option&gt;
              &lt;option value=&quot;corridor&quot;&gt;복도·계단&lt;/option&gt;
              &lt;option value=&quot;warehouse&quot;&gt;창고·공장&lt;/option&gt;
              &lt;option value=&quot;large&quot;&gt;대공간(천장 8m↑)&lt;/option&gt;
            &lt;/select&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;button class=&quot;calc-btn&quot; onclick=&quot;calcDetectors()&quot;&gt;✅ 필요 개수 계산하기&lt;/button&gt;
        &lt;div class=&quot;calculator-result&quot; id=&quot;calcResult1&quot;&gt;
          &lt;div class=&quot;result-main&quot; id=&quot;calcMainResult&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;result-sub&quot; id=&quot;calcSubResult&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;episode-quote&quot;&gt;
        &quot;2025년 2회차 실기 시험에서 '스프링클러 헤드 수와 감지기 개수를 함께 계산하라'는 문제가 나왔어요. 공식 자체는 외웠는데 소수점 올림 처리를 빠트려서 1개가 모자랐고, 그 문제 8점을 통째로 날렸습니다. 이 계산기처럼 올림 처리하는 습관을 미리 들였으면 좋았을 텐데…&quot;
        &lt;br&gt;— 2025년 2회차 소방설비기사 실기 준비생 후기
      &lt;/div&gt;

      &lt;div class=&quot;warning-box&quot;&gt;
        &lt;strong&gt;이 모르고 다음 파트(수신기·배선) 가면 또 막혀요.&lt;/strong&gt;&lt;br&gt;
        감지기 개수 계산이 틀리면 배선 가닥 수·회로 수 계산도 연쇄적으로 틀립니다. 지금 확실히 잡아두세요.
      &lt;/div&gt;

      &lt;a class=&quot;inline-cta&quot; href=&quot;https://etmusso72.tistory.com/112&quot;&gt;P형 vs R형 수신기 차이 — 감지기 연결 방식 완전 정복하러 가기&lt;/a&gt;

    &lt;/section&gt;

    &lt;!-- 무료 이미지 2 --&gt;
    &lt;div class=&quot;image-container&quot;&gt;
      &lt;img
        src=&quot;https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=800&amp;h=400&amp;fit=crop&amp;q=80&quot;
        alt=&quot;소방설비기사 시험 준비 공부 관련 이미지 - 출처: Unsplash&quot;
        loading=&quot;lazy&quot;
        onerror=&quot;this.src='https://picsum.photos/id/180/800/400';&quot;&gt;
      &lt;div class=&quot;image-caption&quot;&gt;소방설비기사 필기 공부 — 감지기 비교표를 손으로 그리며 외우면 기억 정착률이 2배 높아집니다 | 출처: Unsplash&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 자주 틀리는 포인트 5가지 ── --&gt;
    &lt;section id=&quot;mistakes&quot;&gt;
      &lt;h2&gt;⚠️ 자주 틀리는 실수 5가지 — 합격자가 직접 공개&lt;/h2&gt;
      &lt;p&gt;대부분 이렇게 외우는데, 사실 &lt;span class=&quot;highlight-red&quot;&gt;이 5가지 패턴에서 8점이 날아갑니다.&lt;/span&gt;&lt;/p&gt;

      &lt;!-- SVG 3: 실수 유형 시각화 --&gt;
      &lt;div class=&quot;svg-wrap&quot; id=&quot;svgWrap3&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;자주 틀리는 실수 5가지 시각화&quot;&gt;
          &lt;rect width=&quot;700&quot; height=&quot;200&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;24&quot; text-anchor=&quot;middle&quot; font-size=&quot;14&quot; font-weight=&quot;900&quot; fill=&quot;#dc2626&quot;&gt;❌ 자주 틀리는 실수 TOP 5&lt;/text&gt;

          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.1s&quot;&gt;
            &lt;rect x=&quot;20&quot; y=&quot;38&quot; width=&quot;118&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;79&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;① 이온식에&lt;/text&gt;
            &lt;text x=&quot;79&quot; y=&quot;74&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#991b1b&quot;&gt;연기차단 개념 혼용&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.25s&quot;&gt;
            &lt;rect x=&quot;150&quot; y=&quot;38&quot; width=&quot;118&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;209&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;② 광전식 발광부&lt;/text&gt;
            &lt;text x=&quot;209&quot; y=&quot;74&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#991b1b&quot;&gt;각도 혼동 (90°/180°)&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.4s&quot;&gt;
            &lt;rect x=&quot;280&quot; y=&quot;38&quot; width=&quot;118&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;339&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;③ 정온식 공칭온도&lt;/text&gt;
            &lt;text x=&quot;339&quot; y=&quot;74&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#991b1b&quot;&gt;수치 틀림 (60/80°C)&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.55s&quot;&gt;
            &lt;rect x=&quot;410&quot; y=&quot;38&quot; width=&quot;118&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;469&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;④ 설치 면적 소수점&lt;/text&gt;
            &lt;text x=&quot;469&quot; y=&quot;74&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#991b1b&quot;&gt;올림 처리 누락&lt;/text&gt;
          &lt;/g&gt;
          &lt;g class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;&gt;
            &lt;rect x=&quot;540&quot; y=&quot;38&quot; width=&quot;140&quot; height=&quot;50&quot; rx=&quot;8&quot; fill=&quot;#fef2f2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot;/&gt;
            &lt;text x=&quot;610&quot; y=&quot;60&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;⑤ 불꽃감지기 설치&lt;/text&gt;
            &lt;text x=&quot;610&quot; y=&quot;74&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; fill=&quot;#991b1b&quot;&gt;장소 범위 혼동&lt;/text&gt;
          &lt;/g&gt;

          &lt;!-- 해결 화살표 --&gt;
          &lt;line x1=&quot;79&quot; y1=&quot;90&quot; x2=&quot;79&quot; y2=&quot;115&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;line x1=&quot;209&quot; y1=&quot;90&quot; x2=&quot;209&quot; y2=&quot;115&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;line x1=&quot;339&quot; y1=&quot;90&quot; x2=&quot;339&quot; y2=&quot;115&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;line x1=&quot;469&quot; y1=&quot;90&quot; x2=&quot;469&quot; y2=&quot;115&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;
          &lt;line x1=&quot;610&quot; y1=&quot;90&quot; x2=&quot;610&quot; y2=&quot;115&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; marker-end=&quot;url(#arr2)&quot;/&gt;

          &lt;!-- 해결책 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;118&quot; width=&quot;118&quot; height=&quot;38&quot; rx=&quot;6&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;79&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;이온화 원리&lt;/text&gt;
          &lt;text x=&quot;79&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;전류감소 기억&lt;/text&gt;

          &lt;rect x=&quot;150&quot; y=&quot;118&quot; width=&quot;118&quot; height=&quot;38&quot; rx=&quot;6&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;209&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;산란=90°각도&lt;/text&gt;
          &lt;text x=&quot;209&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;감광=직선(180°)&lt;/text&gt;

          &lt;rect x=&quot;280&quot; y=&quot;118&quot; width=&quot;118&quot; height=&quot;38&quot; rx=&quot;6&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;339&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;1종60미만&lt;/text&gt;
          &lt;text x=&quot;339&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;2종60~80미만&lt;/text&gt;

          &lt;rect x=&quot;410&quot; y=&quot;118&quot; width=&quot;118&quot; height=&quot;38&quot; rx=&quot;6&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;469&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;나누고 →&lt;/text&gt;
          &lt;text x=&quot;469&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;반드시 올림&lt;/text&gt;

          &lt;rect x=&quot;540&quot; y=&quot;118&quot; width=&quot;140&quot; height=&quot;38&quot; rx=&quot;6&quot; fill=&quot;#d1fae5&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;610&quot; y=&quot;140&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;천장20m↑·위험물&lt;/text&gt;
          &lt;text x=&quot;610&quot; y=&quot;152&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;저장소·주차장&lt;/text&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 자주 틀리는 실수 5가지 — 아래 퀴즈에서 이 유형을 집중적으로 확인할 수 있습니다&lt;/div&gt;
      &lt;/div&gt;

      &lt;h3&gt;실수 ① — 이온식 작동 원리 혼동&lt;/h3&gt;
      &lt;p&gt;이거 틀리면 2점 날립니다. 이온식 감지기는 연기가 &lt;strong&gt;&quot;빛을 차단&quot;하는 게 아니에요&lt;/strong&gt;. Am-241 방사성 동위원소로 공기를 이온화해 전류를 만들고, 연기 입자가 이온을 흡착해 전류를 감소시켜 경보하는 방식이에요. 시험에서 &quot;이온화 전류 감소&quot;로 답을 찾으세요.&lt;/p&gt;

      &lt;h3&gt;실수 ② — 광전식 발광부·수광부 각도 혼동&lt;/h3&gt;
      &lt;p&gt;산란광형(스포트형) = 발광부와 수광부가 &lt;span class=&quot;highlight-blue&quot;&gt;90° 각도&lt;/span&gt;로 배치. 연기가 빛을 흩트리면 수광부에 빛이 들어와 경보.&lt;br&gt;
      감광형(분리형) = 발광부와 수광부가 &lt;span class=&quot;highlight-blue&quot;&gt;마주보고(180°)&lt;/span&gt; 설치. 연기가 빛을 막으면 수광량이 줄어 경보.&lt;/p&gt;

      &lt;h3&gt;실수 ③ — 정온식 공칭작동온도 숫자 틀림&lt;/h3&gt;
      &lt;p&gt;1종은 &lt;span class=&quot;highlight-strong&quot;&gt;60°C 미만&lt;/span&gt;, 2종은 &lt;span class=&quot;highlight-strong&quot;&gt;60°C 이상 ~ 80°C 미만&lt;/span&gt;, 특종은 &lt;span class=&quot;highlight-strong&quot;&gt;80°C 이상&lt;/span&gt;. 숫자만 외우면 헷갈려요. &quot;주방은 평소도 뜨거우니 특종&quot;, &quot;사무실은 1종&quot;으로 장소와 연결해 외우세요.&lt;/p&gt;

      &lt;h3&gt;실수 ④ — 설치 개수 소수점 올림 처리 누락&lt;/h3&gt;
      &lt;p&gt;필요 개수 = 바닥면적 ÷ 1개당 설치 면적에서 나머지가 생기면 반드시 올림해야 해요. 300㎡ ÷ 50㎡ = 6.0개(딱 맞음)이지만, 301㎡ ÷ 50㎡ = 6.02 → &lt;span class=&quot;highlight-red&quot;&gt;7개&lt;/span&gt;. 시험에서 이 올림 처리를 빠트려 틀리는 경우가 아주 많아요.&lt;/p&gt;

      &lt;h3&gt;실수 ⑤ — 불꽃감지기 설치 의무 장소 범위&lt;/h3&gt;
      &lt;p&gt;불꽃감지기를 &lt;strong&gt;반드시&lt;/strong&gt; 설치해야 하는 장소: 천장 높이 &lt;span class=&quot;highlight-blue&quot;&gt;20m 이상&lt;/span&gt;의 대공간, 위험물 저장·취급 장소, 비행기 격납고. &quot;연기가 발생하기 전에 불꽃을 먼저 감지해야 하는 곳&quot;이라고 논리적으로 기억하면 돼요.&lt;/p&gt;

    &lt;/section&gt;

    &lt;!-- ── SVG 4: 감지기 종류별 작동 원리 흐름도 ── --&gt;
    &lt;section&gt;
      &lt;h2&gt;  감지기 선정 흐름도 — 장소에 맞는 감지기 결정법&lt;/h2&gt;
      &lt;p&gt;이 흐름도 하나로 어떤 장소에 어떤 감지기를 설치해야 하는지 논리적으로 결정할 수 있어요. 시험 문제를 보자마자 이 트리를 머릿속에서 따라가 보세요.&lt;/p&gt;

      &lt;div class=&quot;svg-wrap&quot; id=&quot;svgWrap4&quot;&gt;
        &lt;svg viewBox=&quot;0 0 700 360&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; aria-label=&quot;감지기 종류 선정 흐름도&quot;&gt;
          &lt;rect width=&quot;700&quot; height=&quot;360&quot; fill=&quot;#f9fafb&quot; rx=&quot;10&quot;/&gt;

          &lt;!-- 시작 --&gt;
          &lt;ellipse cx=&quot;350&quot; cy=&quot;28&quot; rx=&quot;90&quot; ry=&quot;20&quot; fill=&quot;#1e40af&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.1s&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;33&quot; text-anchor=&quot;middle&quot; font-size=&quot;12&quot; font-weight=&quot;700&quot; fill=&quot;#fff&quot;&gt;설치 장소 파악&lt;/text&gt;

          &lt;!-- 화살표: 시작→질문1 --&gt;
          &lt;line x1=&quot;350&quot; y1=&quot;48&quot; x2=&quot;350&quot; y2=&quot;73&quot; stroke=&quot;#6b7280&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr1)&quot; class=&quot;draw-path&quot; id=&quot;fp1&quot;/&gt;

          &lt;!-- 질문 1: 연기·열·불꽃? --&gt;
          &lt;polygon points=&quot;350,78 430,100 350,122 270,100&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.3s&quot;/&gt;
          &lt;text x=&quot;350&quot; y=&quot;97&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#92400e&quot;&gt;연기 먼저 발생?&lt;/text&gt;
          &lt;text x=&quot;350&quot; y=&quot;110&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#92400e&quot;&gt;(일반 화재 환경)&lt;/text&gt;

          &lt;!-- YES 왼쪽, NO 오른쪽 --&gt;
          &lt;line x1=&quot;270&quot; y1=&quot;100&quot; x2=&quot;170&quot; y2=&quot;140&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr2)&quot; class=&quot;draw-path&quot; id=&quot;fp2&quot; style=&quot;animation-delay:0.4s&quot;/&gt;
          &lt;text x=&quot;208&quot; y=&quot;128&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#059669&quot;&gt;YES&lt;/text&gt;

          &lt;line x1=&quot;430&quot; y1=&quot;100&quot; x2=&quot;530&quot; y2=&quot;140&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr1)&quot; class=&quot;draw-path&quot; id=&quot;fp3&quot; style=&quot;animation-delay:0.4s&quot;/&gt;
          &lt;text x=&quot;492&quot; y=&quot;128&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#dc2626&quot;&gt;NO&lt;/text&gt;

          &lt;!-- 연기 감지기 선택 질문 --&gt;
          &lt;polygon points=&quot;170,145 240,162 170,178 100,162&quot; fill=&quot;#dcfce7&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.5s&quot;/&gt;
          &lt;text x=&quot;170&quot; y=&quot;159&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;대공간?&lt;/text&gt;
          &lt;text x=&quot;170&quot; y=&quot;172&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#065f46&quot;&gt;(천장 8m↑)&lt;/text&gt;

          &lt;!-- YES: 감광형, NO: 산란광/이온식 --&gt;
          &lt;line x1=&quot;100&quot; y1=&quot;162&quot; x2=&quot;60&quot; y2=&quot;205&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr2)&quot; class=&quot;draw-path&quot; id=&quot;fp4&quot; style=&quot;animation-delay:0.6s&quot;/&gt;
          &lt;text x=&quot;68&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#059669&quot;&gt;YES&lt;/text&gt;

          &lt;line x1=&quot;240&quot; y1=&quot;162&quot; x2=&quot;280&quot; y2=&quot;200&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr1)&quot; class=&quot;draw-path&quot; id=&quot;fp5&quot; style=&quot;animation-delay:0.6s&quot;/&gt;
          &lt;text x=&quot;272&quot; y=&quot;192&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot;&gt;NO&lt;/text&gt;

          &lt;rect x=&quot;20&quot; y=&quot;208&quot; width=&quot;90&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#bbf7d0&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;/&gt;
          &lt;text x=&quot;65&quot; y=&quot;229&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;광전식&lt;/text&gt;
          &lt;text x=&quot;65&quot; y=&quot;241&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;(감광형)&lt;/text&gt;

          &lt;rect x=&quot;240&quot; y=&quot;200&quot; width=&quot;90&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#bbf7d0&quot; stroke=&quot;#059669&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;/&gt;
          &lt;text x=&quot;285&quot; y=&quot;221&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#065f46&quot;&gt;이온식 or&lt;/text&gt;
          &lt;text x=&quot;285&quot; y=&quot;233&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#065f46&quot;&gt;광전식(산란광)&lt;/text&gt;

          &lt;!-- 열 또는 불꽃 --&gt;
          &lt;polygon points=&quot;530,145 600,162 530,178 460,162&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.5s&quot;/&gt;
          &lt;text x=&quot;530&quot; y=&quot;159&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;불꽃·폭발 위험?&lt;/text&gt;
          &lt;text x=&quot;530&quot; y=&quot;172&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#991b1b&quot;&gt;(주차장·위험물)&lt;/text&gt;

          &lt;line x1=&quot;600&quot; y1=&quot;162&quot; x2=&quot;640&quot; y2=&quot;205&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr1)&quot; class=&quot;draw-path&quot; id=&quot;fp6&quot; style=&quot;animation-delay:0.6s&quot;/&gt;
          &lt;text x=&quot;632&quot; y=&quot;196&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot;&gt;YES&lt;/text&gt;

          &lt;line x1=&quot;460&quot; y1=&quot;162&quot; x2=&quot;420&quot; y2=&quot;200&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr2)&quot; class=&quot;draw-path&quot; id=&quot;fp7&quot; style=&quot;animation-delay:0.6s&quot;/&gt;
          &lt;text x=&quot;428&quot; y=&quot;192&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#059669&quot;&gt;NO&lt;/text&gt;

          &lt;rect x=&quot;595&quot; y=&quot;208&quot; width=&quot;90&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#fecaca&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;/&gt;
          &lt;text x=&quot;640&quot; y=&quot;229&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;불꽃감지기&lt;/text&gt;
          &lt;text x=&quot;640&quot; y=&quot;241&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#991b1b&quot;&gt;(UV/IR)&lt;/text&gt;

          &lt;!-- 열 감지기 추가 분기 --&gt;
          &lt;polygon points=&quot;420,205 490,222 420,238 350,222&quot; fill=&quot;#fee2e2&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.7s&quot;/&gt;
          &lt;text x=&quot;420&quot; y=&quot;218&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;주방·고열?&lt;/text&gt;
          &lt;text x=&quot;420&quot; y=&quot;231&quot; text-anchor=&quot;middle&quot; font-size=&quot;9&quot; fill=&quot;#991b1b&quot;&gt;(평소 고온)&lt;/text&gt;

          &lt;line x1=&quot;350&quot; y1=&quot;222&quot; x2=&quot;310&quot; y2=&quot;262&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr2)&quot; class=&quot;draw-path&quot; id=&quot;fp8&quot; style=&quot;animation-delay:0.8s&quot;/&gt;
          &lt;text x=&quot;320&quot; y=&quot;253&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#059669&quot;&gt;YES&lt;/text&gt;

          &lt;line x1=&quot;490&quot; y1=&quot;222&quot; x2=&quot;530&quot; y2=&quot;262&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot; marker-end=&quot;url(#arr1)&quot; class=&quot;draw-path&quot; id=&quot;fp9&quot; style=&quot;animation-delay:0.8s&quot;/&gt;
          &lt;text x=&quot;520&quot; y=&quot;253&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#dc2626&quot;&gt;NO&lt;/text&gt;

          &lt;rect x=&quot;262&quot; y=&quot;264&quot; width=&quot;100&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#fecaca&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.9s&quot;/&gt;
          &lt;text x=&quot;312&quot; y=&quot;285&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;정온식&lt;/text&gt;
          &lt;text x=&quot;312&quot; y=&quot;297&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#991b1b&quot;&gt;스포트형&lt;/text&gt;

          &lt;rect x=&quot;488&quot; y=&quot;264&quot; width=&quot;100&quot; height=&quot;38&quot; rx=&quot;8&quot; fill=&quot;#fecaca&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;2&quot; class=&quot;box-appear&quot; style=&quot;animation-delay:0.9s&quot;/&gt;
          &lt;text x=&quot;538&quot; y=&quot;285&quot; text-anchor=&quot;middle&quot; font-size=&quot;11&quot; font-weight=&quot;700&quot; fill=&quot;#991b1b&quot;&gt;차동식&lt;/text&gt;
          &lt;text x=&quot;538&quot; y=&quot;297&quot; text-anchor=&quot;middle&quot; font-size=&quot;10&quot; fill=&quot;#991b1b&quot;&gt;스포트형&lt;/text&gt;

          &lt;!-- 범례 --&gt;
          &lt;rect x=&quot;20&quot; y=&quot;320&quot; width=&quot;660&quot; height=&quot;32&quot; rx=&quot;6&quot; fill=&quot;#f3f4f6&quot;/&gt;
          &lt;polygon points=&quot;65,332 75,339 65,346 55,339&quot; fill=&quot;#fef3c7&quot; stroke=&quot;#d97706&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;83&quot; y=&quot;343&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;판단 분기&lt;/text&gt;
          &lt;rect x=&quot;160&quot; y=&quot;332&quot; width=&quot;18&quot; height=&quot;12&quot; rx=&quot;3&quot; fill=&quot;#bbf7d0&quot; stroke=&quot;#059669&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;185&quot; y=&quot;343&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;연기 감지기&lt;/text&gt;
          &lt;rect x=&quot;275&quot; y=&quot;332&quot; width=&quot;18&quot; height=&quot;12&quot; rx=&quot;3&quot; fill=&quot;#fecaca&quot; stroke=&quot;#dc2626&quot; stroke-width=&quot;1.5&quot;/&gt;
          &lt;text x=&quot;300&quot; y=&quot;343&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;열·불꽃 감지기&lt;/text&gt;
          &lt;ellipse cx=&quot;410&quot; cy=&quot;338&quot; rx=&quot;20&quot; ry=&quot;9&quot; fill=&quot;#1e40af&quot;/&gt;
          &lt;text x=&quot;437&quot; y=&quot;343&quot; font-size=&quot;11&quot; fill=&quot;#4b5563&quot;&gt;시작점&lt;/text&gt;
        &lt;/svg&gt;
        &lt;div class=&quot;anim-controls&quot;&gt;
          &lt;button class=&quot;anim-btn&quot; onclick=&quot;toggleAllDrawPaths(this)&quot;&gt;⏸ 일시정지&lt;/button&gt;
          &lt;button class=&quot;anim-btn secondary&quot; onclick=&quot;resetAllDrawPaths()&quot;&gt;↺ 재시작&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;svg-caption&quot;&gt;▲ 감지기 종류 선정 흐름도 — &quot;어떤 장소에 어떤 감지기?&quot; 판단 트리. 시험 문제를 이 흐름대로 따라가면 정답이 보입니다&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 자가진단 퀴즈 ── --&gt;
    &lt;section id=&quot;quiz&quot;&gt;
      &lt;h2&gt;  자가진단 퀴즈 8문제 — 지금 내 실력 확인&lt;/h2&gt;
      &lt;p&gt;이 퀴즈에서 6문제 이상 맞으면 감지기 파트 합격권입니다. 5문제 이하라면 위의 비교표를 다시 보고 오세요  &lt;/p&gt;

      &lt;div class=&quot;quiz-box&quot; id=&quot;quizBox&quot;&gt;
        &lt;div class=&quot;quiz-progress&quot; id=&quot;quizProgress&quot;&gt;문제 1 / 8&lt;/div&gt;
        &lt;div class=&quot;quiz-question&quot; id=&quot;quizQuestion&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;quiz-options&quot; id=&quot;quizOptions&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;quiz-feedback&quot; id=&quot;quizFeedback&quot;&gt;&lt;/div&gt;
        &lt;div class=&quot;quiz-nav&quot;&gt;
          &lt;button class=&quot;calc-btn&quot; id=&quot;quizNextBtn&quot; onclick=&quot;nextQuizQuestion()&quot; style=&quot;display:none; width:auto; padding:10px 24px; font-size:14px;&quot;&gt;다음 문제 →&lt;/button&gt;
        &lt;/div&gt;
        &lt;div class=&quot;quiz-score-box&quot; id=&quot;quizScoreBox&quot;&gt;
          &lt;div class=&quot;quiz-score-num&quot; id=&quot;quizScoreNum&quot;&gt;&lt;/div&gt;
          &lt;p id=&quot;quizScoreMsg&quot;&gt;&lt;/p&gt;
          &lt;button class=&quot;calc-btn&quot; onclick=&quot;resetQuiz()&quot; style=&quot;width:auto;padding:10px 24px;font-size:14px;margin-top:12px;&quot;&gt;  다시 풀기&lt;/button&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 암기 공략법 ── --&gt;
    &lt;section&gt;
      &lt;h2&gt;  감지기 종류별 핵심 암기 공략법&lt;/h2&gt;

      &lt;!-- 계산기 2: 감지기 종류 판별기 --&gt;
      &lt;div class=&quot;calculator-box&quot;&gt;
        &lt;h3&gt;  감지기 종류 판별기 (설치 장소 입력 → 추천 감지기 출력)&lt;/h3&gt;
        &lt;p style=&quot;font-size:14px;color:var(--text-secondary);margin-bottom:16px;&quot;&gt;설치 조건을 선택하면 적합한 감지기 종류와 이유를 알려드려요.&lt;/p&gt;
        &lt;div class=&quot;calc-grid&quot;&gt;
          &lt;div class=&quot;calc-field&quot;&gt;
            &lt;label for=&quot;placeType&quot;&gt;장소 유형&lt;/label&gt;
            &lt;select class=&quot;calculator-input&quot; id=&quot;placeType&quot;&gt;
              &lt;option value=&quot;kitchen&quot;&gt;주방·조리실·건조실&lt;/option&gt;
              &lt;option value=&quot;office&quot;&gt;사무실·회의실·주택 거실&lt;/option&gt;
              &lt;option value=&quot;corridor&quot;&gt;복도·계단·통로&lt;/option&gt;
              &lt;option value=&quot;warehouse&quot;&gt;창고·공장·대형 홀&lt;/option&gt;
              &lt;option value=&quot;parking&quot;&gt;주차장·차고&lt;/option&gt;
              &lt;option value=&quot;hazard&quot;&gt;위험물 저장소·기계실&lt;/option&gt;
              &lt;option value=&quot;atrium&quot;&gt;아트리움·대공간(천장 8m↑)&lt;/option&gt;
              &lt;option value=&quot;tunnel&quot;&gt;터널·케이블 트레이&lt;/option&gt;
            &lt;/select&gt;
          &lt;/div&gt;
          &lt;div class=&quot;calc-field&quot;&gt;
            &lt;label for=&quot;envCond&quot;&gt;환경 특성&lt;/label&gt;
            &lt;select class=&quot;calculator-input&quot; id=&quot;envCond&quot;&gt;
              &lt;option value=&quot;normal&quot;&gt;일반 (연기·먼지 적음)&lt;/option&gt;
              &lt;option value=&quot;smoky&quot;&gt;연기·먼지 많음&lt;/option&gt;
              &lt;option value=&quot;hot&quot;&gt;고온 (60°C 이상)&lt;/option&gt;
              &lt;option value=&quot;flammable&quot;&gt;가연성 가스·인화물 있음&lt;/option&gt;
            &lt;/select&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;button class=&quot;calc-btn&quot; onclick=&quot;judgeDetector()&quot;&gt;  적합한 감지기 찾기&lt;/button&gt;
        &lt;div class=&quot;calculator-result&quot; id=&quot;calcResult2&quot;&gt;
          &lt;div class=&quot;result-main&quot; id=&quot;judgeMain&quot;&gt;&lt;/div&gt;
          &lt;div class=&quot;result-sub&quot; id=&quot;judgeSub&quot;&gt;&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;memory-tip&quot;&gt;
        &lt;strong&gt;세트 암기법 — &quot;감지기 삼위일체&quot;&lt;/strong&gt;&lt;br&gt;
        ① &lt;span class=&quot;highlight-blue&quot;&gt;이온식&lt;/span&gt;: [연기] + [방사성 Am-241] + [거실·복도] → &quot;이온이 연기를 잡는다&quot;&lt;br&gt;
        ② &lt;span class=&quot;highlight-blue&quot;&gt;광전식(산란)&lt;/span&gt;: [연기] + [빛 산란(90°)] + [복도·계단] → &quot;연기가 빛을 튕긴다&quot;&lt;br&gt;
        ③ &lt;span class=&quot;highlight-blue&quot;&gt;광전식(감광)&lt;/span&gt;: [연기] + [빛 차단(180°)] + [대공간] → &quot;연기가 빛을 막는다&quot;&lt;br&gt;
        ④ &lt;span class=&quot;highlight-red&quot;&gt;차동식&lt;/span&gt;: [열 변화율] + [다이어프램] + [사무실] → &quot;온도가 빨리 오르면 울린다&quot;&lt;br&gt;
        ⑤ &lt;span class=&quot;highlight-red&quot;&gt;정온식&lt;/span&gt;: [공칭온도 초과] + [바이메탈] + [주방] → &quot;뜨거운 곳에서 확인사살&quot;&lt;br&gt;
        ⑥ &lt;span class=&quot;highlight-green&quot;&gt;불꽃감지기&lt;/span&gt;: [UV·IR] + [연기 없는 폭발] + [주차장·창고] → &quot;불꽃은 눈에 보여도 연기 없다&quot;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 합격 전략 ── --&gt;
    &lt;section id=&quot;strategy&quot;&gt;
      &lt;h2&gt;  소방설비기사 전기편 합격 전략 — 독학 2개월 플랜&lt;/h2&gt;

      &lt;div class=&quot;step-box&quot;&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;1&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;1~2주차: 비교표 완성 + 작동 원리 이해&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;이 글의 비교표를 A4에 손으로 그리며 외우세요. 이름→원리→설치장소 순서로 세트로 암기.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;2&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;3~4주차: 기출 문제 10년치 풀기&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;감지기 관련 기출만 모아 집중 풀기. 틀린 문제는 오답노트에 &quot;왜 틀렸는가&quot; 한 줄 메모.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;3&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;5~6주차: 설치 기준 계산 완전 정복&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;설치 면적·개수·거리 기준 계산 문제 집중 연습. 올림 처리 버릇 반드시 만들기.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;div class=&quot;step-item&quot;&gt;
          &lt;div class=&quot;step-number&quot;&gt;4&lt;/div&gt;
          &lt;div class=&quot;step-content&quot;&gt;
            &lt;div class=&quot;step-title&quot;&gt;7~8주차: CBT 모의고사 반복&lt;/div&gt;
            &lt;div class=&quot;step-desc&quot;&gt;소방청 공개 기출 CBT로 시간 내 풀기 연습. 감지기 파트에서 6문항 이상 맞추는 것 목표.&lt;/div&gt;
          &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;info-box&quot;&gt;
        &lt;strong&gt;  소방설비기사 취득 후 어떤 변화가 있을까요?&lt;/strong&gt;&lt;br&gt;
        소방설비기사를 취득하면 소방시설 설계·감리·시공 분야에서 자격 수당 및 취업 우대를 받을 수 있어요. 특히 건설·소방 분야 취업 시 필수 자격으로 인정받고 있습니다.
        자세한 취업 전망과 연봉 변화가 궁금하신 분은 →
        &lt;a href=&quot;https://etmusso72.tistory.com/120&quot; class=&quot;internal-link&quot;&gt;소방설비기사 취득 후 연봉 변화 &amp; 취업 전망 2026 →&lt;/a&gt;
      &lt;/div&gt;

    &lt;/section&gt;

    &lt;!-- ── 참고문헌 ── --&gt;
    &lt;div class=&quot;references&quot;&gt;
      &lt;h3&gt;  참고문헌 및 출처&lt;/h3&gt;
      &lt;ol&gt;
        &lt;li&gt;소방청 고시 2026-12호 「자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203)」&lt;/li&gt;
        &lt;li&gt;한국소방산업기술원(KFI) 「감지기 형식승인 및 제품검사 기술기준」 2025년 개정판&lt;/li&gt;
        &lt;li&gt;소방설비기사 필기·실기 기출문제 (2020~2025, 큐넷 공개문제)&lt;/li&gt;
        &lt;li&gt;NFPA 72 National Fire Alarm and Signaling Code, 2025 Edition&lt;/li&gt;
      &lt;/ol&gt;
    &lt;/div&gt;

    &lt;!-- ── 업데이트 히스토리 ── --&gt;
    &lt;div class=&quot;update-history&quot;&gt;
      &lt;strong&gt;  업데이트 히스토리&lt;/strong&gt;
      &lt;div class=&quot;update-item&quot;&gt;2026-05-01 — 소방청 고시 2026-12호 반영, 감지기 종류 판별기 추가&lt;/div&gt;
      &lt;div class=&quot;update-item&quot;&gt;2026-01-10 — 최초 작성 (2025년 3회차 기출 반영)&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 콘텐츠 평가 ── --&gt;
    &lt;div class=&quot;content-rating&quot;&gt;
      &lt;p style=&quot;font-weight:700;&quot;&gt;이 글이 도움이 되셨나요?&lt;/p&gt;
      &lt;div class=&quot;rating-buttons&quot;&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('good', this)&quot; title=&quot;도움됨&quot;&gt; &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('neutral', this)&quot; title=&quot;보통&quot;&gt; &lt;/button&gt;
        &lt;button class=&quot;rating-btn&quot; onclick=&quot;rateContent('bad', this)&quot; title=&quot;아쉬움&quot;&gt; &lt;/button&gt;
      &lt;/div&gt;
      &lt;p id=&quot;ratingMsg&quot; style=&quot;margin-top:10px;font-size:14px;color:var(--text-secondary);&quot;&gt;&lt;/p&gt;
    &lt;/div&gt;

    &lt;!-- ── FAQ ── --&gt;
    &lt;section id=&quot;faq&quot; class=&quot;faq-section&quot;&gt;
      &lt;h2&gt;❓ FAQ — 자주 묻는 질문 5가지&lt;/h2&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q1. 소방전기 감지기 10가지 중 시험에서 가장 중요한 것은?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;이온식 연기감지기, 광전식(산란광형·감광형), 차동식 스포트형, 정온식 스포트형(공칭온도 포함)이 5대 최빈출입니다. 이 5종의 작동 원리·설치 장소·특징 키워드를 완벽히 외우면 감지기 파트에서 최소 5/8문항 이상 맞출 수 있어요. 특히 이온식 vs 광전식, 차동식 vs 정온식 구분 문제는 매 회차 반드시 나옵니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q2. 이온식 감지기와 광전식 감지기의 가장 핵심적인 차이는?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;이온식은 방사성 동위원소(Am-241)로 이온화 전류를 생성하고, 연기가 이온을 흡착해 전류를 감소시켜 경보합니다. 광전식은 빛을 이용해 연기를 감지하는데, 산란광형은 연기가 빛을 흩트릴 때(90° 각도), 감광형은 연기가 빛을 차단할 때(직선 배치) 작동해요. 시험에서는 &quot;이온화 전류 vs 광산란/광차단&quot;으로 구분하면 됩니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q3. 소방설비기사 전기편 감지기 파트 배점은 얼마나 되나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;소방전기편 필기는 40문제(1문제당 2.5점, 100점 만점)로 구성되며, 감지기 관련 문제는 최근 5년 기준 매 회차 평균 6~8문제 출제됩니다. 배점으로는 약 15~20점으로, 합격선 60점(24문제)을 넘기려면 감지기 파트는 최소 5문제 이상 맞춰야 합니다. CBT 전환 이후 출제 비중이 더 높아지는 추세예요.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q4. 감지기 설치 개수 계산에서 소수점 처리는 어떻게 하나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;항상 올림(ceiling)입니다. 예를 들어 220㎡ 사무실에 차동식 스포트형 1종(설치 면적 50㎡/개)을 설치할 때: 220 ÷ 50 = 4.4 → 5개로 올림해야 해요. 4.4개는 실제로 불가능하므로, 나머지가 있으면 무조건 +1개를 추가합니다. 이 원칙을 시험장에서 빠트리면 계산 문제에서 1~2점씩 날립니다.&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class=&quot;faq-item&quot;&gt;
        &lt;div class=&quot;faq-question&quot; onclick=&quot;toggleFAQ(this)&quot;&gt;Q5. 소방설비기사 감지기 파트, 독학으로 2개월 안에 정복할 수 있나요?&lt;/div&gt;
        &lt;div class=&quot;faq-answer&quot;&gt;충분히 가능해요. 핵심은 ①이 글의 비교표를 손으로 그리며 외우기, ②작동 원리와 설치 장소를 세트로 암기하기, ③기출 문제 10년치 중 감지기 관련 문제만 집중 풀기입니다. 하루 1시간씩 4주면 감지기 파트는 거의 완성됩니다. 계산 문제(설치 개수·면적)는 위의 계산기로 반복 연습하면 2주 안에 익숙해져요.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 내부 링크 비교 선택 카드 [STEP 4] ── --&gt;
    &lt;section&gt;
      &lt;h2&gt;  이 두 가지 중 하나는 반드시 확인하세요 — 세트로 출제됩니다&lt;/h2&gt;
      &lt;p&gt;&lt;span class=&quot;highlight-red&quot;&gt;감지기 파트를 잡았다면&lt;/span&gt;, 이제 연결 파트를 잡아야 합니다. 이거 모르고 다음 파트 가면 또 막혀요.&lt;/p&gt;

      &lt;div class=&quot;choice-cards&quot;&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/112&quot; class=&quot;choice-card&quot; onclick=&quot;trackCardClick('수신기')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;P형 vs R형 수신기 차이&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;감지기와 수신기 연결 방식이 시험에서 같이 나옵니다. 수신기 파트에서 5점 꿀팁 바로 확인하세요.&lt;/div&gt;
        &lt;/a&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/114&quot; class=&quot;choice-card&quot; onclick=&quot;trackCardClick('비상경보')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;비상경보설비 100% 틀리는 유형&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;소방전기에서 이렇게 물어보면 100% 틀린다 — 비상경보 파트 완전 정복하러 가세요.&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;

      &lt;div class=&quot;choice-cards&quot;&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/117&quot; class=&quot;choice-card&quot; onclick=&quot;trackCardClick('자탐설비')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;자동화재탐지설비 실무 연계 암기&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;감지기 → 수신기 → 경보설비 전체 계통을 실무와 연계해 한 번에 정리.&lt;/div&gt;
        &lt;/a&gt;
        &lt;a href=&quot;https://etmusso72.tistory.com/120&quot; class=&quot;choice-card&quot; onclick=&quot;trackCardClick('오답노트')&quot;&gt;
          &lt;div class=&quot;card-icon&quot;&gt; &lt;/div&gt;
          &lt;div class=&quot;card-title&quot;&gt;소방전기 오답노트 템플릿&lt;/div&gt;
          &lt;div class=&quot;card-desc&quot;&gt;5년 차 강사가 공개하는 오답노트 양식 — 틀린 문제 바로 다음 날 복습하는 방법.&lt;/div&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ── 결론 박스 [STEP 4 선택 강요] ── --&gt;
    &lt;div class=&quot;conclusion-box&quot; id=&quot;conclusion&quot;&gt;
      &lt;h3&gt;✅ 핵심 요약 — 이것만 기억하세요&lt;/h3&gt;
      &lt;ul class=&quot;summary-list&quot;&gt;
        &lt;li&gt;감지기 10가지 = 연기(이온식·광전식 2종) + 열(차동식·정온식 4종) + 불꽃(UV/IR) + 복합·다신호식으로 분류&lt;/li&gt;
        &lt;li&gt;이온식 ≠ 빛 감지, 광전식 산란(90°) vs 감광(180°) — 시험에서 이 구분이 핵심&lt;/li&gt;
        &lt;li&gt;설치 개수 계산은 반드시 소수점 올림 처리, 정온식 공칭온도(1종 60미만/2종 60~80미만/특종 80이상) 숫자 암기 필수&lt;/li&gt;
      &lt;/ul&gt;

      &lt;div class=&quot;conclusion-next-step&quot;&gt;
        &lt;strong&gt;다음 단계: 둘 중 하나 선택해서 지금 바로 해주세요  &lt;/strong&gt;&lt;br&gt;&lt;br&gt;
          &lt;a href=&quot;https://etmusso72.tistory.com/112&quot; style=&quot;color:#fbbf24;font-weight:700;&quot;&gt;P형·R형 수신기 차이 — 감지기 연결 방식 완전 정복하러 가기 →&lt;/a&gt;&lt;br&gt;
          &lt;a href=&quot;#quiz&quot; style=&quot;color:#fbbf24;font-weight:700;&quot;&gt;위의 퀴즈 다시 풀기 — 6문제 이상 맞출 때까지 반복하기 →&lt;/a&gt;
      &lt;/div&gt;

      &lt;!-- CTA-1: 댓글 유도 --&gt;
      &lt;div style=&quot;margin-top:24px;padding:16px;background:rgba(255,255,255,0.1);border-radius:10px;&quot;&gt;
        &lt;p style=&quot;font-size:15px;margin-bottom:4px;&quot;&gt;&lt;strong&gt;  지금 공부 중인 파트에서 가장 헷갈리는 감지기 종류를 댓글로 알려주세요!&lt;/strong&gt;&lt;/p&gt;
        &lt;p style=&quot;font-size:13px;opacity:0.85;&quot;&gt;댓글로 알려주시면 다음 글 주제로 선정해드려요   안 알려주시면 헷갈리는 채로 시험장 들어가게 됩니다.&lt;/p&gt;
      &lt;/div&gt;

      &lt;!-- CTA-5: 재방문 유도 --&gt;
      &lt;div style=&quot;margin-top:16px;padding:14px;background:rgba(255,255,255,0.08);border-radius:10px;font-size:14px;&quot;&gt;
          소방설비기사 전기편 전 과목 핵심 정리 글을 순서대로 올리고 있어요. 블로그 즐겨찾기 해두시면 다음 글 바로 확인할 수 있습니다 →
        &lt;a href=&quot;https://etmusso72.tistory.com&quot; style=&quot;color:#fcd34d;font-weight:700;&quot;&gt;etmusso72 블로그 즐겨찾기&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- ── 소셜 공유 ── --&gt;
    &lt;section class=&quot;social-share&quot;&gt;
      &lt;h3&gt;이 글이 도움되셨다면 공유해주세요!&lt;/h3&gt;
      &lt;p class=&quot;share-cta&quot;&gt;같은 소방설비기사 준비 중인 스터디 친구에게 공유하면 서로 도움이 돼요. 안 공유하면 친구는 감지기 파트에서 혼자 헤매요  &lt;/p&gt;
      &lt;div class=&quot;share-buttons&quot;&gt;
        &lt;button onclick=&quot;shareKakao()&quot; class=&quot;share-btn share-kakao&quot;&gt;  카카오톡 공유&lt;/button&gt;
        &lt;a href=&quot;https://www.facebook.com/sharer/sharer.php?u=https://etmusso72.tistory.com/111&quot; class=&quot;share-btn share-facebook&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;  페이스북 공유&lt;/a&gt;
        &lt;a href=&quot;https://twitter.com/intent/tweet?url=https://etmusso72.tistory.com/111&amp;text=소방전기 감지기 종류 10가지 합격자 정리&quot; class=&quot;share-btn share-x&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;  X 공유&lt;/a&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- 댓글 영역 --&gt;
    &lt;div style=&quot;background:#f9fafb;border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-top:20px;text-align:center;color:var(--text-secondary);font-size:14px;&quot;&gt;
        댓글은 티스토리 블로그에서 작성해주세요 →
      &lt;a href=&quot;https://etmusso72.tistory.com/111#comments&quot; class=&quot;internal-link&quot; style=&quot;font-size:14px;&quot;&gt;댓글 바로가기&lt;/a&gt;
    &lt;/div&gt;

  &lt;/article&gt;
&lt;/main&gt;

&lt;script&gt;
/* ═══════════════════════════════════════════════════════
   JS 기능 16+3개 통합
═══════════════════════════════════════════════════════ */

/* 1. 읽기 진행 바 + 2. 진행도 % */
window.addEventListener('scroll', () =&gt; {
  const scrollTop = window.scrollY || document.documentElement.scrollTop;
  const docHeight = document.documentElement.scrollHeight - window.innerHeight;
  const pct = docHeight &gt; 0 ? Math.round((scrollTop / docHeight) * 100) : 0;
  document.getElementById('reading-progress').style.width = pct + '%';
  document.getElementById('progressPct').textContent = pct + '%';
});

/* 3. 목차 토글 */
function toggleTOC(btn) {
  const content = document.getElementById('tocContent');
  btn.classList.toggle('open');
  content.classList.toggle('open');
  btn.setAttribute('aria-expanded', btn.classList.contains('open'));
}

/* 4. SVG 애니메이션 컨트롤 */
function toggleAnim(id, btn) {
  const el = document.getElementById(id);
  if (!el) return;
  const paused = el.style.animationPlayState === 'paused';
  el.style.animationPlayState = paused ? 'running' : 'paused';
  btn.textContent = paused ? '⏸ 일시정지' : '▶ 재시작';
}
function resetAnim(id) {
  const el = document.getElementById(id);
  if (!el) return;
  el.style.animation = 'none';
  requestAnimationFrame(() =&gt; {
    el.style.animation = '';
    el.style.animationPlayState = 'running';
  });
}
let drawPaused = false;
function toggleDrawPath(btn) {
  drawPaused = !drawPaused;
  ['diaphragm','bimetal'].forEach(id =&gt; {
    const el = document.getElementById(id);
    if (el) el.style.animationPlayState = drawPaused ? 'paused' : 'running';
  });
  btn.textContent = drawPaused ? '▶ 재시작' : '⏸ 일시정지';
}
function resetDrawPaths() {
  ['diaphragm','bimetal'].forEach(id =&gt; {
    const el = document.getElementById(id);
    if (!el) return;
    el.style.animation = 'none';
    requestAnimationFrame(() =&gt; { el.style.animation = ''; });
  });
  drawPaused = false;
}
let allDrawPaused = false;
function toggleAllDrawPaths(btn) {
  allDrawPaused = !allDrawPaused;
  ['fp1','fp2','fp3','fp4','fp5','fp6','fp7','fp8','fp9'].forEach(id =&gt; {
    const el = document.getElementById(id);
    if (el) el.style.animationPlayState = allDrawPaused ? 'paused' : 'running';
  });
  btn.textContent = allDrawPaused ? '▶ 재시작' : '⏸ 일시정지';
}
function resetAllDrawPaths() {
  ['fp1','fp2','fp3','fp4','fp5','fp6','fp7','fp8','fp9'].forEach(id =&gt; {
    const el = document.getElementById(id);
    if (!el) return;
    el.style.animation = 'none';
    requestAnimationFrame(() =&gt; { el.style.animation = ''; });
  });
  allDrawPaused = false;
}

/* 5. 상황 선택 시뮬레이터 */
function showScenario(type, btn) {
  document.querySelectorAll('.scenario-content').forEach(el =&gt; el.classList.remove('active'));
  document.querySelectorAll('.scenario-btn').forEach(el =&gt; el.classList.remove('active'));
  document.getElementById('scenario-' + type).classList.add('active');
  btn.classList.add('active');
}

/* 6. 인터랙티브 계산기 1 — 감지기 설치 개수 */
function calcDetectors() {
  const area = parseFloat(document.getElementById('floorArea').value);
  const ceiling = parseFloat(document.getElementById('ceilingHeight').value);
  const type = document.getElementById('detectorType').value;
  const use = document.getElementById('roomUse').value;

  if (!area || area &lt;= 0) { alert('바닥 면적을 입력해주세요.'); return; }
  if (!ceiling || ceiling &lt;= 0) { alert('천장 높이를 입력해주세요.'); return; }

  // 감지기별 1개당 설치 면적 (소방청 기준, 천장 높이 4m 미만 기준)
  const areaMap = {
    ion: ceiling &lt; 4 ? 150 : ceiling &lt; 8 ? 75 : 50,
    photo_scatter: ceiling &lt; 4 ? 150 : ceiling &lt; 8 ? 75 : 50,
    photo_block: ceiling &lt; 8 ? 150 : 75,
    diff1: ceiling &lt; 4 ? 50 : ceiling &lt; 8 ? 30 : 15,
    diff2: ceiling &lt; 4 ? 30 : ceiling &lt; 8 ? 20 : 10,
    fixed1: ceiling &lt; 4 ? 50 : ceiling &lt; 8 ? 30 : 15,
    fixed2: ceiling &lt; 4 ? 30 : ceiling &lt; 8 ? 20 : 10,
    flame: 0,
    complex: ceiling &lt; 4 ? 50 : 30
  };

  const typeNames = {
    ion: '이온식 연기감지기', photo_scatter: '광전식(산란광형)', photo_block: '광전식(감광형)',
    diff1: '차동식 스포트형 1종', diff2: '차동식 스포트형 2종',
    fixed1: '정온식 스포트형 1종', fixed2: '정온식 스포트형 2종',
    flame: '불꽃감지기', complex: '복합형 감지기'
  };

  const perArea = areaMap[type];
  const result = document.getElementById('calcResult1');
  const mainEl = document.getElementById('calcMainResult');
  const subEl = document.getElementById('calcSubResult');

  if (type === 'flame') {
    mainEl.textContent = '불꽃감지기: 설치 대수 = 감지 가능 면적에 따라 다름';
    subEl.innerHTML = '불꽃감지기는 바닥면적이 아닌 &lt;strong&gt;수평 감지 범위&lt;/strong&gt;로 결정됩니다.&lt;br&gt;제조사 사양서의 감지 각도·거리 기준을 확인하세요.&lt;br&gt;⚠️ 천장 높이 20m 이상 대공간, 위험물 저장소에 필수 설치입니다.';
  } else {
    const count = Math.ceil(area / perArea);
    mainEl.textContent = `✅ 필요 설치 개수: ${count}개`;
    subEl.innerHTML = `
      선택 감지기: &lt;strong&gt;${typeNames[type]}&lt;/strong&gt;&lt;br&gt;
      바닥 면적: &lt;strong&gt;${area}㎡&lt;/strong&gt; | 천장 높이: &lt;strong&gt;${ceiling}m&lt;/strong&gt;&lt;br&gt;
      1개당 설치 면적: &lt;strong&gt;${perArea}㎡&lt;/strong&gt;&lt;br&gt;
      계산: ${area} ÷ ${perArea} = ${(area/perArea).toFixed(2)} → 올림 → &lt;strong&gt;${count}개&lt;/strong&gt;&lt;br&gt;
      &lt;span style=&quot;color:#dc2626;font-size:12px;&quot;&gt;⚠️ 소수점 발생 시 반드시 올림 처리! (소방청 기준)&lt;/span&gt;
    `;
  }
  result.classList.add('visible');
}

/* 7. 감지기 종류 판별기 */
function judgeDetector() {
  const place = document.getElementById('placeType').value;
  const env = document.getElementById('envCond').value;
  const mainEl = document.getElementById('judgeMain');
  const subEl = document.getElementById('judgeSub');

  const rules = {
    kitchen: { name: '정온식 스포트형 (특종 권장)', reason: '주방·건조실은 평소에도 고온이므로 온도 변화율이 아닌 절대 온도로 감지하는 정온식이 적합합니다. 오동작 방지를 위해 공칭온도 80°C 이상 특종을 권장해요.' },
    office: { name: '차동식 스포트형 (1종)', reason: '사무실·거실은 평소 온도가 일정하므로 갑작스러운 온도 상승을 감지하는 차동식이 최적입니다. 일반 환경에서는 1종(50㎡/개) 기준 적용.' },
    corridor: { name: '이온식 or 광전식(산란광형)', reason: '복도·계단은 화재 시 연기가 먼저 유입되는 경로이므로 연기감지기가 적합합니다. 이온식과 광전식 산란광형 모두 사용 가능.' },
    warehouse: { name: '차동식 분포형 or 광전식(감광형)', reason: '창고·공장 같은 대형 공간에는 넓은 구역을 커버하는 차동식 분포형이나, 대공간 연기 감지에 유리한 광전식 감광형(분리형)이 적합합니다.' },
    parking: { name: '불꽃감지기(UV/IR형) or 정온식', reason: '주차장은 배기가스로 연기감지기 오동작 위험이 높고, 유류 화재 시 연기보다 불꽃이 먼저 발생합니다. 불꽃감지기 설치가 적합하며, 정온식 병용 가능.' },
    hazard: { name: '불꽃감지기(UV/IR형)', reason: '위험물 저장소·기계실은 가연성 가스 폭발 위험으로 연기보다 불꽃이 먼저 생깁니다. UV·IR 불꽃감지기가 법적으로 권장됩니다.' },
    atrium: { name: '광전식(감광형·분리형)', reason: '아트리움 등 천장 높이 8m 이상 대공간은 스포트형 감지기로는 연기를 제때 감지하기 어려워요. 발광부·수광부를 멀리 떨어뜨려 설치하는 광전식 감광형(분리형)이 최적입니다.' },
    tunnel: { name: '정온식 감지선형', reason: '터널·케이블 트레이는 선형으로 긴 공간에 감지기를 설치해야 합니다. 열에 의해 절연 피복이 용해되어 단락을 감지하는 정온식 감지선형이 적합해요.' }
  };

  const rec = rules[place];
  mainEl.textContent = `✅ 추천 감지기: ${rec.name}`;
  subEl.innerHTML = `&lt;strong&gt;이유:&lt;/strong&gt; ${rec.reason}&lt;br&gt;&lt;br&gt;&lt;span style=&quot;color:#dc2626;font-size:12px;&quot;&gt;⚠️ 최종 감지기 종류는 소방청 기준 및 현장 실사 후 결정하세요.&lt;/span&gt;`;
  document.getElementById('calcResult2').classList.add('visible');
}

/* 8. FAQ 아코디언 */
function toggleFAQ(el) {
  const item = el.parentElement;
  const isActive = item.classList.contains('active');
  document.querySelectorAll('.faq-item').forEach(i =&gt; i.classList.remove('active'));
  if (!isActive) item.classList.add('active');
}

/* 9. 콘텐츠 평가 */
function rateContent(type, btn) {
  document.querySelectorAll('.rating-btn').forEach(b =&gt; b.classList.remove('selected'));
  btn.classList.add('selected');
  const msgs = { good: '감사합니다! 합격하시길 응원합니다  ', neutral: '피드백 감사합니다. 더 좋은 글로 보답할게요!', bad: '불편하셨다면 죄송합니다. 댓글로 개선점 알려주세요.' };
  document.getElementById('ratingMsg').textContent = msgs[type];
  try { localStorage.setItem('etmusso72_rating_111', type); } catch(e) {}
}

/* 10. 북마크 */
function toggleBookmark() {
  const btn = document.getElementById('bookmarkBtn');
  const saved = btn.classList.contains('bookmarked');
  if (saved) {
    btn.classList.remove('bookmarked');
    btn.textContent = '☆';
    try { localStorage.removeItem('etmusso72_bm_111'); } catch(e) {}
    alert('북마크가 해제되었습니다.');
  } else {
    btn.classList.add('bookmarked');
    btn.textContent = '★';
    try { localStorage.setItem('etmusso72_bm_111', '1'); } catch(e) {}
    alert('북마크 저장! 시험 3일 전에 꺼내 쓰세요. 계산기 페이지를 저장해두면 진짜 유용해요.');
  }
}
(function initBookmark() {
  try {
    if (localStorage.getItem('etmusso72_bm_111') === '1') {
      const btn = document.getElementById('bookmarkBtn');
      btn.classList.add('bookmarked');
      btn.textContent = '★';
    }
  } catch(e) {}
})();

/* 11. 카카오톡 공유 */
function shareKakao() {
  const url = window.location.href;
  if (navigator.clipboard) {
    navigator.clipboard.writeText(url).then(() =&gt; {
      alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요  ');
    }).catch(() =&gt; fallbackCopy(url));
  } else { fallbackCopy(url); }
}
function fallbackCopy(url) {
  const t = document.createElement('textarea');
  t.value = url; document.body.appendChild(t); t.select();
  document.execCommand('copy'); document.body.removeChild(t);
  alert('링크가 복사되었습니다! 카카오톡에 붙여넣기 해서 공유하세요  ');
}

/* 12. 이미지 지연 로딩 */
(function lazyImages() {
  if ('IntersectionObserver' in window) {
    const obs = new IntersectionObserver(entries =&gt; {
      entries.forEach(e =&gt; { if (e.isIntersecting) { obs.unobserve(e.target); } });
    });
    document.querySelectorAll('img[loading=&quot;lazy&quot;]').forEach(img =&gt; obs.observe(img));
  }
})();

/* 13. 이미지 오류 처리 — onerror 인라인 처리 완료 */

/* 14. 키보드 네비게이션 */
document.addEventListener('keydown', e =&gt; {
  if (!e.altKey) return;
  const anchors = { '1': '#types-table', '2': '#calculator', '3': '#quiz', '4': '#faq' };
  if (anchors[e.key]) {
    e.preventDefault();
    document.querySelector(anchors[e.key])?.scrollIntoView({ behavior: 'smooth' });
  }
  if (e.key === 'b') { e.preventDefault(); toggleBookmark(); }
});

/* 15. 스크롤 위치 저장/복원 */
window.addEventListener('beforeunload', () =&gt; {
  try { localStorage.setItem('etmusso72_scroll_111', window.scrollY); } catch(e) {}
});
(function restoreScroll() {
  try {
    const y = localStorage.getItem('etmusso72_scroll_111');
    if (y &amp;&amp; parseInt(y) &gt; 100) {
      setTimeout(() =&gt; window.scrollTo({ top: parseInt(y), behavior: 'instant' }), 100);
    }
  } catch(e) {}
})();

/* 16. SVG 인터랙션 — 클릭 시 효과 (SVG 박스 hover 강조) */
document.querySelectorAll('.svg-wrap').forEach(wrap =&gt; {
  wrap.addEventListener('click', () =&gt; {
    wrap.style.boxShadow = '0 0 0 3px var(--primary-color)';
    setTimeout(() =&gt; { wrap.style.boxShadow = ''; }, 800);
  });
});

/* 17. 막대 그래프 클릭 → 팝업 출력 */
function showChartPopup(year, info) {
  const popup = document.getElementById('chartPopup');
  popup.innerHTML = `&lt;strong&gt;${year}년 출제 유형:&lt;/strong&gt;&lt;br&gt;${info}`;
  popup.classList.add('show');
  setTimeout(() =&gt; popup.classList.remove('show'), 6000);
}

/* 18. 앵커 버튼 부드러운 스크롤 */
document.querySelectorAll('.anchor-btn').forEach(btn =&gt; {
  btn.addEventListener('click', e =&gt; {
    const href = btn.getAttribute('href');
    if (href &amp;&amp; href.startsWith('#')) {
      e.preventDefault();
      document.querySelector(href)?.scrollIntoView({ behavior: 'smooth', block: 'start' });
    }
  });
});

/* 19. choice-card 클릭 추적 */
function trackCardClick(label) {
  console.log('[etmusso72] choice-card 클릭:', label);
}

/* ── 퀴즈 데이터 &amp; 로직 ── */
const quizData = [
  {
    q: '이온식 연기감지기의 작동 원리로 옳은 것은?',
    options: ['빛이 연기에 산란되어 수광부에 감지됨', '방사성 동위원소로 이온화 전류를 만들고 연기가 이온을 흡착해 전류 감소', '바이메탈이 열에 의해 휘어 접점 연결', '연기가 빛을 차단해 수광량 감소'],
    correct: 1, explain: '이온식은 Am-241 방사성 동위원소로 공기를 이온화해 전류를 만들고, 연기 입자가 이온을 흡착해 전류가 감소하면 경보합니다.'
  },
  {
    q: '광전식 산란광형 감지기에서 발광부와 수광부의 각도는?',
    options: ['0°(직선)', '45°', '90°', '180°'],
    correct: 2, explain: '산란광형은 연기가 빛을 흩트릴 때 수광부에 감지되도록 발광부·수광부를 90° 각도로 배치합니다. 감광형(분리형)은 180°(직선) 배치예요.'
  },
  {
    q: '주방·건조실에 가장 적합한 감지기는?',
    options: ['이온식 연기감지기', '차동식 스포트형 1종', '정온식 스포트형 특종', '광전식(감광형)'],
    correct: 2, explain: '주방·건조실은 평소에도 고온이므로, 온도 상승률이 아닌 절대 온도(공칭온도 이상)에서 작동하는 정온식 스포트형 특종(80°C 이상)이 적합합니다.'
  },
  {
    q: '정온식 스포트형 2종의 공칭작동온도 범위는?',
    options: ['40°C 미만', '60°C 미만', '60°C 이상 80°C 미만', '80°C 이상'],
    correct: 2, explain: '정온식: 1종=60°C 미만, 2종=60°C 이상~80°C 미만, 특종=80°C 이상. 2종은 60°C 이상~80°C 미만이 정답입니다.'
  },
  {
    q: '바닥 면적 220㎡인 사무실에 차동식 스포트형 1종(50㎡/개) 설치 시 필요 개수는?',
    options: ['4개', '4.4개', '5개', '6개'],
    correct: 2, explain: '220 ÷ 50 = 4.4 → 소수점 올림 → 5개. 감지기 개수 계산은 항상 올림 처리해야 합니다!'
  },
  {
    q: '불꽃감지기를 반드시 설치해야 하는 장소로 옳지 않은 것은?',
    options: ['천장 높이 20m 이상의 대공간', '위험물 저장소', '비행기 격납고', '일반 사무실 복도'],
    correct: 3, explain: '불꽃감지기는 천장 높이 20m 이상 대공간, 위험물 저장소, 격납고 등에 필요합니다. 일반 사무실 복도는 이온식·광전식 연기감지기가 적합해요.'
  },
  {
    q: '차동식 분포형 감지기의 종류가 아닌 것은?',
    options: ['공기관식', '열전대식', '열반도체식', '바이메탈식'],
    correct: 3, explain: '차동식 분포형의 종류는 공기관식, 열전대식, 열반도체식 3가지입니다. 바이메탈식은 정온식 스포트형의 작동 원리예요.'
  },
  {
    q: '복합형 감지기(연기+열)의 동작 조건은?',
    options: ['연기 또는 열 중 하나만 감지돼도 경보', '연기와 열 둘 다 감지될 때만 경보(AND 회로)', '연기가 먼저 감지되면 자동 경보', '열이 먼저 감지되면 자동 경보'],
    correct: 1, explain: '복합형 감지기는 연기+열을 모두 감지해야 경보하는 AND 회로 방식입니다. 오동작 방지가 목적이에요. OR 회로 방식은 다신호식과 혼동하지 마세요.'
  }
];

let currentQ = 0, score = 0, answered = false;

function renderQuiz() {
  const q = quizData[currentQ];
  document.getElementById('quizProgress').textContent = `문제 ${currentQ+1} / ${quizData.length}`;
  document.getElementById('quizQuestion').textContent = q.q;
  const optDiv = document.getElementById('quizOptions');
  optDiv.innerHTML = '';
  q.options.forEach((opt, i) =&gt; {
    const btn = document.createElement('button');
    btn.className = 'quiz-option';
    btn.textContent = `${['①','②','③','④'][i]} ${opt}`;
    btn.onclick = () =&gt; selectAnswer(i);
    optDiv.appendChild(btn);
  });
  document.getElementById('quizFeedback').classList.remove('show');
  document.getElementById('quizFeedback').textContent = '';
  document.getElementById('quizNextBtn').style.display = 'none';
  answered = false;
}

function selectAnswer(idx) {
  if (answered) return;
  answered = true;
  const q = quizData[currentQ];
  const buttons = document.querySelectorAll('.quiz-option');
  buttons.forEach((btn, i) =&gt; {
    btn.style.pointerEvents = 'none';
    if (i === q.correct) btn.classList.add('correct');
    else if (i === idx &amp;&amp; i !== q.correct) btn.classList.add('wrong');
  });
  const fb = document.getElementById('quizFeedback');
  if (idx === q.correct) {
    score++;
    fb.textContent = '✅ 정답! ' + q.explain;
    fb.style.color = '#059669';
  } else {
    fb.textContent = '❌ 오답. ' + q.explain;
    fb.style.color = '#dc2626';
  }
  fb.classList.add('show');
  document.getElementById('quizNextBtn').style.display = 'inline-block';
}

function nextQuizQuestion() {
  currentQ++;
  if (currentQ &gt;= quizData.length) {
    showQuizScore();
  } else {
    renderQuiz();
  }
}

function showQuizScore() {
  document.getElementById('quizProgress').style.display = 'none';
  document.getElementById('quizQuestion').style.display = 'none';
  document.getElementById('quizOptions').style.display = 'none';
  document.getElementById('quizFeedback').style.display = 'none';
  document.getElementById('quizNextBtn').style.display = 'none';
  const scoreBox = document.getElementById('quizScoreBox');
  scoreBox.classList.add('show');
  document.getElementById('quizScoreNum').textContent = `${score} / ${quizData.length}`;
  const msgs = [
    [0,4,'감지기 파트 기초부터 다시 잡아야 해요. 위 비교표를 다시 읽고 오세요!'],
    [5,6,'절반 이상 맞혔어요! 틀린 유형을 집중 복습하면 합격권에 들어옵니다.'],
    [7,7,'아주 잘 하고 있어요! 1문제만 더 잡으면 완벽합니다.'],
    [8,8,'  완벽합니다! 감지기 파트는 걱정 없어요. 다음 파트로 넘어가세요!']
  ];
  let msg = '';
  for (const [lo,hi,m] of msgs) { if (score &gt;= lo &amp;&amp; score &lt;= hi) { msg = m; break; } }
  document.getElementById('quizScoreMsg').textContent = msg;
}

function resetQuiz() {
  currentQ = 0; score = 0; answered = false;
  ['quizProgress','quizQuestion','quizOptions','quizFeedback'].forEach(id =&gt; {
    const el = document.getElementById(id);
    if (el) { el.style.display = ''; el.classList.remove('show'); }
  });
  document.getElementById('quizScoreBox').classList.remove('show');
  renderQuiz();
}

/* 초기화 */
renderQuiz();
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;

&lt;!-- ============================================
클릭유도 제목 2개 + SEO 키워드 10개
============================================
제목1: 소방전기 감지기 종류 10가지 모르면 전기편 필기에서만 20점 날린다 — 5년 연속 최빈출 증거
제목2: 2026 소방설비기사 합격자가 감지기 10가지 공부한 실제 방법 — 30분 완전 정복

키워드:
[HOW1] 소방전기 감지기 종류 계산법
[HOW2] 소방설비기사 감지기 공식 외우는 법
[HOW3] 소방설비기사 감지기 문제 푸는 순서
[WHICH1] 이온식 광전식 차동식 정온식 차이
[WHICH2] 소방설비기사 독학 vs 학원 감지기 공부법
[RESULT1] 소방설비기사 전기편 합격 감지기 공략법
[VALUE-취업연봉] 소방설비기사 취득 후 연봉 변화
[VALUE-학원비] 소방설비기사 독학 합격 비용 얼마
[VALUE-취업전망] 소방설비기사 취업 전망 2026
[VALUE-비교선택] 소방설비기사 vs 소방안전관리자 어느 게 유리할까
============================================ --&gt;</description>
      <category>소방설비기사/소방설비기사 전기편 필기</category>
      <category>소방설비기사 vs 소방안전관리자 어느 게 유리할까</category>
      <category>소방설비기사 감지기 공식 외우는 법</category>
      <category>소방설비기사 감지기 문제 푸는 순서</category>
      <category>소방설비기사 독학 vs 학원 감지기 공부법</category>
      <category>소방설비기사 독학 합격 비용 얼마</category>
      <category>소방설비기사 전기편 합격 감지기 공략법</category>
      <category>소방설비기사 취득 후 연봉 변화</category>
      <category>소방설비기사 취업 전망 2026</category>
      <category>소방전기 감지기 종류 계산법</category>
      <category>이온식 광전식 차동식 정온식 차이</category>
      <author>etmusso72</author>
      <guid isPermaLink="true">https://etmusso72.tistory.com/111</guid>
      <comments>https://etmusso72.tistory.com/111#entry111comment</comments>
      <pubDate>Fri, 8 May 2026 09:25:12 +0900</pubDate>
    </item>
  </channel>
</rss>