/* 빌더로그 공통 허브 메뉴 (2026-10-11): 자동화 패키지 · 무료 프롬프트 · 깃허브 분석 · 떡상 레이더.
   bin/build_site.py apply_hub_nav() 가 모든 공개 페이지에 넣는다. 페이지마다 CSS 가 달라서 :root 로 명시도를 올렸다. */
:root{--bl-ink:#1f2838;--bl-navy:#263247;--bl-sub:#626b7a;--bl-line:#e5e2d8;--bl-accent:#b4600b;--bl-tint:#fdf0df;--bl-card:#fff;--bl-tabs-h:60px}
:root header.bl-hub{all:unset;display:block;box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0;position:relative;z-index:60;background:var(--bl-card);border-bottom:1px solid var(--bl-line);color:var(--bl-navy);font-family:Pretendard,"Pretendard Variable","Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;font-size:15px;line-height:1.4;height:auto}
:root header.bl-hub *{box-sizing:border-box}
:root .bl-hub__in{display:flex;align-items:center;gap:28px;max-width:1240px;min-height:64px;margin:0 auto;padding:0 24px}
:root a.bl-hub__brand{display:inline-flex;align-items:center;gap:9px;flex:none;color:var(--bl-navy);text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1;min-height:44px;background:none;border:0;padding:0}
:root a.bl-hub__brand img{display:block;width:30px;height:30px;border-radius:7px}
:root nav.bl-hub__nav{display:flex;align-items:center;gap:6px;margin:0;padding:0;flex-wrap:nowrap;background:none;border:0}
:root nav.bl-hub__nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--bl-navy);background:none;border:0;border-radius:8px;text-decoration:none;font-size:15px;font-weight:650;white-space:nowrap}
:root nav.bl-hub__nav a:hover{background:var(--bl-tint);color:var(--bl-accent)}
:root nav.bl-hub__nav a[aria-current="page"],:root nav.bl-hub__nav a[aria-current="true"]{color:var(--bl-accent);background:none}
:root nav.bl-hub__nav a[aria-current]::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:2px;border-radius:2px;background:var(--bl-accent)}
:root header.header nav[aria-label="주요 메뉴"] a[aria-current]{color:var(--bl-accent)}
:root .bl-hub__right{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
:root .bl-hub__right a.bl-hub__pill,:root .bl-hub__right button.theme-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--bl-line);border-radius:999px;background:var(--bl-card);color:var(--bl-navy);font-family:inherit;font-size:13px;font-weight:650;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap}
:root .bl-hub__right a.bl-hub__pill.is-buy{background:var(--bl-navy);border-color:var(--bl-navy);color:#fff}
:root .bl-hub__right a.bl-hub__pill:hover,:root .bl-hub__right button.theme-btn:hover{background:var(--bl-tint)}
:root .bl-hub__right a.bl-hub__pill.is-buy:hover{background:#1a2333}

/* 아래 탭 (폰): 엄지로 닿는 4개 허브 */
:root nav.bl-tabs{display:none}
@media (max-width:760px){
  :root .bl-hub__in{min-height:56px;gap:12px;padding:0 16px}
  :root a.bl-hub__brand{font-size:20px}
  :root a.bl-hub__brand img{width:28px;height:28px}
  :root nav.bl-hub__nav,:root header.header nav[aria-label="주요 메뉴"],:root header.header.wrap>nav{display:none!important}
  :root .bl-hub__right button.theme-btn{min-height:44px;padding:0 12px}
  :root .bl-hub__right a.bl-hub__pill{min-height:44px;padding:0 12px}
  :root .bl-hub__right a.bl-hub__pill.is-buy{display:none}
  :root nav.bl-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:55;margin:0;padding:0 max(4px,env(safe-area-inset-left)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-right));background:rgba(255,255,255,.97);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--bl-line);box-shadow:0 -6px 18px rgba(31,40,56,.06);font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}
  :root nav.bl-tabs a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--bl-tabs-h);padding:6px 2px;color:#6b7282;text-decoration:none;font-size:12px;font-weight:650;line-height:1.1;letter-spacing:-.01em;background:none;border:0;border-radius:0;-webkit-tap-highlight-color:transparent}
  :root nav.bl-tabs a svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  :root nav.bl-tabs a[aria-current]{color:var(--bl-accent)}
  :root nav.bl-tabs a[aria-current]::before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--bl-accent)}
  :root nav.bl-tabs a:active{background:var(--bl-tint)}
  body.bl-has-tabs{padding-bottom:calc(var(--bl-tabs-h) + env(safe-area-inset-bottom))!important}
  /* 아래에 붙는 다른 요소는 탭 위로 */
  body.bl-has-tabs .sticky-buy{bottom:calc(var(--bl-tabs-h) + env(safe-area-inset-bottom))!important;padding-bottom:12px!important}
  body.bl-has-tabs .toast{bottom:calc(var(--bl-tabs-h) + env(safe-area-inset-bottom) + 14px)!important}
  body.bl-has-tabs .floating-request,body.bl-has-tabs .req-fab,body.bl-has-tabs .fab{bottom:calc(var(--bl-tabs-h) + env(safe-area-inset-bottom) + 12px)!important}
}
/* 폰 보정: 페이지마다 다른 머리말의 누르는 영역(44px)·너무 작은 안내 글자(12px) */
@media (max-width:760px){
  :root header.header .brand,:root header.header .head-actions>a,:root header.header .head-actions>button,:root header.header.wrap .brand,:root header.header.wrap .pill{min-height:44px!important;box-sizing:border-box}
  :root header.header .head-actions>a,:root header.header .head-actions>button,:root header.header.wrap .pill{min-width:44px;justify-content:center}
  .env-note,.repo-why,.package-cover-requirement,.tools-note,.ranking-note,.update-recent-title,.update-keep,.micro,.intro-note,.flow-caption,.license{font-size:12px!important;line-height:1.6!important}
  .kicker{font-size:11px!important}
}
@media (max-width:760px) and (orientation:landscape) and (max-height:480px){:root{--bl-tabs-h:50px}:root nav.bl-tabs a{flex-direction:row;gap:6px}}
@media print{:root nav.bl-tabs{display:none!important}}

/* 다른 허브로 이어지는 카드 */
:root section.bl-next{all:unset;display:block;box-sizing:border-box;max-width:1240px;margin:44px auto 8px;padding:0 24px;color:var(--bl-ink);font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;font-size:15px;line-height:1.55}
:root section.bl-next *{box-sizing:border-box}
:root header.header.wrap~main section.bl-next,:root .bl-next.bl-next--full{max-width:none;padding:0}
:root section.bl-next h2.bl-next__h{margin:0 0 4px;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--bl-navy);line-height:1.35}
:root section.bl-next p.bl-next__sub{margin:0 0 14px;color:var(--bl-sub);font-size:14px}
:root .bl-next__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
:root a.bl-next__card{display:flex;flex-direction:column;gap:4px;min-height:96px;padding:16px 18px;border:1px solid var(--bl-line);border-radius:14px;background:var(--bl-card);color:var(--bl-ink);text-decoration:none;transition:border-color .15s,background .15s}
:root a.bl-next__card:hover{border-color:#e2c39d;background:#fffaf2}
:root a.bl-next__card small{color:var(--bl-accent);font-size:12px;font-weight:750;letter-spacing:.02em}
:root a.bl-next__card b{font-size:16px;font-weight:750;line-height:1.35;color:var(--bl-navy)}
:root a.bl-next__card span{color:var(--bl-sub);font-size:13.5px;line-height:1.5}
:root a.bl-next__card b::after{content:" →";color:var(--bl-accent)}
:root .bl-next__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
:root .bl-next__chips i{font-style:normal;font-size:12px;padding:3px 8px;border-radius:999px;background:#f1efe8;color:#4b5363}
@media (max-width:760px){
  :root section.bl-next{margin:32px auto 4px;padding:0 16px}
  :root .bl-next__grid{grid-template-columns:1fr;gap:10px}
  :root a.bl-next__card{min-height:0;padding:14px 16px}
}

/* 프롬프트 상세 안의 '이 프롬프트로 더 하기' */
.bl-xl{margin:18px 0 6px;padding:14px 16px;border:1px solid var(--bl-line);border-radius:12px;background:#fffaf2;font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif;color:var(--bl-ink)}
.bl-xl b.bl-xl__h{display:block;margin:0 0 8px;font-size:14px;font-weight:800;color:var(--bl-navy)}
.bl-xl a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:8px 0;border-top:1px dashed #ead9c2;color:var(--bl-ink);text-decoration:none;font-size:14px;line-height:1.4}
.bl-xl a:first-of-type{border-top:0}
.bl-xl a span{color:var(--bl-sub);font-size:12.5px}
.bl-xl a em{font-style:normal;color:var(--bl-accent);font-weight:800;flex:none}
