feat(docs): redesign portal with shared UI system
This commit is contained in:
@@ -1046,6 +1046,816 @@ footer a {
|
||||
}
|
||||
}
|
||||
|
||||
/* 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: 0.25rem;
|
||||
padding: 0.3rem;
|
||||
border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
|
||||
border-radius: 0.9rem;
|
||||
background: color-mix(in srgb, var(--surface) 72%, transparent);
|
||||
}
|
||||
|
||||
.topbar nav a {
|
||||
padding: 0.55rem 0.8rem;
|
||||
border-radius: 0.65rem;
|
||||
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: var(--surface-soft);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.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: clamp(1.4rem, 4vw, 3.5rem);
|
||||
border: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
|
||||
border-radius: clamp(1.25rem, 3vw, 2rem);
|
||||
background: color-mix(in srgb, var(--surface) 92%, transparent);
|
||||
box-shadow: var(--docs-shadow);
|
||||
backdrop-filter: blur(18px);
|
||||
}
|
||||
|
||||
.documentation.standalone::before {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: clamp(1.4rem, 4vw, 3.5rem);
|
||||
width: 5rem;
|
||||
height: 3px;
|
||||
border-radius: 999px;
|
||||
background: linear-gradient(90deg, var(--brand), #a855f7);
|
||||
content: "";
|
||||
}
|
||||
|
||||
.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: 1px solid var(--border);
|
||||
border-radius: 1rem;
|
||||
background: color-mix(in srgb, var(--surface) 90%, transparent);
|
||||
box-shadow: 0 10px 32px rgb(15 23 42 / 0.05);
|
||||
}
|
||||
|
||||
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: 1px solid var(--border);
|
||||
border-radius: 1rem;
|
||||
padding: 1rem;
|
||||
background: color-mix(in srgb, var(--surface-soft) 72%, transparent);
|
||||
}
|
||||
|
||||
.local-toc a,
|
||||
.on-this-page a {
|
||||
border-radius: 0.5rem;
|
||||
padding: 0.45rem 0.6rem;
|
||||
text-decoration: none;
|
||||
transition:
|
||||
color 160ms ease,
|
||||
background 160ms ease;
|
||||
}
|
||||
|
||||
.local-toc a:hover,
|
||||
.on-this-page a:hover {
|
||||
background: color-mix(in srgb, var(--brand) 10%, transparent);
|
||||
}
|
||||
|
||||
.page > .hero.compact {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin-top: clamp(1.5rem, 5vw, 4rem);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: clamp(1.5rem, 4vw, 2.5rem);
|
||||
padding: clamp(2rem, 6vw, 5rem);
|
||||
background:
|
||||
linear-gradient(
|
||||
145deg,
|
||||
color-mix(in srgb, var(--surface) 94%, transparent),
|
||||
color-mix(in srgb, var(--brand) 7%, var(--surface))
|
||||
),
|
||||
var(--surface);
|
||||
box-shadow: var(--docs-shadow);
|
||||
}
|
||||
|
||||
.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: 1.25rem;
|
||||
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);
|
||||
backdrop-filter: blur(14px);
|
||||
}
|
||||
|
||||
.marketing-main .feature-grid article {
|
||||
min-height: 12rem;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 1rem;
|
||||
padding: 1.25rem;
|
||||
background: color-mix(in srgb, var(--surface-soft) 66%, transparent);
|
||||
transition:
|
||||
transform 220ms ease,
|
||||
border-color 220ms ease,
|
||||
box-shadow 220ms ease;
|
||||
}
|
||||
|
||||
.marketing-main .feature-grid article:hover {
|
||||
border-color: color-mix(in srgb, var(--brand) 35%, var(--border));
|
||||
transform: translateY(-3px);
|
||||
box-shadow: 0 16px 34px color-mix(in srgb, var(--brand) 8%, transparent);
|
||||
}
|
||||
|
||||
.lifecycle li {
|
||||
border-radius: 1rem;
|
||||
background: color-mix(in srgb, var(--surface-soft) 72%, 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: 1px solid var(--border);
|
||||
border-radius: 1.5rem;
|
||||
padding: clamp(1.4rem, 4vw, 2.5rem);
|
||||
background: color-mix(in srgb, var(--surface) 88%, transparent);
|
||||
box-shadow: var(--docs-shadow);
|
||||
backdrop-filter: blur(18px);
|
||||
}
|
||||
|
||||
.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:
|
||||
@@ -1275,3 +2085,77 @@ footer a {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user