/* [INPUT]: 极简单色品牌（黑/白/中性灰，2026-09-26 起），SSR public-site 与 nh-* 组件。
 * [OUTPUT]: 公共频道共享布局、语义色、响应式与键盘焦点。
 * [POS]: 官网视觉层；不影响登录后工作台。
 * [PROTOCOL]: 变更时更新此头部，然后检查 CLAUDE.md
 */
.public-site {
  --primary: 0 0% 9%;
  --primary-foreground: 0 0% 100%;
  --background: 0 0% 99%;
  --foreground: 0 0% 9%;
  --card: 0 0% 100%;
  --muted: 0 0% 96%;
  --muted-foreground: 0 0% 40%;
  --border: 0 0% 90%;
  --accent: 0 0% 95%;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.65;
}
.public-site *, .public-site *::before, .public-site *::after { box-sizing: border-box; }
.public-site h1, .public-site h2, .public-site h3 { text-wrap: balance; letter-spacing: -.035em; }
.public-site h1 { font-size: clamp(2.25rem, 4.5vw, 4rem); line-height: 1.12; }
.public-site h2 { line-height: 1.2; }
.public-site p { text-wrap: pretty; }
.public-site a, .public-site button, .public-site summary { -webkit-tap-highlight-color: transparent; }
.public-site :is(a, button, summary, input, select):focus-visible { outline: 3px solid hsl(var(--primary)); outline-offset: 4px; }
.public-site :is(button, summary) { cursor: pointer; }
.public-site [id] { scroll-margin-top: 110px; }
.public-site .group:focus-within > .invisible { visibility: visible; opacity: 1; }
.nh-container { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.nh-nav { position: sticky; top: 0; z-index: 50; background: hsl(var(--card) / .94); backdrop-filter: blur(18px); border-bottom: 1px solid hsl(var(--border)); }
.nh-nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; }
.nh-brand { display: inline-flex; align-items: center; gap: 9px; font-size: 22px; font-weight: 750; letter-spacing: -.05em; color: hsl(var(--foreground)); text-decoration: none; flex-shrink: 0; }
.nh-brand svg { color: hsl(var(--primary)); width: 29px; height: 29px; }
.nh-nav-links, .nh-nav-actions { display: flex; align-items: center; gap: 8px; }
.nh-nav-links a { padding: 8px 10px; font-size: 13px; font-weight: 550; white-space: nowrap; border-radius: 8px; color: hsl(var(--muted-foreground)); transition: background .18s, color .18s; }
.nh-nav-links a:hover, .nh-nav-links a.is-active { background: hsl(var(--accent)); color: hsl(var(--primary)); }
.nh-signin { font-size: 13px; margin-right: 8px; white-space: nowrap; }
.nh-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 20px; border: 1px solid transparent; border-radius: 10px; font-size: 14px; font-weight: 650; line-height: 1.45; text-align: center; transition: background .18s, box-shadow .18s; text-decoration: none; }
.nh-button svg, .nh-text-link svg, .nh-eyebrow svg, .nh-skill-link svg { width: 18px; height: 18px; flex-shrink: 0; }
.nh-button-primary { color: hsl(var(--primary-foreground)); background: hsl(var(--primary)); box-shadow: 0 4px 12px hsl(var(--primary) / .15); }
.nh-button-primary:hover { background: hsl(var(--primary) / .88); box-shadow: 0 5px 18px hsl(var(--primary) / .22); }
.nh-button-secondary { background: hsl(var(--card)); border-color: hsl(var(--border)); color: hsl(var(--foreground)); }
.nh-button-secondary:hover { background: hsl(var(--muted)); }
.nh-nav .nh-button { padding: 10px 15px; font-size: 13px; white-space: nowrap; }
.nh-mobile-menu { display: none; }
.nh-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding-block: 88px 72px; }
.nh-eyebrow { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: hsl(var(--primary)); margin-bottom: 20px; }
.nh-hero h1 { font-weight: 750; margin: 0 0 24px; max-width: 620px; }
.nh-lead { font-size: 17px; line-height: 1.85; color: hsl(var(--muted-foreground)); max-width: 530px; }
.nh-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.nh-skill-link { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 25px; font-size: 12px; color: hsl(var(--muted-foreground)); }
.nh-skill-link code { font-size: 12px; background: hsl(var(--muted)); border: 1px solid hsl(var(--border)); border-radius: 5px; padding: 4px 8px; color: hsl(var(--foreground)); }
.nh-skill-link:hover { color: hsl(var(--primary)); }
.nh-preview { min-width: 0; border: 1px solid hsl(var(--border)); border-radius: 18px; background: hsl(var(--card)); box-shadow: 0 25px 65px -25px hsl(var(--primary) / .24), 0 3px 10px hsl(var(--foreground) / .04); transform: rotate(-1deg); overflow: hidden; }
.nh-browser-bar { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; background: hsl(var(--muted)); border-bottom: 1px solid hsl(var(--border)); font-size: 10px; color: hsl(var(--muted-foreground)); }
.nh-browser-bar svg { width: 15px; height: 15px; }
.nh-browser-dots { letter-spacing: 3px; opacity: .45; }
.nh-preview-body { padding: 25px; }
.nh-preview-header { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 24px; }
.nh-preview-header .nh-brand { font-size: 16px; }
.nh-preview-header .nh-brand svg { width: 22px; }
.nh-tag { font-size: 10px; border-radius: 5px; padding: 4px 8px; background: hsl(var(--accent)); color: hsl(var(--primary)); }
.nh-preview h2 { font-size: 22px; font-weight: 650; margin-bottom: 16px; }
.nh-preview-search { display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid hsl(var(--border)); border-radius: 8px; color: hsl(var(--muted-foreground)); font-size: 11px; }
.nh-preview-search svg { width: 15px; height: 15px; }
.nh-preview-search span { margin-left: auto; }
.nh-preview-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; margin-top: 18px; }
.nh-preview-bookmarks, .nh-preview-notes { background: hsl(var(--muted) / .7); border: 1px solid hsl(var(--border)); border-radius: 10px; padding: 16px; }
.nh-preview-bookmarks .nh-eyebrow { margin-bottom: 10px; font-size: 9px; color: hsl(var(--muted-foreground)); }
.nh-preview-row { display: flex; align-items: center; gap: 10px; padding: 9px 0; }
.nh-preview-row strong, .nh-preview-row small { display: block; font-size: 11px; line-height: 1.6; }
.nh-preview-row small { color: hsl(var(--muted-foreground)); font-size: 9px; }
.nh-preview-row > svg { margin-left: auto; width: 12px; height: 12px; color: hsl(var(--muted-foreground)); }
.nh-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; color: hsl(var(--primary)); background: hsl(var(--accent)); flex-shrink: 0; }
.nh-icon svg { width: 22px; height: 22px; }
.nh-preview-row .nh-icon { width: 29px; height: 29px; border-radius: 7px; background: hsl(var(--card)); }
.nh-preview-row .nh-icon svg { width: 16px; height: 16px; }
.nh-preview-notes { background: hsl(var(--accent) / .6); }
.nh-preview-notes > svg { width: 20px; height: 20px; color: hsl(var(--primary)); margin-bottom: 12px; }
.nh-preview-notes h3 { font-size: 13px; font-weight: 650; margin-bottom: 18px; }
.nh-note-line { height: 5px; border-radius: 3px; background: hsl(var(--primary) / .12); margin-bottom: 12px; }
.nh-note-line:nth-of-type(2) { width: 70%; }
.nh-preview-notes .nh-tag { display: inline-block; margin-top: 10px; }
.nh-preview-connection { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 12px; border-radius: 8px; background: hsl(var(--foreground)); color: hsl(var(--card)); font-size: 11px; }
.nh-preview-connection svg { width: 16px; height: 16px; flex-shrink: 0; }
.nh-preview-connection svg:last-child { margin-left: auto; }
.nh-path { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid hsl(var(--border)); padding-block: 23px; }
.nh-path > div { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 13px; font-weight: 550; padding-inline: 12px; }
.nh-path > div + div { border-left: 1px solid hsl(var(--border)); }
.nh-path svg { width: 18px; height: 18px; color: hsl(var(--primary)); flex-shrink: 0; }
.nh-number { font-size: 10px; font-family: ui-monospace, monospace; color: hsl(var(--muted-foreground)); }
.nh-section { padding-top: 80px; }
.nh-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.nh-section-heading .nh-eyebrow { margin-bottom: 12px; }
.nh-section h2, .nh-closing h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 700; }
.nh-text-link { display: inline-flex; align-items: center; gap: 10px; color: hsl(var(--primary)); font-size: 13px; font-weight: 650; }
.nh-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.nh-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.nh-product-card { display: flex; flex-direction: column; align-items: start; padding: 34px; border: 1px solid hsl(var(--border)); border-radius: 18px; background: hsl(var(--card)); }
.nh-product-card > .nh-icon { margin-bottom: 28px; }
.nh-product-card .nh-eyebrow { margin-bottom: 10px; }
.nh-product-card h3 { font-size: 27px; line-height: 1.2; font-weight: 650; margin-bottom: 16px; }
.nh-product-card > p:not(.nh-eyebrow) { font-size: 15px; color: hsl(var(--muted-foreground)); max-width: 500px; }
.nh-product-card > .nh-text-link { margin-top: auto; padding-top: 22px; }
.nh-save-preview, .nh-terminal { display: flex; align-items: center; gap: 16px; width: 100%; padding: 18px; margin-top: 26px; border: 1px solid hsl(var(--border)); border-radius: 10px; background: hsl(var(--muted)); font-size: 13px; }
.nh-save-preview svg { width: 20px; height: 20px; color: hsl(var(--primary)); }
.nh-save-preview svg:last-child { margin-left: auto; }
.nh-skills-card { background: hsl(var(--foreground)); color: hsl(var(--card)); border-color: hsl(var(--foreground)); }
.nh-skills-card > p:not(.nh-eyebrow), .nh-skills-card .nh-eyebrow { color: hsl(var(--border)); }
.nh-skills-card .nh-text-link { color: hsl(var(--card)); }
.nh-skills-card .nh-icon { background: hsl(var(--card) / .1); color: hsl(var(--card)); }
.nh-terminal { background: hsl(var(--card) / .06); border-color: hsl(var(--card) / .16); }
.nh-terminal code { overflow-wrap: anywhere; }
.nh-terminal > span { color: hsl(var(--border)); }
.nh-workspace-card { grid-column: 1 / -1; display: grid; grid-template-columns: 60px 1fr auto; column-gap: 24px; align-items: center; }
.nh-workspace-card > .nh-icon { grid-row: 1 / 4; margin: 0; }
.nh-workspace-card > .nh-eyebrow, .nh-workspace-card h3, .nh-workspace-card > p { grid-column: 2; }
.nh-workspace-card > .nh-text-link { grid-column: 3; grid-row: 1 / 4; margin: 0; padding: 0; }
.nh-discover-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.nh-discover-card { position: relative; padding: 24px; border: 1px solid hsl(var(--border)); border-radius: 12px; background: hsl(var(--card)); transition: border-color .2s, box-shadow .2s; }
.nh-discover-card:hover { border-color: hsl(var(--primary) / .5); box-shadow: 0 8px 20px hsl(var(--primary) / .06); }
.nh-discover-card > svg { width: 24px; height: 24px; color: hsl(var(--primary)); margin-bottom: 28px; }
.nh-discover-card h3 { font-size: 17px; font-weight: 650; margin-bottom: 8px; }
.nh-discover-card p { font-size: 12px; color: hsl(var(--muted-foreground)); }
.nh-discover-card .nh-arrow { position: absolute; top: 25px; right: 24px; width: 16px; height: 16px; color: hsl(var(--muted-foreground)); }
.nh-closing { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-block: 80px; padding: 42px; background: hsl(var(--accent)); border-radius: 18px; }
.nh-closing p:not(.nh-eyebrow) { color: hsl(var(--muted-foreground)); margin-top: 12px; font-size: 14px; }
.nh-closing .nh-eyebrow { margin-bottom: 12px; }
.nh-closing .nh-button { flex-shrink: 0; }
.nh-footer { padding-block: 42px 75px; border-top: 1px solid hsl(var(--border)); background: hsl(var(--card)); }
.nh-footer > .nh-container { display: flex; justify-content: space-between; gap: 48px; }
.nh-footer p { max-width: 400px; margin-top: 15px; font-size: 13px; color: hsl(var(--muted-foreground)); }
.nh-footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 32px; font-size: 13px; }
.nh-footer-links a:hover { color: hsl(var(--primary)); }
/* 频道保留数据与内容编排，仅统一展示密度和表面层级。 */
.public-site > main:not(#main-content) { padding-top: 58px; }
.public-site > section:first-of-type { padding-block: 64px; background: linear-gradient(150deg, hsl(var(--accent)), hsl(var(--card)) 65%); }
.public-site > main:not(#main-content) > div.text-center:first-child { padding-bottom: 32px; margin-bottom: 36px; border-bottom: 1px solid hsl(var(--border)); }
.public-site :is(main, section) :is(.rounded-2xl, .rounded-xl).bg-white { border-color: hsl(var(--border)); box-shadow: 0 2px 5px hsl(var(--foreground) / .025); }
.public-site :is(main, section) .text-gray-600 { color: hsl(var(--muted-foreground)); }
.public-site :is(main, section) :is(input, select) { border-radius: 10px; }
.public-site main > .grid { gap: 24px; }
.public-site #skills { margin-top: 32px; }
.public-site #extension { border-color: hsl(var(--primary) / .45); }
.public-site #extension .btn-primary { background: hsl(var(--primary)); }
.public-site #skills .text-gray-400 { color: hsl(var(--border)); }
.public-site #skills .text-gray-500 { color: hsl(var(--border)); }
@media (max-width: 1150px) {
 .nh-nav-links { display: none; }
 .nh-mobile-menu { display: block; }
 .nh-mobile-menu summary { display: flex; padding: 10px; border: 1px solid hsl(var(--border)); border-radius: 8px; list-style: none; }
 .nh-mobile-menu summary::-webkit-details-marker { display: none; }
 .nh-mobile-menu summary svg { width: 20px; height: 20px; }
 .nh-mobile-links { position: absolute; left: 0; right: 0; top: 100%; padding: 14px 24px; background: hsl(var(--card)); border-bottom: 1px solid hsl(var(--border)); box-shadow: 0 12px 20px hsl(var(--foreground) / .06); display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
 .nh-mobile-links a { padding: 12px; border-radius: 8px; font-size: 14px; }
 .nh-mobile-links a:hover, .nh-mobile-links .is-active { color: hsl(var(--primary)); background: hsl(var(--accent)); }
 .nh-hero { gap: 32px; }
}
@media (max-width: 800px) {
 .nh-container { width: calc(100% - 40px); }
 .nh-hero { grid-template-columns: 1fr; padding-block: 48px; gap: 40px; }
 .nh-hero-copy { max-width: 620px; }
 .nh-preview { transform: none; width: 100%; max-width: 600px; }
 .nh-path { grid-template-columns: 1fr; gap: 18px; }
 .nh-path > div { justify-content: start; }
 .nh-path > div + div { border: 0; }
 .nh-section { padding-top: 52px; }
 .nh-product-grid { grid-template-columns: 1fr; }
 .nh-workspace-card { display: flex; }
 .nh-workspace-card > .nh-icon { margin-bottom: 24px; }
 .nh-workspace-card > .nh-text-link { margin-top: 22px; }
 .nh-discover-grid { grid-template-columns: 1fr 1fr; }
 .nh-closing { margin-block: 52px; padding: 28px; flex-direction: column; align-items: start; }
 .nh-footer > .nh-container { flex-direction: column; gap: 28px; }
 .nh-section-heading { align-items: start; flex-direction: column; }
 .public-site > main:not(#main-content) { padding-top: 36px; }
}
@media (max-width: 400px) {
 .nh-container { width: calc(100% - 32px); }
 .nh-nav-inner { gap: 12px; min-height: 70px; }
 .nh-brand { font-size: 20px; }
 .nh-nav .nh-button { padding: 9px 10px; font-size: 12px; white-space: normal; }
 .nh-signin { display: none; }
 .nh-preview-body { padding: 16px; }
 .nh-preview-grid { grid-template-columns: 1fr; }
 .nh-preview-notes { display: none; }
 .nh-preview-header .nh-tag { max-width: 135px; }
 .nh-product-card { padding: 24px; }
 .nh-discover-grid { grid-template-columns: 1fr; }
 .nh-actions { flex-direction: column; }
 .nh-actions .nh-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .public-site *, .public-site *::before, .public-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* ── 文档页（legal）：左目录 + 正文，全部走语义色，不依赖 typography 插件 ── */
.nh-doc { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 64px; padding-block: 56px 88px; }
.nh-doc.is-single { grid-template-columns: minmax(0, 760px); justify-content: center; }
.nh-doc-toc { position: sticky; top: 110px; align-self: start; font-size: 13px; }
.nh-doc-toc .nh-eyebrow { margin-bottom: 14px; color: hsl(var(--muted-foreground)); }
.nh-doc-toc nav a { display: block; padding: 6px 0 6px 14px; border-left: 2px solid hsl(var(--border)); color: hsl(var(--muted-foreground)); transition: color .18s, border-color .18s; }
.nh-doc-toc nav a:hover, .nh-doc-toc nav a.is-active { color: hsl(var(--foreground)); border-color: hsl(var(--primary)); }
.nh-doc-toc .nh-text-link { margin-top: 24px; }
.nh-article { max-width: 760px; }
.nh-article > header { padding-bottom: 28px; margin-bottom: 8px; border-bottom: 1px solid hsl(var(--border)); }
.nh-article h1 { font-size: clamp(2rem, 3.5vw, 2.75rem); font-weight: 750; margin-bottom: 12px; }
.nh-article > header p { font-size: 13px; color: hsl(var(--muted-foreground)); }
.nh-article h2 { font-size: 22px; font-weight: 650; margin: 44px 0 14px; }
.nh-article h3 { font-size: 16px; font-weight: 650; margin: 24px 0 8px; }
.nh-article p, .nh-article li { font-size: 15px; line-height: 1.8; color: hsl(var(--muted-foreground)); }
.nh-article p + p { margin-top: 12px; }
.nh-article ul { list-style: disc; padding-left: 22px; margin-top: 12px; display: grid; gap: 6px; }
.nh-article strong { color: hsl(var(--foreground)); font-weight: 650; }
.nh-article a { color: hsl(var(--foreground)); text-decoration: underline; text-underline-offset: 3px; }
.nh-callout { margin-top: 28px; padding: 20px 22px; border: 1px solid hsl(var(--border)); border-radius: 12px; background: hsl(var(--muted)); }
.nh-article .nh-callout p { color: hsl(var(--foreground)); }
/* ── 市场（marketplace）：页头、分类、组件卡片、详情侧栏 ── */
.nh-page-head { padding-block: 64px 48px; border-bottom: 1px solid hsl(var(--border)); }
.nh-page-head h1 { font-weight: 750; margin-bottom: 18px; max-width: 760px; }
.nh-chips { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; }
.nh-chip { padding: 6px 13px; border: 1px solid hsl(var(--border)); border-radius: 999px; background: hsl(var(--card)); font-size: 12px; font-weight: 550; color: hsl(var(--muted-foreground)); white-space: nowrap; }
.nh-chip:hover { color: hsl(var(--foreground)); }
.nh-chip.is-active { background: hsl(var(--primary)); border-color: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.nh-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.nh-widget-card { display: flex; flex-direction: column; border: 1px solid hsl(var(--border)); border-radius: 14px; background: hsl(var(--card)); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.nh-widget-card:hover { border-color: hsl(var(--primary) / .5); box-shadow: 0 8px 20px hsl(var(--primary) / .06); }
.nh-widget-cover { position: relative; aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; background: hsl(var(--muted)); color: hsl(var(--muted-foreground)); overflow: hidden; }
.nh-widget-cover img { width: 100%; height: 100%; object-fit: cover; }
.nh-widget-cover > svg { width: 32px; height: 32px; }
.nh-badges { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; }
.nh-tag-strong { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.nh-widget-body { display: flex; flex-direction: column; flex: 1; gap: 6px; padding: 16px 18px 18px; }
.nh-widget-body h3 { font-size: 15px; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nh-widget-body p { flex: 1; font-size: 13px; color: hsl(var(--muted-foreground)); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nh-widget-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; font-size: 12px; color: hsl(var(--muted-foreground)); }
.nh-empty { padding: 72px 24px; text-align: center; font-size: 14px; color: hsl(var(--muted-foreground)); border: 1px dashed hsl(var(--border)); border-radius: 14px; }
.nh-breadcrumb { display: flex; gap: 8px; padding-top: 28px; font-size: 13px; color: hsl(var(--muted-foreground)); }
.nh-breadcrumb a:hover { color: hsl(var(--foreground)); }
.nh-detail { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 32px; align-items: start; padding-block: 24px 16px; }
.nh-panel { padding: 24px; border: 1px solid hsl(var(--border)); border-radius: 14px; background: hsl(var(--card)); }
.nh-panel + .nh-panel { margin-top: 20px; }
.nh-panel > .nh-widget-cover { margin: -24px -24px 24px; }
.nh-panel > h2 { margin-bottom: 14px; font-size: 11px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: hsl(var(--muted-foreground)); }
.nh-detail-title { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.nh-detail-title h1 { font-size: clamp(1.6rem, 2.6vw, 2rem); font-weight: 700; margin-top: 8px; }
.nh-detail-title .nh-lead { font-size: 15px; margin-top: 6px; }
.nh-stats { display: flex; gap: 24px; text-align: center; flex-shrink: 0; }
.nh-stats strong { display: block; font-size: 16px; }
.nh-stats span { font-size: 11px; color: hsl(var(--muted-foreground)); }
.nh-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 18px; }
.nh-tags .nh-tag { font-size: 11px; }
.nh-prose { font-size: 14px; line-height: 1.8; color: hsl(var(--muted-foreground)); white-space: pre-line; }
.nh-sticky { position: sticky; top: 110px; }
.nh-offer { padding: 16px; border: 1px solid hsl(var(--border)); border-radius: 10px; }
.nh-offer + .nh-offer { margin-top: 12px; border-style: dashed; }
.nh-offer-head { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; font-weight: 650; }
.nh-offer p { margin: 6px 0 14px; font-size: 12px; color: hsl(var(--muted-foreground)); }
.nh-offer .nh-button { width: 100%; padding: 11px 16px; font-size: 13px; }
.nh-fine { margin-top: 14px; text-align: center; font-size: 12px; color: hsl(var(--muted-foreground)); }
.nh-fine a { text-decoration: underline; text-underline-offset: 3px; }
.nh-creator { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.nh-creator img, .nh-creator .nh-icon { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.nh-creator small { display: block; font-size: 12px; color: hsl(var(--muted-foreground)); }
.nh-panel > .nh-creator + p { margin-top: 12px; font-size: 13px; color: hsl(var(--muted-foreground)); }
.nh-dl { display: grid; gap: 10px; font-size: 13px; }
.nh-dl div { display: flex; justify-content: space-between; gap: 12px; }
.nh-dl dt { color: hsl(var(--muted-foreground)); }
.nh-dl dd { font-weight: 600; text-align: right; }
@media (max-width: 1000px) {
 .nh-doc { grid-template-columns: 1fr; gap: 0; padding-block: 36px 56px; }
 .nh-doc-toc { display: none; }
 .nh-detail { grid-template-columns: 1fr; }
 .nh-sticky { position: static; }
}
@media (max-width: 600px) {
 .nh-page-head { padding-block: 40px 32px; }
 .nh-detail-title { flex-direction: column; }
}
