/* ── [SCOPED DESIGN SYSTEM] ───────────────────────── */
/* ✅ Body/HTML 리셋 - 테마 간섭 방지 */
body.page-template-page-bmt-pillar,
html {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

body.page-template-page-bmt-pillar {
  background: #F9F8F6;
}

/* 테마 기본 헤더/푸터 강제 숨김 */
body.page-template-page-bmt-pillar .site-header,
body.page-template-page-bmt-pillar .site-footer,
body.page-template-page-bmt-pillar #masthead,
body.page-template-page-bmt-pillar #colophon,
body.page-template-page-bmt-pillar .header,
body.page-template-page-bmt-pillar .footer:not(.bmt-footer),
body.page-template-page-bmt-pillar .site-branding,
body.page-template-page-bmt-pillar .site-info,
body.page-template-page-bmt-pillar .entry-header,
body.page-template-page-bmt-pillar nav:not(.bmt-nav),
body.page-template-page-bmt-pillar .navigation:not(.bmt-nav) {
  display: none !important;
}

/* WordPress 어드민 바 위치 조정 */
body.page-template-page-bmt-pillar.admin-bar .bmt-nav {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.page-template-page-bmt-pillar.admin-bar .bmt-nav {
    top: 46px;
  }
}

.bmt-app-scope {
  --serif: 'Instrument Serif', 'Instrument Serif Fallback', Georgia, serif;
  --sans:  'Outfit', 'Outfit Fallback', system-ui, -apple-system, sans-serif;
  --mono:  'JetBrains Mono', 'Courier New', monospace;
  --bg:#F9F8F6; --accent:#C0392B; --accent-dim:rgba(192,57,43,0.07); --accent-glow: rgba(192,57,43,0.15);
  --text-main:#121212; --text-muted:#737373;
  --border-light:rgba(0,0,0,0.05); --border-rich:rgba(0,0,0,0.12);
  
  min-height: 100vh; width: 100%;
  background: var(--bg); color: var(--text-main); font-family: var(--sans);
  line-height: 1.5; -webkit-font-smoothing: antialiased; box-sizing: border-box;
  overflow-x: hidden; /* 가로 스크롤 방지 */
}
.bmt-app-scope *, .bmt-app-scope *::before, .bmt-app-scope *::after { box-sizing: inherit; }

/* ── [LAYOUT STABILITY FIX] (사장님 요청하신 깨짐 복구 코드) ── */
/* 모든 주요 섹션에 동일한 가이드 폭(1200px) 적용 및 중앙 정렬 강제 */
/* 🔥 SEO 패치 블럭(.bmt-hub-summary, .bmt-seo-cluster) 포함 */
.bmt-app-scope .bmt-hero,
.bmt-app-scope .bmt-hub-summary,
.bmt-app-scope .bmt-board,
.bmt-app-scope .bmt-gate-sec,
.bmt-app-scope .bmt-arch-sec,
.bmt-app-scope .bmt-blueprint-sec,
.bmt-app-scope .bmt-console-sec,
.bmt-app-scope .bmt-seo-cluster,
.bmt-app-scope .bmt-meta-sec {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  padding-left: 48px;
  padding-right: 48px;
  box-sizing: border-box;
}

/* ── [COMPONENTS] ─────────────────────────────────── */
/* [SAFE-MODE VISIBILITY PATCH] */
.bmt-app-scope .chapter,
.bmt-app-scope .node,
.bmt-app-scope .completion {
  opacity: 1;
  transform: none;
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
/* 🔥 여백 버그 수정: .node의 88px 마진 제거 (그리드 하단 회색 찌꺼기 해결) */
.bmt-app-scope .chapter,
.bmt-app-scope .completion {
  margin-bottom: 88px;
}

.bmt-app-scope .chapter {
  content-visibility: auto;
  contain-intrinsic-size: 1px 1200px;
  contain: layout style;
}

/* JS Active State */
.bmt-app-scope[data-js="1"] .chapter { opacity: 0; transform: translateY(30px); }
.bmt-app-scope[data-js="1"] .node,
.bmt-app-scope[data-js="1"] .completion { opacity: 0; transform: translateY(20px); }

/* Animation Trigger */
.bmt-app-scope[data-js="1"] .chapter.visible { opacity: 1; transform: translateY(0); }
.bmt-app-scope[data-js="1"] .chapter.visible .node.node-in,
.bmt-app-scope[data-js="1"] .chapter.visible .completion.show { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .bmt-app-scope[data-js="1"] .chapter,
  .bmt-app-scope[data-js="1"] .node,
  .bmt-app-scope[data-js="1"] .completion {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}

/* Navigation */
.bmt-app-scope .bmt-nav {
  position: sticky; top: 0; z-index: 1000;
  height: 60px;
  border-bottom: 1px solid var(--border-light);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 48px;
  transition: background .3s;
}
@supports (backdrop-filter: blur(20px)) {
  .bmt-app-scope .bmt-nav { background: rgba(249,248,246,0.88); backdrop-filter: blur(20px); }
}
@supports not (backdrop-filter: blur(20px)) {
  .bmt-app-scope .bmt-nav { background: rgba(249,248,246,0.98); }
}

.bmt-app-scope .nav-back {
  background: none; border: none; cursor: pointer; padding: 0;
  font-family: var(--mono); font-size: .62rem; letter-spacing: .15em; text-transform: uppercase;
  color: var(--text-muted);
  display: flex; align-items: center; gap: 8px;
  text-decoration: none;
  transition: color .2s;
}
.bmt-app-scope .nav-back:hover { color: var(--text-main); }
.bmt-app-scope .nav-right { display: flex; align-items: center; gap: 16px; }
.bmt-app-scope .nav-label {
  font-family: var(--mono); font-size: .62rem; letter-spacing: .15em; text-transform: uppercase;
  color: var(--text-muted);
  display: none;
}
@media (min-width:768px) { .bmt-app-scope .nav-label { display: block; } }
.bmt-app-scope .nav-track { width: 100px; height: 2px; background: rgba(0,0,0,.07); border-radius: 2px; overflow: hidden; }
.bmt-app-scope .nav-fill { height: 100%; width: 0%; background: var(--accent); transition: width 1.2s cubic-bezier(.4,0,.2,1); }
.bmt-app-scope .nav-pct { font-family: var(--mono); font-size: .68rem; font-weight: 500; color: var(--accent); min-width: 32px; text-align: right; }

/* Hero */
.bmt-app-scope .bmt-hero { border-bottom: 1px solid var(--border-rich); padding-top: 48px; padding-bottom: 40px; } 

/* [NEW] Hero Image Styling */
.bmt-app-scope .bmt-hero-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 40px;
  border: 1px solid var(--border-light);
}

.bmt-app-scope .hero-tag {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--mono); font-size: .6rem; letter-spacing: .3em; text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 28px;
}
.bmt-app-scope .hero-tag::before { content: ''; width: 18px; height: 1px; background: var(--accent); }
.bmt-app-scope .hero-title {
  font-family: var(--serif);
  font-size: clamp(3.2rem,7vw,5.8rem);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.03em;
  margin: 0 0 32px 0;
}
.bmt-app-scope .hero-title em { font-style: italic; color: var(--accent); }
.bmt-app-scope .hero-sub {
  max-width: 560px;
  font-size: 1rem;
  font-weight: 300;
  color: var(--text-muted);
  line-height: 1.75;
  margin-bottom: 48px;
}
.bmt-app-scope .hero-stats { display: flex; width: fit-content; border: 1px solid var(--border-rich); border-radius: 12px; overflow: hidden; }
.bmt-app-scope .hero-stat { padding: 16px 28px; border-right: 1px solid var(--border-light); display: flex; flex-direction: column; gap: 4px; }
.bmt-app-scope .hero-stat:last-child { border-right: none; }
.bmt-app-scope .stat-val { font-family: var(--mono); font-size: 1.5rem; font-weight: 500; line-height: 1; }
.bmt-app-scope .stat-label { font-family: var(--mono); font-size: .55rem; letter-spacing: .15em; text-transform: uppercase; color: var(--text-muted); }

/* 🔥 [NEW] Hub Summary Block (SEO 직답 패치) */
.bmt-app-scope .bmt-hub-summary {
  margin-top: 40px;
  margin-bottom: 20px;
}
.bmt-app-scope .bmt-hub-summary p {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--text-main);
  background: #fff;
  border-left: 4px solid var(--accent);
  padding: 20px 24px;
  margin: 0;
  border-radius: 0 12px 12px 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
  font-weight: 400;
}

/* Board */
.bmt-app-scope .bmt-board {
  /* [GAP FIX] 원래 100px였던 여백을 48px로 줄여 빈 공간 제거 */
  padding-bottom: 48px; 
}

.bmt-app-scope .chapter-head {
  display: flex; align-items: baseline; gap: 20px;
  border-bottom: 1px solid var(--border-rich);
  padding-bottom: 20px;
  margin-bottom: 36px;
  position: relative;
}
.bmt-app-scope .chapter-head::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0;
  height: 1px; width: 0%;
  background: var(--accent);
  transition: width .5s cubic-bezier(.4,0,.2,1);
}
.bmt-app-scope .chapter:hover .chapter-head::after { width: 100%; }
.bmt-app-scope .ch-num { font-family: var(--mono); font-size: .65rem; letter-spacing: .15em; color: var(--accent); }
.bmt-app-scope .ch-name { font-family: var(--serif); font-size: 2.6rem; font-weight: 400; letter-spacing: -.02em; line-height: 1.1; margin: 0; }
.bmt-app-scope .ch-badge {
  margin-left: auto; align-self: center;
  font-family: var(--mono); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--border-rich);
  padding: 6px 12px;
  border-radius: 6px;
}

/* Verdict & Nodes */
.bmt-app-scope .verdict {
  background: #fff;
  border: 1px solid var(--border-rich);
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 32px;
  display: flex; gap: 18px; align-items: flex-start;
  transition: border-color .3s, box-shadow .3s;
}
.bmt-app-scope .verdict:hover { border-color: rgba(192,57,43,.22); box-shadow: 0 4px 20px rgba(0,0,0,.05); }
.bmt-app-scope .verdict-tag {
  font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--accent);
  background: var(--accent-dim);
  padding: 4px 10px;
  border-radius: 4px;
  white-space: nowrap;
  margin-top: 2px;
}
.bmt-app-scope .verdict-body { font-size: .92rem; line-height: 1.65; color: var(--text-muted); margin: 0; }

.bmt-app-scope .grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: var(--border-light);
  border: 1px solid var(--border-light);
  border-radius: 20px;
  overflow: hidden;
  contain: layout style;
}
.bmt-app-scope .node {
  display: flex; flex-direction: column; justify-content: space-between;
  background: #fff;
  padding: 36px;
  min-height: 320px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  contain: layout paint;
}
.bmt-app-scope .node::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--accent-dim);
  opacity: 0;
  transition: opacity .3s;
  pointer-events: none;
}
.bmt-app-scope .node:not(.is-disabled):hover::before { opacity: 1; }
.bmt-app-scope .node:not(.is-disabled):hover .node-title,
.bmt-app-scope .node:not(.is-disabled):hover .node-cta { color: var(--accent); }

/* UX: Visual State for Disabled */
.bmt-app-scope .node.is-disabled { cursor: not-allowed; opacity: .65; }
.bmt-app-scope .node:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

.bmt-app-scope .node.is-read { border-top: 3px solid var(--accent); }
.bmt-app-scope .node-id {
  font-family: var(--mono); font-size: .58rem; letter-spacing: .15em;
  color: var(--text-muted);
  position: relative; z-index: 1;
  display: block;
  margin-bottom: 20px;
}
.bmt-app-scope .node-title {
  font-size: 1.15rem; font-weight: 600; line-height: 1.35;
  transition: color .3s;
  position: relative; z-index: 1;
  margin: 0;
}
.bmt-app-scope .node-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-muted);
  position: relative; z-index: 1;
  margin-top: 20px;
  transition: gap .25s, color .25s;
}
.bmt-app-scope .node-cta::after { content: '→'; }
.bmt-app-scope .node.is-disabled .node-cta::after { content: ''; }

.bmt-app-scope .node-dot {
  position: absolute; top: 28px; right: 28px;
  width: 10px; height: 10px;
  border-radius: 50%;
  border: 1.5px solid var(--border-rich);
  z-index: 1;
  transition: background .3s, border-color .3s, box-shadow .3s;
}
.bmt-app-scope .node.is-read .node-dot {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-glow);
}

/* A11y & Global Accessbility Class (bmt-sr-only 추가) */
.bmt-sr-only, .bmt-app-scope .sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border-width: 0;
}

/* Viz */
.bmt-app-scope .viz-wrap { padding: 15px 0; position: relative; z-index: 1; flex-grow: 1; display: flex; align-items: center; contain: layout paint; }
.bmt-app-scope .viz-ring svg { width: 72px; height: 72px; transform: rotate(-90deg); }
.bmt-app-scope .ring-bg { fill: none; stroke: var(--border-light); stroke-width: 3; }
.bmt-app-scope .ring-fill { fill: none; stroke: var(--accent); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1); }
.bmt-app-scope .viz-spark { width: 100%; height: 40px; }
.bmt-app-scope .spark-path { fill: none; stroke: var(--accent); stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 300; stroke-dashoffset: 300; transition: stroke-dashoffset 2s cubic-bezier(.4,0,.2,1); }
.bmt-app-scope .viz-bars { display: flex; flex-direction: column; gap: 8px; width: 100%; }
.bmt-app-scope .viz-bar { height: 3px; background: var(--accent); border-radius: 2px; width: 0%; transition: width 1.2s cubic-bezier(.4,0,.2,1); }

/* Completion */
.bmt-app-scope .completion {
  margin-top: 56px;
  padding: 40px 44px;
  background: #fff;
  border: 1px solid rgba(192,57,43,.18);
  border-radius: 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.bmt-app-scope .completion-title { font-family: var(--serif); font-size: 1.75rem; font-weight: 400; margin: 0 0 5px 0; }
.bmt-app-scope .completion-sub { font-size: .82rem; color: var(--text-muted); margin: 0; }
.bmt-app-scope .completion-btn {
  padding: 13px 26px;
  background: var(--text-main);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
  transition: background .25s, transform .25s;
}
.bmt-app-scope .completion-btn:hover { background: var(--accent); transform: translateY(-2px); }

/* Sections */
.bmt-app-scope .bmt-sec-label { display: block; font-family: var(--mono); font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); margin-bottom: 32px; }
.bmt-app-scope .bmt-console-sec, .bmt-app-scope .bmt-gate-sec, .bmt-app-scope .bmt-arch-sec { margin: 40px auto; }
.bmt-app-scope .bmt-console-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.bmt-app-scope .bmt-gate-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; margin-top: 24px; }
.bmt-app-scope .bmt-gate-questions { background: #fff; border: 1px solid var(--border-rich); border-radius: 16px; padding: 28px; }
.bmt-app-scope .bmt-gate-title { font-size: 1rem; font-weight: 600; margin-bottom: 16px; color: var(--text-main); }
.bmt-app-scope .bmt-gate-questions ul { list-style: none; padding: 0; margin: 0; }
.bmt-app-scope .bmt-gate-questions li { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--border-light); font-size: .92rem; color: var(--text-main); }
.bmt-app-scope .bmt-gate-questions li:last-child { border-bottom: none; }
.bmt-app-scope .bmt-gate-questions li span { color: var(--accent); font-size: 1.2rem; }
.bmt-app-scope .bmt-gate-result { background: linear-gradient(135deg, #fef2f2 0%, #fff 100%); border: 1px solid rgba(192,57,43,.2); border-radius: 16px; padding: 32px; text-align: center; }
.bmt-app-scope .bmt-gate-result h3 { font-family: var(--serif); font-size: 1.5rem; margin-bottom: 16px; color: var(--text-main); }
.bmt-app-scope .profile-name { display: block; font-family: var(--mono); font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; font-weight: 600; }
.bmt-app-scope .profile-desc { display: block; font-size: .9rem; color: var(--text-muted); }
.bmt-app-scope .bmt-arch-box { background: #fff; border: 1px solid var(--border-rich); border-radius: 16px; padding: 32px; margin-top: 24px; }
.bmt-app-scope .bmt-arch-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.bmt-app-scope .bmt-arch-item { text-align: center; padding: 20px 16px; }
.bmt-app-scope .bmt-arch-item strong { display: block; font-size: 1.05rem; margin-bottom: 8px; color: var(--text-main); }
.bmt-app-scope .bmt-arch-item span { display: block; font-size: .85rem; color: var(--text-muted); }
.bmt-app-scope .bmt-pro-panel { background: #fff; border: 1px solid var(--border-rich); border-radius: 16px; overflow: hidden; }
.bmt-app-scope .bmt-panel-head { padding: 20px 24px; border-bottom: 1px solid var(--border-light); display: flex; align-items: center; justify-content: space-between; }
.bmt-app-scope .bmt-panel-title { font-family: var(--sans); font-size: .95rem; font-weight: 600; color: var(--text-main); }
.bmt-app-scope .bmt-panel-icon { font-size: 1.2rem; }
.bmt-app-scope .bmt-panel-icon-alert { font-size: 1.2rem; color: #f59e0b; }
.bmt-app-scope .bmt-panel-icon-info { font-size: 1.2rem; color: #3b82f6; }
.bmt-app-scope .bmt-panel-badge { font-family: var(--mono); font-size: .55rem; letter-spacing: .15em; text-transform: uppercase; color: var(--text-muted); background: var(--bg); padding: 4px 10px; border-radius: 6px; }
.bmt-app-scope .bmt-panel-body { padding: 24px; }
.bmt-app-scope .bmt-kpi-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.bmt-app-scope .bmt-kpi-item { display: flex; flex-direction: column; gap: 6px; }
.bmt-app-scope .bmt-kpi-label { font-family: var(--mono); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--text-muted); }
.bmt-app-scope .bmt-kpi-value { font-size: 1.15rem; font-weight: 600; color: var(--text-main); }
.bmt-app-scope .bmt-action-grid { display: flex; flex-direction: column; gap: 12px; }
.bmt-app-scope .bmt-action-item { display: flex; align-items: flex-start; gap: 12px; font-size: .88rem; line-height: 1.5; color: var(--text-main); }
.bmt-app-scope .bmt-num-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 24px; padding: 0 8px; background: var(--bg); color: var(--text-muted); font-family: var(--mono); font-size: .65rem; font-weight: 600; border-radius: 6px; flex-shrink: 0; }
.bmt-app-scope .bmt-mistake-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.bmt-app-scope .bmt-mistake-item { display: flex; align-items: flex-start; gap: 10px; font-size: .88rem; line-height: 1.5; color: var(--text-main); background: #fef2f2; padding: 10px 14px; border-radius: 8px; }
.bmt-app-scope .bmt-icon-x { color: #ef4444; font-weight: 700; flex-shrink: 0; }
.bmt-app-scope .bmt-res-group { margin-bottom: 20px; }
.bmt-app-scope .bmt-res-group:last-child { margin-bottom: 0; }
.bmt-app-scope .bmt-res-label { display: block; font-family: var(--mono); font-size: .6rem; letter-spacing: .15em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 12px; }
.bmt-app-scope .bmt-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.bmt-app-scope .bmt-tag { display: inline-block; padding: 6px 12px; background: #eff6ff; color: #1e40af; font-size: .8rem; border-radius: 6px; border: 1px solid #bfdbfe; }
.bmt-app-scope .bmt-res-divider { height: 1px; background: var(--border-light); margin: 20px 0; }
.bmt-app-scope .bmt-advisor-step { font-size: .85rem; color: var(--text-main); line-height: 1.7; }
.bmt-app-scope .bmt-arrow { color: var(--text-muted); margin: 0 8px; }

/* Visual Map Card - FIXED WIDTH & PADDING */
.bmt-app-scope .bmt-blueprint-card {
  display: flex; align-items: center; justify-content: space-between; background: #fff;
  border: 1px solid var(--border-rich); border-left: 4px solid var(--accent);
  padding: 32px; text-decoration: none; box-shadow: 0 4px 10px rgba(0,0,0,.05);
  transition: transform .2s, box-shadow .2s;
  color: inherit;
  width: 100%; /* 너비 100% 강제 */
  box-sizing: border-box; /* 패딩 포함 너비 계산 */
  margin-bottom: 20px; /* 여백 줄임 */
}
.bmt-app-scope .bmt-blueprint-card:hover { transform: translateY(-4px); box-shadow: 0 10px 20px rgba(0,0,0,.1); }

/* 🔥 [NEW] SEO Cluster Block (하단 질문 링크) */
.bmt-app-scope .bmt-seo-cluster {
  margin-top: 40px;
  margin-bottom: 60px;
  padding-top: 32px;
  border-top: 1px solid var(--border-light);
}
.bmt-app-scope .bmt-seo-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}
.bmt-app-scope .bmt-seo-item {
  flex: 1 1 45%;
  min-width: 300px;
}
.bmt-app-scope .bmt-seo-item a {
  color: var(--text-muted);
  font-size: 0.85rem;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-block;
  position: relative;
  padding-left: 12px;
}
/* 디자인 포인트를 위해 점(bullet) 대신 작은 장식 추가 */
.bmt-app-scope .bmt-seo-item a::before {
  content: '·';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--accent);
  font-weight: bold;
}
.bmt-app-scope .bmt-seo-item a:hover {
  color: var(--text-main);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Footer */
.bmt-app-scope .bmt-footer {
  max-width: 1200px;
  margin: 80px auto 40px;
  padding: 32px 48px;
  border-top: 1px solid var(--border-light);
  text-align: center;
}
.bmt-app-scope .footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 24px;
  margin-bottom: 16px;
}
.bmt-app-scope .footer-links a {
  font-size: .88rem;
  color: var(--text-main);
  text-decoration: none;
  transition: color .2s;
}
.bmt-app-scope .footer-links a:hover {
  color: var(--accent);
}
.bmt-app-scope .footer-copyright {
  font-size: .85rem;
  color: var(--text-muted);
  font-family: var(--sans);
}

/* META PANEL STYLE */
.bmt-app-scope .bmt-meta-sec { max-width: 1200px; margin: 40px auto 80px; padding: 0 48px; color: var(--text-main); }
.bmt-app-scope .bmt-meta-box { border: 1px solid var(--border-rich); background: rgba(0,0,0,0.02); border-radius: 18px; padding: 18px 18px 14px; }
.bmt-app-scope .bmt-meta-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom: 12px; border-bottom: 1px solid var(--border-light); padding-bottom: 8px; }
.bmt-app-scope .bmt-meta-head strong { font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: 0.1em; }
.bmt-app-scope .bmt-meta-hint { font-family: var(--mono); font-size: 10px; opacity: .5; text-transform: uppercase; }
.bmt-app-scope .bmt-meta-list { display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px 20px; margin: 0; }
.bmt-app-scope .bmt-meta-list div { display: flex; flex-direction: column; }
.bmt-app-scope .bmt-meta-list dt { font-size: 10px; letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 2px; }
.bmt-app-scope .bmt-meta-list dd { margin: 0; font-family: var(--mono); font-size: 12px; font-weight: 500; color: var(--text-main); word-break: break-all; }

@media (max-width:1240px) {
  /* 모바일 패딩 조정 및 중앙 정렬 강화 */
  .bmt-app-scope .bmt-hero,
  .bmt-app-scope .bmt-hub-summary,
  .bmt-app-scope .bmt-board,
  .bmt-app-scope .bmt-gate-sec,
  .bmt-app-scope .bmt-arch-sec,
  .bmt-app-scope .bmt-blueprint-sec,
  .bmt-app-scope .bmt-console-sec,
  .bmt-app-scope .bmt-seo-cluster,
  .bmt-app-scope .bmt-meta-sec {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
@media (max-width:1024px) {
  .bmt-app-scope .grid{grid-template-columns:1fr 1fr;}
  .bmt-app-scope .bmt-nav{padding:0 28px;}
  .bmt-app-scope .bmt-console-grid{grid-template-columns:1fr;}
  .bmt-app-scope .bmt-gate-grid{grid-template-columns:1fr;}
  .bmt-app-scope .bmt-arch-grid{grid-template-columns:repeat(2,1fr);}
  .bmt-app-scope .bmt-meta-list { grid-template-columns: repeat(2, 1fr); }
  /* 모바일에서 일부 네비게이션 링크 숨김 */
  .bmt-app-scope .nav-right a.nav-back { font-size: .58rem; }
}
@media (max-width:640px) {
  .bmt-app-scope .grid{grid-template-columns:1fr;}
  .bmt-app-scope .node{min-height:auto;padding:28px;}
  .bmt-app-scope .bmt-nav{padding:0 20px; flex-wrap: wrap; height: auto; min-height: 60px;}
  .bmt-app-scope .bmt-hero{padding-top:40px; padding-bottom: 24px;}
  
  /* [GAP FIX] 모바일에서도 패딩 100px -> 48px로 축소 */
  .bmt-app-scope .bmt-board{padding-bottom: 48px;}
  
  .bmt-app-scope .hero-title{font-size:2.8rem;}
  .bmt-app-scope .hero-stats{flex-direction:column;width:100%;}
  .bmt-app-scope .hero-stat{border-right:none;border-bottom:1px solid var(--border-light);}
  .bmt-app-scope .hero-stat:last-child{border-bottom:none;}

  /* ── [MOBILE FIX] chapter-head: 타이틀 쏠림/분리 현상 수정 ── */
  .bmt-app-scope .ch-name{font-size:1.7rem;}
  .bmt-app-scope .chapter-head{
    flex-direction: column;   /* 세로 스택으로 전환 */
    align-items: flex-start;  /* 왼쪽 정렬 통일 */
    gap: 8px;
  }
  .bmt-app-scope .ch-badge {
    margin-left: 0;           /* auto 마진 제거 → 왼쪽 정렬 */
    align-self: flex-start;
  }

  /* ── [MOBILE FIX] verdict(mode 패널): 세로 스택 정렬 ── */
  .bmt-app-scope .verdict {
    flex-direction: column;
    gap: 10px;
    padding: 20px;
  }
  .bmt-app-scope .verdict-tag {
    white-space: normal;      /* 긴 태그명 줄바꿈 허용 */
    width: fit-content;
  }
  .bmt-app-scope .verdict-body {
    font-size: .88rem;
  }

  .bmt-app-scope .nav-track{width:80px;}
  .bmt-app-scope .nav-right { gap: 8px; flex-wrap: wrap; }
  .bmt-app-scope .nav-right a.nav-back { font-size: .52rem; margin-right: 0 !important; }
  .bmt-app-scope .completion{flex-direction:column;align-items:flex-start;padding:28px;}
  .bmt-app-scope .bmt-kpi-row{grid-template-columns:1fr;}
  .bmt-app-scope .bmt-arch-grid{grid-template-columns:1fr;}
  .bmt-app-scope .bmt-meta-list { grid-template-columns: 1fr; }
  .bmt-app-scope .bmt-footer { padding: 24px 20px; }
  .bmt-app-scope .footer-links { flex-direction: column; gap: 12px; }

  /* [NEW] Hero Image Mobile */
  .bmt-app-scope .bmt-hero-img {
    max-height: 250px;
    margin-bottom: 32px;
  }
  .bmt-app-scope .bmt-hub-summary p { font-size: 0.95rem; padding: 16px; }
  .bmt-app-scope .bmt-seo-item { flex: 1 1 100%; }
}