@import "tailwindcss"; @plugin "@iconify/tailwind4"; @source "../**/*.{wrn,ts,tsx}"; /* Documentation v2: one consistent reading surface for guides, packages, and component references. */ .docs-layout { display: grid; grid-template-columns: minmax(0, 1fr) 15rem; gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-top: clamp(1.5rem, 4vw, 3rem); } .docs-layout--navigation { grid-template-columns: 14rem minmax(0, 1fr) 13rem; width: min(1440px, calc(100% - 2rem)); max-width: 1440px; } .docs-reading-column { min-width: 0; } .docs-reading-column .documentation.standalone { width: 100%; margin: 0; } .docs-section-menu { position: sticky; top: 6.5rem; max-height: calc(100vh - 8rem); overflow-y: auto; padding-right: 1.25rem; border-right: 1px solid var(--border); } .docs-section-menu nav, .docs-section-menu section { display: grid; } .docs-section-menu nav { gap: 1.4rem; } .docs-section-menu section { gap: 0.5rem; } .docs-section-menu strong { margin-bottom: 0.2rem; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; } .docs-section-menu a { color: var(--muted); font-size: 0.82rem; line-height: 1.4; text-decoration: none; } .docs-section-menu a:hover, .docs-section-menu a:focus-visible { color: var(--brand); } .package-document, .component-detail-page .documentation { width: 100%; max-width: 840px; margin: 0; } .doc-intro { position: relative; overflow: hidden; margin-bottom: 2.5rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--border); border-radius: 24px; background: linear-gradient( 145deg, var(--surface), color-mix(in srgb, var(--brand) 7%, var(--surface)) ); box-shadow: var(--shadow); } .doc-intro::after { position: absolute; top: -7rem; right: -5rem; width: 16rem; height: 16rem; border-radius: 999px; background: color-mix(in srgb, var(--brand) 18%, transparent); filter: blur(45px); content: ""; pointer-events: none; } .doc-meta, .component-card-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; } .doc-meta span, .component-card-meta span { padding: 0.35rem 0.65rem; border: 1px solid var(--border); border-radius: 999px; color: var(--muted); background: var(--surface-soft); font-size: 0.74rem; font-weight: 700; } .component-catalog-page { padding-bottom: 6rem; } .component-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding-top: 1.5rem; } .component-card { position: relative; display: flex; min-width: 0; min-height: 250px; flex-direction: column; padding: 1.35rem; border: 1px solid var(--border); border-radius: 18px; color: inherit; background: var(--surface); box-shadow: 0 10px 35px rgba(15, 23, 42, 0.04); text-decoration: none; transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; } .component-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--brand) 55%, var(--border)); box-shadow: var(--shadow); } .component-card h2 { margin: 0.85rem 0 0.5rem; overflow-wrap: anywhere; font-size: 1.08rem; } .component-card p { flex: 1; margin: 0; color: var(--muted); font-size: 0.88rem; line-height: 1.6; } .component-card .card-link { margin-top: 1.2rem; color: var(--brand-strong); font-size: 0.84rem; font-weight: 800; } .required { color: #dc2626; font-weight: 800; } .component-detail-page pre { max-height: 38rem; } .component-catalog-callout { border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--border)); border-radius: 20px; padding: 1.5rem; background: color-mix(in srgb, var(--brand) 6%, var(--surface)); } @media (max-width: 1080px) { .component-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .docs-layout { grid-template-columns: minmax(0, 1fr); } .docs-layout .on-this-page { display: none; } .docs-layout--navigation { grid-template-columns: 13rem minmax(0, 1fr); } } @media (max-width: 640px) { .component-grid { grid-template-columns: minmax(0, 1fr); } .component-card { min-height: 0; } .doc-intro { border-radius: 18px; } .docs-layout--navigation { width: min(100% - 1.25rem, 100%); grid-template-columns: minmax(0, 1fr); } .docs-section-menu { display: none; } } /* Documentation v4: use the available viewport while preserving navigation. */ .portal-main.docs-layout--navigation { width: calc(100% - clamp(1.5rem, 4vw, 5rem)); max-width: none; grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr) minmax(12rem, 15rem); gap: clamp(1.5rem, 3vw, 3.5rem); } .docs-reading-column, .docs-reading-column .documentation.prose, .docs-reading-column .documentation.standalone, .docs-reading-column .package-document, .package-index-document { width: 100%; max-width: none; } .docs-section-menu .package-menu { padding-top: 0.25rem; border-top: 1px solid var(--border); } .docs-section-menu .package-menu a { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 0.75rem; } .package-index-document .package-grid { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); } @media (max-width: 1080px) { .portal-main.docs-layout--navigation { grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr); } } @media (max-width: 640px) { .portal-main.docs-layout--navigation { width: calc(100% - 1.25rem); grid-template-columns: minmax(0, 1fr); } } /* Documentation v3: editorial hierarchy, not a dashboard of cards. */ .documentation.prose, .package-document, .component-detail-page .documentation { max-width: 52rem; } .doc-intro { overflow: visible; margin-bottom: clamp(3rem, 7vw, 5rem); padding: 1.5rem 0 2rem; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } .doc-intro::after { display: none; } .doc-intro h1 { max-width: 13ch; } .doc-meta span, .component-card-meta span { padding: 0; border: 0; border-radius: 0; background: transparent; } .doc-meta span + span::before, .component-card-meta span + span::before { margin-right: 0.5rem; color: var(--border); content: "·"; } .access-callout, .component-catalog-callout { margin-block: 2.25rem; padding: 1.25rem 0 1.25rem 1.4rem; border: 0; border-left: 3px solid var(--brand); border-radius: 0; background: transparent; box-shadow: none; } .on-this-page { border: 0; border-left: 1px solid var(--border); border-radius: 0; padding: 0.35rem 0 0.35rem 1.25rem; background: transparent; box-shadow: none; } .category-filter { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: 0.8rem 0; background: color-mix(in srgb, var(--bg) 92%, transparent); box-shadow: none; } .component-grid, .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--border); } .component-card, .package-card { min-height: 0; padding: 1.5rem 1.5rem 1.5rem 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } .component-card:nth-child(odd), .package-card:nth-child(odd) { border-right: 1px solid var(--border); } .component-card:nth-child(even), .package-card:nth-child(even) { padding-left: 1.5rem; } .component-card::before, .package-card::before { display: none; } .component-card:hover, .package-card:hover { border-color: var(--border); background: color-mix(in srgb, var(--brand) 4%, transparent); box-shadow: none; transform: none; } .component-card p, .package-card p { flex: initial; } .component-card .card-link, .package-card .card-link { margin-top: 1rem; } .example-grid { display: block; } .example-card { margin-block: 2.5rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; } .example-card h3 { padding-bottom: 0.75rem; border-bottom: 1px solid var(--border); } .documentation > section:not(.doc-intro) { scroll-margin-top: calc(var(--docs-header) + 2rem); margin-block: clamp(3rem, 7vw, 5rem); } .table-wrap { border: 0; border-radius: 0; box-shadow: none; } .table-wrap table { border-top: 1px solid var(--border); } @media (max-width: 720px) { .component-grid, .package-grid { grid-template-columns: minmax(0, 1fr); } .component-card, .package-card, .component-card:nth-child(even), .package-card:nth-child(even) { padding-inline: 0; border-right: 0; } } /* Final documentation width contract; keep after legacy theme layers. */ body .portal-main.docs-layout--navigation { width: calc(100% - clamp(1.5rem, 4vw, 5rem)); max-width: none; grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr) minmax(12rem, 15rem); gap: clamp(1.5rem, 3vw, 3.5rem); } body .docs-reading-column, body .docs-reading-column .documentation.prose, body .docs-reading-column .documentation.standalone, body .docs-reading-column .package-document, body .package-index-document { width: 100%; max-width: none; } body .package-index-document .package-grid { grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); } @media (max-width: 1080px) { body .portal-main.docs-layout--navigation { grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr); } } @media (max-width: 640px) { body .portal-main.docs-layout--navigation { width: calc(100% - 1.25rem); grid-template-columns: minmax(0, 1fr); } } /* Documentation v4: remove every legacy card-shaped documentation shell. */ body .topbar nav { gap: 1.75rem; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } body .topbar nav a { padding: 0.4rem 0; border: 0; border-radius: 0; background: transparent; } body .preview-pill, body .theme-button { border-radius: 0.5rem; box-shadow: none; } body .documentation.standalone, body .standalone, body .package-document, body .component-detail-page .documentation { width: 100%; max-width: 56rem; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } body .documentation.standalone::before, body .standalone::before { display: none; } body .standalone > *, body .documentation.standalone > * { max-width: none; margin-inline: 0; } body .doc-intro { margin-top: 0; } body .local-toc { display: flex; flex-wrap: wrap; gap: 0.45rem 1.5rem; padding: 1rem 0; border: 0; border-block: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } body .local-toc a { padding: 0.25rem 0; border: 0; border-radius: 0; background: transparent; } body .lifecycle, body .feature-grid, body .coverage-list { gap: 0; border-top: 1px solid var(--border); } body .lifecycle li, body .feature-grid article, body .coverage-list article, body .marketing-main .feature-grid article { min-height: 0; padding: 1.25rem 1.25rem 1.25rem 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; transform: none; } body .lifecycle li:hover, body .feature-grid article:hover, body .coverage-list article:hover, body .marketing-main .feature-grid article:hover { background: transparent; box-shadow: none; transform: none; } body .documentation pre, body .documentation .table-wrap { max-width: 100%; } body .documentation pre { white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; } body .breadcrumbs { padding: 0 0 1.25rem; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; } @media (max-width: 760px) { body .topbar nav { display: none; } body .documentation.standalone, body .standalone, body .package-document, body .component-detail-page .documentation { padding: 0; } } :root { color-scheme: light; --bg: #f8fafc; --surface: #ffffff; --surface-soft: #f1f5f9; --text: #0f172a; --muted: #526075; --border: #dbe3ee; --brand: #5b5cf0; --brand-strong: #4338ca; --code: #111827; --code-text: #dbeafe; --shadow: 0 18px 60px rgba(15, 23, 42, 0.08); } [data-theme="dark"] { color-scheme: dark; --bg: #080b14; --surface: #101522; --surface-soft: #161c2c; --text: #f4f7fb; --muted: #9ba8bc; --border: #263047; --brand: #8b8df8; --brand-strong: #a5b4fc; --code: #05070d; --code-text: #dbeafe; --shadow: 0 22px 70px rgba(0, 0, 0, 0.3); } * { box-sizing: border-box; } html { scroll-behavior: auto; scroll-padding-top: calc(var(--docs-header, 4.5rem) + 1.5rem); } body { margin: 0; background: var(--bg); color: var(--text); font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif; overflow-x: hidden; } a { color: inherit; } .skip-link { position: fixed; z-index: 100; top: 0.5rem; left: 0.5rem; transform: translateY(-160%); padding: 0.75rem 1rem; border-radius: 0.5rem; color: white; background: var(--brand-strong); } .skip-link:focus { transform: translateY(0); } :focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; } .docs-shell { position: relative; isolation: isolate; min-height: 100vh; overflow: hidden; } .docs-shell::before, .docs-shell::after { position: fixed; z-index: -1; width: 38rem; height: 38rem; border-radius: 999px; content: ""; pointer-events: none; filter: blur(110px); opacity: 0.12; } .docs-shell::before { top: -16rem; left: -12rem; background: #6366f1; } .docs-shell::after { right: -15rem; bottom: -18rem; background: #a855f7; } .topbar { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr); align-items: center; gap: 2rem; height: 74px; padding: 0 clamp(20px, 4vw, 72px); border-bottom: 1px solid color-mix(in srgb, var(--border) 80%, transparent); background: color-mix(in srgb, var(--bg) 82%, transparent); backdrop-filter: blur(22px) saturate(145%); } .brand { display: inline-flex; align-items: center; gap: 0.65rem; width: fit-content; font-weight: 800; text-decoration: none; letter-spacing: -0.02em; } .brand span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: white; background: linear-gradient(145deg, #6366f1, #8b5cf6); box-shadow: 0 8px 24px rgba(99, 102, 241, 0.3); } .topbar nav { display: flex; gap: clamp(0.8rem, 1.35vw, 1.5rem); align-items: center; } .topbar nav a { position: relative; color: var(--muted); font-size: 0.9rem; font-weight: 600; text-decoration: none; } .topbar nav a::after { position: absolute; right: 0; bottom: -0.45rem; left: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--brand), #a855f7); content: ""; transform: scaleX(0); transition: transform 0.2s ease; } .topbar nav a:hover::after { transform: scaleX(1); } .topbar nav a:hover { color: var(--text); } .theme-button { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 9px; padding: 0; color: var(--muted); background: var(--surface); cursor: pointer; transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease; } .preview-pill { display: inline-flex; align-items: center; min-height: 36px; padding: 0.35rem 0.65rem; border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--border)); border-radius: 999px; color: var(--brand-strong); font-size: 0.78rem; font-weight: 800; text-decoration: none; } .topbar-actions { display: flex; justify-self: end; align-items: center; gap: 0.65rem; } .mobile-doc-nav { display: none; padding: 0.75rem 20px; border-bottom: 1px solid var(--border); background: var(--surface); } .mobile-doc-nav summary { cursor: pointer; font-weight: 700; } .mobile-doc-nav nav { display: grid; gap: 0.6rem; padding: 1rem 0 0.25rem; } .portal-main { min-width: 0; width: min(1240px, 100%); margin: 0 auto; padding: 0 clamp(20px, 4vw, 72px) 6rem; } .breadcrumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 1rem 0; color: var(--muted); font-size: 0.8rem; } .portal-hero { min-height: min(720px, calc(100vh - 74px)); margin-inline: calc(clamp(20px, 4vw, 72px) * -1); padding-inline: clamp(20px, 4vw, 72px); } .status { display: inline-flex; align-items: center; gap: 0.45rem; width: fit-content; border: 1px solid var(--border); border-radius: 999px; padding: 0.35rem 0.65rem; font-size: 0.75rem; font-weight: 800; } .status-beta { color: #7c3aed; background: color-mix(in srgb, #8b5cf6 10%, var(--surface)); } .status-planned { color: #a16207; background: color-mix(in srgb, #eab308 12%, var(--surface)); } .access-note { font-size: 0.86rem !important; } .portal-main > section:not(.hero) { padding-block: clamp(3rem, 7vw, 6rem); border-top: 1px solid var(--border); } .portal-main > section:not(.hero) > h2 { max-width: 760px; margin: 0 0 1.75rem; font-size: clamp(1.8rem, 3.4vw, 3rem); line-height: 1.08; letter-spacing: -0.045em; } .portal-main > section:not(.hero) > p { max-width: 760px; color: var(--muted); line-height: 1.75; } .portal-main .feature-grid { padding: 0; } .feature-grid h3 { margin: 0.65rem 0; color: var(--text); font-size: 1.05rem; } .feature-grid article > :first-child { margin-top: 0; } .feature-grid article > :last-child { margin-bottom: 0; } .access-callout { margin: 2rem 0; border: 1px solid var(--brand); border-radius: 14px; padding: 1.25rem; background: color-mix(in srgb, var(--brand) 7%, var(--surface)); } .access-callout pre { padding-right: 5.5rem; } .access-callout .copy-button { position: absolute; top: 0.65rem; right: 0.65rem; } .access-callout h2 { margin-top: 0; font-size: 1.2rem; } .lifecycle { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.75rem; padding: 0; list-style: none; } .lifecycle li { display: grid; gap: 0.45rem; border: 1px solid var(--border); border-radius: 12px; padding: 1rem; background: var(--surface); } .lifecycle span { color: var(--muted); font-size: 0.82rem; } .coverage-list { display: grid; gap: 0.75rem; } .coverage-list article { display: flex; justify-content: space-between; gap: 1rem; align-items: center; border-bottom: 1px solid var(--border); } .local-toc { display: flex; flex-wrap: wrap; gap: 0.75rem; border: 1px solid var(--border); border-radius: 12px; padding: 1rem; } .copy-button { min-width: 44px; min-height: 44px; border: 1px solid #64748b; border-radius: 8px; color: white; background: #334155; cursor: pointer; } .copy-button:hover { background: #475569; } footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; } .theme-button:hover { transform: translateY(-2px); border-color: var(--brand); box-shadow: 0 10px 28px color-mix(in srgb, var(--brand) 18%, transparent); } .page { width: 100%; margin: 0; padding-inline: clamp(20px, 4vw, 72px); } .hero { display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; min-height: 670px; padding: 100px 0; text-align: center; background: radial-gradient( circle at 50% 25%, color-mix(in srgb, var(--brand) 19%, transparent), transparent 34% ), radial-gradient(circle at 75% 55%, color-mix(in srgb, #a855f7 9%, transparent), transparent 26%); } .hero.compact { min-height: auto; padding: 100px 0 60px; } .eyebrow, .category { color: var(--brand); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; } .hero h1 { width: 100%; max-width: 920px; margin: 1rem 0; font-size: clamp(3rem, 7vw, 6.6rem); line-height: 0.96; letter-spacing: -0.065em; } .hero > * { min-width: 0; } .hero.compact h1 { font-size: clamp(2.8rem, 5vw, 4.8rem); } .hero h1 em { color: transparent; background: linear-gradient(105deg, var(--brand), #a855f7, #0ea5e9, var(--brand)); background-size: 240% auto; background-clip: text; font-style: normal; } .hero > p { width: min(720px, 100%); max-width: 100%; margin: 0.75rem auto 0; color: var(--muted); font-size: 1.15rem; line-height: 1.75; } .actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; } .actions a { padding: 0.8rem 1.15rem; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); font-weight: 700; text-decoration: none; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease; } .actions a:hover { transform: translateY(-3px); border-color: var(--brand); box-shadow: 0 14px 35px color-mix(in srgb, var(--brand) 18%, transparent); } .actions .primary { border-color: var(--brand); color: white; background: var(--brand); } .code-window { width: min(680px, 100%); margin-top: 3rem; overflow: hidden; border: 1px solid var(--border); border-radius: 16px; text-align: left; background: var(--code); box-shadow: var(--shadow); } .code-window > span { display: block; padding: 0.7rem 1rem; border-bottom: 1px solid #283044; color: #94a3b8; font: 0.75rem ui-monospace, monospace; } pre { position: relative; overflow: auto; margin: 1.25rem 0; padding: 1.2rem 1.35rem; border: 1px solid #20283a; border-radius: 12px; color: var(--code-text); background: var(--code); font: 0.82rem/1.7 ui-monospace, SFMono-Regular, Consolas, monospace; tab-size: 2; } .code-window pre { margin: 0; border: 0; border-radius: 0; } code { border-radius: 5px; padding: 0.12rem 0.35rem; color: var(--brand-strong); background: var(--surface-soft); font: 0.88em ui-monospace, SFMono-Regular, Consolas, monospace; } pre code, .sidebar > code { padding: 0; color: inherit; background: transparent; } .feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding: 0 0 100px; } .feature-grid article, .package-card { border: 1px solid var(--border); border-radius: 16px; padding: 1.5rem; background: linear-gradient( 145deg, var(--surface), color-mix(in srgb, var(--surface-soft) 42%, var(--surface)) ); box-shadow: var(--shadow); } .feature-grid h2, .package-card h2 { margin: 0.7rem 0; letter-spacing: -0.025em; } .feature-grid p, .package-card p { color: var(--muted); line-height: 1.65; } .search { width: min(620px, 100%); margin-top: 2rem; border: 1px solid var(--border); border-radius: 13px; padding: 0.9rem 1rem; color: var(--text); background: var(--surface); font: inherit; box-shadow: var(--shadow); transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease; } .search:focus { transform: translateY(-2px); border-color: var(--brand); outline: none; box-shadow: 0 18px 50px color-mix(in srgb, var(--brand) 18%, transparent); } .category-filter { display: grid; gap: 0.8rem; margin-bottom: 1.5rem; } .category-row { display: flex; gap: 0.55rem; overflow-x: auto; padding: 0.2rem 0 0.65rem; scrollbar-width: thin; } .category-row button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 0.45rem; border: 1px solid var(--border); border-radius: 999px; padding: 0.55rem 0.8rem; color: var(--muted); background: var(--surface); font-family: inherit; font-size: 0.82rem; font-weight: 600; line-height: 1; cursor: pointer; transition: border-color 0.16s ease, color 0.16s ease, transform 0.16s ease; } .category-row button:hover, .category-row button:focus-visible { transform: translateY(-1px); border-color: var(--brand); color: var(--brand); outline: none; } .category-row button span { display: grid; place-items: center; min-width: 1.35rem; height: 1.35rem; border-radius: 999px; color: var(--text); background: var(--surface-soft); font-size: 0.7rem; } .category-filter p { margin: 0; color: var(--muted); font-size: 0.85rem; } .category-filter strong { color: var(--text); } .package-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding-bottom: 100px; } .package-card { display: block; text-decoration: none; transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease; } .package-card:hover { transform: translateY(-7px); border-color: var(--brand); box-shadow: 0 24px 60px color-mix(in srgb, var(--brand) 14%, transparent); } .card-link { color: var(--brand); font-size: 0.88rem; font-weight: 700; } .package-page { display: grid; grid-template-columns: 250px minmax(0, 1fr) 200px; gap: 48px; align-items: start; padding-top: 56px; padding-bottom: 110px; } .on-this-page { position: sticky; top: 110px; min-width: 0; border-left: 1px solid var(--border); padding-left: 1rem; } .on-this-page h2 { margin: 0 0 0.8rem; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; } .on-this-page nav { display: grid; gap: 0.48rem; max-height: calc(100vh - 160px); overflow-y: auto; } .on-this-page a { overflow: hidden; color: var(--muted); font-size: 0.78rem; line-height: 1.35; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; } .on-this-page a:hover { color: var(--brand); } .on-this-page .toc-level-3, .on-this-page .toc-level-4 { padding-left: 0.7rem; } .sidebar { position: sticky; top: 110px; display: grid; gap: 0.85rem; } .sidebar > a { color: var(--muted); font-size: 0.85rem; text-decoration: none; } .sidebar h1 { overflow-wrap: anywhere; margin: 0; font-size: 1.55rem; letter-spacing: -0.035em; } .sidebar p { margin: 0; color: var(--muted); line-height: 1.55; } .sidebar > code { overflow-x: auto; padding: 0.8rem; border: 1px solid var(--border); border-radius: 9px; color: var(--text); background: var(--surface-soft); } .sidebar nav { display: grid; gap: 0.55rem; padding-top: 0.5rem; border-top: 1px solid var(--border); } .sidebar nav a { color: var(--muted); text-decoration: none; } .documentation { min-width: 0; } .documentation.standalone, .standalone { width: min(960px, 100%); max-width: 960px; margin: 0 auto; padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(5rem, 9vw, 8rem); } .standalone > * { width: 100%; max-width: 850px; } .doc-intro { padding-bottom: 2rem; border-bottom: 1px solid var(--border); } .doc-intro h1, .standalone h1 { margin: 0.7rem 0; font-size: clamp(2.5rem, 5vw, 4.2rem); letter-spacing: -0.055em; } .doc-intro p { color: var(--muted); font-size: 1.1rem; } .prose { color: var(--muted); font-size: 1rem; line-height: 1.8; } .prose p, .prose li, .prose td, .prose th { overflow-wrap: anywhere; } .prose pre { max-width: 100%; } .prose > * { max-width: 850px; } .prose h2, .prose h3, .prose h4 { scroll-margin-top: 90px; color: var(--text); line-height: 1.2; letter-spacing: -0.035em; } .prose h2 { margin: 3.5rem 0 1rem; font-size: 2rem; } .prose h3 { margin: 2.5rem 0 0.8rem; font-size: 1.4rem; } .prose ul { padding-left: 1.25rem; } .prose li { margin: 0.45rem 0; } .prose blockquote { margin: 1.5rem 0; border-left: 3px solid var(--brand); padding: 0.5rem 1.2rem; color: var(--text); background: var(--surface-soft); } .table-wrap { overflow-x: auto; margin: 1.5rem 0; border: 1px solid var(--border); border-radius: 12px; } .prose table, .portal-main table, .marketing-main table { width: 100%; border-collapse: collapse; background: var(--surface); font-size: 0.9rem; } .prose th, .prose td, .portal-main th, .portal-main td, .marketing-main th, .marketing-main td { min-width: 130px; padding: 0.75rem 0.9rem; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; line-height: 1.5; } .prose th, .portal-main th, .marketing-main th { color: var(--text); background: var(--surface-soft); font-weight: 700; } .prose tr:last-child td, .portal-main tr:last-child td, .marketing-main tr:last-child td { border-bottom: 0; } .prose a { color: var(--brand); } .api { margin-top: 4rem; border-top: 1px solid var(--border); } .api pre { max-height: 760px; } #guide, #api, #examples { scroll-margin-top: 90px; } .examples { margin-top: 4rem; border-top: 1px solid var(--border); } .example-grid { display: grid; gap: 1rem; } .example-card { min-width: 0; } .example-card h3 { margin-bottom: -0.5rem; font-size: 0.88rem; } .language-reference { max-width: 920px; } footer { border-top: 1px solid var(--border); padding: 34px 20px; color: var(--muted); font-size: 0.82rem; text-align: center; } footer p { margin: 0.5rem auto; } footer a { color: var(--brand-strong); text-underline-offset: 3px; } @keyframes reveal-up { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } } @keyframes ambient-float { from { transform: translate3d(-3%, -2%, 0) scale(0.95); } to { transform: translate3d(8%, 7%, 0) scale(1.12); } } @keyframes gradient-shift { to { background-position: 240% center; } } @keyframes logo-pulse { 0%, 100% { box-shadow: 0 8px 24px rgba(99, 102, 241, 0.28); } 50% { box-shadow: 0 10px 34px rgba(139, 92, 246, 0.5); } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } @media (max-width: 900px) { .docs-shell::before, .docs-shell::after { display: none; } .topbar { grid-template-columns: 1fr auto; padding: 0 20px; background: var(--bg); backdrop-filter: none; } .topbar nav { display: none; } .preview-pill { display: none; } .topbar-actions { display: none; } .mobile-doc-nav { display: block; } .feature-grid, .package-grid { grid-template-columns: repeat(2, 1fr); } .package-page { grid-template-columns: 1fr; gap: 35px; } .sidebar { position: static; } .on-this-page { display: none; } } @media (min-width: 901px) and (max-width: 1120px) { .package-page { grid-template-columns: 230px minmax(0, 1fr); } .on-this-page { display: none; } } @media (max-width: 600px) { .page { width: 100%; padding-inline: 14px; } .hero { min-height: auto; padding-top: 72px; padding-bottom: 72px; } .hero h1 { width: calc(100vw - 60px); max-width: calc(100vw - 60px); font-size: clamp(1.75rem, 8vw, 2.2rem); line-height: 1.02; letter-spacing: -0.055em; overflow-wrap: anywhere; } .hero > p { width: calc(100vw - 60px); max-width: calc(100vw - 60px); font-size: 1rem; overflow-wrap: anywhere; } .portal-hero { margin-inline: -14px; padding-inline: 14px; } .portal-hero br { display: block; } .portal-hero h1 em { display: block; } .portal-hero > p { padding-inline: 0.25rem; } .actions { width: calc(100vw - 60px); max-width: calc(100vw - 60px); } .actions a { max-width: 100%; text-align: center; } .portal-main > section:not(.hero) { padding-block: 3.5rem; } .breadcrumbs { overflow-x: auto; flex-wrap: nowrap; white-space: nowrap; } .documentation.standalone, .standalone { width: calc(100vw - 40px); max-width: calc(100vw - 40px); } .standalone > * { max-width: calc(100vw - 40px); } .standalone > .status { width: fit-content; } .coverage-list article { align-items: flex-start; flex-direction: column; padding-bottom: 1rem; } .feature-grid, .package-grid { grid-template-columns: 1fr; } .package-page { padding-top: 30px; } } /* Final editorial surface overrides. Keep documentation open and reserve elevated cards for genuinely interactive choices. */ body .doc-intro { overflow: visible; padding: 1.5rem 0 2rem; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } body .doc-intro::after, body .package-card::before { display: none; } body .access-callout, body .component-catalog-callout { border: 0; border-left: 3px solid var(--brand); border-radius: 0; background: transparent; box-shadow: none; } body .on-this-page, body .sidebar { border: 0; border-left: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; } body .category-filter { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: color-mix(in srgb, var(--bg) 92%, transparent); box-shadow: none; } body .component-grid, body .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--border); } body .component-card, body .package-card { min-height: 0; padding: 1.5rem; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } body .component-card:nth-child(odd), body .package-card:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--border); } body .component-card:hover, body .package-card:hover { border-color: var(--border); background: color-mix(in srgb, var(--brand) 4%, transparent); box-shadow: none; transform: none; } body .example-grid { display: block; } body .example-card { margin-block: 2.5rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; } body .marketing-main > section:not(.marketing-hero) { margin-block: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } @media (max-width: 720px) { body .component-grid, body .package-grid { grid-template-columns: minmax(0, 1fr); } body .component-card, body .package-card, body .component-card:nth-child(odd), body .package-card:nth-child(odd) { padding-inline: 0; border-right: 0; } } /* Documentation design system v2 ------------------------------------------------- A focused application layer over the semantic WRNexus theme and @wrnexus/ui. Components keep their own internal spacing; page rhythm belongs to this site. */ :root { --docs-content: 78rem; --docs-reading: 48rem; --docs-header: 4.5rem; --docs-radius: 1.25rem; --docs-shadow: 0 1px 2px rgb(15 23 42 / 0.04), 0 18px 48px rgb(15 23 42 / 0.07); --docs-grid: color-mix(in srgb, var(--border) 38%, transparent); } body { background-color: var(--bg); background-image: radial-gradient( circle at 10% -10%, color-mix(in srgb, var(--brand) 11%, transparent), transparent 28rem ), radial-gradient( circle at 95% 12%, color-mix(in srgb, #a855f7 8%, transparent), transparent 30rem ); background-attachment: fixed; } .docs-shell { overflow: clip; } .docs-skip-link { position: fixed; z-index: 100; top: 0.6rem; left: 0.6rem; transform: translateY(-180%); transition: transform 160ms ease; } .docs-skip-link:focus-within { transform: translateY(0); } .docs-skip-link > a { display: inline-flex; min-height: 2.75rem; align-items: center; border-radius: 0.7rem; padding: 0.65rem 1rem; color: white; background: var(--brand-strong); box-shadow: 0 12px 30px color-mix(in srgb, var(--brand) 30%, transparent); font-size: 0.85rem; font-weight: 750; text-decoration: none; } .docs-skip-link > button { display: none !important; } .docs-shell::before, .docs-shell::after { display: none; } .topbar { grid-template-columns: minmax(13rem, 1fr) auto minmax(13rem, 1fr); height: var(--docs-header); padding-inline: clamp(1rem, 3vw, 3rem); border-bottom-color: color-mix(in srgb, var(--border) 72%, transparent); background: color-mix(in srgb, var(--bg) 88%, transparent); box-shadow: 0 1px 0 rgb(255 255 255 / 0.04); } .brand { gap: 0.75rem; font-size: 1rem; } .brand span { width: 2.25rem; height: 2.25rem; border: 1px solid rgb(255 255 255 / 0.18); border-radius: 0.8rem; background: linear-gradient(145deg, var(--brand), #8b5cf6 58%, #c026d3); box-shadow: 0 8px 24px color-mix(in srgb, var(--brand) 28%, transparent); } .topbar nav { gap: 1.75rem; padding: 0; border: 0; border-radius: 0; background: transparent; } .topbar nav a { padding: 0.55rem 0; border-radius: 0; font-size: 0.82rem; transition: color 180ms ease, background 180ms ease, transform 180ms ease; } .topbar nav a::after { display: none; } .topbar nav a:hover { background: transparent; transform: none; } .preview-pill { min-height: 2.25rem; padding-inline: 0.8rem; border-color: color-mix(in srgb, var(--brand) 28%, var(--border)); background: color-mix(in srgb, var(--brand) 8%, var(--surface)); } .theme-button { border-radius: 0.75rem; background: color-mix(in srgb, var(--surface) 86%, transparent); } .theme-button:hover { border-color: color-mix(in srgb, var(--brand) 50%, var(--border)); color: var(--brand-strong); transform: translateY(-1px) rotate(6deg); box-shadow: 0 8px 22px color-mix(in srgb, var(--brand) 12%, transparent); } .mobile-doc-nav, .marketing-mobile-nav { position: sticky; top: var(--docs-header); z-index: 19; border-bottom-color: var(--border); background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: blur(18px); } .mobile-doc-nav details, .marketing-mobile-nav details { width: min(var(--docs-content), 100%); margin-inline: auto; } .mobile-doc-nav summary, .marketing-mobile-nav summary { list-style: none; } .mobile-doc-nav summary::after, .marketing-mobile-nav summary::after { float: right; content: "+"; color: var(--brand-strong); } .mobile-doc-nav details[open] summary::after, .marketing-mobile-nav details[open] summary::after { content: "−"; } .portal-main, .marketing-main, .page { width: min(var(--docs-content), 100%); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 3.5rem); } .breadcrumbs { gap: 0.6rem; padding-block: 1.25rem; font-size: 0.75rem; font-weight: 650; } .breadcrumbs a:hover { color: var(--brand-strong); } .documentation.standalone { position: relative; max-width: var(--docs-reading); margin: clamp(1rem, 4vw, 3rem) auto clamp(4rem, 8vw, 7rem); padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; } .documentation.standalone::before { display: none; } .documentation h1, .hero h1, .marketing-hero h1 { text-wrap: balance; } .documentation.standalone > h1 { max-width: 13ch; margin-top: 1.25rem; font-size: clamp(2.25rem, 6vw, 4.5rem); line-height: 0.98; letter-spacing: -0.06em; } .documentation.standalone > p:first-of-type { max-width: 42rem; font-size: clamp(1.05rem, 2vw, 1.2rem); line-height: 1.75; } .prose h2 { margin-top: 3.5rem; padding-top: 1rem; border-top: 1px solid color-mix(in srgb, var(--border) 75%, transparent); font-size: clamp(1.45rem, 3vw, 2rem); letter-spacing: -0.035em; scroll-margin-top: calc(var(--docs-header) + 1.5rem); } .prose h3 { margin-top: 2.5rem; font-size: 1.25rem; } .prose p, .prose li { color: var(--muted); line-height: 1.82; } .prose strong, .prose h2, .prose h3, .prose h4 { color: var(--text); } .prose a, .documentation a { text-decoration-color: color-mix(in srgb, var(--brand) 45%, transparent); text-underline-offset: 0.22em; } .prose a:hover, .documentation a:hover { color: var(--brand-strong); text-decoration-color: currentColor; } pre { border-color: color-mix(in srgb, #334155 86%, transparent) !important; border-radius: 1rem !important; background: #070a12 !important; box-shadow: 0 18px 46px rgb(2 6 23 / 0.22); } pre code { color: #dbeafe; font-size: 0.86rem; line-height: 1.75; } :not(pre) > code { border: 1px solid color-mix(in srgb, var(--brand) 15%, var(--border)); border-radius: 0.42rem; padding: 0.12em 0.4em; color: color-mix(in srgb, var(--brand-strong) 86%, var(--text)); background: color-mix(in srgb, var(--brand) 7%, var(--surface-soft)); font-size: 0.88em; } .prose blockquote, .access-callout { border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--border)); border-left: 3px solid var(--brand); border-radius: 0 1rem 1rem 0; background: color-mix(in srgb, var(--brand) 6%, var(--surface)); box-shadow: none; } .table-wrap { margin-block: 1.5rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; } table { margin: 0 !important; } th { background: color-mix(in srgb, var(--surface-soft) 88%, transparent); font-size: 0.72rem; letter-spacing: 0.06em; text-transform: uppercase; } tbody tr { transition: background 160ms ease; } tbody tr:hover { background: color-mix(in srgb, var(--brand) 4%, transparent); } .local-toc, .on-this-page { border: 0; border-left: 1px solid var(--border); border-radius: 0; padding: 0.5rem 0 0.5rem 1rem; background: transparent; } .local-toc a, .on-this-page a { border-radius: 0; padding: 0.35rem 0; text-decoration: none; transition: color 160ms ease, background 160ms ease; } .local-toc a:hover, .on-this-page a:hover { background: transparent; } .page > .hero.compact { position: relative; overflow: hidden; margin-top: clamp(1.5rem, 5vw, 4rem); border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: clamp(2rem, 6vw, 5rem) 0; background: transparent; box-shadow: none; } .page > .hero.compact::after { position: absolute; top: -9rem; right: -8rem; width: 24rem; height: 24rem; border-radius: 999px; background: color-mix(in srgb, var(--brand) 12%, transparent); content: ""; filter: blur(1px); } .hero.compact > * { position: relative; z-index: 1; } .hero.compact h1 { max-width: 12ch; font-size: clamp(2.5rem, 7vw, 5.5rem); line-height: 0.95; letter-spacing: -0.065em; } .search { min-height: 3.35rem; border-radius: 0.9rem; background: color-mix(in srgb, var(--surface) 92%, transparent); box-shadow: 0 8px 28px rgb(15 23 42 / 0.08); } .category-filter { position: sticky; top: calc(var(--docs-header) + 0.75rem); z-index: 10; margin-block: 1.5rem; border: 1px solid color-mix(in srgb, var(--border) 80%, transparent); border-radius: 1.15rem; padding: 0.8rem; background: color-mix(in srgb, var(--bg) 88%, transparent); box-shadow: 0 12px 34px rgb(15 23 42 / 0.07); backdrop-filter: blur(18px); } .category-row button { border-radius: 0.65rem; transition: transform 160ms ease, border-color 160ms ease, color 160ms ease, background 160ms ease; } .category-row button:hover { border-color: color-mix(in srgb, var(--brand) 48%, var(--border)); color: var(--brand-strong); transform: translateY(-1px); } .package-grid { gap: 1rem; padding-bottom: clamp(4rem, 8vw, 7rem); } .package-card { position: relative; min-height: 13rem; overflow: hidden; border-radius: 1.15rem; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: 0 1px 2px rgb(15 23 42 / 0.04); } .package-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(180deg, var(--brand), #a855f7); content: ""; opacity: 0; transition: opacity 200ms ease; } .package-card:hover { border-color: color-mix(in srgb, var(--brand) 34%, var(--border)); box-shadow: 0 18px 44px color-mix(in srgb, var(--brand) 10%, transparent); } .package-card:hover::before { opacity: 1; } .package-card .card-link { margin-top: auto; color: var(--brand-strong); font-size: 0.82rem; font-weight: 750; } .package-page { display: grid; grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-top: clamp(2rem, 5vw, 4rem); padding-bottom: clamp(4rem, 8vw, 7rem); } .sidebar { top: calc(var(--docs-header) + 1.5rem); border: 1px solid var(--border); border-radius: 1.15rem; padding: 1.1rem; background: color-mix(in srgb, var(--surface) 88%, transparent); box-shadow: 0 12px 34px rgb(15 23 42 / 0.06); backdrop-filter: blur(16px); } .sidebar nav { gap: 0.25rem; } .sidebar nav a { border-radius: 0.6rem; padding: 0.55rem 0.65rem; transition: color 160ms ease, background 160ms ease, transform 160ms ease; } .sidebar nav a:hover { color: var(--brand-strong); background: color-mix(in srgb, var(--brand) 8%, transparent); transform: translateX(2px); } .package-page > .documentation { min-width: 0; max-width: 57rem; } .doc-intro { margin-bottom: 2.5rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--border); border-radius: 1.5rem; background: color-mix(in srgb, var(--surface) 92%, transparent); box-shadow: var(--docs-shadow); } .doc-intro h1 { font-size: clamp(2.25rem, 6vw, 4.5rem); letter-spacing: -0.06em; } .example-card { border-radius: 1rem; background: color-mix(in srgb, var(--surface) 92%, transparent); box-shadow: 0 10px 28px rgb(15 23 42 / 0.05); } .marketing-main { padding-bottom: 2rem; } .marketing-main .marketing-hero { position: relative; min-height: min(48rem, calc(100vh - var(--docs-header))); display: grid; align-content: center; overflow: hidden; border-bottom: 0; } .marketing-hero::before { position: absolute; z-index: -1; top: 8%; right: -15%; width: min(42rem, 70vw); aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--brand) 18%, transparent); border-radius: 38% 62% 62% 38% / 46% 42% 58% 54%; background: linear-gradient(var(--docs-grid) 1px, transparent 1px), linear-gradient(90deg, var(--docs-grid) 1px, transparent 1px), radial-gradient(circle, color-mix(in srgb, var(--brand) 17%, transparent), transparent 65%); background-size: 2rem 2rem, 2rem 2rem, auto; content: ""; transform: rotate(-9deg); } .marketing-hero h1 { max-width: 10ch; font-size: clamp(3rem, 8vw, 7rem); line-height: 0.88; letter-spacing: -0.075em; } .marketing-hero h1 em { color: transparent; background: linear-gradient(90deg, var(--brand), #a855f7 55%, #ec4899); background-clip: text; font-style: normal; } .marketing-hero > p:not(.eyebrow):not(.access-note) { max-width: 48rem; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.7; } .actions a { min-height: 2.85rem; border-radius: 0.75rem; transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease; } .actions a:hover { transform: translateY(-2px); box-shadow: 0 12px 28px color-mix(in srgb, var(--brand) 13%, transparent); } .marketing-main > section:not(.marketing-hero) { margin-block: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: clamp(2rem, 6vw, 5rem); background: transparent; box-shadow: none; backdrop-filter: none; } .marketing-main .feature-grid article { min-height: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; padding: 1.25rem 1.25rem 1.25rem 0; background: transparent; transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; } .marketing-main .feature-grid article:hover { border-color: var(--border); transform: none; box-shadow: none; } .lifecycle li { border-radius: 0; background: transparent; } footer { display: grid; grid-template-columns: minmax(16rem, 1fr) auto; gap: 2rem; align-items: center; width: min(var(--docs-content), calc(100% - 2rem)); margin: 2rem auto 1rem; border: 0; border-top: 1px solid var(--border); border-radius: 0; padding: clamp(1.4rem, 4vw, 2.5rem); background: transparent; box-shadow: none; backdrop-filter: none; } .footer-brand { display: flex; align-items: center; gap: 0.9rem; } .footer-mark { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 0.9rem; color: white; background: linear-gradient(145deg, var(--brand), #8b5cf6, #c026d3); font-weight: 850; box-shadow: 0 10px 25px color-mix(in srgb, var(--brand) 22%, transparent); } .footer-brand p { display: grid; gap: 0.2rem; margin: 0; } .footer-brand p span, .footer-meta { color: var(--muted); font-size: 0.78rem; } footer nav { justify-content: end; } .footer-meta { grid-column: 1 / -1; margin: 0; padding-top: 1rem; border-top: 1px solid var(--border); } [data-component="BackToTop"] { z-index: 70; } @media (max-width: 900px) { .topbar { grid-template-columns: 1fr auto; } .portal-main, .marketing-main, .page { padding-inline: 1rem; } .package-page { grid-template-columns: 1fr; } .sidebar { position: relative; top: auto; } .sidebar nav { display: flex; flex-wrap: wrap; } .category-filter { top: calc(var(--docs-header) + 3.5rem); } footer { grid-template-columns: 1fr; } footer nav { justify-content: start; } } @media (max-width: 600px) { :root { --docs-header: 4rem; } .topbar { padding-inline: 1rem; } .brand span { width: 2rem; height: 2rem; } .preview-pill { display: none; } .documentation.standalone { margin-top: 0.5rem; padding: 1.4rem; border-radius: 1.25rem; } .documentation.standalone > h1, .doc-intro h1 { font-size: clamp(2.15rem, 13vw, 3.4rem); } .page > .hero.compact, .marketing-main > section:not(.marketing-hero), .doc-intro { padding: 1.4rem; } .marketing-main .marketing-hero { min-height: 42rem; } .marketing-hero h1 { font-size: clamp(3rem, 16vw, 4.4rem); } .marketing-hero::before { top: 3%; right: -45%; opacity: 0.7; } .category-filter { position: relative; top: auto; } .package-grid { grid-template-columns: 1fr; } .package-card { min-height: 11rem; } footer { width: calc(100% - 2rem); margin-top: 1rem; border-radius: 1.15rem; } } @media (prefers-reduced-motion: reduce) { .marketing-hero::before, .package-card, .marketing-main .feature-grid article, .actions a, .topbar nav a { transition: none; } } /* Marketing shell restored from the visual system at 5eea460. */ .marketing-shell { background: radial-gradient(circle at 50% 18%, rgba(99, 102, 241, 0.12), transparent 30rem), radial-gradient(circle at 92% 88%, rgba(168, 85, 247, 0.1), transparent 32rem), var(--bg); } .marketing-header { grid-template-columns: 1fr auto 1fr; } .marketing-header > nav { justify-self: center; } .marketing-mobile-nav { display: none; } .marketing-main { width: 100%; } .marketing-main .marketing-hero { min-height: 860px; padding: 96px clamp(20px, 5vw, 80px) 120px; } .marketing-hero .status { display: none; } .marketing-hero .eyebrow { margin-bottom: 0.5rem; } .marketing-hero h1 { max-width: 1080px; font-size: clamp(4rem, 7.5vw, 7.5rem); } .marketing-hero > p:not(.access-note) { max-width: 760px; } .marketing-hero .access-note { width: auto; margin-top: 1rem; font-size: 0.78rem !important; } .marketing-hero .code-window { width: min(760px, 100%); margin-top: 3.5rem; border-color: color-mix(in srgb, var(--brand) 35%, var(--border)); box-shadow: 0 28px 90px rgba(0, 0, 0, 0.36); } .marketing-hero .code-window > span::before { content: "● ● ● "; color: #64748b; letter-spacing: 0.15em; } .marketing-section, .marketing-main > section:not(.marketing-hero), .marketing-cta { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: clamp(5rem, 9vw, 9rem) 0; border-top: 1px solid var(--border); } .marketing-section > .eyebrow, .marketing-main > section:not(.marketing-hero) > .eyebrow, .marketing-cta > .eyebrow { display: block; margin-bottom: 1rem; } .marketing-section > h2, .marketing-main > section:not(.marketing-hero) > h2, .marketing-cta h2 { max-width: 800px; margin: 0 0 2.5rem; font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: 1.03; letter-spacing: -0.055em; } .marketing-main .feature-grid { padding-bottom: 0; } .marketing-main .feature-grid article { min-height: 220px; padding: 2rem; box-shadow: none; } .marketing-main .feature-grid article b { color: var(--brand); font-size: 0.72rem; letter-spacing: 0.12em; } .marketing-main > section:nth-child(3) { display: grid; grid-template-columns: minmax(240px, 0.65fr) minmax(0, 1.35fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; } .marketing-main > section:nth-child(3) > h2 { margin-top: 1.2rem; } .marketing-main > section:nth-child(3) > pre { margin: 0; } .marketing-main .lifecycle { grid-template-columns: repeat(5, 1fr); } .marketing-main .lifecycle li { min-height: 150px; padding: 1.25rem; background: linear-gradient( 145deg, var(--surface), color-mix(in srgb, var(--brand) 5%, var(--surface)) ); } .marketing-main .lifecycle li b { color: var(--brand); font-size: 0.7rem; } .marketing-main > section:nth-child(5) .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .marketing-main > section:nth-child(5) .feature-grid article { min-height: 260px; } .marketing-main > section:nth-child(6) .table-wrap { background: var(--surface); } .marketing-main > section:nth-child(7) { text-align: center; border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--border)); border-radius: 24px; padding-inline: 2rem; background: radial-gradient( circle at 50% 0, color-mix(in srgb, var(--brand) 14%, transparent), transparent 65% ); } .marketing-main > section:nth-child(7) h2 { margin-inline: auto; } .marketing-main > section:nth-child(7) .actions { justify-content: center; } @media (max-width: 900px) { .marketing-header { grid-template-columns: 1fr auto; } .marketing-header > nav { display: none; } .marketing-header .topbar-actions { display: flex; } .marketing-header .preview-pill { display: none; } .marketing-mobile-nav { display: block; border-bottom: 1px solid var(--border); padding: 0.8rem 20px; background: color-mix(in srgb, var(--bg) 88%, transparent); } .marketing-mobile-nav summary { cursor: pointer; font-weight: 700; } .marketing-mobile-nav nav { display: grid; gap: 0.8rem; padding: 1rem 0 0.35rem; } .marketing-main .lifecycle { grid-template-columns: repeat(2, 1fr); } .marketing-main > section:nth-child(3) { grid-template-columns: 1fr; } } @media (max-width: 600px) { .marketing-main .marketing-hero { min-height: auto; padding: 72px 20px 86px; } .marketing-hero h1 { width: calc(100vw - 40px); max-width: calc(100vw - 40px); font-size: clamp(2.35rem, 11vw, 3rem); line-height: 0.98; overflow-wrap: normal; } .marketing-hero h1 em { display: block; max-width: 100%; font-size: 0.94em; } .marketing-hero > p, .marketing-hero .actions { width: calc(100vw - 40px); max-width: calc(100vw - 40px); } .marketing-hero .actions { justify-content: center; } .marketing-hero .actions a { width: 100%; } .marketing-hero .code-window { margin-top: 2.5rem; } .marketing-hero .code-window pre { max-height: 360px; } .marketing-section, .marketing-main > section:not(.marketing-hero), .marketing-cta { width: calc(100% - 40px); padding-block: 4.5rem; } .marketing-section > h2, .marketing-main > section:not(.marketing-hero) > h2, .marketing-cta h2 { font-size: clamp(2.2rem, 11vw, 3.2rem); } .marketing-main .feature-grid, .marketing-main > section:nth-child(5) .feature-grid, .marketing-main .lifecycle { grid-template-columns: 1fr; } } /* Keep the v2 marketing composition last in the cascade. */ .marketing-main { width: min(var(--docs-content), 100%); padding-inline: clamp(1rem, 4vw, 3.5rem); padding-bottom: 2rem; } .marketing-main .marketing-hero { min-height: min(48rem, calc(100vh - var(--docs-header))); width: 100%; max-width: 100%; margin-inline: 0; padding-inline: 0; text-align: left; } .marketing-hero h1, .marketing-hero > p, .marketing-hero .actions, .marketing-hero .access-note { margin-inline: 0; } .marketing-hero h1 { max-width: 10ch; font-size: clamp(3rem, 8vw, 7rem); line-height: 0.88; letter-spacing: -0.075em; } .marketing-hero > p:not(.eyebrow):not(.access-note) { max-width: 48rem; } .marketing-hero .actions { justify-content: flex-start; } .marketing-main > section:not(.marketing-hero) { width: 100%; margin: 1.25rem 0; border: 1px solid color-mix(in srgb, var(--border) 82%, transparent); border-radius: clamp(1.25rem, 3vw, 2rem); padding: clamp(2rem, 6vw, 5rem); background: color-mix(in srgb, var(--surface) 88%, transparent); box-shadow: 0 14px 44px rgb(15 23 42 / 0.05); } .marketing-main .feature-grid article { padding: 1.25rem; } @media (max-width: 600px) { .marketing-main { padding-inline: 1rem; } .marketing-main .marketing-hero { min-height: 42rem; width: 100%; padding-block: 4rem; } .marketing-hero h1, .marketing-hero > p, .marketing-hero .actions, .marketing-hero .access-note, .marketing-hero .code-window { width: 100%; max-width: 100%; overflow-wrap: anywhere; } .marketing-hero h1 { font-size: clamp(3rem, 16vw, 4.4rem); } .marketing-hero .actions { justify-content: flex-start; } .marketing-main > section:not(.marketing-hero) { width: 100%; padding: 1.4rem; } } /* Documentation v3 must remain last so the editorial treatment wins over legacy portal styles above. */ body .doc-intro { overflow: visible; padding: 1.5rem 0 2rem; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } body .doc-intro::after, body .package-card::before { display: none; } body .access-callout, body .component-catalog-callout { border: 0; border-left: 3px solid var(--brand); border-radius: 0; background: transparent; box-shadow: none; } body .on-this-page, body .sidebar { border: 0; border-left: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; } body .category-filter { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: color-mix(in srgb, var(--bg) 92%, transparent); box-shadow: none; } body .component-grid, body .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--border); } body .component-card, body .package-card { min-height: 0; padding: 1.5rem; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } body .component-card:nth-child(odd), body .package-card:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--border); } body .component-card:hover, body .package-card:hover { border-color: var(--border); background: color-mix(in srgb, var(--brand) 4%, transparent); box-shadow: none; transform: none; } body .example-grid { display: block; } body .example-card { margin-block: 2.5rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; } body .marketing-main > section:not(.marketing-hero) { margin-block: 0; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; box-shadow: none; } @media (max-width: 720px) { body .component-grid, body .package-grid { grid-template-columns: minmax(0, 1fr); } body .component-card, body .package-card, body .component-card:nth-child(odd), body .package-card:nth-child(odd) { padding-inline: 0; border-right: 0; } }