mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-28 03:00:29 -04:00
* improvement(landing, blog): SEO and GEO optimization * improvement(docs): ui/ux cleanup * chore(blog): remove unused buildBlogJsonLd export and wordCount schema field * fix(blog): stack related posts vertically on mobile and fill all suggestion slots - Add flex-col sm:flex-row and matching border classes to related posts nav for consistent mobile stacking with the main blog page - Remove score > 0 filter in getRelatedPosts so it falls back to recent posts when there aren't enough tag matches - Align description text color with main page cards
1852 lines
55 KiB
CSS
1852 lines
55 KiB
CSS
@import "tailwindcss";
|
|
@import "fumadocs-ui/css/neutral.css";
|
|
@import "fumadocs-ui/css/preset.css";
|
|
@import "fumadocs-openapi/css/preset.css";
|
|
|
|
/* Prevent overscroll bounce effect on the page */
|
|
html,
|
|
body {
|
|
overscroll-behavior: none;
|
|
}
|
|
|
|
/* Prevent modals/dialogs from shifting layout via scroll-lock compensation */
|
|
html,
|
|
body {
|
|
padding-right: 0 !important;
|
|
margin-right: 0 !important;
|
|
}
|
|
|
|
@theme {
|
|
--color-fd-primary: var(--color-fd-foreground);
|
|
}
|
|
|
|
/* Pure white light mode background */
|
|
:root:not(.dark) {
|
|
--color-fd-background: hsl(0, 0%, 100%) !important;
|
|
}
|
|
|
|
/* Match landing page dark background (#1b1b1b) */
|
|
.dark {
|
|
--color-fd-background: hsl(0, 0%, 10.6%) !important;
|
|
--color-fd-card: hsl(0, 0%, 13%) !important;
|
|
--color-fd-popover: hsl(0, 0%, 14%) !important;
|
|
--color-fd-secondary: hsl(0, 0%, 15.5%) !important;
|
|
--color-fd-muted: hsl(0, 0%, 18%) !important;
|
|
}
|
|
|
|
/* Font family utilities */
|
|
.font-sans {
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
|
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
}
|
|
|
|
.font-mono {
|
|
font-family: var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
|
"Liberation Mono", "Courier New", monospace;
|
|
}
|
|
|
|
:root {
|
|
--fd-border-sidebar: transparent !important;
|
|
--fd-nav-height: 92px; /* Custom navbar height (52px top + 40px tabs) */
|
|
/* Content container width used to center main content */
|
|
--spacing-fd-container: 1400px;
|
|
/* Edge gutter = leftover space on each side of centered container */
|
|
--edge-gutter: max(1rem, calc((100vw - var(--spacing-fd-container)) / 2));
|
|
/* How far sidebar/TOC shift inward from the edge gutter */
|
|
--sidebar-shift: 50px;
|
|
--sidebar-offset: max(0px, calc(var(--edge-gutter) - var(--sidebar-shift)));
|
|
--toc-shift: 50px;
|
|
--toc-offset: max(0px, calc(var(--edge-gutter) - var(--toc-shift)));
|
|
/* Inner padding for navbar and sidebar — single source of truth */
|
|
--nav-inset: 44px;
|
|
/* Extra gap between sidebar/TOC and the main text content */
|
|
--content-gap: 2.25rem;
|
|
}
|
|
|
|
/* Light mode navbar background */
|
|
:root:not(.dark) nav {
|
|
background-color: hsla(0, 0%, 100%, 0.85) !important;
|
|
}
|
|
|
|
/* Dark mode navbar background */
|
|
:root.dark nav {
|
|
background-color: hsla(0, 0%, 10.6%, 0.92) !important;
|
|
}
|
|
|
|
:root.dark nav button[data-search-trigger] {
|
|
background-color: hsla(0, 0%, 15%, 0.85) !important;
|
|
backdrop-filter: blur(33px) saturate(180%) !important;
|
|
-webkit-backdrop-filter: blur(33px) saturate(180%) !important;
|
|
color: rgba(255, 255, 255, 0.5) !important;
|
|
}
|
|
|
|
:root.dark nav button[data-search-trigger] kbd {
|
|
color: rgba(255, 255, 255, 0.4) !important;
|
|
}
|
|
|
|
/* Floating sidebar appearance - remove background */
|
|
[data-sidebar-container],
|
|
#nd-sidebar {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
--color-fd-muted: transparent !important;
|
|
--color-fd-card: transparent !important;
|
|
--color-fd-secondary: transparent !important;
|
|
}
|
|
|
|
aside[data-sidebar],
|
|
aside#nd-sidebar {
|
|
background: transparent !important;
|
|
border: none !important;
|
|
}
|
|
|
|
/* Remove the fade-out mask on sidebar scroll viewport (Fumadocs applies inline maskImage) */
|
|
[data-sidebar-placeholder] [data-radix-scroll-area-viewport],
|
|
#nd-sidebar [data-radix-scroll-area-viewport],
|
|
#nd-sidebar [data-radix-scroll-area-viewport] > div,
|
|
aside#nd-sidebar [data-radix-scroll-area-viewport] {
|
|
mask: none !important;
|
|
mask-image: none !important;
|
|
-webkit-mask: none !important;
|
|
-webkit-mask-image: none !important;
|
|
}
|
|
|
|
/* Fumadocs v16: Add sidebar placeholder styling for grid area */
|
|
[data-sidebar-placeholder] {
|
|
background: transparent !important;
|
|
}
|
|
|
|
/* Fumadocs v16: Hide sidebar panel (floating collapse button) */
|
|
[data-sidebar-panel] {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Mobile only: Reduce gap between navbar and content (custom navbar hidden on mobile) */
|
|
@media (max-width: 1023px) {
|
|
#nd-docs-layout {
|
|
margin-top: -25px;
|
|
}
|
|
}
|
|
|
|
/* Hide TOC popover on tablet/medium screens (768px - 1279px) */
|
|
/* Keeps it visible on mobile (<768px) for easy navigation */
|
|
/* Desktop (>=1280px) already hides it via fumadocs xl:hidden */
|
|
@media (min-width: 768px) and (max-width: 1279px) {
|
|
#nd-docs-layout {
|
|
--fd-toc-popover-height: 0px !important;
|
|
}
|
|
|
|
[data-toc-popover] {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
/* Desktop only: Apply custom navbar offset, sidebar width and margin offsets */
|
|
/* On mobile, let fumadocs handle the layout natively */
|
|
@media (min-width: 1024px) {
|
|
:root {
|
|
--fd-banner-height: 92px !important; /* 52px top + 40px tabs */
|
|
}
|
|
|
|
#nd-docs-layout {
|
|
/* Use 100dvh so sidebar height = 100dvh - 92px (banner) = full viewport below navbar */
|
|
--fd-docs-height: 100dvh !important;
|
|
--fd-sidebar-width: 300px !important;
|
|
margin-left: var(--sidebar-offset) !important;
|
|
margin-right: var(--toc-offset) !important;
|
|
min-height: var(--fd-docs-height) !important;
|
|
}
|
|
|
|
/* Sidebar divider line — fixed to viewport, full height from navbar to bottom */
|
|
#nd-docs-layout::before {
|
|
content: "";
|
|
position: fixed;
|
|
top: 92px; /* below navbar */
|
|
bottom: 0;
|
|
left: calc(var(--sidebar-offset) + var(--fd-sidebar-width));
|
|
width: 1px;
|
|
background-color: rgba(0, 0, 0, 0.08);
|
|
pointer-events: none;
|
|
z-index: 21;
|
|
}
|
|
html.dark #nd-docs-layout::before {
|
|
background-color: rgba(255, 255, 255, 0.08);
|
|
}
|
|
|
|
/* Hide fumadocs nav on desktop - we use custom navbar there */
|
|
#nd-docs-layout > header {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
/* Sidebar spacing — left padding aligns item text with navbar content (item has 14px internal padding) */
|
|
[data-sidebar-viewport],
|
|
#nd-sidebar > div {
|
|
padding: 0 14px 0 calc(var(--nav-inset) - 14px) !important;
|
|
background: transparent !important;
|
|
}
|
|
|
|
/* Override Fumadocs p-4 on scroll viewport — must beat Tailwind v4 utility layer specificity */
|
|
html #nd-sidebar [data-radix-scroll-area-viewport],
|
|
html #nd-sidebar [data-radix-scroll-area-viewport].p-4,
|
|
html aside#nd-sidebar [data-radix-scroll-area-viewport] {
|
|
padding: 0 !important;
|
|
padding-top: 0 !important;
|
|
padding-bottom: 0 !important;
|
|
padding-left: 0 !important;
|
|
padding-right: 0 !important;
|
|
}
|
|
|
|
/* Top/bottom breathing room inside the scrollable sidebar content — scrollable, not clipped */
|
|
html #nd-sidebar [data-radix-scroll-area-viewport] > div {
|
|
padding-top: 20px !important;
|
|
padding-bottom: 16px !important;
|
|
}
|
|
|
|
/* Override sidebar item styling to match Raindrop */
|
|
/* Target Link and button elements in sidebar - override Fumadocs itemVariants */
|
|
/* Exclude the small chevron-only toggle buttons */
|
|
/* Using html prefix for higher specificity over Tailwind v4 utilities */
|
|
html #nd-sidebar a:not(:has(span.font-mono)),
|
|
html #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*="xpand"]) {
|
|
font-size: 0.875rem !important; /* 14px to match navbar items */
|
|
line-height: 1.4 !important;
|
|
padding: 0.375rem 0.875rem !important;
|
|
font-weight: 450 !important;
|
|
border-radius: 0.75rem !important;
|
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,
|
|
sans-serif !important;
|
|
}
|
|
|
|
/* Sidebar text — aligned with platform --text-body */
|
|
html.dark #nd-sidebar a:not(:has(span.font-mono)),
|
|
html.dark #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*="xpand"]) {
|
|
color: #cdcdcd !important;
|
|
}
|
|
|
|
html:not(.dark) #nd-sidebar a:not(:has(span.font-mono)),
|
|
html:not(.dark) #nd-sidebar button:not([aria-label*="ollapse"]):not([aria-label*="xpand"]) {
|
|
color: #3b3b3b !important;
|
|
}
|
|
|
|
/* Chevron icons — aligned with platform --text-icon */
|
|
#nd-sidebar svg {
|
|
display: inline-block !important;
|
|
opacity: 1 !important;
|
|
color: #5e5e5e !important;
|
|
flex-shrink: 0 !important;
|
|
}
|
|
|
|
html.dark #nd-sidebar svg {
|
|
color: #939393 !important;
|
|
}
|
|
|
|
/* Ensure the small chevron toggle buttons are visible */
|
|
#nd-sidebar button[aria-label*="ollapse"],
|
|
#nd-sidebar button[aria-label*="xpand"] {
|
|
display: flex !important;
|
|
opacity: 1 !important;
|
|
padding: 0.25rem !important;
|
|
}
|
|
|
|
/* Add tiny gap between nested items */
|
|
#nd-sidebar ul li {
|
|
margin-bottom: 0.0625rem !important;
|
|
}
|
|
|
|
#nd-sidebar ul li:last-child {
|
|
margin-bottom: 0 !important;
|
|
}
|
|
|
|
/* Section separator headers — styling handled by component, override fumadocs defaults */
|
|
[data-sidebar-viewport] [data-separator] p,
|
|
#nd-sidebar [data-separator] p {
|
|
font-size: 0.625rem !important; /* 10px */
|
|
font-weight: 600 !important;
|
|
text-transform: uppercase !important;
|
|
letter-spacing: 0.06em !important;
|
|
margin: 0 !important;
|
|
padding: 0 !important;
|
|
}
|
|
|
|
/* First separator has no top margin or divider; subsequent ones show the divider on desktop */
|
|
[data-separator]:not([data-separator] ~ [data-separator]) {
|
|
margin-top: 0;
|
|
}
|
|
|
|
@media (min-width: 1024px) {
|
|
[data-separator] ~ [data-separator] > .separator-divider {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
/* Active state — aligned with platform --surface-active */
|
|
#nd-sidebar a[data-active="true"]:not(:has(span.font-mono)),
|
|
#nd-sidebar button[data-active="true"] {
|
|
background-image: none !important;
|
|
}
|
|
|
|
html.dark #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)),
|
|
html.dark #nd-sidebar button[data-active="true"] {
|
|
background-color: #2c2c2c !important;
|
|
color: #cdcdcd !important;
|
|
}
|
|
|
|
html:not(.dark) #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)),
|
|
html:not(.dark) #nd-sidebar button[data-active="true"] {
|
|
background-color: #ececec !important;
|
|
color: #3b3b3b !important;
|
|
}
|
|
|
|
/* Hover state — aligned with platform --surface-hover */
|
|
html.dark #nd-sidebar a:not(:has(span.font-mono)):hover:not([data-active="true"]),
|
|
html.dark #nd-sidebar button:hover:not([data-active="true"]) {
|
|
background-color: #262626 !important;
|
|
}
|
|
|
|
html:not(.dark) #nd-sidebar a:not(:has(span.font-mono)):hover:not([data-active="true"]),
|
|
html:not(.dark) #nd-sidebar button:hover:not([data-active="true"]) {
|
|
background-color: #f2f2f2 !important;
|
|
}
|
|
|
|
/* Active items don't change on hover */
|
|
html.dark #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)):hover,
|
|
html.dark #nd-sidebar button[data-active="true"]:hover {
|
|
background-color: #2c2c2c !important;
|
|
color: #cdcdcd !important;
|
|
}
|
|
|
|
html:not(.dark) #nd-sidebar a[data-active="true"]:not(:has(span.font-mono)):hover,
|
|
html:not(.dark) #nd-sidebar button[data-active="true"]:hover {
|
|
background-color: #ececec !important;
|
|
color: #3b3b3b !important;
|
|
}
|
|
|
|
/* Hide search, platform, and collapse button from sidebar completely */
|
|
[data-sidebar] [data-search],
|
|
[data-sidebar] .search-toggle,
|
|
#nd-sidebar [data-search],
|
|
#nd-sidebar .search-toggle,
|
|
[data-sidebar-viewport] [data-search],
|
|
[data-sidebar-viewport] button[data-search],
|
|
aside[data-sidebar] [role="button"]:has([data-search]),
|
|
aside[data-sidebar] > div > button:first-child,
|
|
#nd-sidebar > div > button:first-child,
|
|
[data-sidebar] a[href*="sim.ai"],
|
|
#nd-sidebar a[href*="sim.ai"],
|
|
[data-sidebar-viewport] a[href*="sim.ai"],
|
|
/* Hide search buttons (but NOT folder chevron buttons) */
|
|
aside[data-sidebar] > div:first-child
|
|
> button:not([aria-label="Collapse"]):not([aria-label="Expand"]),
|
|
#nd-sidebar > div:first-child > button:not([aria-label="Collapse"]):not([aria-label="Expand"]),
|
|
/* Hide sidebar collapse button (panel icon) - direct children only */
|
|
aside[data-sidebar] > button:first-of-type:not([aria-label="Collapse"]):not([aria-label="Expand"]),
|
|
[data-sidebar]
|
|
> button[type="button"]:first-of-type:not([aria-label="Collapse"]):not([aria-label="Expand"]),
|
|
button[data-collapse]:not([aria-label="Collapse"]):not([aria-label="Expand"]),
|
|
[data-sidebar-header] button,
|
|
/* Hide theme toggle from sidebar footer */
|
|
aside[data-sidebar] [data-theme-toggle],
|
|
[data-sidebar-footer],
|
|
[data-sidebar] footer,
|
|
footer button[aria-label*="heme"],
|
|
aside[data-sidebar] > div:last-child:has(button[aria-label*="heme"]),
|
|
aside[data-sidebar] button[aria-label*="heme"],
|
|
[data-sidebar] button[aria-label*="Theme"],
|
|
/* Additional theme toggle selectors */
|
|
aside[data-sidebar] > *:last-child
|
|
button,
|
|
[data-sidebar-viewport] ~ *,
|
|
aside[data-sidebar] > div:not([data-sidebar-viewport]),
|
|
/* Aggressive theme toggle hiding */
|
|
aside[data-sidebar] svg[class*="sun"],
|
|
aside[data-sidebar] svg[class*="moon"],
|
|
aside[data-sidebar] button[type="button"]:last-child,
|
|
aside button:has(svg:only-child),
|
|
[data-sidebar] div:has(> button[type="button"]:only-child:last-child),
|
|
/* Hide theme toggle and other non-content elements */
|
|
aside[data-sidebar] > *:not([data-sidebar-viewport]) {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Desktop only: Hide sidebar toggle buttons and nav title/logo (keep visible on mobile) */
|
|
@media (min-width: 1025px) {
|
|
[data-sidebar-container] > button,
|
|
[data-sidebar-container] [data-toggle],
|
|
aside[data-sidebar] [data-sidebar-toggle],
|
|
button[data-sidebar-toggle],
|
|
nav button[data-sidebar-toggle],
|
|
button[aria-label="Toggle Sidebar"],
|
|
button[aria-label="Collapse Sidebar"],
|
|
/* Hide nav title/logo in sidebar on desktop - target all possible locations */
|
|
/* Lower specificity selectors first (attribute selectors) */
|
|
[data-sidebar-header],
|
|
[data-sidebar] [data-title],
|
|
aside[data-sidebar] a[href="/"],
|
|
aside[data-sidebar] a[href="/"] img,
|
|
aside[data-sidebar] > a:first-child,
|
|
aside[data-sidebar] > div > a:first-child,
|
|
aside[data-sidebar] img[alt="Sim"],
|
|
aside[data-sidebar] svg[aria-label="Sim"],
|
|
/* Higher specificity selectors (ID selectors) */
|
|
#nd-sidebar
|
|
a[href="/"],
|
|
#nd-sidebar a[href="/"] img,
|
|
#nd-sidebar a[href="/"] svg,
|
|
#nd-sidebar > a:first-child,
|
|
#nd-sidebar > div:first-child > a:first-child,
|
|
#nd-sidebar img[alt="Sim"],
|
|
#nd-sidebar svg[aria-label="Sim"],
|
|
/* Hide theme toggle at bottom of sidebar on desktop */
|
|
#nd-sidebar
|
|
> footer,
|
|
#nd-sidebar footer,
|
|
aside#nd-sidebar > *:last-child:not(div),
|
|
#nd-sidebar > button:last-child,
|
|
#nd-sidebar button[aria-label*="theme" i],
|
|
#nd-sidebar button[aria-label*="Theme"],
|
|
#nd-sidebar > div:last-child > button {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
/* Extra aggressive - hide everything after the viewport */
|
|
aside[data-sidebar] [data-sidebar-viewport] ~ * {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Tighter spacing for sidebar content */
|
|
[data-sidebar-viewport] > * {
|
|
margin-bottom: 0.0625rem;
|
|
}
|
|
|
|
[data-sidebar-viewport] > *:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
[data-sidebar-viewport] ul {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
/* Ensure sidebar starts with content immediately */
|
|
aside[data-sidebar] > div:first-child {
|
|
padding-top: 0;
|
|
}
|
|
|
|
/* Remove all sidebar borders and backgrounds (except the right divider) */
|
|
[data-sidebar-container],
|
|
aside[data-sidebar],
|
|
[data-sidebar],
|
|
[data-sidebar] *,
|
|
#nd-sidebar,
|
|
#nd-sidebar * {
|
|
border: none !important;
|
|
}
|
|
|
|
/* Sidebar border is handled via #nd-docs-layout::before pseudo-element (see desktop section below) */
|
|
|
|
/* Override fumadocs background colors for sidebar */
|
|
.dark #nd-sidebar,
|
|
.dark [data-sidebar-container],
|
|
.dark aside[data-sidebar] {
|
|
--color-fd-muted: transparent !important;
|
|
--color-fd-secondary: transparent !important;
|
|
background: transparent !important;
|
|
}
|
|
|
|
/* Force normal text flow in sidebar */
|
|
[data-sidebar],
|
|
[data-sidebar] *,
|
|
[data-sidebar-viewport],
|
|
[data-sidebar-viewport] * {
|
|
writing-mode: horizontal-tb !important;
|
|
}
|
|
|
|
/* Apply Geist Mono to code elements */
|
|
code,
|
|
pre,
|
|
pre code {
|
|
font-family: var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
|
|
"Liberation Mono", "Courier New", monospace;
|
|
}
|
|
|
|
/* Inline code — neutral colors aligned with sim design system */
|
|
:not(pre) > code {
|
|
padding: 0.2em 0.4em;
|
|
border-radius: 0.25rem;
|
|
font-size: 0.875em;
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* Light mode inline code — neutral, no red */
|
|
:root:not(.dark) :not(pre) > code {
|
|
background-color: rgb(245 245 245);
|
|
color: rgb(55 65 81);
|
|
border: 1px solid rgb(229 231 235);
|
|
}
|
|
|
|
/* Dark mode inline code — neutral, no red */
|
|
.dark :not(pre) > code {
|
|
background-color: rgb(38 38 38);
|
|
color: rgb(212 212 216);
|
|
border: 1px solid rgb(63 63 70);
|
|
}
|
|
|
|
/* Remove heavy shadows globally — aligned with sim design system (shadow-card: 0 1px 3px rgba(0,0,0,0.04)) */
|
|
figure.shiki,
|
|
figure[data-rehype-pretty-code-figure],
|
|
.shiki {
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
/* Search dialog — lighter shadow + constrained size */
|
|
[data-radix-popper-content-wrapper] > div,
|
|
[role="dialog"][data-state] {
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
|
|
}
|
|
|
|
[role="dialog"][data-state] {
|
|
max-width: 480px !important;
|
|
}
|
|
|
|
pre {
|
|
font-size: 0.875rem;
|
|
line-height: 1.7;
|
|
tab-size: 2;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
pre code {
|
|
display: block;
|
|
width: fit-content;
|
|
min-width: 100%;
|
|
}
|
|
|
|
/* Syntax highlighting adjustments for better readability */
|
|
pre code .line {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
}
|
|
|
|
/* Content typography — align heading sizes and weights with platform */
|
|
main article h1,
|
|
[data-content] h1,
|
|
#nd-page h1 {
|
|
font-size: 1.5rem !important;
|
|
font-weight: 550 !important;
|
|
letter-spacing: -0.02em;
|
|
color: rgba(0, 0, 0, 0.88);
|
|
}
|
|
|
|
html.dark main article h1,
|
|
html.dark [data-content] h1,
|
|
html.dark #nd-page h1 {
|
|
color: rgba(255, 255, 255, 0.92);
|
|
}
|
|
|
|
main article h2,
|
|
[data-content] h2,
|
|
#nd-page h2 {
|
|
font-size: 1.25rem !important;
|
|
font-weight: 500 !important;
|
|
letter-spacing: -0.015em;
|
|
color: rgba(0, 0, 0, 0.85);
|
|
}
|
|
|
|
html.dark main article h2,
|
|
html.dark [data-content] h2,
|
|
html.dark #nd-page h2 {
|
|
color: rgba(255, 255, 255, 0.88);
|
|
}
|
|
|
|
main article h3,
|
|
main article h4,
|
|
[data-content] h3,
|
|
[data-content] h4,
|
|
#nd-page h3,
|
|
#nd-page h4 {
|
|
font-size: 1rem !important;
|
|
font-weight: 470 !important;
|
|
letter-spacing: -0.01em;
|
|
color: rgba(0, 0, 0, 0.8);
|
|
}
|
|
|
|
html.dark main article h3,
|
|
html.dark main article h4,
|
|
html.dark [data-content] h3,
|
|
html.dark [data-content] h4,
|
|
html.dark #nd-page h3,
|
|
html.dark #nd-page h4 {
|
|
color: rgba(255, 255, 255, 0.85);
|
|
}
|
|
|
|
/* Body text — align with landing text colors */
|
|
main article p,
|
|
[data-content] p,
|
|
[data-docs-page] p {
|
|
color: rgba(0, 0, 0, 0.7);
|
|
}
|
|
|
|
html.dark main article p,
|
|
html.dark [data-content] p,
|
|
html.dark [data-docs-page] p {
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
/* Muted text — align with landing-text-muted (#999999) */
|
|
main article .text-muted-foreground,
|
|
[data-content] .text-muted-foreground,
|
|
[data-docs-page] .text-muted-foreground {
|
|
color: rgba(0, 0, 0, 0.45);
|
|
}
|
|
|
|
html.dark main article .text-muted-foreground,
|
|
html.dark [data-content] .text-muted-foreground,
|
|
html.dark [data-docs-page] .text-muted-foreground {
|
|
color: rgba(255, 255, 255, 0.45);
|
|
}
|
|
|
|
/* List items — inherit body text color */
|
|
main article li,
|
|
[data-content] li,
|
|
[data-docs-page] li {
|
|
color: rgba(0, 0, 0, 0.7);
|
|
}
|
|
|
|
html.dark main article li,
|
|
html.dark [data-content] li,
|
|
html.dark [data-docs-page] li {
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
/* Custom text highlighting styles */
|
|
.text-highlight {
|
|
color: var(--color-fd-primary);
|
|
}
|
|
|
|
/* Override marker color for highlighted lists */
|
|
.highlight-markers li::marker {
|
|
color: var(--color-fd-primary);
|
|
}
|
|
|
|
/* Remove the thin border-left on nested TOC items (keeps main indicator only) */
|
|
#nd-toc a[style*="padding-inline-start"] {
|
|
border-left: none !important;
|
|
}
|
|
|
|
/* TOC heading — align weight with landing */
|
|
#nd-toc h3,
|
|
#nd-toc [class*="title"] {
|
|
font-weight: 480 !important;
|
|
font-size: 0.8125rem !important;
|
|
color: rgba(0, 0, 0, 0.5);
|
|
}
|
|
|
|
html.dark #nd-toc h3,
|
|
html.dark #nd-toc [class*="title"] {
|
|
color: rgba(255, 255, 255, 0.45);
|
|
}
|
|
|
|
/* TOC links — softer colors aligned with landing muted text */
|
|
#nd-toc a {
|
|
font-weight: 430 !important;
|
|
font-size: 0.8125rem !important;
|
|
color: rgba(0, 0, 0, 0.5);
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
html.dark #nd-toc a {
|
|
color: rgba(255, 255, 255, 0.45);
|
|
}
|
|
|
|
#nd-toc a:hover {
|
|
color: rgba(0, 0, 0, 0.75);
|
|
}
|
|
|
|
html.dark #nd-toc a:hover {
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
#nd-toc a[data-active="true"] {
|
|
color: rgba(0, 0, 0, 0.85) !important;
|
|
font-weight: 470 !important;
|
|
}
|
|
|
|
html.dark #nd-toc a[data-active="true"] {
|
|
color: rgba(255, 255, 255, 0.9) !important;
|
|
}
|
|
|
|
/* Add bottom spacing to prevent abrupt page endings */
|
|
[data-content] {
|
|
padding-top: 1.5rem !important;
|
|
padding-bottom: 4rem;
|
|
}
|
|
|
|
/* Alternative fallback for different Fumadocs versions */
|
|
main article,
|
|
.docs-page main {
|
|
padding-top: 1.5rem !important;
|
|
padding-bottom: 4rem;
|
|
}
|
|
|
|
/* Main content area - center and constrain like turborepo/raindrop */
|
|
/* Note: --sidebar-offset and --toc-offset are now applied at #nd-docs-layout level */
|
|
main[data-main] {
|
|
max-width: var(--spacing-fd-container, 1400px);
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
padding-top: 1rem;
|
|
padding-left: var(--content-gap);
|
|
padding-right: var(--content-gap);
|
|
order: 1 !important;
|
|
}
|
|
|
|
/* Adjust for smaller screens */
|
|
@media (max-width: 768px) {
|
|
main[data-main] {
|
|
padding-left: 1rem;
|
|
padding-right: 1rem;
|
|
}
|
|
#nd-page:has(.api-page-header) {
|
|
padding-left: 1rem;
|
|
padding-right: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Ensure docs page content is properly constrained */
|
|
[data-docs-page] {
|
|
max-width: 1400px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
padding-top: 1.5rem !important;
|
|
}
|
|
|
|
/* Remove any unwanted outlines from video elements */
|
|
video {
|
|
outline: none !important;
|
|
}
|
|
|
|
/* API Reference Pages — Mintlify-style overrides */
|
|
|
|
/* OpenAPI pages: span main + TOC grid columns for wide two-column layout.
|
|
Use named grid lines from grid-template-areas so this works regardless
|
|
of whether the grid has 3 columns (production) or 5 columns (local dev). */
|
|
#nd-page:has(.api-page-header) {
|
|
grid-column: main-start / toc-end !important;
|
|
max-width: 1400px !important;
|
|
padding-left: calc(var(--content-gap) + 1rem);
|
|
padding-right: calc(var(--content-gap) + 1rem);
|
|
}
|
|
|
|
/* Hide the empty TOC aside on OpenAPI pages so it doesn't overlay content */
|
|
#nd-docs-layout:has(#nd-page:has(.api-page-header)) #nd-toc {
|
|
display: none;
|
|
}
|
|
|
|
/* Hide the default "Response Body" heading rendered by fumadocs-openapi */
|
|
.response-section-wrapper > .response-section-content > h2,
|
|
.response-section-wrapper > .response-section-content > h3 {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide default accordion triggers (status code rows) — we show our own dropdown */
|
|
.response-section-wrapper [data-orientation="vertical"] > [data-state] > h3 {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Ensure API reference pages use the same font as the rest of the docs */
|
|
#nd-page:has(.api-page-header),
|
|
#nd-page:has(.api-page-header) h2,
|
|
#nd-page:has(.api-page-header) h3,
|
|
#nd-page:has(.api-page-header) h4,
|
|
#nd-page:has(.api-page-header) p,
|
|
#nd-page:has(.api-page-header) span,
|
|
#nd-page:has(.api-page-header) div,
|
|
#nd-page:has(.api-page-header) label,
|
|
#nd-page:has(.api-page-header) button {
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
|
|
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
}
|
|
|
|
/* Method badge pills — shared background colors (page + sidebar) */
|
|
span.font-mono.font-medium[data-method="get"],
|
|
span.font-mono.font-medium[data-method="head"],
|
|
span.font-mono.font-medium[data-method="options"] {
|
|
background-color: rgb(220 252 231 / 0.85);
|
|
}
|
|
html.dark span.font-mono.font-medium[data-method="get"],
|
|
html.dark span.font-mono.font-medium[data-method="head"],
|
|
html.dark span.font-mono.font-medium[data-method="options"] {
|
|
background-color: rgb(34 197 94 / 0.15);
|
|
}
|
|
span.font-mono.font-medium[data-method="post"] {
|
|
background-color: rgb(219 234 254 / 0.85);
|
|
}
|
|
html.dark span.font-mono.font-medium[data-method="post"] {
|
|
background-color: rgb(59 130 246 / 0.15);
|
|
}
|
|
span.font-mono.font-medium[data-method="put"] {
|
|
background-color: rgb(254 249 195 / 0.85);
|
|
}
|
|
html.dark span.font-mono.font-medium[data-method="put"] {
|
|
background-color: rgb(234 179 8 / 0.15);
|
|
}
|
|
span.font-mono.font-medium[data-method="patch"] {
|
|
background-color: rgb(255 237 213 / 0.85);
|
|
}
|
|
html.dark span.font-mono.font-medium[data-method="patch"] {
|
|
background-color: rgb(249 115 22 / 0.15);
|
|
}
|
|
span.font-mono.font-medium[data-method="delete"] {
|
|
background-color: rgb(254 226 226 / 0.85);
|
|
}
|
|
html.dark span.font-mono.font-medium[data-method="delete"] {
|
|
background-color: rgb(239 68 68 / 0.15);
|
|
}
|
|
|
|
/* Sidebar links with method badges — match regular item padding */
|
|
html #nd-sidebar a:has(span.font-mono.font-medium) {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 0.375rem;
|
|
padding: 0.375rem 0.875rem !important;
|
|
font-size: 0.875rem !important;
|
|
line-height: 1.4 !important;
|
|
font-weight: 450 !important;
|
|
border-radius: 0.75rem !important;
|
|
}
|
|
|
|
/* Sidebar method badges — fixed-width for right-aligned labels */
|
|
#nd-sidebar a span.font-mono.font-medium {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 2.625rem;
|
|
font-size: 0.625rem !important;
|
|
line-height: 1 !important;
|
|
padding: 0.15625rem 0.25rem;
|
|
border-radius: 0.1875rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Footer navigation method badges — pill styling to match sidebar */
|
|
#nd-page span.font-mono.font-medium[data-method] {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 0.625rem !important;
|
|
line-height: 1 !important;
|
|
padding: 0.15625rem 0.375rem;
|
|
border-radius: 0.1875rem;
|
|
}
|
|
|
|
/* API page code/card containers — transparent background */
|
|
#nd-page:has(.api-page-header) {
|
|
--color-fd-card: transparent !important;
|
|
}
|
|
|
|
#nd-page:has(.api-page-header) figure.shiki {
|
|
border-radius: 0.75rem !important;
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* API page code example panels — transparent */
|
|
#nd-page:has(.api-page-header) .rounded-xl.border.bg-fd-card {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
#nd-page:has(.api-page-header) .rounded-xl.border.shadow-md.bg-fd-card {
|
|
background-color: transparent !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
/* Hide "Filter Properties" search bar everywhere — main page and popovers */
|
|
input[placeholder="Filter Properties"] {
|
|
display: none !important;
|
|
}
|
|
div:has(> input[placeholder="Filter Properties"]) {
|
|
display: none !important;
|
|
}
|
|
/* Remove top border on first visible property after hidden Filter Properties */
|
|
div:has(> input[placeholder="Filter Properties"]) + .text-sm.border-t {
|
|
border-top: none !important;
|
|
}
|
|
|
|
/* Hide "TypeScript Definitions" copy panel on API pages */
|
|
#nd-page:has(.api-page-header) div.not-prose.rounded-xl.border.p-3.mb-4 {
|
|
display: none !important;
|
|
}
|
|
#nd-page:has(.api-page-header) div.not-prose.rounded-xl.border.p-3:has(> div > p.font-medium) {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide info tags (Format, Default, etc.) everywhere — main page and popovers */
|
|
div.flex.flex-row.gap-2.flex-wrap.not-prose:has(> div.bg-fd-secondary) {
|
|
display: none !important;
|
|
}
|
|
div.flex.flex-row.items-start.bg-fd-secondary.border.rounded-lg.text-xs {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Method+path bar — cleaner, lighter styling like Gumloop.
|
|
Override bg-fd-card CSS variable directly for reliability. */
|
|
#nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose {
|
|
--color-fd-card: rgb(249 250 251) !important;
|
|
background-color: rgb(249 250 251) !important;
|
|
border-color: rgb(229 231 235) !important;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose {
|
|
--color-fd-card: rgb(24 24 27) !important;
|
|
background-color: rgb(24 24 27) !important;
|
|
border-color: rgb(63 63 70) !important;
|
|
}
|
|
/* Method badge inside path bar — cleaner sans-serif, softer colors */
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium {
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif !important;
|
|
font-weight: 600 !important;
|
|
font-size: 0.6875rem !important;
|
|
letter-spacing: 0.025em;
|
|
text-transform: uppercase;
|
|
padding: 0.125rem 0.5rem !important;
|
|
border-radius: 0.375rem !important;
|
|
}
|
|
/* Path bar per-method colors (fumadocs renders these, so we match by class) */
|
|
/* GET */
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-green"] {
|
|
color: rgb(22 163 74) !important;
|
|
background-color: rgb(220 252 231 / 0.7) !important;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-green"] {
|
|
color: rgb(74 222 128) !important;
|
|
background-color: rgb(34 197 94 / 0.15) !important;
|
|
}
|
|
/* POST */
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-blue"] {
|
|
color: rgb(37 99 235) !important;
|
|
background-color: rgb(219 234 254 / 0.7) !important;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-blue"] {
|
|
color: rgb(96 165 250) !important;
|
|
background-color: rgb(59 130 246 / 0.15) !important;
|
|
}
|
|
/* PUT */
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-yellow"] {
|
|
color: rgb(161 98 7) !important;
|
|
background-color: rgb(254 249 195 / 0.7) !important;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-yellow"] {
|
|
color: rgb(250 204 21) !important;
|
|
background-color: rgb(234 179 8 / 0.15) !important;
|
|
}
|
|
/* PATCH */
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-orange"] {
|
|
color: rgb(194 65 12) !important;
|
|
background-color: rgb(255 237 213 / 0.7) !important;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-orange"] {
|
|
color: rgb(251 146 60) !important;
|
|
background-color: rgb(249 115 22 / 0.15) !important;
|
|
}
|
|
/* DELETE */
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-red"] {
|
|
color: rgb(185 28 28) !important;
|
|
background-color: rgb(254 226 226 / 0.7) !important;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
span.font-mono.font-medium[class*="text-red"] {
|
|
color: rgb(248 113 113) !important;
|
|
background-color: rgb(239 68 68 / 0.15) !important;
|
|
}
|
|
|
|
/* Path text inside method+path bar — monospace, bright like Gumloop */
|
|
#nd-page:has(.api-page-header) div.flex.flex-row.items-center.rounded-xl.border.not-prose code {
|
|
color: rgb(55 65 81) !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
padding: 0 !important;
|
|
font-size: 0.8125rem !important;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.flex.flex-row.items-center.rounded-xl.border.not-prose
|
|
code {
|
|
color: rgb(229 231 235) !important;
|
|
}
|
|
|
|
/* Inline code in API pages — neutral color aligned with sim design.
|
|
Exclude code inside the method+path bar (handled above). */
|
|
#nd-page:has(.api-page-header) .prose :not(pre) > code {
|
|
color: rgb(55 65 81) !important;
|
|
}
|
|
html.dark #nd-page:has(.api-page-header) .prose :not(pre) > code {
|
|
color: rgb(212 212 216) !important;
|
|
}
|
|
|
|
/* Response Section — custom dropdown-based rendering (Mintlify style) */
|
|
|
|
/* Hide divider lines between accordion items */
|
|
.response-section-wrapper [data-orientation="vertical"].divide-y > * {
|
|
border-top-width: 0 !important;
|
|
border-bottom-width: 0 !important;
|
|
}
|
|
.response-section-wrapper [data-orientation="vertical"].divide-y {
|
|
border-top: none !important;
|
|
}
|
|
|
|
/* Remove content type labels inside accordion items (we show one in the header) */
|
|
.response-section-wrapper [data-orientation="vertical"] p.not-prose:has(code.text-xs) {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Hide the top-level response description (e.g. "Execution was successfully cancelled.")
|
|
but NOT field descriptions inside Schema which also use prose-no-margin.
|
|
The response description is a direct child of AccordionContent (role=region) with mb-2. */
|
|
.response-section-wrapper [data-orientation="vertical"] [role="region"] > .prose-no-margin.mb-2,
|
|
.response-section-wrapper
|
|
[data-orientation="vertical"]
|
|
[role="region"]
|
|
> div
|
|
> .prose-no-margin.mb-2 {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Remove left padding on accordion content so it aligns with Path Parameters */
|
|
.response-section-wrapper [data-orientation="vertical"] [role="region"] {
|
|
padding-inline-start: 0 !important;
|
|
}
|
|
|
|
/* Response section header */
|
|
.response-section-header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 1rem;
|
|
margin-top: 1.75rem;
|
|
margin-bottom: 0.25rem;
|
|
}
|
|
|
|
.response-section-title {
|
|
font-size: 1.25rem;
|
|
font-weight: 500;
|
|
letter-spacing: -0.015em;
|
|
margin: 0;
|
|
color: rgba(0, 0, 0, 0.85);
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, sans-serif;
|
|
}
|
|
|
|
html.dark .response-section-title {
|
|
color: rgba(255, 255, 255, 0.88);
|
|
}
|
|
|
|
.response-section-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.75rem;
|
|
margin-left: auto;
|
|
}
|
|
|
|
/* Status code dropdown */
|
|
.response-section-dropdown-wrapper {
|
|
position: relative;
|
|
}
|
|
|
|
.response-section-dropdown-trigger {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
padding: 0.125rem 0.25rem;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
color: var(--color-fd-muted-foreground);
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
border-radius: 0.25rem;
|
|
transition: color 0.15s;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
.response-section-dropdown-trigger:hover {
|
|
color: var(--color-fd-foreground);
|
|
}
|
|
|
|
.response-section-chevron {
|
|
width: 0.75rem;
|
|
height: 0.75rem;
|
|
transition: transform 0.15s;
|
|
}
|
|
.response-section-chevron-open {
|
|
transform: rotate(180deg);
|
|
}
|
|
|
|
.response-section-dropdown-menu {
|
|
position: absolute;
|
|
top: calc(100% + 0.25rem);
|
|
left: 0;
|
|
z-index: 50;
|
|
min-width: 5rem;
|
|
background-color: var(--color-fd-popover, white);
|
|
border: 1px solid rgb(229 231 235);
|
|
border-radius: 0.5rem;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
|
|
padding: 0.375rem;
|
|
overflow: hidden;
|
|
}
|
|
html.dark .response-section-dropdown-menu {
|
|
background-color: var(--color-fd-popover, rgb(24 24 27));
|
|
border-color: rgb(63 63 70);
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
}
|
|
|
|
.response-section-dropdown-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
padding: 0.375rem 0.5rem;
|
|
font-size: 0.875rem;
|
|
color: var(--color-fd-muted-foreground);
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
border-radius: 0.25rem;
|
|
transition:
|
|
background-color 0.1s,
|
|
color 0.1s;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
.response-section-dropdown-item:hover {
|
|
background-color: rgb(243 244 246);
|
|
color: var(--color-fd-foreground);
|
|
}
|
|
html.dark .response-section-dropdown-item:hover {
|
|
background-color: rgb(39 39 42);
|
|
}
|
|
.response-section-dropdown-item-selected {
|
|
color: var(--color-fd-foreground);
|
|
}
|
|
|
|
.response-section-check {
|
|
width: 0.875rem;
|
|
height: 0.875rem;
|
|
}
|
|
|
|
.response-section-content-type {
|
|
font-size: 0.875rem;
|
|
color: var(--color-fd-muted-foreground);
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
|
|
/* Response schema container — remove border to match Path Parameters style */
|
|
.response-section-wrapper [data-orientation="vertical"] .border.px-3.py-2.rounded-lg {
|
|
border: none !important;
|
|
padding: 0 !important;
|
|
border-radius: 0 !important;
|
|
background-color: transparent;
|
|
}
|
|
|
|
/* Property row — reorder: name (1) → type badge (2) → required badge (3) */
|
|
#nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
}
|
|
|
|
/* Name span — order 1 */
|
|
#nd-page:has(.api-page-header)
|
|
.flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span.font-medium.font-mono.text-fd-primary {
|
|
order: 1;
|
|
}
|
|
|
|
/* Type badge — order 2, grey pill */
|
|
#nd-page:has(.api-page-header)
|
|
.flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span.text-sm.font-mono.text-fd-muted-foreground {
|
|
order: 2;
|
|
background-color: rgb(241 245 249);
|
|
color: rgb(71 85 105);
|
|
padding: 0.1875rem 0.5rem;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.6875rem;
|
|
line-height: 1.125rem;
|
|
font-weight: 500;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
.flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span.text-sm.font-mono.text-fd-muted-foreground {
|
|
background-color: rgb(51 51 56);
|
|
color: rgb(212 212 220);
|
|
}
|
|
|
|
/* Hide the "*" inside the name span — we'll add "required" as a ::after on the flex row */
|
|
#nd-page:has(.api-page-header) span.font-medium.font-mono.text-fd-primary > span.text-red-400 {
|
|
display: none;
|
|
}
|
|
|
|
/* Required badge — order 3, red pill */
|
|
#nd-page:has(.api-page-header)
|
|
.flex.flex-wrap.items-center.gap-3.not-prose:has(span.text-red-400)::after {
|
|
content: "required";
|
|
order: 3;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background-color: rgb(254 226 226);
|
|
color: rgb(185 28 28);
|
|
padding: 0.1875rem 0.5rem;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.6875rem;
|
|
line-height: 1.125rem;
|
|
font-weight: 500;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
.flex.flex-wrap.items-center.gap-3.not-prose:has(span.text-red-400)::after {
|
|
background-color: rgb(153 27 27 / 0.3);
|
|
color: rgb(252 165 165);
|
|
}
|
|
|
|
/* Optional "?" indicator — hide it */
|
|
#nd-page:has(.api-page-header)
|
|
span.font-medium.font-mono.text-fd-primary
|
|
> span.text-fd-muted-foreground {
|
|
display: none;
|
|
}
|
|
|
|
/* Hide the auth scheme type label (e.g. "apiKey") next to Authorization heading */
|
|
#nd-page:has(.api-page-header) .flex.items-start.justify-between.gap-2 > div.not-prose {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Auth property — replace "<token>" with "string" badge, add "header" and "required" badges.
|
|
Auth properties use my-4 (vs py-4 for regular properties). */
|
|
|
|
/* Auth property flex row — name: order 1, type: order 2, ::before "header": order 3, ::after "required": order 4 */
|
|
#nd-page:has(.api-page-header)
|
|
div.my-4
|
|
> .flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span.font-medium.font-mono.text-fd-primary {
|
|
order: 1;
|
|
}
|
|
#nd-page:has(.api-page-header)
|
|
div.my-4
|
|
> .flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span.text-sm.font-mono.text-fd-muted-foreground {
|
|
order: 2;
|
|
font-size: 0;
|
|
padding: 0 !important;
|
|
background: none !important;
|
|
line-height: 0;
|
|
}
|
|
#nd-page:has(.api-page-header)
|
|
div.my-4
|
|
> .flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span.text-sm.font-mono.text-fd-muted-foreground::after {
|
|
content: "string";
|
|
font-size: 0.6875rem;
|
|
line-height: 1.125rem;
|
|
font-weight: 500;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
background-color: rgb(241 245 249);
|
|
color: rgb(71 85 105);
|
|
padding: 0.1875rem 0.5rem;
|
|
border-radius: 0.375rem;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.my-4
|
|
> .flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span.text-sm.font-mono.text-fd-muted-foreground::after {
|
|
background-color: rgb(51 51 56);
|
|
color: rgb(212 212 220);
|
|
}
|
|
|
|
/* "header" badge via ::before on the auth flex row */
|
|
#nd-page:has(.api-page-header) div.my-4 > .flex.flex-wrap.items-center.gap-3.not-prose::before {
|
|
content: "header";
|
|
order: 3;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background-color: rgb(241 245 249);
|
|
color: rgb(71 85 105);
|
|
padding: 0.1875rem 0.5rem;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.6875rem;
|
|
line-height: 1.125rem;
|
|
font-weight: 500;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.my-4
|
|
> .flex.flex-wrap.items-center.gap-3.not-prose::before {
|
|
background-color: rgb(51 51 56);
|
|
color: rgb(212 212 220);
|
|
}
|
|
|
|
/* "required" badge via ::after on the auth flex row — red pill */
|
|
#nd-page:has(.api-page-header) div.my-4 > .flex.flex-wrap.items-center.gap-3.not-prose::after {
|
|
content: "required";
|
|
order: 4;
|
|
display: inline-flex;
|
|
align-items: center;
|
|
background-color: rgb(254 226 226);
|
|
color: rgb(185 28 28);
|
|
padding: 0.1875rem 0.5rem;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.6875rem;
|
|
line-height: 1.125rem;
|
|
font-weight: 500;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
div.my-4
|
|
> .flex.flex-wrap.items-center.gap-3.not-prose::after {
|
|
background-color: rgb(153 27 27 / 0.3);
|
|
color: rgb(252 165 165);
|
|
}
|
|
|
|
/* Hide "In: header" text below auth property — redundant with the header badge */
|
|
#nd-page:has(.api-page-header) div.my-4 .prose-no-margin p:has(> code) {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Section dividers — bottom border after Authorization and Body sections. */
|
|
.api-section-divider {
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: 1px solid rgb(229 231 235 / 0.6);
|
|
}
|
|
html.dark .api-section-divider {
|
|
border-bottom-color: rgb(255 255 255 / 0.07);
|
|
}
|
|
|
|
/* Property rows — breathing room like Mintlify.
|
|
Regular properties use border-t py-4; auth properties use border-t my-4. */
|
|
#nd-page:has(.api-page-header) .text-sm.border-t.py-4 {
|
|
padding-top: 1.25rem !important;
|
|
padding-bottom: 1.25rem !important;
|
|
}
|
|
#nd-page:has(.api-page-header) .text-sm.border-t.my-4 {
|
|
margin-top: 1.25rem !important;
|
|
margin-bottom: 1.25rem !important;
|
|
padding-top: 1.25rem;
|
|
}
|
|
|
|
/* Divider lines between fields — very subtle like Mintlify */
|
|
#nd-page:has(.api-page-header) .text-sm.border-t {
|
|
border-color: rgb(229 231 235 / 0.6);
|
|
}
|
|
html.dark #nd-page:has(.api-page-header) .text-sm.border-t {
|
|
border-color: rgb(255 255 255 / 0.07);
|
|
}
|
|
|
|
/* Body/Callback section "application/json" label — remove inline code styling */
|
|
#nd-page:has(.api-page-header) .flex.gap-2.items-center.justify-between p.not-prose code.text-xs,
|
|
#nd-page:has(.api-page-header) .flex.justify-between.gap-2.items-end p.not-prose code.text-xs {
|
|
background: none !important;
|
|
border: none !important;
|
|
padding: 0 !important;
|
|
color: var(--color-fd-muted-foreground) !important;
|
|
font-size: 0.875rem !important;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif !important;
|
|
}
|
|
|
|
/* Object/array type triggers in property rows — order 2 + badge chip styling */
|
|
#nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose > button,
|
|
#nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose > span:has(> button) {
|
|
order: 2;
|
|
background-color: rgb(241 245 249);
|
|
color: rgb(71 85 105);
|
|
padding: 0.1875rem 0.5rem;
|
|
border-radius: 0.375rem;
|
|
font-size: 0.6875rem;
|
|
line-height: 1.125rem;
|
|
font-weight: 500;
|
|
font-family: var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;
|
|
}
|
|
html.dark #nd-page:has(.api-page-header) .flex.flex-wrap.items-center.gap-3.not-prose > button,
|
|
html.dark
|
|
#nd-page:has(.api-page-header)
|
|
.flex.flex-wrap.items-center.gap-3.not-prose
|
|
> span:has(> button) {
|
|
background-color: rgb(51 51 56);
|
|
color: rgb(212 212 220);
|
|
}
|
|
|
|
/* Section headings (Authorization, Path Parameters, etc.) — consistent top spacing */
|
|
#nd-page:has(.api-page-header) .min-w-0.flex-1 h2 {
|
|
margin-top: 1.75rem !important;
|
|
margin-bottom: 0.25rem !important;
|
|
}
|
|
|
|
/* Code examples in right column — wrap long lines instead of horizontal scroll */
|
|
#nd-page:has(.api-page-header) pre {
|
|
white-space: pre-wrap !important;
|
|
word-break: break-all !important;
|
|
}
|
|
#nd-page:has(.api-page-header) pre code {
|
|
width: 100% !important;
|
|
word-break: break-all !important;
|
|
overflow-wrap: break-word !important;
|
|
}
|
|
|
|
/* Callout/alert — transparent background, no shadow, hide colored bar, add padding */
|
|
div.rounded-xl.border.bg-fd-card.shadow-md:has(> [role="none"]) {
|
|
background-color: transparent !important;
|
|
box-shadow: none !important;
|
|
border-color: rgba(0, 0, 0, 0.1) !important;
|
|
padding-left: 0.875rem !important;
|
|
align-items: center !important;
|
|
}
|
|
|
|
html.dark div.rounded-xl.border.bg-fd-card.shadow-md:has(> [role="none"]) {
|
|
border-color: rgba(255, 255, 255, 0.1) !important;
|
|
}
|
|
|
|
div.rounded-xl.border.bg-fd-card.shadow-md > [role="none"] {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Files component — transparent background */
|
|
div.not-prose.rounded-md.border.bg-fd-card.p-2 {
|
|
background-color: transparent !important;
|
|
border-color: rgba(0, 0, 0, 0.1) !important;
|
|
}
|
|
|
|
html.dark div.not-prose.rounded-md.border.bg-fd-card.p-2 {
|
|
border-color: rgba(255, 255, 255, 0.1) !important;
|
|
}
|
|
|
|
/* Callout icon — outline style, text color, vertically centered */
|
|
div.rounded-xl.border.bg-fd-card.shadow-md:has(> [role="none"]) > svg {
|
|
fill: none !important;
|
|
color: var(--color-fd-foreground) !important;
|
|
stroke-width: 1.75 !important;
|
|
flex-shrink: 0;
|
|
width: 1rem !important;
|
|
height: 1rem !important;
|
|
}
|
|
|
|
/* API page header — constrain title/copy-page to left content column, not full width.
|
|
Only applies on OpenAPI pages (which have the two-column layout). */
|
|
@media (min-width: 1280px) {
|
|
.api-page-header {
|
|
max-width: calc(100% - 400px - 1.5rem);
|
|
}
|
|
}
|
|
|
|
/* Footer navigation — constrain to left content column on OpenAPI pages only.
|
|
Target pages that contain the two-column layout via :has() selector. */
|
|
#nd-page:has(.api-page-header) > div:last-child {
|
|
max-width: calc(100% - 400px - 1.5rem);
|
|
}
|
|
@media (max-width: 1024px) {
|
|
#nd-page:has(.api-page-header) > div:last-child {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
/* ─── Content Components — aligned with platform design system ─── */
|
|
|
|
/* Heading anchor links — no underline, inherit color */
|
|
#nd-page h1 a,
|
|
#nd-page h2 a,
|
|
#nd-page h3 a,
|
|
#nd-page h4 a,
|
|
#nd-page h5 a,
|
|
#nd-page h6 a,
|
|
.prose h1 a,
|
|
.prose h2 a,
|
|
.prose h3 a,
|
|
.prose h4 a,
|
|
.prose h5 a,
|
|
.prose h6 a {
|
|
text-decoration: none !important;
|
|
color: inherit !important;
|
|
border: none !important;
|
|
}
|
|
|
|
/* Tables — clean divider-based style matching chat markdown renderer */
|
|
.prose table,
|
|
[data-docs-page] table,
|
|
[data-content] table,
|
|
main article table {
|
|
border-collapse: collapse !important;
|
|
border-spacing: 0 !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
border-radius: 0 !important;
|
|
overflow: visible !important;
|
|
font-size: 0.875rem !important;
|
|
}
|
|
|
|
.prose thead th,
|
|
[data-docs-page] thead th,
|
|
[data-content] thead th,
|
|
main article thead th {
|
|
background: none !important;
|
|
font-weight: 600 !important;
|
|
padding: 0.5rem 0.75rem !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
|
|
border-left: none !important;
|
|
border-right: none !important;
|
|
border-top: none !important;
|
|
border-inline-start: none !important;
|
|
color: rgba(0, 0, 0, 0.85);
|
|
text-align: left;
|
|
white-space: nowrap;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
html.dark .prose thead th,
|
|
html.dark [data-docs-page] thead th,
|
|
html.dark [data-content] thead th,
|
|
html.dark main article thead th {
|
|
border-bottom-color: rgba(255, 255, 255, 0.1) !important;
|
|
color: rgba(255, 255, 255, 0.88);
|
|
}
|
|
|
|
.prose td,
|
|
[data-docs-page] td,
|
|
[data-content] td,
|
|
main article td {
|
|
padding: 0.5rem 0.75rem !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
|
|
border-left: none !important;
|
|
border-right: none !important;
|
|
border-top: none !important;
|
|
border-inline-start: none !important;
|
|
color: rgba(0, 0, 0, 0.7);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
html.dark .prose td,
|
|
html.dark [data-docs-page] td,
|
|
html.dark [data-content] td,
|
|
html.dark main article td {
|
|
border-bottom-color: rgba(255, 255, 255, 0.06) !important;
|
|
color: rgba(255, 255, 255, 0.7);
|
|
}
|
|
|
|
/* Remove bottom border on last row */
|
|
.prose tbody tr:last-child td,
|
|
[data-docs-page] tbody tr:last-child td,
|
|
[data-content] tbody tr:last-child td,
|
|
main article tbody tr:last-child td {
|
|
border-bottom: none !important;
|
|
}
|
|
|
|
/* Code blocks — aligned with platform chat code block styling */
|
|
|
|
/* Standalone code block figure — border + rounded */
|
|
figure.shiki:not(div > figure.shiki),
|
|
figure[data-rehype-pretty-code-figure]:not(div > figure[data-rehype-pretty-code-figure]),
|
|
figure:has(pre):not(div > figure:has(pre)) {
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid rgba(0, 0, 0, 0.15) !important;
|
|
overflow: hidden !important;
|
|
background-color: transparent !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
html.dark figure.shiki:not(div > figure.shiki),
|
|
html.dark figure[data-rehype-pretty-code-figure]:not(div > figure[data-rehype-pretty-code-figure]),
|
|
html.dark figure:has(pre):not(div > figure:has(pre)) {
|
|
border-color: rgba(255, 255, 255, 0.15) !important;
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* Code block inside tabs (API examples) — no extra border, inherits from parent */
|
|
div > figure.shiki {
|
|
border: none !important;
|
|
background-color: transparent !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
html.dark div > figure.shiki {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* Tabbed code block container (cURL/JS/Go tabs) */
|
|
div:has(> [role="tablist"]):has(> div > figure.shiki) {
|
|
border-radius: 0.5rem !important;
|
|
border: 1px solid rgba(0, 0, 0, 0.08) !important;
|
|
overflow: hidden !important;
|
|
background-color: transparent !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
html.dark div:has(> [role="tablist"]):has(> div > figure.shiki) {
|
|
border-color: rgba(255, 255, 255, 0.08) !important;
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* Tab list bar — match platform surface-4 */
|
|
div:has(> div > figure.shiki) > [role="tablist"] {
|
|
background: none !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
|
|
}
|
|
|
|
html.dark div:has(> div > figure.shiki) > [role="tablist"] {
|
|
border-bottom-color: rgba(255, 255, 255, 0.06) !important;
|
|
}
|
|
|
|
/* Tab triggers — muted text, active gets foreground */
|
|
div:has(> div > figure.shiki) > [role="tablist"] button {
|
|
color: rgba(0, 0, 0, 0.4) !important;
|
|
font-weight: 470 !important;
|
|
}
|
|
|
|
div:has(> div > figure.shiki) > [role="tablist"] button:hover {
|
|
color: rgba(0, 0, 0, 0.7) !important;
|
|
}
|
|
|
|
div:has(> div > figure.shiki) > [role="tablist"] button[data-state="active"] {
|
|
color: rgba(0, 0, 0, 0.85) !important;
|
|
}
|
|
|
|
html.dark div:has(> div > figure.shiki) > [role="tablist"] button {
|
|
color: rgba(255, 255, 255, 0.35) !important;
|
|
}
|
|
|
|
html.dark div:has(> div > figure.shiki) > [role="tablist"] button:hover {
|
|
color: rgba(255, 255, 255, 0.65) !important;
|
|
}
|
|
|
|
html.dark div:has(> div > figure.shiki) > [role="tablist"] button[data-state="active"] {
|
|
color: rgba(255, 255, 255, 0.88) !important;
|
|
}
|
|
|
|
/* Code block title header (figcaption with filename) */
|
|
figure.shiki > div:first-child:has(figcaption) {
|
|
background-color: rgb(245, 245, 245) !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
|
|
}
|
|
|
|
html.dark figure.shiki > div:first-child:has(figcaption) {
|
|
background-color: rgb(41, 41, 41) !important;
|
|
border-bottom-color: rgba(255, 255, 255, 0.06) !important;
|
|
}
|
|
|
|
figure.shiki figcaption {
|
|
color: rgba(0, 0, 0, 0.45) !important;
|
|
}
|
|
|
|
html.dark figure.shiki figcaption {
|
|
color: rgba(255, 255, 255, 0.4) !important;
|
|
}
|
|
|
|
/* Code block pre element — transparent bg */
|
|
figure.shiki pre {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
html.dark figure.shiki pre {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* Code viewport scroll area — transparent bg */
|
|
figure.shiki > div[role="region"] {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
html.dark figure.shiki > div[role="region"] {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* Copy button — minimal ghost style */
|
|
figure.shiki button[aria-label="Copy Text"],
|
|
figure.shiki button[aria-label="Copied Text"] {
|
|
color: rgba(0, 0, 0, 0.3) !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
backdrop-filter: none !important;
|
|
}
|
|
|
|
figure.shiki button[aria-label="Copy Text"]:hover {
|
|
color: rgba(0, 0, 0, 0.6) !important;
|
|
}
|
|
|
|
figure.shiki button[aria-label="Copied Text"] {
|
|
color: rgb(34, 197, 94) !important;
|
|
}
|
|
|
|
html.dark figure.shiki button[aria-label="Copy Text"],
|
|
html.dark figure.shiki button[aria-label="Copied Text"] {
|
|
color: rgba(255, 255, 255, 0.25) !important;
|
|
}
|
|
|
|
html.dark figure.shiki button[aria-label="Copy Text"]:hover {
|
|
color: rgba(255, 255, 255, 0.6) !important;
|
|
}
|
|
|
|
html.dark figure.shiki button[aria-label="Copied Text"] {
|
|
color: rgb(74, 222, 128) !important;
|
|
}
|
|
|
|
/* Copy button container — remove backdrop blur bg */
|
|
figure.shiki > div:has(> button[aria-label]) {
|
|
background: none !important;
|
|
backdrop-filter: none !important;
|
|
}
|
|
|
|
/* Cards container — vertical list with line dividers instead of grid boxes */
|
|
.prose .grid:has(> a[data-card]),
|
|
#nd-page .grid:has(> a[data-card]) {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0 !important;
|
|
border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
|
|
}
|
|
|
|
html.dark .prose .grid:has(> a[data-card]),
|
|
html.dark #nd-page .grid:has(> a[data-card]) {
|
|
border-top-color: rgba(255, 255, 255, 0.08) !important;
|
|
border-bottom-color: rgba(255, 255, 255, 0.08) !important;
|
|
}
|
|
|
|
/* Card items — line-separated rows with hover bg (scoped to grid container only) */
|
|
.grid > a[data-card] {
|
|
display: flex !important;
|
|
flex-direction: column !important;
|
|
gap: 0.125rem !important;
|
|
background: none !important;
|
|
border: none !important;
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
|
|
border-radius: 0 !important;
|
|
padding: 0.875rem 1rem !important;
|
|
transition: background-color 0.15s !important;
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
.grid > a[data-card]:last-child {
|
|
border-bottom: none !important;
|
|
}
|
|
|
|
.grid > a[data-card]:hover {
|
|
background-color: rgba(0, 0, 0, 0.02) !important;
|
|
}
|
|
|
|
html.dark .grid > a[data-card] {
|
|
border-bottom-color: rgba(255, 255, 255, 0.08) !important;
|
|
background: none !important;
|
|
}
|
|
|
|
html.dark .grid > a[data-card]:hover {
|
|
background-color: rgba(255, 255, 255, 0.03) !important;
|
|
}
|
|
|
|
/* Card title */
|
|
.grid > a[data-card] h3 {
|
|
font-weight: 470 !important;
|
|
font-size: 0.875rem !important;
|
|
color: rgba(0, 0, 0, 0.85) !important;
|
|
}
|
|
|
|
html.dark .grid > a[data-card] h3 {
|
|
color: rgba(255, 255, 255, 0.88) !important;
|
|
}
|
|
|
|
/* Card description */
|
|
.grid > a[data-card] p,
|
|
.grid > a[data-card] div {
|
|
color: rgba(0, 0, 0, 0.45) !important;
|
|
font-size: 0.8125rem !important;
|
|
}
|
|
|
|
html.dark .grid > a[data-card] p,
|
|
html.dark .grid > a[data-card] div {
|
|
color: rgba(255, 255, 255, 0.4) !important;
|
|
}
|
|
|
|
/* Steps — lighter styling aligned with platform */
|
|
.fd-steps {
|
|
border-left-color: rgba(0, 0, 0, 0.08) !important;
|
|
}
|
|
|
|
html.dark .fd-steps {
|
|
border-left-color: rgba(255, 255, 255, 0.08) !important;
|
|
}
|
|
|
|
.fd-step::before {
|
|
background-color: rgb(245, 245, 245) !important;
|
|
color: rgba(0, 0, 0, 0.5) !important;
|
|
font-weight: 500 !important;
|
|
}
|
|
|
|
html.dark .fd-step::before {
|
|
background-color: rgb(41, 41, 41) !important;
|
|
color: rgba(255, 255, 255, 0.45) !important;
|
|
}
|
|
|
|
/* Blockquotes — subtle left border, matching platform divider */
|
|
.prose blockquote,
|
|
[data-docs-page] blockquote,
|
|
[data-content] blockquote,
|
|
main article blockquote {
|
|
border-left: 3px solid rgba(0, 0, 0, 0.1) !important;
|
|
padding: 0.25rem 0 0.25rem 1rem !important;
|
|
color: rgba(0, 0, 0, 0.55) !important;
|
|
font-style: italic;
|
|
background: none !important;
|
|
margin: 1.5rem 0 !important;
|
|
}
|
|
|
|
html.dark .prose blockquote,
|
|
html.dark [data-docs-page] blockquote,
|
|
html.dark [data-content] blockquote,
|
|
html.dark main article blockquote {
|
|
border-left-color: rgba(255, 255, 255, 0.1) !important;
|
|
color: rgba(255, 255, 255, 0.5) !important;
|
|
}
|
|
|
|
/* Remove all remaining box-shadows on content components */
|
|
.prose > *,
|
|
[data-docs-page] figure,
|
|
[data-docs-page] table,
|
|
[data-docs-page] [data-card] {
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
/* Tailwind v4 content sources */
|
|
@source '../app/**/*.{js,ts,jsx,tsx,mdx}';
|
|
@source '../components/**/*.{js,ts,jsx,tsx,mdx}';
|
|
@source '../content/**/*.{js,ts,jsx,tsx,mdx}';
|
|
@source '../mdx-components.tsx';
|
|
@source '../node_modules/fumadocs-ui/dist/**/*.js';
|