/* ============================================================
   Sionic Tech Blog — 커스텀 포맷 포스트용 공통 크롬
   (진행바 · 목차 · 코드 하이라이트 팔레트 · 데모 컨트롤 폴리시 —
    헤더·푸터는 site-chrome, 작성글 시작 화면은 post-meta가 단일 소스)
   함께 사용: /blog/assets/post-chrome.js + window.SIONIC_POST_CHROME 설정
   문서: blog-skills/custom-post-integration/SKILL.md
   ============================================================ */

/* 커스텀 번들 자체 네비게이션은 표준 헤더로 대체 */
.site-nav { display: none !important; }
.post-header { padding-top: 24px !important; }
.post-header__meta { display: none !important; }
.post-footer .track > span:first-child { display: none; }

#sb-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0;
  background: linear-gradient(90deg, #3FA9A6, #33CFE5); z-index: 300;
}

/* 표준 헤더·푸터는 site-chrome.{css,js}가 단일 소스로 주입한다 (post-chrome.js가 로드) */

/* ---------- 목차: 본문을 왼쪽으로 옮기고 오른쪽에 sticky ---------- */
@media (min-width: 1360px) {
  .article-body, .post-header { padding-right: 340px; }
  .post-header > .track-wide:nth-child(2) {
    width: calc(100% + 340px) !important;
    margin-right: -340px !important;
  }
}
/* 본문 첫 섹션(흰 배경)에 앵커된 absolute 컨테이너 + 내부 sticky:
   상단 배너와 겹치지 않고, 스크롤을 따라오다 본문 끝에서 멈춤 */
#sb-toc {
  position: absolute; top: 0; right: 24px; width: 280px; z-index: 90;
  display: none; font-family: var(--font-sans); box-sizing: border-box;
}
@media (min-width: 1360px) { #sb-toc { display: block; } }
#sb-toc .sb-toc-inner {
  position: sticky; top: 101px;
  max-height: calc(100vh - 160px); overflow-y: auto; font-size: 13.5px;
}
#sb-toc .sb-toc-label {
  font-size: 12px; font-weight: 800; letter-spacing: .12em;
  color: var(--si-ink-4); margin-bottom: 12px;
}
#sb-toc a {
  display: block; padding: 7px 0 7px 14px; color: var(--si-ink-3); text-decoration: none;
  border-left: 2px solid var(--si-border); transition: all .15s ease; line-height: 1.45;
  word-break: keep-all;
}
#sb-toc a:hover { color: var(--si-ink); }
#sb-toc a.sb-active { color: var(--si-accent-2); border-left-color: var(--si-accent-2); font-weight: 650; }
#sb-toc a.sb-top { margin-top: 12px; border-left-color: transparent; color: var(--si-ink-4); font-weight: 650; }
#sb-toc a.sb-top:hover { color: var(--si-accent-2); }
.article-body h2[id] { scroll-margin-top: 102px; }

/* ---------- 코드 블럭 신택스 하이라이트 팔레트 ---------- */
.code-block pre code.hljs { background: transparent; padding: 0; }
.code-block .hljs-keyword, .code-block .hljs-selector-tag, .code-block .hljs-tag { color: #0E7490; font-weight: 600; }
.code-block .hljs-string, .code-block .hljs-regexp, .code-block .hljs-addition { color: #B45309; }
.code-block .hljs-comment, .code-block .hljs-quote, .code-block .hljs-deletion { color: #8A94A0; font-style: italic; }
.code-block .hljs-number, .code-block .hljs-literal, .code-block .hljs-symbol { color: #BE185D; }
.code-block .hljs-title, .code-block .hljs-name, .code-block .hljs-section { color: #047857; font-weight: 600; }
.code-block .hljs-built_in, .code-block .hljs-type { color: #6D28D9; }
.code-block .hljs-attr, .code-block .hljs-attribute, .code-block .hljs-variable,
.code-block .hljs-template-variable, .code-block .hljs-params { color: #334155; }
.code-block .hljs-meta, .code-block .hljs-doctag { color: #64748B; }
[data-theme=dark] .code-block .hljs-keyword, [data-theme=dark] .code-block .hljs-selector-tag, [data-theme=dark] .code-block .hljs-tag { color: #67E8F9; }
[data-theme=dark] .code-block .hljs-string, [data-theme=dark] .code-block .hljs-regexp, [data-theme=dark] .code-block .hljs-addition { color: #FBBF24; }
[data-theme=dark] .code-block .hljs-comment, [data-theme=dark] .code-block .hljs-quote, [data-theme=dark] .code-block .hljs-deletion { color: #7B8794; }
[data-theme=dark] .code-block .hljs-number, [data-theme=dark] .code-block .hljs-literal, [data-theme=dark] .code-block .hljs-symbol { color: #F472B6; }
[data-theme=dark] .code-block .hljs-title, [data-theme=dark] .code-block .hljs-name, [data-theme=dark] .code-block .hljs-section { color: #34D399; }
[data-theme=dark] .code-block .hljs-built_in, [data-theme=dark] .code-block .hljs-type { color: #C4B5FD; }
[data-theme=dark] .code-block .hljs-attr, [data-theme=dark] .code-block .hljs-attribute, [data-theme=dark] .code-block .hljs-variable,
[data-theme=dark] .code-block .hljs-template-variable, [data-theme=dark] .code-block .hljs-params { color: #CBD5E1; }
[data-theme=dark] .code-block .hljs-meta, [data-theme=dark] .code-block .hljs-doctag { color: #94A3B8; }
.code-block__bar { border-left: 3px solid var(--si-accent-2); }

/* ---------- 데모(시뮬레이터) 컨트롤 폴리시 ---------- */
.segmented { border-radius: 999px; padding: 2px; gap: 2px; background: var(--sf-panel); border: 1px solid var(--si-border); }
.segmented__btn { border-radius: 999px; border-left: 0; }
.segmented__btn[aria-pressed=true] { background: var(--si-grad); color: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.ctl-btn { border-radius: 999px; cursor: pointer; }
.ctl-btn:hover { color: var(--si-accent-2); border-color: var(--si-accent-2); }
.slider__input::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: var(--si-n700); }
.slider__input::-moz-range-track { height: 4px; border-radius: 2px; background: var(--si-n700); }
.slider__input::-webkit-slider-thumb {
  width: 16px; height: 16px; border-radius: 50%; margin-top: -6px;
  background: var(--si-accent-2); border: 2px solid var(--sf-bg);
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.slider__input::-moz-range-thumb {
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--si-accent-2); border: 2px solid var(--sf-bg);
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.demo__cell-value[data-tone=before] { color: var(--si-before); }
.demo__cell-value[data-tone=after] { color: var(--si-after); }

/* ---------- 참고 링크 ---------- */
.ref-links { margin-top: var(--sp10); padding-top: var(--sp6); border-top: 1px solid var(--si-border); }
.ref-links h3 {
  font-family: var(--font-mono); font-size: 12px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--si-ink-4);
  margin: 0 0 var(--sp4);
}
.ref-links ul { margin: 0; padding-left: 1.3em; }
.ref-links li { margin-top: 6px; color: var(--si-ink-3); font-size: 14.5px; line-height: 1.7; }
.ref-links a { color: var(--si-accent-2); font-weight: 600; text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--si-accent-2) 35%, transparent); }
.ref-links a:hover { border-bottom-color: var(--si-accent-2); }

/* 브레드크럼 · 작성자 메타 · 문서 듣기 스타일은 post-meta.css가 단일 소스 (post-chrome.js가 로드) */
