/* blogZ 기본 스킨 — 읽기에 맞춘 글꼴 · 간격. 본문 블록(data-bz) 모양도 여기서 그린다 */
.bzs { --bzs-accent: #2f6bff; --bzs-text: #1a1d23; --bzs-sub: #69717e; --bzs-mute: #6b7380; --bzs-line: #e8eaee; --bzs-soft: #f5f7fa; --bzs-read: 720px; --bzs-wide: 1120px;
	color: var(--bzs-text); font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', system-ui, sans-serif; word-break: keep-all; overflow-wrap: anywhere; }
.bzs *, .bzs *::before, .bzs *::after { box-sizing: border-box; }
.bzs a { color: inherit; text-decoration: none; }
.bzs-wrap { width: 100%; max-width: calc(var(--bzs-wide) + 48px); margin: 0 auto; padding: 0 24px; }
.bzs-wrap-read { width: 100%; max-width: calc(var(--bzs-read) + 48px); margin: 0 auto; padding: 0 24px; }
.bzs-btn { -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--bzs-text); color: #fff !important; font: 700 14px/1 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; cursor: pointer; }
.bzs-btn:hover { background: var(--bzs-accent); }
.bzs-kicker { margin: 0 0 6px; font-size: 13px; font-weight: 800; color: var(--bzs-accent); }
.bzs-muted { color: var(--bzs-mute); font-size: 14px; }

/* 머리 */
.bzs-head { padding: 26px 0 0; border-bottom: 1px solid var(--bzs-line); }
.bzs-head-row { display: flex; align-items: center; gap: 12px; }
.bzs-brand { display: inline-flex; align-items: center; gap: 10px; margin-right: auto; }
.bzs-brand img, .bzs-brand span { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.bzs-brand span { display: flex; align-items: center; justify-content: center; background: var(--bzs-text); color: #fff; font-weight: 800; }
.bzs-brand b { font-size: 20px; font-weight: 800; letter-spacing: -.02em; }
.bzs-search input { width: 200px; height: 36px; padding: 0 14px; border: 1px solid var(--bzs-line); border-radius: 999px; background: var(--bzs-soft); font: 14px/1 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; }
.bzs-search input:focus { outline: none; border-color: var(--bzs-accent); background: #fff; }
.bzs-manage { font-size: 14px; font-weight: 600; color: var(--bzs-sub) !important; }
.bzs-write { display: inline-flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 999px; background: var(--bzs-accent); color: #fff !important; font-size: 14px; font-weight: 700; }
.bzs-write:hover { filter: brightness(1.1); }
.bzs-manage:hover { color: var(--bzs-text) !important; text-decoration: underline; text-underline-offset: 4px; }
.bzs.has-hero .bzs-manage:hover { color: #fff !important; }
.bzs-desc { margin: 8px auto 0; color: var(--bzs-sub); font-size: 15px; }
.bzs-nav { display: flex; gap: 22px; margin-top: 18px; overflow-x: auto; scrollbar-width: none; }
.bzs-nav::-webkit-scrollbar { display: none; }
.bzs-nav a { flex: none; padding: 0 0 12px; border-bottom: 2px solid transparent; color: var(--bzs-sub) !important; font-size: 15px; font-weight: 600; }
.bzs-nav a:hover { color: var(--bzs-text) !important; }
.bzs-nav a.is-on { border-color: var(--bzs-text); color: var(--bzs-text) !important; }
.bzs-nav a.is-series { color: var(--bzs-accent) !important; }

/* 목록 */
.bzs-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 64px; padding-top: 40px; padding-bottom: 80px; }
.bzs-list-head { margin: 0 0 28px; padding-bottom: 24px; border-bottom: 1px solid var(--bzs-line); }
.bzs-list-head h1 { margin: 0; font-size: 30px; font-weight: 800; letter-spacing: -.025em; }
.bzs-list-head p { margin: 8px 0 0; color: var(--bzs-sub); }
.bzs-list-head small { display: block; margin-top: 10px; color: var(--bzs-mute); font-size: 13px; }
.bzs-posts { margin: 0; padding: 0; list-style: none; }
.bzs-posts.is-rows li + li { border-top: 1px solid var(--bzs-line); }
.bzs-posts.is-rows a { display: flex; gap: 28px; align-items: center; padding: 28px 0; }
.bzs-post-text { flex: 1; min-width: 0; }
.bzs-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; font-size: 13px; font-weight: 700; }
.bzs-cat { color: var(--bzs-accent) !important; }
.bzs-series { color: #8b5cf6 !important; }
.bzs-no { color: var(--bzs-mute); }
.bzs-posts h2 { margin: 0; font-size: 22px; font-weight: 800; line-height: 1.4; letter-spacing: -.02em; }
.bzs-posts a:hover h2 { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }
.bzs-sub, .bzs-excerpt { margin: 8px 0 0; color: var(--bzs-sub); font-size: 15.5px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bzs-info { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 12px 0 0; color: var(--bzs-mute); font-size: 13px; }
.bzs-info > * + *::before { content: '·'; margin-right: 12px; }
.bzs-thumb { flex: none; width: 180px; height: 120px; margin: 0; border-radius: 10px; overflow: hidden; background: var(--bzs-soft); }
.bzs-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.bzs-posts a:hover .bzs-thumb img { transform: scale(1.04); }
.bzs-posts.is-rows li.is-first a { flex-direction: column-reverse; align-items: stretch; gap: 20px; }
.bzs-posts.is-rows li.is-first .bzs-thumb { width: 100%; height: auto; aspect-ratio: 16 / 8; border-radius: 14px; }
.bzs-posts.is-rows li.is-first h2 { font-size: 30px; }
.bzs-posts.is-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 28px; }
.bzs-posts.is-cards a { display: flex; flex-direction: column-reverse; gap: 16px; }
.bzs-posts.is-cards .bzs-thumb { width: 100%; height: auto; aspect-ratio: 3 / 2; }
.bzs-empty { padding: 80px 20px; text-align: center; }
.bzs-empty strong { display: block; margin-bottom: 16px; font-size: 18px; }
.bzs-pages { display: flex; justify-content: center; gap: 4px; margin-top: 40px; }
.bzs-pages a, .bzs-pages strong { display: grid; place-items: center; min-width: 38px; height: 38px; border-radius: 999px; font-size: 14px; }
.bzs-pages a:hover { background: var(--bzs-soft); }
.bzs-pages strong { background: var(--bzs-text); color: #fff; }

/* 옆 칸 */
.bzs-side { display: flex; flex-direction: column; gap: 32px; }
.bzs-box h3 { margin: 0 0 12px; font-size: 13px; font-weight: 800; color: var(--bzs-sub); }
.bzs-about img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.bzs-about h3 { margin-top: 12px; color: var(--bzs-text); font-size: 16px; }
.bzs-about p { margin: 0; color: var(--bzs-sub); font-size: 14px; line-height: 1.7; }
.bzs-rank { margin: 0; padding: 0; list-style: none; }
.bzs-rank li + li { margin-top: 12px; }
.bzs-rank a { display: flex; gap: 12px; font-size: 14.5px; font-weight: 600; line-height: 1.5; }
.bzs-rank b { flex: none; width: 18px; color: var(--bzs-accent); }
.bzs-rank a:hover { text-decoration: underline; }
.bzs-links { margin: 0; padding: 0; list-style: none; }
.bzs-links a { display: flex; justify-content: space-between; padding: 6px 0; font-size: 14.5px; }
.bzs-links a:hover { color: var(--bzs-accent); }
.bzs-links small { color: var(--bzs-mute); }
.bzs-rss a { color: var(--bzs-sub) !important; font-size: 13px; }

/* 글 */
.bzs-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 90; height: 3px; pointer-events: none; }

.bzs-progress i { display: block; width: 0; height: 100%; background: var(--bzs-accent); transition: width .1s linear; }
.bzs-preview { margin-top: 20px; padding: 12px 16px; border-radius: 10px; background: #fff6de; font-size: 14px; }
.bzs-preview a { color: var(--bzs-accent) !important; font-weight: 700; }
.bzs-post-head { padding-top: 56px; padding-bottom: 32px; }
.bzs .bzs-post-head h1 { margin: 4px 0 0; font-size: clamp(30px, 4.2vw, 44px); font-weight: 800; line-height: 1.3; letter-spacing: -.03em; }
.bzs-post-sub { margin: 14px 0 0; color: var(--bzs-sub); font-size: 20px; line-height: 1.6; }
.bzs-post-head .bzs-info { margin-top: 22px; font-size: 14px; }
.bzs-author { color: var(--bzs-text); font-weight: 700; }
.bzs-edit { color: var(--bzs-accent) !important; font-weight: 700; }
.bzs-cover { max-width: var(--bzs-wide); margin: 0 auto 48px; padding: 0 24px; }
.bzs-cover img { width: 100%; max-height: 620px; object-fit: cover; border-radius: 16px; display: block; }
.bzs-read-grid { position: relative; }
.bzs-read-grid { --bzs-grid-top: 0px; }
.bzs-float-toc { position: absolute; top: var(--bzs-grid-top); bottom: 0; left: calc(50% + var(--bzs-read) / 2 + 48px); width: 220px; padding-top: .45em; }
.bzs-float-toc > * { position: sticky; }
.bzs-float-toc strong { position: sticky; top: 32px; display: block; margin-bottom: 8px; font-size: 12.5px; color: var(--bzs-mute); }
.bzs-float-toc ol { position: sticky; top: 58px; margin: 0; padding: 0 0 0 12px; border-left: 2px solid var(--bzs-line); list-style: none; }
.bzs-float-toc li { margin: 6px 0; font-size: 13.5px; line-height: 1.5; }
.bzs-float-toc li.is-h3 { padding-left: 12px; font-size: 13px; }
.bzs-float-toc a { color: var(--bzs-mute) !important; }
.bzs-float-toc a:hover, .bzs-float-toc a.is-on { color: var(--bzs-text) !important; font-weight: 700; }

/* 본문 타이포그래피 — 에디터와 같은 값 */
.bzs-content { font-size: 17.5px; line-height: 1.9; color: var(--bzs-text); }
.bzs-content > * { margin: 0 0 1.25em; }
.bzs-content p { margin: 0 0 1.25em; }
.bzs-content h2, .bzs-content h3, .bzs-content h4 { scroll-margin-top: 90px; }
.bzs-content h2 { margin: 2.2em 0 .7em; font-size: 1.55em; font-weight: 800; line-height: 1.45; letter-spacing: -.02em; }
.bzs-content h3 { margin: 1.8em 0 .6em; font-size: 1.28em; font-weight: 800; line-height: 1.5; }
.bzs-content h4 { margin: 1.5em 0 .5em; font-size: 1.08em; font-weight: 800; }
.bzs-content a { color: var(--bzs-accent); text-decoration: underline; text-underline-offset: 3px; }
.bzs-content mark { padding: 0 2px; border-radius: 3px; background: #fff1a8; }
.bzs-content code { padding: 1px 6px; border-radius: 5px; background: #f0f2f5; font: .88em/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #c0392b; }
.bzs-content img { max-width: 100%; height: auto; }
.bzs-content ul, .bzs-content ol { padding-left: 1.5em; }
.bzs-content li { margin: .3em 0; }
.bzs-content ul[data-kind="check"] { padding-left: 0; list-style: none; }
.bzs-content ul[data-kind="check"] li { position: relative; padding-left: 32px; }
.bzs-content ul[data-kind="check"] li::before { content: ''; position: absolute; left: 2px; top: .42em; width: 18px; height: 18px; border: 2px solid #b8bfca; border-radius: 5px; }
.bzs-content ul[data-kind="check"] li[data-checked="1"]::before { border-color: var(--bzs-accent); background: var(--bzs-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='white' stroke-width='3' d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / 14px no-repeat; }
.bzs-content ul[data-kind="check"] li[data-checked="1"] { color: var(--bzs-sub); text-decoration: line-through; }
.bzs-content blockquote { margin: 1.6em 0; padding: 2px 0 2px 20px; border-left: 3px solid var(--bzs-text); }
.bzs-content blockquote p { margin: 0; font-size: 1.05em; }
.bzs-content blockquote cite { display: block; margin-top: 6px; font-size: .82em; font-style: normal; color: var(--bzs-sub); }
.bzs-content blockquote cite::before { content: '— '; }
.bzs-content blockquote[data-style="big"] { padding: 10px 10px 0; border: 0; text-align: center; }
.bzs-content blockquote[data-style="big"]::before { content: '“'; display: block; height: 44px; font: 900 72px/1 Georgia, serif; color: var(--bzs-accent); }
.bzs-content blockquote[data-style="big"] p { font-size: 1.35em; font-weight: 700; line-height: 1.6; }
.bzs-content [data-bz="callout"] { display: flex; gap: 12px; padding: 18px 20px; border-radius: 12px; background: #eefaf1; }
.bzs-content [data-bz="callout"]::before { content: '💡'; flex: none; }
.bzs-content [data-bz="callout"][data-tone="info"] { background: #edf6ff; }
.bzs-content [data-bz="callout"][data-tone="info"]::before { content: 'ℹ️'; }
.bzs-content [data-bz="callout"][data-tone="warn"] { background: #fff4e5; }
.bzs-content [data-bz="callout"][data-tone="warn"]::before { content: '⚠️'; }
.bzs-content [data-bz="callout"][data-tone="note"] { background: #f3f4f6; }
.bzs-content [data-bz="callout"][data-tone="note"]::before { content: '📝'; }
.bzs-content [data-bz="callout"] p { margin: 0; }
.bzs-content figure { margin: 1.8em 0; }
.bzs-content figure img { display: block; margin: 0 auto; border-radius: 8px; cursor: zoom-in; }
.bzs-content figure[data-size="wide"] { margin-left: -60px; margin-right: -60px; }
.bzs-content figure[data-size="wide"] img { width: 100%; }
.bzs-content figure[data-size="full"] { position: relative; left: 50%; width: 100vw; margin-left: -50vw; }
.bzs-content figure[data-size="full"] img { width: 100%; border-radius: 0; }
.bzs-content figcaption { margin-top: 10px; text-align: center; font-size: .82em; color: var(--bzs-sub); }
.bzs-content figure[data-bz="gallery"] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.bzs-content figure[data-bz="gallery"][data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bzs-content figure[data-bz="gallery"][data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bzs-content figure[data-bz="gallery"] img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.bzs-content figure[data-bz="gallery"] figcaption { grid-column: 1 / -1; }
.bzs-content figure[data-bz="embed"] iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 10px; background: #000; }
.bzs-content [data-bz="code"] { position: relative; }
.bzs-content [data-bz="code"] pre { margin: 0; padding: 20px 22px; border-radius: 12px; background: #1d2129; overflow-x: auto; }
.bzs-content [data-bz="code"] code { padding: 0; background: none; color: #e6e9ef; font-size: 14px; line-height: 1.7; white-space: pre; }
.bzs-copy-code { position: absolute; right: 10px; top: 10px; padding: 4px 10px; border: 1px solid #3a404c; border-radius: 7px; background: #262b35; color: #cfd5df; font: 600 12px/1.4 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; cursor: pointer; opacity: 0; transition: opacity .15s; }
.bzs-content [data-bz="code"]:hover .bzs-copy-code { opacity: 1; }
.bzs-content [data-bz="divider"] { margin: 2.6em 0; }
.bzs-content [data-bz="divider"] hr { margin: 0; border: 0; border-top: 1px solid var(--bzs-line); }
.bzs-content [data-bz="divider"][data-style="dots"] hr { border: 0; text-align: center; overflow: visible; height: 1em; }
.bzs-content [data-bz="divider"][data-style="dots"] hr::before { content: '·  ·  ·'; font-size: 1.5em; letter-spacing: .5em; color: var(--bzs-mute); }
.bzs-content [data-bz="divider"][data-style="short"] hr { width: 64px; margin: 0 auto; border-top: 3px solid var(--bzs-text); }
.bzs-content [data-bz="button"] { text-align: center; }
.bzs-content [data-bz="button"] a { display: inline-flex; padding: 14px 32px; border-radius: 999px; background: var(--bzs-accent); color: #fff; font-weight: 700; text-decoration: none; transition: transform .15s; }
.bzs-content [data-bz="button"] a:hover { transform: translateY(-2px); }
.bzs-content [data-bz="button"][data-style="line"] a { background: transparent; border: 2px solid var(--bzs-accent); color: var(--bzs-accent); }
.bzs-content [data-bz="file"] a { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border: 1px solid var(--bzs-line); border-radius: 12px; background: var(--bzs-soft); color: var(--bzs-text); font-weight: 700; text-decoration: none; }
.bzs-content [data-bz="file"] a::before { content: '📎'; }
.bzs-content [data-bz="file"] a::after { content: attr(data-size) '  내려받기'; margin-left: auto; color: var(--bzs-accent); font-size: .82em; }
.bzs-content .bz-toc { padding: 18px 22px; border: 1px solid var(--bzs-line); border-radius: 12px; background: var(--bzs-soft); font-size: .92em; }
.bzs-content .bz-toc strong { display: block; margin-bottom: 4px; }
.bzs-content .bz-toc ol { margin: 0; padding-left: 0; list-style: none; }
.bzs-content .bz-toc li { margin: .2em 0; }
.bzs-content .bz-toc li.is-h3 { margin-left: 1.1em; font-size: .95em; }
.bzs-content .bz-toc li.is-h3::before { content: '– '; color: var(--bzs-mute); }
.bzs-content .bz-toc a { color: var(--bzs-text); text-decoration: none; }
.bzs-content .bz-toc a:hover { color: var(--bzs-accent); }
.bzs-content table { width: 100%; border-collapse: collapse; font-size: .92em; line-height: 1.65; }
.bzs-content th, .bzs-content td { padding: 10px 12px; border: 1px solid #d9dde3; vertical-align: top; text-align: left; }
.bzs-content th { background: var(--bzs-soft); font-weight: 700; }
.bzs-content figure[data-bz="table"] { overflow-x: auto; }
.bzs-content [data-bg="gray"] { background: #f1f1ef; } .bzs-content [data-bg="blue"] { background: #e7f0fd; } .bzs-content [data-bg="green"] { background: #e6f4ea; }
.bzs-content [data-bg="yellow"] { background: #fdf6d8; } .bzs-content [data-bg="red"] { background: #fde8e8; }
.bzs-content [data-align="center"] { text-align: center; } .bzs-content [data-align="right"] { text-align: right; }

/* 글자색 · 형광펜 색 */
.bzs-content span[data-color="red"] { color: #e03e3e; } .bzs-content span[data-color="orange"] { color: #d9730d; } .bzs-content span[data-color="green"] { color: #0f7b6c; }
.bzs-content span[data-color="blue"] { color: #0b6bcb; } .bzs-content span[data-color="purple"] { color: #6940a5; } .bzs-content span[data-color="gray"] { color: #787774; }
.bzs-content mark[data-color="green"] { background: #d7f5dd; } .bzs-content mark[data-color="blue"] { background: #dbeafe; } .bzs-content mark[data-color="pink"] { background: #fde2ef; } .bzs-content mark[data-color="gray"] { background: #ececec; }

/* 사진 폭 · 정렬 */
.bzs-content figure[data-width] img { width: 100%; }
.bzs-content figure[data-width="75"] { width: 75%; margin-left: auto; margin-right: auto; }
.bzs-content figure[data-width="50"] { width: 50%; margin-left: auto; margin-right: auto; }
.bzs-content figure[data-width="25"] { width: 25%; min-width: 120px; margin-left: auto; margin-right: auto; }
.bzs-content figure[data-width][data-align="left"] { margin-left: 0; }
.bzs-content figure[data-width][data-align="right"] { margin-right: 0; }

/* 글 아래 */
.bzs-post-foot { padding-bottom: 80px; }
.bzs-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 48px 0 0; }
.bzs-tags a { padding: 6px 12px; border-radius: 999px; background: var(--bzs-soft); color: var(--bzs-sub) !important; font-size: 14px; }
.bzs-tags a:hover { color: var(--bzs-text) !important; }
.bzs-share { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 20px 0; border-top: 1px solid var(--bzs-line); border-bottom: 1px solid var(--bzs-line); }
.bzs-share a, .bzs-share button { -webkit-appearance: none; appearance: none; height: 34px; padding: 0 14px; border: 1px solid var(--bzs-line); border-radius: 999px; background: #fff; color: var(--bzs-sub) !important; font: 600 13px/32px 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; cursor: pointer; }
.bzs-share a:hover, .bzs-share button:hover { border-color: var(--bzs-text); color: var(--bzs-text) !important; }
.bzs-series-box { margin: 36px 0 0; padding: 22px 24px; border-radius: 14px; background: var(--bzs-soft); }
.bzs-series-box h3 { margin: 0 0 12px; font-size: 18px; }
.bzs-series-box h3 small { color: var(--bzs-mute); font-size: 13px; font-weight: 600; }
.bzs-series-box ol { margin: 0; padding: 0; list-style: none; }
.bzs-series-box li a { display: flex; gap: 12px; padding: 7px 0; font-size: 15px; color: var(--bzs-sub) !important; }
.bzs-series-box li a b { flex: none; width: 22px; color: var(--bzs-mute); }
.bzs-series-box li.is-now a { color: var(--bzs-text) !important; font-weight: 800; }
.bzs-series-box li.is-now a b { color: var(--bzs-accent); }
.bzs-author-box { display: flex; gap: 16px; align-items: flex-start; margin: 36px 0 0; padding: 24px 0; border-top: 1px solid var(--bzs-line); }
.bzs-author-box img { flex: none; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.bzs-author-box b { font-size: 16px; }
.bzs-author-box p { margin: 4px 0 0; color: var(--bzs-sub); font-size: 14.5px; line-height: 1.7; }
.bzs-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 0; }
.bzs-prevnext a { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--bzs-line); border-radius: 12px; transition: border-color .15s; }
.bzs-prevnext a:hover { border-color: var(--bzs-text); }
.bzs-prevnext .is-next { text-align: right; grid-column: 2; }
.bzs-prevnext small { color: var(--bzs-mute); font-size: 12.5px; }
.bzs-prevnext b { font-size: 15px; line-height: 1.45; }

/* 댓글 */
.bzs-comments { margin: 48px 0 0; }
.bzs-comments h3 { margin: 0 0 18px; font-size: 18px; }
.bzs-comments h3 span { color: var(--bzs-accent); }
.bzs-comment-list { margin: 0 0 24px; padding: 0; list-style: none; }
.bzs-comment-list li { padding: 16px 0; border-top: 1px solid var(--bzs-line); }
.bzs-c-head { display: flex; gap: 10px; align-items: baseline; margin: 0 0 6px; }
.bzs-c-head time { color: var(--bzs-mute); font-size: 12.5px; }
.bzs-c-body { font-size: 15.5px; line-height: 1.75; }
.bzs-c-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 8px 0 0; }
.bzs-c-acts button { -webkit-appearance: none; appearance: none; margin: 0; padding: 2px 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: #69717e; font: 600 12.5px/1.4 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; cursor: pointer; }
.bzs-c-acts button:hover, .bzs-c-acts button:focus-visible { color: var(--bzs-text); text-decoration: underline; text-underline-offset: 3px; }
.bzs-c-acts button.is-del:hover, .bzs-c-acts button.is-del:focus-visible { color: #d92d20; }
.bzs-c-acts form { display: inline; }
.bzs-comment-form { padding: 16px; border: 1px solid var(--bzs-line); border-radius: 14px; }
.bzs-comment-form textarea { width: 100%; min-height: 80px; padding: 4px; border: 0; outline: none; resize: vertical; font: 15.5px/1.7 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; }
.bzs-comment-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.bzs-comment-row input[type="text"], .bzs-comment-row input[type="password"] { width: 150px; height: 36px; padding: 0 12px; border: 1px solid var(--bzs-line); border-radius: 999px; font: 14px/1 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; }
.bzs-comment-row label { font-size: 13px; color: var(--bzs-sub); }
.bzs-captcha { margin-top: 8px; }
.bzs-comment-row .bzs-btn { margin-left: auto; }
.bzs-replying { margin: 0 0 8px; font-size: 13px; color: var(--bzs-accent); font-weight: 700; }
.bzs-replying button { -webkit-appearance: none; appearance: none; padding: 0 0 0 6px; border: 0; background: none; color: #69717e; font: inherit; cursor: pointer; }
.bzs-replying button:hover { color: #d92d20; }

.bzs-lightbox { position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(0,0,0,.88); cursor: zoom-out; }
.bzs-lightbox img { max-width: 100%; max-height: 100%; border-radius: 6px; }

/* 히어로: 블로그 대문 · 최신 글 · 글 표지 */
.bzs.has-hero { position: relative; }
.bzs.has-hero .bzs-head { position: absolute; left: 0; right: 0; top: 0; z-index: 5; padding-top: 22px; border-bottom-color: rgba(255,255,255,.14); background: linear-gradient(180deg, rgba(8,10,14,.72) 0%, rgba(8,10,14,.5) 100%); -webkit-backdrop-filter: blur(14px) saturate(1.1); backdrop-filter: blur(14px) saturate(1.1); color: #fff; }
.bzs.has-hero .bzs-nav a { text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.bzs.has-hero .bzs-head .bzs-brand span { background: rgba(255,255,255,.18); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.bzs.has-hero .bzs-desc { color: rgba(255,255,255,.78); }
.bzs.has-hero .bzs-nav a { color: rgba(255,255,255,.82) !important; }
.bzs.has-hero .bzs-nav a:hover, .bzs.has-hero .bzs-nav a.is-on { color: #fff !important; border-color: #fff; }
.bzs.has-hero .bzs-manage { color: rgba(255,255,255,.8) !important; }
.bzs.has-hero .bzs-search input { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.14); color: #fff; }
.bzs.has-hero .bzs-search input::placeholder { color: rgba(255,255,255,.7); }
.bzs.has-hero .bzs-head .bzs-desc { display: none; }
.bzs-hero { position: relative; display: flex; align-items: flex-end; min-height: 460px; padding: 190px 0 64px; overflow: hidden; color: #fff; isolation: isolate; }
.bzs-hero.is-tall { min-height: min(86vh, 900px); }
.bzs-hero.is-featured, .bzs-hero.is-post { min-height: min(78vh, 760px); }
.bzs-hero-bg { position: absolute; inset: 0; z-index: -1; background: #111827; }
.bzs-hero-bg img { width: 100%; height: 100%; object-fit: cover; display: block; animation: bzs-zoom 18s ease-out both; }
@keyframes bzs-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.bzs-hero-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.12) 38%, rgba(0,0,0,.72) 100%); }
.bzs-hero.is-noimg .bzs-hero-bg { background: radial-gradient(120% 90% at 10% 0%, color-mix(in srgb, var(--bzs-accent) 85%, #fff) 0%, var(--bzs-accent) 35%, #0f172a 100%); }
.bzs-hero.is-noimg .bzs-hero-bg::after { background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35)); }
.bzs-hero-body { position: relative; }
.bzs-hero-avatar { width: 72px; height: 72px; margin-bottom: 18px; border: 3px solid rgba(255,255,255,.85); border-radius: 50%; object-fit: cover; }
.bzs .bzs-hero h1 { max-width: 900px; margin: 0; font-size: clamp(34px, 5.4vw, 64px); font-weight: 800; line-height: 1.18; letter-spacing: -.035em; text-shadow: 0 2px 30px rgba(0,0,0,.25); }
.bzs .bzs-hero h1 a { color: #fff; }
.bzs .bzs-hero h1 a:hover { text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 3px; }
.bzs-hero-text { max-width: 680px; margin: 16px 0 0; font-size: clamp(16px, 1.6vw, 20px); line-height: 1.65; color: rgba(255,255,255,.88); }
.bzs-hero-kicker { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.bzs-hero-kicker > * { padding: 5px 12px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(255,255,255,.12); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff !important; font-size: 13px; font-weight: 700; }
.bzs-hero-info { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 20px 0 0; font-size: 14.5px; color: rgba(255,255,255,.8); }
.bzs-hero-info > * + *::before { content: '·'; margin-right: 12px; }
.bzs-hero-info a { color: #fff !important; font-weight: 700; }
.bzs-hero-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; padding: 13px 26px; border-radius: 999px; background: #fff; color: #111 !important; font-weight: 800; transition: transform .2s; }
.bzs-hero-btn:hover { transform: translateY(-2px); }
.bzs-hero.is-post .bzs-hero-body { max-width: calc(var(--bzs-read) + 48px); }
.bzs-hero.is-post + .bzs-read-grid, .bzs.has-hero .bzs-hero + .bzs-read-grid, .bzs-cover + .bzs-read-grid { --bzs-grid-top: 56px; padding-top: 56px; }
.bzs-cover + .bzs-read-grid { --bzs-grid-top: 0px; padding-top: 0; }
.bzs.has-hero .bzs-layout { padding-top: 48px; }
.bzs.has-hero .bzs-progress i { background: #fff; mix-blend-mode: difference; }
/* 방명록 */
.bzg-head { margin: 0 0 24px; padding: 28px 30px; border-radius: 20px; background: linear-gradient(135deg, color-mix(in srgb, var(--bzs-accent) 12%, #fff), color-mix(in srgb, var(--bzs-accent) 4%, #fff)); }
.bzg-head h1 { margin: 0; font-size: 30px; font-weight: 800; letter-spacing: -.025em; }
.bzg-head p { margin: 10px 0 0; color: var(--bzs-sub); line-height: 1.7; }
.bzg-head small { display: inline-block; margin-top: 14px; padding: 4px 12px; border-radius: 999px; background: #fff; color: var(--bzs-sub); font-size: 13px; font-weight: 700; }
.bzg-form { margin: 0 0 32px; background: #fff; box-shadow: 0 8px 28px rgba(20, 30, 50, .06); }
.bzg-closed { margin: 0 0 32px; padding: 16px 20px; border-radius: 14px; background: var(--bzs-soft); color: var(--bzs-sub); }
.bzg-closed a { color: var(--bzs-accent); font-weight: 700; }
.bzg-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 60px 20px; border: 1px dashed var(--bzs-line); border-radius: 16px; color: var(--bzs-sub); }
.bzg-empty b { color: var(--bzs-text); font-size: 17px; }
.bzg-list { margin: 0; padding: 0; list-style: none; }
.bzg-item { display: flex; gap: 14px; margin: 0 0 18px; padding-left: calc(var(--bzg-depth, 0) * 46px); }
.bzg-avatar { flex: none; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: hsl(var(--bzg-hue, 220) 70% 92%); color: hsl(var(--bzg-hue, 220) 45% 38%); font-size: 16px; font-weight: 800; }
.bzg-item.is-reply .bzg-avatar { width: 34px; height: 34px; font-size: 14px; }
.bzg-item.is-owner .bzg-avatar { background: var(--bzs-accent); color: #fff; }
.bzg-bubble { flex: 1; min-width: 0; padding: 14px 18px 12px; border: 1px solid var(--bzs-line); border-radius: 4px 18px 18px 18px; background: #fff; }
.bzg-item.is-owner .bzg-bubble { border-color: color-mix(in srgb, var(--bzs-accent) 25%, #fff); background: color-mix(in srgb, var(--bzs-accent) 5%, #fff); }
.bzg-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 14px; }
.bzg-meta time { margin-left: auto; color: var(--bzs-mute); font-size: 12.5px; }
.bzg-badge { padding: 2px 8px; border-radius: 999px; background: var(--bzs-accent); color: #fff; font-size: 11px; font-weight: 800; }
.bzg-lock { padding: 2px 8px; border-radius: 999px; background: var(--bzs-soft); color: var(--bzs-sub); font-size: 11px; font-weight: 700; }
.bzg-body { font-size: 15.5px; line-height: 1.75; overflow-wrap: anywhere; }
.bzg-body em { color: var(--bzs-mute); font-style: normal; }
.bzg-item .bzs-comment-form { margin-top: 12px; }
.bzg-pwdel { display: flex; gap: 8px; margin: 10px 0 0; }
.bzg-pwdel input { flex: 1; max-width: 220px; height: 36px; padding: 0 12px; border: 1px solid var(--bzs-line); border-radius: 999px; font: 14px/1 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif; }
.bzg-pwdel .bzs-btn { height: 36px; }
.bzg-pwdel[hidden] { display: none; }

@media (max-width: 640px) {
	.bzs-hero { min-height: 380px; padding: 150px 0 40px; }
	.bzs-hero.is-featured, .bzs-hero.is-post { min-height: 70vh; }
}
@media (prefers-reduced-motion: reduce) { .bzs-hero-bg img { animation: none; } }

@media (max-width: 1380px) { .bzs-float-toc { display: none; } }
@media (max-width: 960px) {
	.bzs-layout { grid-template-columns: minmax(0, 1fr); gap: 48px; }
	.bzs-content figure[data-size="wide"] { margin-left: 0; margin-right: 0; }
}
@media (max-width: 640px) {
	.bzg-item { padding-left: calc(var(--bzg-depth, 0) * 22px); gap: 10px; }
	.bzg-avatar { width: 34px; height: 34px; font-size: 14px; }
	.bzg-head { padding: 22px 20px; }
	.bzs-search { display: none; }
	.bzs-posts.is-rows a { gap: 16px; padding: 22px 0; }
	.bzs-thumb { width: 96px; height: 72px; }
	.bzs-posts h2 { font-size: 18px; }
	.bzs-posts.is-rows li.is-first h2 { font-size: 23px; }
	.bzs-posts.is-cards { grid-template-columns: minmax(0, 1fr); }
	.bzs-post-sub { font-size: 17px; }
	.bzs-content { font-size: 16.5px; }
	.bzs-prevnext { grid-template-columns: 1fr; }
	.bzs-prevnext .is-next { grid-column: 1; }
	.bzs-content figure[data-bz="gallery"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 넓은 화면은 옆 목차만, 좁은 화면(옆 목차가 숨을 때)은 본문 목차만 */
@media (min-width: 1381px) { .bzs-read-grid.has-float-toc .bzs-content .bz-toc { display: none; } }
