@nexpress/theme-docs 0.3.7 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +6 -2
- package/dist/index.js +375 -72
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -121,7 +121,7 @@ declare function DocsSidebar(): Promise<React.ReactElement>;
|
|
|
121
121
|
* (not `.np-docs-shell`) because `.np-docs-shell` is already
|
|
122
122
|
* claimed by the route shell's root container.
|
|
123
123
|
*/
|
|
124
|
-
declare const docsCss = "\n.np-docs-shell {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n background: var(--np-color-background);\n color: var(--np-color-foreground);\n font-family: var(--np-font-body, \"Geist\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif);\n line-height: 1.6;\n -webkit-font-smoothing: antialiased;\n}\n.np-docs-shell a { color: inherit; }\n.np-docs-shell code,\n.np-docs-shell pre,\n.np-docs-shell kbd {\n font-family: var(--np-font-mono, \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace);\n}\n\n/* ============================================================\n * Header \u2014 sticky bar with brand + version pill, \u2318K search in\n * the center, primary nav + GitHub link on the right. Grid\n * keeps everything anchored regardless of viewport width.\n * ============================================================ */\n.np-docs-header {\n position: sticky;\n top: 0;\n z-index: 30;\n background: color-mix(in oklab, var(--np-color-background) 80%, transparent);\n backdrop-filter: saturate(140%) blur(14px);\n -webkit-backdrop-filter: saturate(140%) blur(14px);\n border-bottom: 1px solid var(--np-color-border);\n}\n.np-docs-header-inner {\n max-width: 1380px;\n margin: 0 auto;\n padding: 0.7rem 1.5rem;\n display: grid;\n grid-template-columns: auto 1fr auto;\n gap: 1.5rem;\n align-items: center;\n}\n.np-docs-brand {\n display: inline-flex;\n align-items: center;\n gap: 0.55rem;\n font-weight: 700;\n font-size: 1.0625rem;\n letter-spacing: -0.02em;\n text-decoration: none;\n}\n.np-docs-brand-mark {\n width: 1.55rem;\n height: 1.55rem;\n border-radius: 6px;\n background: linear-gradient(135deg, var(--np-color-primary, #2563eb), #0ea5e9);\n position: relative;\n flex: none;\n}\n.np-docs-brand-mark::after {\n content: \"\";\n position: absolute;\n inset: 5px;\n border-radius: 2px;\n background: var(--np-color-background, #fff);\n opacity: 0.95;\n clip-path: polygon(0 0, 100% 0, 100% 100%, 60% 100%, 0 35%);\n}\n.np-docs-brand-version {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n font-weight: 500;\n color: var(--np-color-primary);\n background: color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card));\n padding: 0.15rem 0.45rem;\n border-radius: 5px;\n}\n\n.np-docs-search-form {\n max-width: 520px;\n width: 100%;\n position: relative;\n justify-self: center;\n}\n.np-docs-search-form svg {\n position: absolute;\n top: 50%;\n left: 0.85rem;\n transform: translateY(-50%);\n color: var(--np-color-muted-foreground);\n}\n.np-docs-search-input {\n width: 100%;\n padding: 0.55rem 0.85rem 0.55rem 2.4rem;\n font: inherit;\n font-size: 0.875rem;\n color: var(--np-color-foreground);\n background: var(--np-color-card);\n border: 1px solid var(--np-color-border);\n border-radius: 9px;\n}\n.np-docs-search-input::placeholder {\n color: var(--np-color-muted-foreground);\n}\n.np-docs-search-input:focus {\n outline: none;\n border-color: var(--np-color-primary);\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--np-color-primary) 22%, transparent);\n}\n.np-docs-search-kbd {\n position: absolute;\n right: 0.6rem;\n top: 50%;\n transform: translateY(-50%);\n font-size: 0.7rem;\n padding: 0.1rem 0.4rem;\n color: var(--np-color-muted-foreground);\n border: 1px solid var(--np-color-border);\n border-radius: 4px;\n}\n\n.np-docs-nav {\n display: flex;\n align-items: center;\n gap: 1.25rem;\n}\n.np-docs-primary-nav {\n display: flex;\n list-style: none;\n gap: 1.25rem;\n margin: 0;\n padding: 0;\n}\n.np-docs-primary-nav a {\n color: var(--np-color-muted-foreground);\n font-size: 0.875rem;\n font-weight: 500;\n text-decoration: none;\n}\n.np-docs-primary-nav a:hover,\n.np-docs-primary-nav a[aria-current=\"page\"] {\n color: var(--np-color-foreground);\n}\n@media (max-width: 800px) {\n .np-docs-header-inner {\n grid-template-columns: auto 1fr auto;\n gap: 0.75rem;\n }\n .np-docs-search-form { display: none; }\n .np-docs-primary-nav { display: none; }\n}\n\n/* ============================================================\n * 3-column layout: sidebar + article + on-page TOC.\n * ============================================================ */\n.np-docs-grid,\n.np-docs-body {\n max-width: 1380px;\n margin: 0 auto;\n width: 100%;\n display: grid;\n grid-template-columns: 260px minmax(0, 1fr) 220px;\n gap: 3rem;\n padding: 2.25rem 1.5rem 4rem;\n}\n@media (max-width: 1100px) {\n .np-docs-grid,\n .np-docs-body {\n grid-template-columns: 240px minmax(0, 1fr);\n }\n .np-docs-toc { display: none; }\n}\n@media (max-width: 800px) {\n .np-docs-grid,\n .np-docs-body {\n grid-template-columns: 1fr;\n }\n .np-docs-sidebar { display: none; }\n}\n\n/* Non-docs routes (home / about / pricing / contact / member pages):\n * collapse the 3-col grid to a single wide column and hide the\n * doc-only chrome (sidebar + TOC) so a generic pages doc has full\n * canvas width instead of being squeezed into the 800-ish px\n * article column reserved for the /docs reading lane. */\n.np-docs-shell[data-layout=\"page\"] .np-docs-grid {\n grid-template-columns: minmax(0, 1fr);\n}\n.np-docs-shell[data-layout=\"page\"] .np-docs-sidebar,\n.np-docs-shell[data-layout=\"page\"] .np-docs-toc {\n display: none;\n}\n/* Framework's globals.css caps .np-page at 48rem (~768px) so a\n * regular pages doc rendered through the catch-all's fallback\n * wrapper stays squeezed even after the grid collapse above.\n * Lift the cap inside the page-layout so block-level content\n * (hero, features, stats) can stretch to the docs container. */\n.np-docs-shell[data-layout=\"page\"] .np-page {\n max-width: none;\n margin: 0;\n padding: 0;\n}\n\n/* ============================================================\n * Sidebar \u2014 grouped link list with bullet eyebrow + badges.\n * ============================================================ */\n.np-docs-sidebar {\n position: sticky;\n top: 4.25rem;\n align-self: start;\n max-height: calc(100vh - 5rem);\n overflow-y: auto;\n padding-right: 0.5rem;\n}\n.np-docs-sidebar-group { margin-bottom: 1.5rem; }\n.np-docs-sidebar-eyebrow {\n display: flex;\n align-items: center;\n gap: 0.4rem;\n font-family: var(--np-font-mono);\n font-size: 0.7rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n margin: 0 0 0.65rem;\n font-weight: 600;\n}\n.np-docs-sidebar-eyebrow-dot {\n width: 0.4rem;\n height: 0.4rem;\n border-radius: 50%;\n background: var(--np-color-primary);\n}\n/* Leaf top-level doc rendered as a clickable eyebrow \u2014 inherits\n * the eyebrow typography (mono / uppercase / 0.7rem) so it sits\n * in the same visual row as sibling group eyebrows; primary\n * accent on current, foreground on hover. */\n.np-docs-sidebar-eyebrow-link {\n color: inherit;\n text-decoration: none;\n font: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n}\n.np-docs-sidebar-eyebrow-link:hover {\n color: var(--np-color-foreground);\n}\n.np-docs-sidebar-eyebrow-link[data-current=\"true\"],\n.np-docs-sidebar-eyebrow-link[aria-current=\"page\"] {\n color: var(--np-color-primary);\n}\n.np-docs-sidebar ul {\n list-style: none;\n padding: 0;\n margin: 0;\n}\n.np-docs-sidebar li { margin: 0.05rem 0; }\n.np-docs-sidebar a {\n display: block;\n padding: 0.34rem 0.6rem;\n font-size: 0.875rem;\n color: var(--np-color-muted-foreground);\n text-decoration: none;\n border-radius: 6px;\n line-height: 1.35;\n}\n.np-docs-sidebar a:hover {\n background: var(--np-color-muted);\n color: var(--np-color-foreground);\n}\n.np-docs-sidebar a[data-current=\"true\"],\n.np-docs-sidebar a[aria-current=\"page\"] {\n color: var(--np-color-primary);\n background: color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card));\n font-weight: 500;\n}\n.np-docs-sidebar ul ul {\n margin-left: 0.5rem;\n padding-left: 0.85rem;\n border-left: 1px solid var(--np-color-border);\n}\n.np-docs-sidebar-badge {\n display: inline-block;\n font-family: var(--np-font-mono);\n font-size: 0.62rem;\n padding: 0.02rem 0.34rem;\n margin-left: 0.4rem;\n vertical-align: 1px;\n border-radius: 4px;\n background: var(--np-color-muted);\n color: var(--np-color-muted-foreground);\n font-weight: 500;\n}\n.np-docs-sidebar-badge.new { background: #dcfce7; color: #166534; }\n.np-docs-sidebar-badge.beta { background: #fef3c7; color: #92400e; }\n.np-docs-sidebar-badge.api {\n background: color-mix(in oklab, var(--np-color-primary) 16%, var(--np-color-card));\n color: var(--np-color-primary);\n}\n\n/* ============================================================\n * Doc page \u2014 article column. h1 + lede + meta row + sections\n * with hovered anchor link icon.\n * ============================================================ */\n.np-docs-page {\n max-width: 760px;\n min-width: 0;\n}\n.np-docs-breadcrumbs {\n display: flex;\n align-items: center;\n gap: 0.4rem;\n font-size: 0.8125rem;\n color: var(--np-color-muted-foreground);\n margin-bottom: 1rem;\n}\n.np-docs-breadcrumbs a {\n color: inherit;\n text-decoration: none;\n}\n.np-docs-breadcrumbs a:hover { color: var(--np-color-foreground); }\n.np-docs-breadcrumbs-sep { opacity: 0.5; }\n\n.np-docs-page h1 {\n font-size: clamp(2rem, 3.6vw, 2.5rem);\n font-weight: 700;\n letter-spacing: -0.03em;\n line-height: 1.1;\n margin: 0 0 0.5rem;\n text-wrap: balance;\n}\n.np-docs-page-lede {\n font-size: 1.125rem;\n color: var(--np-color-muted-foreground);\n line-height: 1.55;\n margin: 0 0 2rem;\n max-width: 38rem;\n text-wrap: pretty;\n}\n.np-docs-page-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n font-size: 0.8125rem;\n color: var(--np-color-muted-foreground);\n padding: 0.85rem 0;\n margin-bottom: 2rem;\n border-top: 1px solid var(--np-color-border);\n border-bottom: 1px solid var(--np-color-border);\n}\n.np-docs-page-meta-pill {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.15rem 0.55rem;\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n border: 1px solid var(--np-color-border);\n border-radius: 999px;\n background: var(--np-color-card);\n}\n.np-docs-page-meta-pill.status {\n color: var(--np-color-success, #047857);\n border-color: #bbf7d0;\n background: var(--np-color-success-soft, #f0fdf4);\n}\n.np-docs-page-meta-pill.status::before {\n content: \"\";\n width: 0.4rem;\n height: 0.4rem;\n border-radius: 50%;\n background: var(--np-color-success, #047857);\n}\n.np-docs-page-meta-sep { opacity: 0.4; }\n.np-docs-page-meta a {\n color: var(--np-color-primary);\n text-decoration: none;\n margin-left: auto;\n}\n.np-docs-page-meta a:hover { text-decoration: underline; }\n\n.np-docs-page h2 {\n font-size: 1.5rem;\n font-weight: 600;\n letter-spacing: -0.02em;\n line-height: 1.25;\n margin: 3rem 0 0.85rem;\n scroll-margin-top: 5rem;\n position: relative;\n}\n.np-docs-page h2:first-of-type { margin-top: 2.5rem; }\n.np-docs-page h3 {\n font-size: 1.1rem;\n font-weight: 600;\n letter-spacing: -0.01em;\n margin: 2.25rem 0 0.7rem;\n scroll-margin-top: 5rem;\n position: relative;\n}\n.np-docs-page p { margin: 0 0 1rem; }\n.np-docs-page p code,\n.np-docs-page li code {\n font-size: 0.875em;\n padding: 0.1em 0.35em;\n background: var(--np-color-muted);\n border: 1px solid var(--np-color-border);\n border-radius: 4px;\n}\n.np-docs-page strong { font-weight: 600; }\n.np-docs-page ul,\n.np-docs-page ol {\n margin: 0 0 1rem;\n padding-left: 1.4rem;\n}\n.np-docs-page li { margin: 0.35rem 0; }\n.np-docs-page a:not(.np-docs-prev-next a):not(.np-docs-anchor) {\n color: var(--np-color-primary);\n text-decoration: underline;\n text-underline-offset: 3px;\n text-decoration-thickness: 1px;\n text-decoration-color: color-mix(in oklab, var(--np-color-primary) 45%, transparent);\n}\n.np-docs-page a:not(.np-docs-prev-next a):not(.np-docs-anchor):hover {\n text-decoration-color: currentColor;\n}\n\n/* Anchor icon \u2014 visible only on heading hover. */\n.np-docs-anchor {\n position: absolute;\n left: -1.3rem;\n top: 50%;\n transform: translateY(-50%);\n color: var(--np-color-muted-foreground);\n opacity: 0;\n text-decoration: none !important;\n font-weight: 400;\n}\n.np-docs-page h2:hover .np-docs-anchor,\n.np-docs-page h3:hover .np-docs-anchor { opacity: 1; }\n\n/* ============================================================\n * Callouts \u2014 info (default) / note (indigo) / warn (amber) /\n * danger (red). 3px left rule carries the variant color.\n * ============================================================ */\n.np-docs-callout {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.85rem;\n padding: 1rem 1.15rem;\n border: 1px solid var(--np-color-border);\n border-left: 3px solid var(--np-color-primary);\n border-radius: 8px;\n background: var(--np-color-card);\n margin: 1.25rem 0;\n font-size: 0.95rem;\n line-height: 1.55;\n}\n.np-docs-callout > svg,\n.np-docs-callout-icon {\n width: 1.25rem;\n height: 1.25rem;\n flex-shrink: 0;\n color: var(--np-color-primary);\n margin-top: 0.1rem;\n}\n.np-docs-callout p { margin: 0; }\n.np-docs-callout-title {\n font-weight: 600;\n margin-bottom: 0.15rem;\n color: var(--np-color-foreground);\n}\n.np-docs-callout--warn {\n border-left-color: var(--np-color-warning, #b45309);\n background: var(--np-color-warning-soft, #fffbeb);\n border-color: #fde68a;\n}\n.np-docs-callout--warn .np-docs-callout-icon,\n.np-docs-callout--warn > svg { color: var(--np-color-warning, #b45309); }\n.np-docs-callout--note {\n border-left-color: #6366f1;\n background: #eef2ff;\n border-color: #c7d2fe;\n}\n.np-docs-callout--note .np-docs-callout-icon,\n.np-docs-callout--note > svg { color: #4338ca; }\n.np-docs-callout--danger {\n border-left-color: var(--np-color-danger, #b91c1c);\n background: var(--np-color-danger-soft, #fef2f2);\n border-color: #fecaca;\n}\n.np-docs-callout--danger .np-docs-callout-icon,\n.np-docs-callout--danger > svg { color: var(--np-color-danger, #b91c1c); }\n\n/* ============================================================\n * Code blocks \u2014 dark surface with a file-named header and a\n * copy button. Syntax tokens (.tk-*) cover the common slots\n * (keyword / string / function / number / type / punctuation /\n * comment) using a muted neutral-paired palette so the block\n * reads at the same contrast as the page chrome.\n * ============================================================ */\n.np-docs-code {\n margin: 1.25rem 0;\n border-radius: 10px;\n background: var(--np-color-code-bg, #0b1220);\n color: var(--np-color-code-fg, #e6edf6);\n overflow: hidden;\n border: 1px solid var(--np-color-code-head, #1e2939);\n}\n.np-docs-code-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.55rem 0.85rem;\n background: var(--np-color-code-border, #0f1a2b);\n border-bottom: 1px solid #1e293b;\n}\n.np-docs-code-file {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n font-family: var(--np-font-mono);\n font-size: 0.78rem;\n color: #94a3b8;\n}\n.np-docs-code-file svg { color: #64748b; }\n.np-docs-code-copy {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.25rem 0.55rem;\n font-size: 0.72rem;\n font-family: var(--np-font-mono);\n color: #94a3b8;\n background: transparent;\n border: 1px solid #1e293b;\n border-radius: 5px;\n cursor: pointer;\n}\n.np-docs-code-copy:hover {\n color: #e2e8f0;\n border-color: #334155;\n}\n.np-docs-code pre {\n margin: 0;\n padding: 1rem 1.1rem;\n font-size: 0.825rem;\n line-height: 1.65;\n overflow-x: auto;\n}\n.np-docs-code pre code {\n display: block;\n font-family: inherit;\n background: transparent;\n border: 0;\n padding: 0;\n color: inherit;\n}\n.tk-c { color: #64748b; font-style: italic; }\n.tk-k { color: #c084fc; }\n.tk-s { color: #86efac; }\n.tk-f { color: #93c5fd; }\n.tk-t { color: #fcd34d; }\n.tk-n { color: #f9a8d4; }\n.tk-p { color: #e2e8f0; }\n\n/* Inline shell snippet \u2014 for terse `pnpm dev` style commands.\n * Named `cmdline` (not `shell`) so it doesn't collide with the\n * route shell container at `.np-docs-shell`. */\n.np-docs-cmdline {\n display: grid;\n grid-template-columns: auto 1fr auto;\n gap: 0.7rem;\n align-items: center;\n padding: 0.75rem 1rem;\n margin: 1.25rem 0;\n background: var(--np-color-code-bg, #0b1220);\n color: var(--np-color-code-fg, #e6edf6);\n border-radius: 9px;\n font-family: var(--np-font-mono);\n font-size: 0.875rem;\n}\n.np-docs-cmdline-prompt { color: #34d399; }\n.np-docs-cmdline-cmd { color: #e2e8f0; }\n.np-docs-cmdline-copy {\n padding: 0.2rem 0.55rem;\n font-size: 0.7rem;\n color: #94a3b8;\n background: transparent;\n border: 1px solid #1e293b;\n border-radius: 5px;\n cursor: pointer;\n}\n.np-docs-cmdline-copy:hover { color: #e2e8f0; border-color: #334155; }\n\n/* ============================================================\n * Numbered steps \u2014 counter on a soft pill before each step.\n * ============================================================ */\n.np-docs-steps {\n counter-reset: step;\n list-style: none;\n padding: 0;\n margin: 1.5rem 0;\n display: grid;\n gap: 1rem;\n}\n.np-docs-steps > li {\n counter-increment: step;\n display: grid;\n grid-template-columns: 2.1rem 1fr;\n gap: 0.85rem;\n align-items: start;\n}\n.np-docs-steps > li::before {\n content: counter(step);\n width: 1.85rem;\n height: 1.85rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: var(--np-font-mono);\n font-size: 0.85rem;\n font-weight: 600;\n color: var(--np-color-primary);\n background: color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card));\n border-radius: 50%;\n}\n.np-docs-step-title {\n font-weight: 600;\n margin: 0.25rem 0 0.25rem;\n}\n.np-docs-step-body {\n margin: 0;\n color: var(--np-color-muted-foreground);\n}\n\n/* ============================================================\n * API / reference tables \u2014 uppercase mono headers.\n * ============================================================ */\n.np-docs-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 0.875rem;\n margin: 1.25rem 0;\n}\n.np-docs-table thead { background: var(--np-color-muted); }\n.np-docs-table th,\n.np-docs-table td {\n text-align: left;\n padding: 0.7rem 0.85rem;\n border-bottom: 1px solid var(--np-color-border);\n vertical-align: top;\n}\n.np-docs-table th {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--np-color-muted-foreground);\n font-weight: 600;\n}\n.np-docs-table td:first-child code {\n color: var(--np-color-foreground);\n font-weight: 500;\n}\n.np-docs-table-required {\n display: inline-block;\n font-family: var(--np-font-mono);\n font-size: 0.65rem;\n padding: 0.05rem 0.35rem;\n margin-left: 0.4rem;\n background: #fef3c7;\n color: #92400e;\n border-radius: 4px;\n vertical-align: 1px;\n}\n\n/* ============================================================\n * Prev / next \u2014 symmetric pair at the foot of every doc page.\n * Hover lifts the bordered card and tints the border primary.\n * ============================================================ */\n.np-docs-prev-next {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 1rem;\n margin: 3.5rem 0 1rem;\n padding-top: 2rem;\n border-top: 1px solid var(--np-color-border);\n}\n.np-docs-prev-next a {\n display: block;\n padding: 1rem 1.15rem;\n background: var(--np-color-card);\n border: 1px solid var(--np-color-border);\n border-radius: 10px;\n text-decoration: none;\n transition: border-color 0.15s ease, transform 0.2s ease;\n}\n.np-docs-prev-next a:hover {\n border-color: var(--np-color-primary);\n transform: translateY(-1px);\n}\n.np-docs-prev-next-dir,\n.np-docs-prev-next-label {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n color: var(--np-color-muted-foreground);\n letter-spacing: 0.05em;\n margin-bottom: 0.25rem;\n}\n.np-docs-prev-next-title {\n font-weight: 600;\n font-size: 0.95rem;\n}\n.np-docs-prev-next a.np-docs-prev-next-next,\n.np-docs-prev-next a:last-child { text-align: right; }\n.np-docs-prev-next[data-single=\"prev\"],\n.np-docs-prev-next[data-single=\"next\"] { grid-template-columns: 1fr; }\n.np-docs-prev-next[data-single=\"prev\"] a.np-docs-prev-next-prev,\n.np-docs-prev-next[data-single=\"next\"] a.np-docs-prev-next-next { width: 100%; }\n.np-docs-prev-next[data-single=\"prev\"] a.np-docs-prev-next-prev { text-align: left; }\n\n/* ============================================================\n * Feedback row \u2014 Yes / Could be better buttons under each page.\n * ============================================================ */\n.np-docs-feedback {\n margin-top: 3rem;\n padding: 1.25rem;\n background: var(--np-color-muted);\n border: 1px solid var(--np-color-border);\n border-radius: 10px;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.np-docs-feedback-title { font-weight: 600; font-size: 0.95rem; }\n.np-docs-feedback-helper {\n font-size: 0.825rem;\n color: var(--np-color-muted-foreground);\n margin-top: 0.15rem;\n}\n.np-docs-feedback-buttons {\n display: flex;\n gap: 0.5rem;\n}\n.np-docs-feedback-buttons button {\n padding: 0.4rem 0.85rem;\n font: inherit;\n font-size: 0.825rem;\n background: var(--np-color-card);\n border: 1px solid var(--np-color-border);\n border-radius: 7px;\n cursor: pointer;\n}\n.np-docs-feedback-buttons button:hover {\n border-color: var(--np-color-primary);\n color: var(--np-color-primary);\n}\n\n/* ============================================================\n * On-page TOC \u2014 right rail, sticky, current section gets a\n * primary border + soft gradient.\n * ============================================================ */\n.np-docs-toc {\n position: sticky;\n top: 4.25rem;\n align-self: start;\n max-height: calc(100vh - 5rem);\n overflow-y: auto;\n font-size: 0.825rem;\n}\n.np-docs-toc-eyebrow {\n font-family: var(--np-font-mono);\n font-size: 0.7rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n margin: 0 0 0.75rem;\n font-weight: 600;\n}\n.np-docs-toc ul {\n list-style: none;\n padding: 0;\n margin: 0;\n}\n.np-docs-toc li { margin: 0.05rem 0; }\n.np-docs-toc a {\n display: block;\n padding: 0.3rem 0.5rem;\n color: var(--np-color-muted-foreground);\n text-decoration: none;\n border-left: 2px solid transparent;\n margin-left: -2px;\n line-height: 1.4;\n}\n.np-docs-toc a:hover { color: var(--np-color-foreground); }\n.np-docs-toc a[data-current=\"true\"],\n.np-docs-toc a[aria-current=\"location\"],\n.np-docs-toc a[aria-current=\"true\"] {\n color: var(--np-color-primary);\n border-left-color: var(--np-color-primary);\n background: linear-gradient(\n to right,\n color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card)),\n transparent 80%\n );\n}\n.np-docs-toc ul ul { margin-left: 0.85rem; }\n.np-docs-toc-l3 { margin-left: 0.85rem; }\n.np-docs-toc-secondary {\n margin-top: 1.5rem;\n padding-top: 1rem;\n border-top: 1px solid var(--np-color-border);\n}\n.np-docs-toc-secondary a {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.2rem 0;\n border-left: 0;\n margin: 0;\n}\n.np-docs-toc-secondary a:hover { background: transparent; }\n\n/* Empty / not-found surfaces \u2014 used by routes/not-found and\n * the docs collection's empty state. */\n.np-docs-empty {\n padding: 4rem 1.5rem;\n text-align: center;\n color: var(--np-color-muted-foreground);\n}\n.np-docs-empty h1 {\n font-size: 1.5rem;\n margin: 0 0 0.5rem;\n color: var(--np-color-foreground);\n}\n\n/* ============================================================\n * Search route \u2014 wraps DocsSearch's output. Eyebrow + result\n * cards reuse the docs chrome (mono small caps, hairline rules,\n * bordered card with hover lift).\n * ============================================================ */\n.np-docs-search {\n max-width: 800px;\n margin: 0 auto;\n padding-top: 2.25rem;\n}\n.np-docs-search-heading {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n font-weight: 600;\n margin: 0 0 0.5rem;\n}\n.np-docs-search h1 {\n font-size: 1.75rem;\n font-weight: 700;\n letter-spacing: -0.02em;\n margin: 0 0 1.5rem;\n text-wrap: balance;\n}\n.np-docs-search-empty {\n color: var(--np-color-muted-foreground);\n padding: 1.5rem 0;\n font-size: 0.95rem;\n}\n.np-docs-search-results {\n list-style: none;\n padding: 0;\n margin: 1.5rem 0 0;\n display: grid;\n gap: 1rem;\n}\n.np-docs-search-result {\n padding: 1rem 1.15rem;\n border: 1px solid var(--np-color-border);\n border-radius: 10px;\n background: var(--np-color-card);\n transition: border-color 0.15s ease, transform 0.2s ease;\n}\n.np-docs-search-result:hover {\n border-color: var(--np-color-primary);\n transform: translateY(-1px);\n}\n.np-docs-search-result-eyebrow {\n font-family: var(--np-font-mono);\n font-size: 0.68rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n margin: 0 0 0.35rem;\n}\n.np-docs-search-result h2 {\n font-size: 1.05rem;\n font-weight: 600;\n margin: 0 0 0.4rem;\n}\n.np-docs-search-result h2 a {\n color: var(--np-color-foreground);\n text-decoration: none;\n}\n.np-docs-search-result h2 a:hover { color: var(--np-color-primary); }\n.np-docs-search-result-excerpt {\n margin: 0;\n font-size: 0.875rem;\n color: var(--np-color-muted-foreground);\n line-height: 1.55;\n}\n\n/* ============================================================\n * Front-page landing \u2014 eyebrow + display heading + lede +\n * primary CTA + 2x2 group cards + recently-updated row.\n * Renders inside the single-column page layout\n * (data-layout=\"page\" on the shell collapses the 3-col grid).\n * ============================================================ */\n.np-docs-front {\n max-width: 880px;\n margin: 0 auto;\n padding: 2.5rem 0 4rem;\n display: grid;\n gap: 3rem;\n}\n.np-docs-front-hero {\n display: grid;\n gap: 1rem;\n}\n.np-docs-front-eyebrow {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.72rem;\n letter-spacing: 0.16em;\n text-transform: uppercase;\n color: var(--np-color-primary);\n background: var(--np-color-primary-soft, color-mix(in oklab, var(--np-color-primary) 10%, transparent));\n padding: 0.32rem 0.6rem;\n border-radius: 999px;\n align-self: start;\n justify-self: start;\n}\n.np-docs-front-eyebrow-dot {\n width: 6px;\n height: 6px;\n border-radius: 999px;\n background: var(--np-color-success, currentColor);\n display: inline-block;\n}\n.np-docs-front h1 {\n font-size: clamp(2.4rem, 4.2vw, 3rem);\n font-weight: 700;\n letter-spacing: -0.03em;\n line-height: 1.05;\n margin: 0;\n text-wrap: balance;\n}\n.np-docs-front-lede {\n font-size: 1.125rem;\n line-height: 1.55;\n color: var(--np-color-muted-foreground);\n max-width: 60ch;\n margin: 0;\n}\n.np-docs-front-cta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.65rem;\n margin-top: 0.5rem;\n}\n.np-docs-front-cta-primary {\n display: inline-flex;\n align-items: center;\n gap: 0.4rem;\n font-size: 0.92rem;\n font-weight: 500;\n padding: 0.55rem 1.05rem;\n border-radius: 999px;\n background: var(--np-color-foreground);\n color: var(--np-color-background);\n text-decoration: none;\n}\n.np-docs-front-cta-primary:hover {\n background: color-mix(in oklab, var(--np-color-foreground) 85%, transparent);\n}\n.np-docs-front-cta-secondary {\n display: inline-flex;\n align-items: center;\n font-size: 0.92rem;\n padding: 0.55rem 1.05rem;\n border-radius: 999px;\n color: var(--np-color-foreground);\n text-decoration: none;\n border: 1px solid var(--np-color-border);\n}\n.np-docs-front-cta-secondary:hover {\n background: var(--np-color-muted);\n}\n\n.np-docs-front-groups {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 1rem;\n}\n@media (max-width: 720px) {\n .np-docs-front-groups { grid-template-columns: 1fr; }\n}\n.np-docs-front-group {\n display: grid;\n gap: 0.5rem;\n padding: 1.4rem 1.4rem 1.6rem;\n border-radius: var(--np-radius-lg, 10px);\n border: 1px solid var(--np-color-border);\n background: var(--np-color-card);\n text-decoration: none;\n color: inherit;\n transition: border-color 120ms ease, transform 120ms ease;\n}\n.np-docs-front-group:hover {\n border-color: var(--np-color-primary);\n transform: translateY(-1px);\n}\n.np-docs-front-group-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 1.05rem;\n font-weight: 600;\n margin: 0;\n}\n.np-docs-front-group-count {\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.7rem;\n letter-spacing: 0.04em;\n color: var(--np-color-muted-foreground);\n font-weight: 400;\n}\n.np-docs-front-group-lede {\n margin: 0;\n font-size: 0.9rem;\n line-height: 1.5;\n color: var(--np-color-muted-foreground);\n}\n.np-docs-front-group-children {\n list-style: none;\n margin: 0.4rem 0 0;\n padding: 0;\n display: grid;\n gap: 0.25rem;\n}\n.np-docs-front-group-children li {\n font-size: 0.86rem;\n color: var(--np-color-muted-foreground);\n display: inline-flex;\n align-items: center;\n gap: 0.4rem;\n}\n\n.np-docs-front-recent {\n display: grid;\n gap: 0.75rem;\n}\n.np-docs-front-recent-eyebrow {\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.7rem;\n letter-spacing: 0.18em;\n text-transform: uppercase;\n color: var(--np-color-muted-foreground);\n margin: 0;\n}\n.np-docs-front-recent-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: grid;\n gap: 0.5rem;\n}\n.np-docs-front-recent-list a {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 1rem;\n padding: 0.5rem 0;\n border-bottom: 1px solid var(--np-color-border);\n text-decoration: none;\n color: inherit;\n}\n.np-docs-front-recent-list li:last-child a {\n border-bottom: 0;\n}\n.np-docs-front-recent-list a:hover {\n color: var(--np-color-primary);\n}\n.np-docs-front-recent-title {\n font-size: 0.95rem;\n}\n.np-docs-front-recent-time {\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.75rem;\n color: var(--np-color-muted-foreground);\n flex-shrink: 0;\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n * Members shell (DocsMembersShell \u2014 /members/* routes)\n *\n * Drops the docs sidebar \u2014 hierarchical navigation is useless\n * on auth forms. Reuses DocsHeader directly. Body becomes a\n * narrow centered column for the form / status content.\n * \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.np-docs-members {\n padding: 4rem 1.5rem;\n min-height: 60vh;\n}\n.np-docs-members-column {\n max-width: 32rem;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n";
|
|
124
|
+
declare const docsCss = "\n.np-docs-shell {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n background: var(--np-color-background);\n color: var(--np-color-foreground);\n font-family: var(--np-font-body, \"Geist\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif);\n line-height: 1.6;\n -webkit-font-smoothing: antialiased;\n}\n.np-docs-shell a { color: inherit; }\n.np-docs-shell code,\n.np-docs-shell pre,\n.np-docs-shell kbd {\n font-family: var(--np-font-mono, \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace);\n}\n\n.np-docs-api,\n.np-docs-changelog-page {\n max-width: 980px;\n margin: 0 auto;\n padding: 3rem 1rem 5rem;\n}\n.np-docs-api-hero,\n.np-docs-changelog-hero {\n padding: 3rem 0 2rem;\n}\n.np-docs-api-eyebrow,\n.np-docs-changelog-hero p {\n margin: 0 0 0.8rem;\n font-family: var(--np-font-mono);\n color: var(--np-color-primary);\n font-size: 0.78rem;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n}\n.np-docs-api-hero h1,\n.np-docs-changelog-hero h1 {\n margin: 0;\n font-size: clamp(2.4rem, 5vw, 4.4rem);\n line-height: 1;\n letter-spacing: -0.04em;\n}\n.np-docs-api-hero p,\n.np-docs-changelog-hero span {\n display: block;\n max-width: 44rem;\n margin-top: 1rem;\n color: var(--np-color-muted-foreground);\n font-size: 1.05rem;\n}\n.np-docs-api-signature {\n overflow: hidden;\n border: 1px solid var(--np-color-border);\n border-radius: 14px;\n background: #0b1220;\n color: #e6edf6;\n}\n.np-docs-api-signature-head {\n display: flex;\n justify-content: space-between;\n gap: 1rem;\n padding: 0.8rem 1rem;\n color: #93c5fd;\n border-bottom: 1px solid rgba(255,255,255,0.12);\n font-family: var(--np-font-mono);\n font-size: 0.78rem;\n}\n.np-docs-api-signature pre {\n margin: 0;\n padding: 1.2rem;\n overflow-x: auto;\n font-size: 0.85rem;\n line-height: 1.65;\n}\n.np-docs-api-section { padding-top: 2.5rem; }\n.np-docs-api-section h2 {\n margin: 0 0 1rem;\n font-size: 1.35rem;\n}\n.np-docs-api-table {\n border: 1px solid var(--np-color-border);\n border-radius: 14px;\n overflow: hidden;\n background: var(--np-color-card);\n}\n.np-docs-api-row {\n display: grid;\n grid-template-columns: 10rem 7rem minmax(0, 1fr);\n gap: 1rem;\n padding: 1rem;\n border-bottom: 1px solid var(--np-color-border);\n}\n.np-docs-api-row:last-child { border-bottom: 0; }\n.np-docs-api-row span {\n color: var(--np-color-primary);\n font-family: var(--np-font-mono);\n font-size: 0.76rem;\n}\n.np-docs-api-row p { margin: 0; color: var(--np-color-muted-foreground); }\n.np-docs-changelog-timeline {\n list-style: none;\n margin: 2rem 0 0;\n padding: 0;\n border-top: 1px solid var(--np-color-border);\n}\n.np-docs-changelog-release {\n display: grid;\n grid-template-columns: 13rem minmax(0, 1fr);\n gap: 2rem;\n padding: 1.6rem 0;\n border-bottom: 1px solid var(--np-color-border);\n}\n.np-docs-changelog-release aside {\n display: grid;\n gap: 0.3rem;\n align-content: start;\n}\n.np-docs-changelog-release aside strong {\n font-size: 1.25rem;\n letter-spacing: -0.02em;\n}\n.np-docs-changelog-release aside span,\n.np-docs-changelog-release aside i {\n color: var(--np-color-muted-foreground);\n font-style: normal;\n font-size: 0.82rem;\n}\n.np-docs-changelog-release p {\n display: grid;\n grid-template-columns: 6.5rem minmax(0, 1fr);\n gap: 1rem;\n margin: 0 0 0.85rem;\n}\n.np-docs-changelog-release p span {\n justify-self: start;\n padding: 0.12rem 0.45rem;\n border-radius: 999px;\n border: 1px solid var(--np-color-border);\n font-family: var(--np-font-mono);\n font-size: 0.7rem;\n color: var(--np-color-primary);\n}\n@media (max-width: 760px) {\n .np-docs-api-row,\n .np-docs-changelog-release,\n .np-docs-changelog-release p {\n grid-template-columns: 1fr;\n }\n}\n\n/* ============================================================\n * Header \u2014 sticky bar with brand + version pill, \u2318K search in\n * the center, primary nav + GitHub link on the right. Grid\n * keeps everything anchored regardless of viewport width.\n * ============================================================ */\n.np-docs-header {\n position: sticky;\n top: 0;\n z-index: 30;\n background: color-mix(in oklab, var(--np-color-background) 80%, transparent);\n backdrop-filter: saturate(140%) blur(14px);\n -webkit-backdrop-filter: saturate(140%) blur(14px);\n border-bottom: 1px solid var(--np-color-border);\n}\n.np-docs-header-inner {\n max-width: 1380px;\n margin: 0 auto;\n padding: 0.7rem 1.5rem;\n display: grid;\n grid-template-columns: auto 1fr auto;\n gap: 1.5rem;\n align-items: center;\n}\n.np-docs-brand {\n display: inline-flex;\n align-items: center;\n gap: 0.55rem;\n font-weight: 700;\n font-size: 1.0625rem;\n letter-spacing: -0.02em;\n text-decoration: none;\n}\n.np-docs-brand-mark {\n width: 1.55rem;\n height: 1.55rem;\n border-radius: 6px;\n background: linear-gradient(135deg, var(--np-color-primary, #2563eb), #0ea5e9);\n position: relative;\n flex: none;\n}\n.np-docs-brand-mark::after {\n content: \"\";\n position: absolute;\n inset: 5px;\n border-radius: 2px;\n background: var(--np-color-background, #fff);\n opacity: 0.95;\n clip-path: polygon(0 0, 100% 0, 100% 100%, 60% 100%, 0 35%);\n}\n.np-docs-brand-version {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n font-weight: 500;\n color: var(--np-color-primary);\n background: color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card));\n padding: 0.15rem 0.45rem;\n border-radius: 5px;\n}\n\n.np-docs-search-form {\n max-width: 520px;\n width: 100%;\n position: relative;\n justify-self: center;\n}\n.np-docs-search-form svg {\n position: absolute;\n top: 50%;\n left: 0.85rem;\n transform: translateY(-50%);\n color: var(--np-color-muted-foreground);\n}\n.np-docs-search-input {\n width: 100%;\n padding: 0.55rem 0.85rem 0.55rem 2.4rem;\n font: inherit;\n font-size: 0.875rem;\n color: var(--np-color-foreground);\n background: var(--np-color-card);\n border: 1px solid var(--np-color-border);\n border-radius: 9px;\n}\n.np-docs-search-input::placeholder {\n color: var(--np-color-muted-foreground);\n}\n.np-docs-search-input:focus {\n outline: none;\n border-color: var(--np-color-primary);\n box-shadow: 0 0 0 3px color-mix(in oklab, var(--np-color-primary) 22%, transparent);\n}\n.np-docs-search-kbd {\n position: absolute;\n right: 0.6rem;\n top: 50%;\n transform: translateY(-50%);\n font-size: 0.7rem;\n padding: 0.1rem 0.4rem;\n color: var(--np-color-muted-foreground);\n border: 1px solid var(--np-color-border);\n border-radius: 4px;\n}\n\n.np-docs-nav {\n display: flex;\n align-items: center;\n gap: 1.25rem;\n}\n.np-docs-primary-nav {\n display: flex;\n list-style: none;\n gap: 1.25rem;\n margin: 0;\n padding: 0;\n}\n.np-docs-primary-nav a {\n color: var(--np-color-muted-foreground);\n font-size: 0.875rem;\n font-weight: 500;\n text-decoration: none;\n}\n.np-docs-primary-nav a:hover,\n.np-docs-primary-nav a[aria-current=\"page\"] {\n color: var(--np-color-foreground);\n}\n@media (max-width: 800px) {\n .np-docs-header-inner {\n grid-template-columns: auto 1fr auto;\n gap: 0.75rem;\n }\n .np-docs-search-form { display: none; }\n .np-docs-primary-nav { display: none; }\n}\n\n/* ============================================================\n * 3-column layout: sidebar + article + on-page TOC.\n * ============================================================ */\n.np-docs-grid,\n.np-docs-body {\n max-width: 1380px;\n margin: 0 auto;\n width: 100%;\n display: grid;\n grid-template-columns: 260px minmax(0, 1fr) 220px;\n gap: 3rem;\n padding: 2.25rem 1.5rem 4rem;\n}\n@media (max-width: 1100px) {\n .np-docs-grid,\n .np-docs-body {\n grid-template-columns: 240px minmax(0, 1fr);\n }\n .np-docs-toc { display: none; }\n}\n@media (max-width: 800px) {\n .np-docs-grid,\n .np-docs-body {\n grid-template-columns: 1fr;\n }\n .np-docs-sidebar { display: none; }\n}\n\n/* Non-docs routes (home / about / pricing / contact / member pages):\n * collapse the 3-col grid to a single wide column and hide the\n * doc-only chrome (sidebar + TOC) so a generic pages doc has full\n * canvas width instead of being squeezed into the 800-ish px\n * article column reserved for the /docs reading lane. */\n.np-docs-shell[data-layout=\"page\"] .np-docs-grid {\n grid-template-columns: minmax(0, 1fr);\n}\n.np-docs-shell[data-layout=\"page\"] .np-docs-sidebar,\n.np-docs-shell[data-layout=\"page\"] .np-docs-toc {\n display: none;\n}\n/* Framework's globals.css caps .np-page at 48rem (~768px) so a\n * regular pages doc rendered through the catch-all's fallback\n * wrapper stays squeezed even after the grid collapse above.\n * Lift the cap inside the page-layout so block-level content\n * (hero, features, stats) can stretch to the docs container. */\n.np-docs-shell[data-layout=\"page\"] .np-page {\n max-width: none;\n margin: 0;\n padding: 0;\n}\n\n/* ============================================================\n * Sidebar \u2014 grouped link list with bullet eyebrow + badges.\n * ============================================================ */\n.np-docs-sidebar {\n position: sticky;\n top: 4.25rem;\n align-self: start;\n max-height: calc(100vh - 5rem);\n overflow-y: auto;\n padding-right: 0.5rem;\n}\n.np-docs-sidebar-group { margin-bottom: 1.5rem; }\n.np-docs-sidebar-eyebrow {\n display: flex;\n align-items: center;\n gap: 0.4rem;\n font-family: var(--np-font-mono);\n font-size: 0.7rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n margin: 0 0 0.65rem;\n font-weight: 600;\n}\n.np-docs-sidebar-eyebrow-dot {\n width: 0.4rem;\n height: 0.4rem;\n border-radius: 50%;\n background: var(--np-color-primary);\n}\n/* Leaf top-level doc rendered as a clickable eyebrow \u2014 inherits\n * the eyebrow typography (mono / uppercase / 0.7rem) so it sits\n * in the same visual row as sibling group eyebrows; primary\n * accent on current, foreground on hover. */\n.np-docs-sidebar-eyebrow-link {\n color: inherit;\n text-decoration: none;\n font: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n}\n.np-docs-sidebar-eyebrow-link:hover {\n color: var(--np-color-foreground);\n}\n.np-docs-sidebar-eyebrow-link[data-current=\"true\"],\n.np-docs-sidebar-eyebrow-link[aria-current=\"page\"] {\n color: var(--np-color-primary);\n}\n.np-docs-sidebar ul {\n list-style: none;\n padding: 0;\n margin: 0;\n}\n.np-docs-sidebar li { margin: 0.05rem 0; }\n.np-docs-sidebar a {\n display: block;\n padding: 0.34rem 0.6rem;\n font-size: 0.875rem;\n color: var(--np-color-muted-foreground);\n text-decoration: none;\n border-radius: 6px;\n line-height: 1.35;\n}\n.np-docs-sidebar a:hover {\n background: var(--np-color-muted);\n color: var(--np-color-foreground);\n}\n.np-docs-sidebar a[data-current=\"true\"],\n.np-docs-sidebar a[aria-current=\"page\"] {\n color: var(--np-color-primary);\n background: color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card));\n font-weight: 500;\n}\n.np-docs-sidebar ul ul {\n margin-left: 0.5rem;\n padding-left: 0.85rem;\n border-left: 1px solid var(--np-color-border);\n}\n.np-docs-sidebar-badge {\n display: inline-block;\n font-family: var(--np-font-mono);\n font-size: 0.62rem;\n padding: 0.02rem 0.34rem;\n margin-left: 0.4rem;\n vertical-align: 1px;\n border-radius: 4px;\n background: var(--np-color-muted);\n color: var(--np-color-muted-foreground);\n font-weight: 500;\n}\n.np-docs-sidebar-badge.new { background: #dcfce7; color: #166534; }\n.np-docs-sidebar-badge.beta { background: #fef3c7; color: #92400e; }\n.np-docs-sidebar-badge.api {\n background: color-mix(in oklab, var(--np-color-primary) 16%, var(--np-color-card));\n color: var(--np-color-primary);\n}\n\n/* ============================================================\n * Doc page \u2014 article column. h1 + lede + meta row + sections\n * with hovered anchor link icon.\n * ============================================================ */\n.np-docs-page {\n max-width: 760px;\n min-width: 0;\n}\n.np-docs-breadcrumbs {\n display: flex;\n align-items: center;\n gap: 0.4rem;\n font-size: 0.8125rem;\n color: var(--np-color-muted-foreground);\n margin-bottom: 1rem;\n}\n.np-docs-breadcrumbs a {\n color: inherit;\n text-decoration: none;\n}\n.np-docs-breadcrumbs a:hover { color: var(--np-color-foreground); }\n.np-docs-breadcrumbs-sep { opacity: 0.5; }\n\n.np-docs-page h1 {\n font-size: clamp(2rem, 3.6vw, 2.5rem);\n font-weight: 700;\n letter-spacing: -0.03em;\n line-height: 1.1;\n margin: 0 0 0.5rem;\n text-wrap: balance;\n}\n.np-docs-page-lede {\n font-size: 1.125rem;\n color: var(--np-color-muted-foreground);\n line-height: 1.55;\n margin: 0 0 2rem;\n max-width: 38rem;\n text-wrap: pretty;\n}\n.np-docs-page-meta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n align-items: center;\n font-size: 0.8125rem;\n color: var(--np-color-muted-foreground);\n padding: 0.85rem 0;\n margin-bottom: 2rem;\n border-top: 1px solid var(--np-color-border);\n border-bottom: 1px solid var(--np-color-border);\n}\n.np-docs-page-meta-pill {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.15rem 0.55rem;\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n border: 1px solid var(--np-color-border);\n border-radius: 999px;\n background: var(--np-color-card);\n}\n.np-docs-page-meta-pill.status {\n color: var(--np-color-success, #047857);\n border-color: #bbf7d0;\n background: var(--np-color-success-soft, #f0fdf4);\n}\n.np-docs-page-meta-pill.status::before {\n content: \"\";\n width: 0.4rem;\n height: 0.4rem;\n border-radius: 50%;\n background: var(--np-color-success, #047857);\n}\n.np-docs-page-meta-sep { opacity: 0.4; }\n.np-docs-page-meta a {\n color: var(--np-color-primary);\n text-decoration: none;\n margin-left: auto;\n}\n.np-docs-page-meta a:hover { text-decoration: underline; }\n\n.np-docs-page h2 {\n font-size: 1.5rem;\n font-weight: 600;\n letter-spacing: -0.02em;\n line-height: 1.25;\n margin: 3rem 0 0.85rem;\n scroll-margin-top: 5rem;\n position: relative;\n}\n.np-docs-page h2:first-of-type { margin-top: 2.5rem; }\n.np-docs-page h3 {\n font-size: 1.1rem;\n font-weight: 600;\n letter-spacing: -0.01em;\n margin: 2.25rem 0 0.7rem;\n scroll-margin-top: 5rem;\n position: relative;\n}\n.np-docs-page p { margin: 0 0 1rem; }\n.np-docs-page p code,\n.np-docs-page li code {\n font-size: 0.875em;\n padding: 0.1em 0.35em;\n background: var(--np-color-muted);\n border: 1px solid var(--np-color-border);\n border-radius: 4px;\n}\n.np-docs-page strong { font-weight: 600; }\n.np-docs-page ul,\n.np-docs-page ol {\n margin: 0 0 1rem;\n padding-left: 1.4rem;\n}\n.np-docs-page li { margin: 0.35rem 0; }\n.np-docs-page a:not(.np-docs-prev-next a):not(.np-docs-anchor) {\n color: var(--np-color-primary);\n text-decoration: underline;\n text-underline-offset: 3px;\n text-decoration-thickness: 1px;\n text-decoration-color: color-mix(in oklab, var(--np-color-primary) 45%, transparent);\n}\n.np-docs-page a:not(.np-docs-prev-next a):not(.np-docs-anchor):hover {\n text-decoration-color: currentColor;\n}\n\n/* Anchor icon \u2014 visible only on heading hover. */\n.np-docs-anchor {\n position: absolute;\n left: -1.3rem;\n top: 50%;\n transform: translateY(-50%);\n color: var(--np-color-muted-foreground);\n opacity: 0;\n text-decoration: none !important;\n font-weight: 400;\n}\n.np-docs-page h2:hover .np-docs-anchor,\n.np-docs-page h3:hover .np-docs-anchor { opacity: 1; }\n\n/* ============================================================\n * Callouts \u2014 info (default) / note (indigo) / warn (amber) /\n * danger (red). 3px left rule carries the variant color.\n * ============================================================ */\n.np-docs-callout {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.85rem;\n padding: 1rem 1.15rem;\n border: 1px solid var(--np-color-border);\n border-left: 3px solid var(--np-color-primary);\n border-radius: 8px;\n background: var(--np-color-card);\n margin: 1.25rem 0;\n font-size: 0.95rem;\n line-height: 1.55;\n}\n.np-docs-callout > svg,\n.np-docs-callout-icon {\n width: 1.25rem;\n height: 1.25rem;\n flex-shrink: 0;\n color: var(--np-color-primary);\n margin-top: 0.1rem;\n}\n.np-docs-callout p { margin: 0; }\n.np-docs-callout-title {\n font-weight: 600;\n margin-bottom: 0.15rem;\n color: var(--np-color-foreground);\n}\n.np-docs-callout--warn {\n border-left-color: var(--np-color-warning, #b45309);\n background: var(--np-color-warning-soft, #fffbeb);\n border-color: #fde68a;\n}\n.np-docs-callout--warn .np-docs-callout-icon,\n.np-docs-callout--warn > svg { color: var(--np-color-warning, #b45309); }\n.np-docs-callout--note {\n border-left-color: #6366f1;\n background: #eef2ff;\n border-color: #c7d2fe;\n}\n.np-docs-callout--note .np-docs-callout-icon,\n.np-docs-callout--note > svg { color: #4338ca; }\n.np-docs-callout--danger {\n border-left-color: var(--np-color-danger, #b91c1c);\n background: var(--np-color-danger-soft, #fef2f2);\n border-color: #fecaca;\n}\n.np-docs-callout--danger .np-docs-callout-icon,\n.np-docs-callout--danger > svg { color: var(--np-color-danger, #b91c1c); }\n\n/* ============================================================\n * Code blocks \u2014 dark surface with a file-named header and a\n * copy button. Syntax tokens (.tk-*) cover the common slots\n * (keyword / string / function / number / type / punctuation /\n * comment) using a muted neutral-paired palette so the block\n * reads at the same contrast as the page chrome.\n * ============================================================ */\n.np-docs-code {\n margin: 1.25rem 0;\n border-radius: 10px;\n background: var(--np-color-code-bg, #0b1220);\n color: var(--np-color-code-fg, #e6edf6);\n overflow: hidden;\n border: 1px solid var(--np-color-code-head, #1e2939);\n}\n.np-docs-code-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.55rem 0.85rem;\n background: var(--np-color-code-border, #0f1a2b);\n border-bottom: 1px solid #1e293b;\n}\n.np-docs-code-file {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n font-family: var(--np-font-mono);\n font-size: 0.78rem;\n color: #94a3b8;\n}\n.np-docs-code-file svg { color: #64748b; }\n.np-docs-code-copy {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.25rem 0.55rem;\n font-size: 0.72rem;\n font-family: var(--np-font-mono);\n color: #94a3b8;\n background: transparent;\n border: 1px solid #1e293b;\n border-radius: 5px;\n cursor: pointer;\n}\n.np-docs-code-copy:hover {\n color: #e2e8f0;\n border-color: #334155;\n}\n.np-docs-code pre {\n margin: 0;\n padding: 1rem 1.1rem;\n font-size: 0.825rem;\n line-height: 1.65;\n overflow-x: auto;\n}\n.np-docs-code pre code {\n display: block;\n font-family: inherit;\n background: transparent;\n border: 0;\n padding: 0;\n color: inherit;\n}\n.tk-c { color: #64748b; font-style: italic; }\n.tk-k { color: #c084fc; }\n.tk-s { color: #86efac; }\n.tk-f { color: #93c5fd; }\n.tk-t { color: #fcd34d; }\n.tk-n { color: #f9a8d4; }\n.tk-p { color: #e2e8f0; }\n\n/* Inline shell snippet \u2014 for terse `pnpm dev` style commands.\n * Named `cmdline` (not `shell`) so it doesn't collide with the\n * route shell container at `.np-docs-shell`. */\n.np-docs-cmdline {\n display: grid;\n grid-template-columns: auto 1fr auto;\n gap: 0.7rem;\n align-items: center;\n padding: 0.75rem 1rem;\n margin: 1.25rem 0;\n background: var(--np-color-code-bg, #0b1220);\n color: var(--np-color-code-fg, #e6edf6);\n border-radius: 9px;\n font-family: var(--np-font-mono);\n font-size: 0.875rem;\n}\n.np-docs-cmdline-prompt { color: #34d399; }\n.np-docs-cmdline-cmd { color: #e2e8f0; }\n.np-docs-cmdline-copy {\n padding: 0.2rem 0.55rem;\n font-size: 0.7rem;\n color: #94a3b8;\n background: transparent;\n border: 1px solid #1e293b;\n border-radius: 5px;\n cursor: pointer;\n}\n.np-docs-cmdline-copy:hover { color: #e2e8f0; border-color: #334155; }\n\n/* ============================================================\n * Numbered steps \u2014 counter on a soft pill before each step.\n * ============================================================ */\n.np-docs-steps {\n counter-reset: step;\n list-style: none;\n padding: 0;\n margin: 1.5rem 0;\n display: grid;\n gap: 1rem;\n}\n.np-docs-steps > li {\n counter-increment: step;\n display: grid;\n grid-template-columns: 2.1rem 1fr;\n gap: 0.85rem;\n align-items: start;\n}\n.np-docs-steps > li::before {\n content: counter(step);\n width: 1.85rem;\n height: 1.85rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-family: var(--np-font-mono);\n font-size: 0.85rem;\n font-weight: 600;\n color: var(--np-color-primary);\n background: color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card));\n border-radius: 50%;\n}\n.np-docs-step-title {\n font-weight: 600;\n margin: 0.25rem 0 0.25rem;\n}\n.np-docs-step-body {\n margin: 0;\n color: var(--np-color-muted-foreground);\n}\n\n/* ============================================================\n * API / reference tables \u2014 uppercase mono headers.\n * ============================================================ */\n.np-docs-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 0.875rem;\n margin: 1.25rem 0;\n}\n.np-docs-table thead { background: var(--np-color-muted); }\n.np-docs-table th,\n.np-docs-table td {\n text-align: left;\n padding: 0.7rem 0.85rem;\n border-bottom: 1px solid var(--np-color-border);\n vertical-align: top;\n}\n.np-docs-table th {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--np-color-muted-foreground);\n font-weight: 600;\n}\n.np-docs-table td:first-child code {\n color: var(--np-color-foreground);\n font-weight: 500;\n}\n.np-docs-table-required {\n display: inline-block;\n font-family: var(--np-font-mono);\n font-size: 0.65rem;\n padding: 0.05rem 0.35rem;\n margin-left: 0.4rem;\n background: #fef3c7;\n color: #92400e;\n border-radius: 4px;\n vertical-align: 1px;\n}\n\n/* ============================================================\n * Prev / next \u2014 symmetric pair at the foot of every doc page.\n * Hover lifts the bordered card and tints the border primary.\n * ============================================================ */\n.np-docs-prev-next {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 1rem;\n margin: 3.5rem 0 1rem;\n padding-top: 2rem;\n border-top: 1px solid var(--np-color-border);\n}\n.np-docs-prev-next a {\n display: block;\n padding: 1rem 1.15rem;\n background: var(--np-color-card);\n border: 1px solid var(--np-color-border);\n border-radius: 10px;\n text-decoration: none;\n transition: border-color 0.15s ease, transform 0.2s ease;\n}\n.np-docs-prev-next a:hover {\n border-color: var(--np-color-primary);\n transform: translateY(-1px);\n}\n.np-docs-prev-next-dir,\n.np-docs-prev-next-label {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n color: var(--np-color-muted-foreground);\n letter-spacing: 0.05em;\n margin-bottom: 0.25rem;\n}\n.np-docs-prev-next-title {\n font-weight: 600;\n font-size: 0.95rem;\n}\n.np-docs-prev-next a.np-docs-prev-next-next,\n.np-docs-prev-next a:last-child { text-align: right; }\n.np-docs-prev-next[data-single=\"prev\"],\n.np-docs-prev-next[data-single=\"next\"] { grid-template-columns: 1fr; }\n.np-docs-prev-next[data-single=\"prev\"] a.np-docs-prev-next-prev,\n.np-docs-prev-next[data-single=\"next\"] a.np-docs-prev-next-next { width: 100%; }\n.np-docs-prev-next[data-single=\"prev\"] a.np-docs-prev-next-prev { text-align: left; }\n\n/* ============================================================\n * Feedback row \u2014 Yes / Could be better buttons under each page.\n * ============================================================ */\n.np-docs-feedback {\n margin-top: 3rem;\n padding: 1.25rem;\n background: var(--np-color-muted);\n border: 1px solid var(--np-color-border);\n border-radius: 10px;\n display: flex;\n gap: 1rem;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n.np-docs-feedback-title { font-weight: 600; font-size: 0.95rem; }\n.np-docs-feedback-helper {\n font-size: 0.825rem;\n color: var(--np-color-muted-foreground);\n margin-top: 0.15rem;\n}\n.np-docs-feedback-buttons {\n display: flex;\n gap: 0.5rem;\n}\n.np-docs-feedback-buttons button {\n padding: 0.4rem 0.85rem;\n font: inherit;\n font-size: 0.825rem;\n background: var(--np-color-card);\n border: 1px solid var(--np-color-border);\n border-radius: 7px;\n cursor: pointer;\n}\n.np-docs-feedback-buttons button:hover {\n border-color: var(--np-color-primary);\n color: var(--np-color-primary);\n}\n\n/* ============================================================\n * On-page TOC \u2014 right rail, sticky, current section gets a\n * primary border + soft gradient.\n * ============================================================ */\n.np-docs-toc {\n position: sticky;\n top: 4.25rem;\n align-self: start;\n max-height: calc(100vh - 5rem);\n overflow-y: auto;\n font-size: 0.825rem;\n}\n.np-docs-toc-eyebrow {\n font-family: var(--np-font-mono);\n font-size: 0.7rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n margin: 0 0 0.75rem;\n font-weight: 600;\n}\n.np-docs-toc ul {\n list-style: none;\n padding: 0;\n margin: 0;\n}\n.np-docs-toc li { margin: 0.05rem 0; }\n.np-docs-toc a {\n display: block;\n padding: 0.3rem 0.5rem;\n color: var(--np-color-muted-foreground);\n text-decoration: none;\n border-left: 2px solid transparent;\n margin-left: -2px;\n line-height: 1.4;\n}\n.np-docs-toc a:hover { color: var(--np-color-foreground); }\n.np-docs-toc a[data-current=\"true\"],\n.np-docs-toc a[aria-current=\"location\"],\n.np-docs-toc a[aria-current=\"true\"] {\n color: var(--np-color-primary);\n border-left-color: var(--np-color-primary);\n background: linear-gradient(\n to right,\n color-mix(in oklab, var(--np-color-primary) 14%, var(--np-color-card)),\n transparent 80%\n );\n}\n.np-docs-toc ul ul { margin-left: 0.85rem; }\n.np-docs-toc-l3 { margin-left: 0.85rem; }\n.np-docs-toc-secondary {\n margin-top: 1.5rem;\n padding-top: 1rem;\n border-top: 1px solid var(--np-color-border);\n}\n.np-docs-toc-secondary a {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.2rem 0;\n border-left: 0;\n margin: 0;\n}\n.np-docs-toc-secondary a:hover { background: transparent; }\n\n/* Empty / not-found surfaces \u2014 used by routes/not-found and\n * the docs collection's empty state. */\n.np-docs-empty {\n padding: 4rem 1.5rem;\n text-align: center;\n color: var(--np-color-muted-foreground);\n}\n.np-docs-empty h1 {\n font-size: 1.5rem;\n margin: 0 0 0.5rem;\n color: var(--np-color-foreground);\n}\n\n/* ============================================================\n * Search route \u2014 wraps DocsSearch's output. Eyebrow + result\n * cards reuse the docs chrome (mono small caps, hairline rules,\n * bordered card with hover lift).\n * ============================================================ */\n.np-docs-search {\n max-width: 800px;\n margin: 0 auto;\n padding-top: 2.25rem;\n}\n.np-docs-search-heading {\n font-family: var(--np-font-mono);\n font-size: 0.72rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n font-weight: 600;\n margin: 0 0 0.5rem;\n}\n.np-docs-search h1 {\n font-size: 1.75rem;\n font-weight: 700;\n letter-spacing: -0.02em;\n margin: 0 0 1.5rem;\n text-wrap: balance;\n}\n.np-docs-search-empty {\n color: var(--np-color-muted-foreground);\n padding: 1.5rem 0;\n font-size: 0.95rem;\n}\n.np-docs-search-results {\n list-style: none;\n padding: 0;\n margin: 1.5rem 0 0;\n display: grid;\n gap: 1rem;\n}\n.np-docs-search-result {\n padding: 1rem 1.15rem;\n border: 1px solid var(--np-color-border);\n border-radius: 10px;\n background: var(--np-color-card);\n transition: border-color 0.15s ease, transform 0.2s ease;\n}\n.np-docs-search-result:hover {\n border-color: var(--np-color-primary);\n transform: translateY(-1px);\n}\n.np-docs-search-result-eyebrow {\n font-family: var(--np-font-mono);\n font-size: 0.68rem;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--np-color-muted-foreground);\n margin: 0 0 0.35rem;\n}\n.np-docs-search-result h2 {\n font-size: 1.05rem;\n font-weight: 600;\n margin: 0 0 0.4rem;\n}\n.np-docs-search-result h2 a {\n color: var(--np-color-foreground);\n text-decoration: none;\n}\n.np-docs-search-result h2 a:hover { color: var(--np-color-primary); }\n.np-docs-search-result-excerpt {\n margin: 0;\n font-size: 0.875rem;\n color: var(--np-color-muted-foreground);\n line-height: 1.55;\n}\n\n/* ============================================================\n * Front-page landing \u2014 eyebrow + display heading + lede +\n * primary CTA + 2x2 group cards + recently-updated row.\n * Renders inside the single-column page layout\n * (data-layout=\"page\" on the shell collapses the 3-col grid).\n * ============================================================ */\n.np-docs-front {\n max-width: 880px;\n margin: 0 auto;\n padding: 2.5rem 0 4rem;\n display: grid;\n gap: 3rem;\n}\n.np-docs-front-hero {\n display: grid;\n gap: 1rem;\n}\n.np-docs-front-eyebrow {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.72rem;\n letter-spacing: 0.16em;\n text-transform: uppercase;\n color: var(--np-color-primary);\n background: var(--np-color-primary-soft, color-mix(in oklab, var(--np-color-primary) 10%, transparent));\n padding: 0.32rem 0.6rem;\n border-radius: 999px;\n align-self: start;\n justify-self: start;\n}\n.np-docs-front-eyebrow-dot {\n width: 6px;\n height: 6px;\n border-radius: 999px;\n background: var(--np-color-success, currentColor);\n display: inline-block;\n}\n.np-docs-front h1 {\n font-size: clamp(2.4rem, 4.2vw, 3rem);\n font-weight: 700;\n letter-spacing: -0.03em;\n line-height: 1.05;\n margin: 0;\n text-wrap: balance;\n}\n.np-docs-front-lede {\n font-size: 1.125rem;\n line-height: 1.55;\n color: var(--np-color-muted-foreground);\n max-width: 60ch;\n margin: 0;\n}\n.np-docs-front-cta {\n display: flex;\n flex-wrap: wrap;\n gap: 0.65rem;\n margin-top: 0.5rem;\n}\n.np-docs-front-cta-primary {\n display: inline-flex;\n align-items: center;\n gap: 0.4rem;\n font-size: 0.92rem;\n font-weight: 500;\n padding: 0.55rem 1.05rem;\n border-radius: 999px;\n background: var(--np-color-foreground);\n color: var(--np-color-background);\n text-decoration: none;\n}\n.np-docs-front-cta-primary:hover {\n background: color-mix(in oklab, var(--np-color-foreground) 85%, transparent);\n}\n.np-docs-front-cta-secondary {\n display: inline-flex;\n align-items: center;\n font-size: 0.92rem;\n padding: 0.55rem 1.05rem;\n border-radius: 999px;\n color: var(--np-color-foreground);\n text-decoration: none;\n border: 1px solid var(--np-color-border);\n}\n.np-docs-front-cta-secondary:hover {\n background: var(--np-color-muted);\n}\n\n.np-docs-front-groups {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 1rem;\n}\n@media (max-width: 720px) {\n .np-docs-front-groups { grid-template-columns: 1fr; }\n}\n.np-docs-front-group {\n display: grid;\n gap: 0.5rem;\n padding: 1.4rem 1.4rem 1.6rem;\n border-radius: var(--np-radius-lg, 10px);\n border: 1px solid var(--np-color-border);\n background: var(--np-color-card);\n text-decoration: none;\n color: inherit;\n transition: border-color 120ms ease, transform 120ms ease;\n}\n.np-docs-front-group:hover {\n border-color: var(--np-color-primary);\n transform: translateY(-1px);\n}\n.np-docs-front-group-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 1.05rem;\n font-weight: 600;\n margin: 0;\n}\n.np-docs-front-group-count {\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.7rem;\n letter-spacing: 0.04em;\n color: var(--np-color-muted-foreground);\n font-weight: 400;\n}\n.np-docs-front-group-lede {\n margin: 0;\n font-size: 0.9rem;\n line-height: 1.5;\n color: var(--np-color-muted-foreground);\n}\n.np-docs-front-group-children {\n list-style: none;\n margin: 0.4rem 0 0;\n padding: 0;\n display: grid;\n gap: 0.25rem;\n}\n.np-docs-front-group-children li {\n font-size: 0.86rem;\n color: var(--np-color-muted-foreground);\n display: inline-flex;\n align-items: center;\n gap: 0.4rem;\n}\n\n.np-docs-front-recent {\n display: grid;\n gap: 0.75rem;\n}\n.np-docs-front-recent-eyebrow {\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.7rem;\n letter-spacing: 0.18em;\n text-transform: uppercase;\n color: var(--np-color-muted-foreground);\n margin: 0;\n}\n.np-docs-front-recent-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: grid;\n gap: 0.5rem;\n}\n.np-docs-front-recent-list a {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 1rem;\n padding: 0.5rem 0;\n border-bottom: 1px solid var(--np-color-border);\n text-decoration: none;\n color: inherit;\n}\n.np-docs-front-recent-list li:last-child a {\n border-bottom: 0;\n}\n.np-docs-front-recent-list a:hover {\n color: var(--np-color-primary);\n}\n.np-docs-front-recent-title {\n font-size: 0.95rem;\n}\n.np-docs-front-recent-time {\n font-family: var(--np-font-mono, ui-monospace, monospace);\n font-size: 0.75rem;\n color: var(--np-color-muted-foreground);\n flex-shrink: 0;\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n * Members shell (DocsMembersShell \u2014 /members/* routes)\n *\n * Drops the docs sidebar \u2014 hierarchical navigation is useless\n * on auth forms. Reuses DocsHeader directly. Body becomes a\n * narrow centered column for the form / status content.\n * \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.np-docs-members {\n padding: 4rem 1.5rem;\n min-height: 60vh;\n}\n.np-docs-members-column {\n max-width: 32rem;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n}\n";
|
|
125
125
|
|
|
126
126
|
/**
|
|
127
127
|
* Doc page template — three-zone article: header strap
|
|
@@ -149,6 +149,10 @@ declare const docsCss = "\n.np-docs-shell {\n display: flex;\n flex-direction:
|
|
|
149
149
|
*/
|
|
150
150
|
declare function DocPageTemplate({ doc: rawDoc, }: NpTemplateRenderProps): Promise<React.ReactElement>;
|
|
151
151
|
|
|
152
|
+
declare function PageApiReferenceTemplate(_props: NpTemplateRenderProps): react_jsx_runtime.JSX.Element;
|
|
153
|
+
|
|
154
|
+
declare function PageChangelogTemplate(_props: NpTemplateRenderProps): react_jsx_runtime.JSX.Element;
|
|
155
|
+
|
|
152
156
|
declare const docsBlocks: NpBlockDefinition[];
|
|
153
157
|
|
|
154
158
|
/**
|
|
@@ -195,4 +199,4 @@ type DocsSettings = z.infer<typeof docsSettingsSchema>;
|
|
|
195
199
|
*/
|
|
196
200
|
declare const docsTheme: _nexpress_theme.NpTheme;
|
|
197
201
|
|
|
198
|
-
export { DocPageTemplate, DocsHeader, DocsMembersNotFound, DocsMembersShell, DocsNotFound, DocsSearch, type DocsSettings, DocsShell, DocsSidebar, docsBlocks, docsCss, docsSettingsSchema, docsTheme };
|
|
202
|
+
export { DocPageTemplate, DocsHeader, DocsMembersNotFound, DocsMembersShell, DocsNotFound, DocsSearch, type DocsSettings, DocsShell, DocsSidebar, PageApiReferenceTemplate, PageChangelogTemplate, docsBlocks, docsCss, docsSettingsSchema, docsTheme };
|