/* nb-skin.css — NB Business Tools (nb24.mhna98.com) 사이트 전용 스킨. 생성: _shared/skins/make_skins.py — 직접 고치지 말고 생성기를 고친다 */
/* 콘셉트: 경영 대시보드 — 벤토 + 차트 창 + 목록형 | hero=bento card=rows sect=open win=chart motif=grid */
:root { --sk-head: "Manrope", "Malgun Gothic", Pretendard, "Malgun Gothic", sans-serif; --sk-r: 18px; }
html:not([data-theme="light"]) { --dark: #07080b; }
.hero h1, .tools-head h2, .channel-hub > h2, .ws-head h3, .site-blueprint h2, .brand strong, .ft-brand strong, main.latest-posts > article > h1, main.latest-posts > article h2, .affiliate-deals .section-head > span, .latest-posts > .section-head > span, .blog-thumb strong, .nbp-win b { font-family: var(--sk-head) !important; }
html:not([data-theme="light"]) body { background: linear-gradient(color-mix(in srgb, var(--text), transparent 94%) 1px, transparent 1px) 0 0/34px 34px, linear-gradient(90deg, color-mix(in srgb, var(--text), transparent 94%) 1px, transparent 1px) 0 0/34px 34px, radial-gradient(1100px 520px at 85% -5%, color-mix(in srgb, var(--brand), transparent 80%), transparent 60%), var(--dark) !important; }
html[data-theme="light"] body { background: linear-gradient(color-mix(in srgb, var(--text), transparent 94%) 1px, transparent 1px) 0 0/34px 34px, linear-gradient(90deg, color-mix(in srgb, var(--text), transparent 94%) 1px, transparent 1px) 0 0/34px 34px, radial-gradient(1100px 520px at 85% -5%, color-mix(in srgb, var(--brand), transparent 86%), transparent 60%), #f5f6f9 !important; }
body:has(.site-header) :is(.latest-posts, .channel-hub, .tools-section, .affiliate-deals) { border-radius: calc(var(--sk-r) + 6px) !important; }
body .tool-grid > .tool-card, body .blog-mini, body .workspace-panel { border-radius: var(--sk-r) !important; }
body .hero .hero-grid { text-align: left; }
body .hero .hero-copy { max-width: none; margin: 0; }
body .hero .hero-copy > p:not(.eyebrow) { margin-left: 0; margin-right: 0; }
body .hero .hero-actions, body .hero .hero-stats { justify-content: flex-start; }

/* 벤토: 제목 타일 + 미리보기 타일 + 숫자 타일 4칸 */
body .hero .hero-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
body .hero .hero-copy { display: contents; }
body .hero .hero-grid::before {
  content: ""; grid-column: 1 / 8; grid-row: 1 / 5; z-index: 0;
  border: 1px solid var(--line); border-radius: calc(var(--sk-r) + 8px);
  background: color-mix(in srgb, var(--dark, #070b12), #fff 5%);
}
html[data-theme="light"] body .hero .hero-grid::before { background: rgba(255, 255, 255, 0.8); }
body .hero .hero-copy > * { grid-column: 1 / 8; position: relative; z-index: 1; padding-left: clamp(20px, 2.6vw, 34px); padding-right: clamp(20px, 2.6vw, 34px); }
body .hero .hero-copy > .eyebrow { grid-row: 1; padding-top: clamp(20px, 2.6vw, 32px); margin: 0; }
body .hero .hero-grid h1 { grid-row: 2; margin: 10px 0 8px; }
body .hero .hero-copy > p:not(.eyebrow) { grid-row: 3; margin: 0; }
body .hero .hero-actions { grid-row: 4; margin: 0; padding-top: 18px; padding-bottom: clamp(20px, 2.6vw, 32px); }
body .hero .hero-art { grid-column: 8 / 13; grid-row: 1 / 5; min-height: 320px; }
body .hero .hero-stats {
  grid-column: 1 / 13; grid-row: 5; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px; margin: 0; padding: 0 !important; border: 0;
}
body .hero .hero-stats > div {
  padding: 16px 20px; border: 1px solid var(--line); border-radius: calc(var(--sk-r) + 4px);
  background: color-mix(in srgb, var(--dark, #070b12), #fff 5%);
}
html[data-theme="light"] body .hero .hero-stats > div { background: rgba(255, 255, 255, 0.8); }
@media (max-width: 860px) {
  body .hero .hero-grid { grid-template-columns: minmax(0, 1fr); }
  body .hero .hero-grid::before, body .hero .hero-copy > * { grid-column: 1 / -1; }
  body .hero .hero-art { grid-column: 1 / -1; grid-row: 6; }
  body .hero .hero-stats { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
/* 목록형: 카드 상자 대신 줄 + 화살표 (PC). 모바일은 nb-polish 의 2열 칸 유지 */
@media (min-width: 641px) {
  body .tool-grid { gap: 0 !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; border-top: 1px solid var(--line); }
  body .tool-grid > .tool-card {
    border: 0 !important; border-bottom: 1px solid var(--line) !important; border-radius: 0 !important;
    background: transparent !important; box-shadow: none !important; min-height: 78px; padding-right: 64px !important;
  }
  body .tool-grid > .tool-card:nth-child(odd) { border-right: 1px solid var(--line) !important; }
  body .tool-grid > .tool-card::after {
    content: ""; position: absolute; right: 22px; top: 50%; width: 9px; height: 9px;
    border-top: 2px solid currentColor; border-right: 2px solid currentColor; opacity: 0.45;
    transform: translateY(-50%) rotate(45deg); transition: transform 0.25s ease, opacity 0.2s ease;
  }
  body .tool-grid > .tool-card:hover { transform: none !important; background: color-mix(in srgb, var(--brand), transparent 92%) !important; }
  body .tool-grid > .tool-card:hover::after { opacity: 1; transform: translate(4px, -50%) rotate(45deg); }
  body .tool-grid > .tool-card.is-active { box-shadow: inset 3px 0 0 var(--brand) !important; background: color-mix(in srgb, var(--brand), transparent 90%) !important; }
  body .tool-grid > .tool-card .tool-star { right: 40px !important; top: 50% !important; transform: translateY(-50%); }
}
/* 열린 섹션: 상자 없이 굵은 위 선 + 왼쪽 정렬 머리글 */
body:has(.site-header) :is(.latest-posts, .channel-hub, .tools-section, .affiliate-deals) {
  background: transparent !important; border: 0 !important; border-top: 2px solid color-mix(in srgb, var(--text), transparent 70%) !important;
  border-radius: 0 !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important;
}
body:has(.site-header) .tools-section::before { display: none !important; }
body:has(.site-header) .tools-head { text-align: left !important; }
body:has(.site-header) .tools-head h2 { margin-top: 12px; }
/* 차트: 막대 + 기준선 */
.nbp-art .nbp-bars { background: repeating-linear-gradient(0deg, color-mix(in srgb, var(--text), transparent 92%) 0 1px, transparent 1px 22px); }
.nbp-art .nbp-bars span { opacity: 0.8; }
body .hero .hero-grid h1 { letter-spacing: -0.04em !important; }
.hero-stats b { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .nbp-art .nbp-rows::before, .hero .eyebrow::before { animation: none !important; } }
html.perf-lite .nbp-art .nbp-rows::before, html.perf-lite .hero .eyebrow::before { animation: none !important; }
