mirror of
git://f0xx.org/ac/ac-be-hub
synced 2026-08-09 20:59:23 +03:00
Hub globe v2: mercator wrap, GPU path, landing layout updates.
Refine 3D globe rendering, layer CSS, landing page wiring and TOC UX. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
155
hub-landing.css
155
hub-landing.css
@@ -5,12 +5,32 @@
|
||||
--landing-footer-h: 40px;
|
||||
--landing-left-w: 56px;
|
||||
--landing-rail-w: 44px;
|
||||
/* Clock-widget derived brick chrome */
|
||||
--landing-brick-bg: rgba(18, 24, 34, 0.88);
|
||||
--landing-brick-border: rgba(255, 255, 255, 0.72);
|
||||
--landing-brick-shadow: 0 10px 30px rgba(0, 0, 0, 0.48);
|
||||
--landing-brick-radius: 18px;
|
||||
--landing-brick-border-hover: rgba(165, 225, 255, 0.98);
|
||||
--landing-brick-glow-ring: rgba(140, 210, 255, 0.55);
|
||||
--landing-brick-glow-near: rgba(120, 200, 255, 0.52);
|
||||
--landing-brick-glow-far: rgba(90, 175, 255, 0.32);
|
||||
--landing-brick-glow-inset: rgba(120, 200, 255, 0.07);
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
height: 100vh;
|
||||
height: 100dvh;
|
||||
overflow: hidden;
|
||||
}
|
||||
[data-theme="light"] .hub-landing {
|
||||
--landing-brick-bg: rgba(255, 255, 255, 0.92);
|
||||
--landing-brick-border: rgba(180, 200, 224, 0.88);
|
||||
--landing-brick-shadow: 0 10px 28px rgba(26, 35, 50, 0.14);
|
||||
--landing-brick-border-hover: rgba(61, 139, 253, 0.82);
|
||||
--landing-brick-glow-ring: rgba(61, 139, 253, 0.45);
|
||||
--landing-brick-glow-near: rgba(61, 139, 253, 0.28);
|
||||
--landing-brick-glow-far: rgba(61, 139, 253, 0.16);
|
||||
--landing-brick-glow-inset: rgba(61, 139, 253, 0.05);
|
||||
}
|
||||
|
||||
/* (1) Top header */
|
||||
.landing-top {
|
||||
@@ -227,15 +247,94 @@
|
||||
padding: 8px 4px;
|
||||
}
|
||||
|
||||
.landing-page-inner.card.card--lift {
|
||||
padding: 28px 32px;
|
||||
background: rgba(26, 35, 50, 0.78);
|
||||
backdrop-filter: blur(8px);
|
||||
border: 1px solid rgba(45, 58, 79, 0.85);
|
||||
box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35), 0 0 32px rgba(61, 139, 253, 0.08);
|
||||
/* Clock-widget glow + border — all landing bricks/panels */
|
||||
.hub-landing .landing-page-inner.card.card--lift,
|
||||
.hub-landing .landing-feature-grid .card,
|
||||
.hub-landing .landing-price-card,
|
||||
.hub-landing .landing-gallery__tile,
|
||||
.hub-landing .landing-download-card,
|
||||
.hub-landing .landing-docs-grid .card,
|
||||
.hub-landing .hub-docs-panel.card {
|
||||
background: var(--landing-brick-bg);
|
||||
backdrop-filter: blur(1.5px);
|
||||
border: 1px solid var(--landing-brick-border);
|
||||
border-radius: var(--landing-brick-radius);
|
||||
box-shadow: var(--landing-brick-shadow);
|
||||
transition:
|
||||
transform 0.22s ease,
|
||||
box-shadow 0.28s ease,
|
||||
border-color 0.28s ease,
|
||||
filter 0.22s ease;
|
||||
}
|
||||
[data-theme="light"] .landing-page-inner.card.card--lift {
|
||||
background: rgba(255, 255, 255, 0.88);
|
||||
|
||||
.hub-landing .landing-page-inner.card.card--lift {
|
||||
padding: 28px 32px;
|
||||
}
|
||||
|
||||
.hub-landing .landing-page-inner.card.card--lift:hover,
|
||||
.hub-landing .landing-feature-grid .card:hover,
|
||||
.hub-landing .landing-price-card:hover,
|
||||
.hub-landing .landing-gallery__tile:hover,
|
||||
.hub-landing .landing-download-card:hover,
|
||||
.hub-landing .landing-docs-grid .card:hover,
|
||||
.hub-landing .hub-docs-panel.card:hover,
|
||||
.hub-landing .landing-feature-grid .card:focus-within,
|
||||
.hub-landing .landing-download-card:focus-visible,
|
||||
.hub-landing .landing-docs-grid .card:focus-within {
|
||||
cursor: pointer;
|
||||
border-color: var(--landing-brick-border-hover);
|
||||
box-shadow:
|
||||
0 16px 42px rgba(0, 0, 0, 0.62),
|
||||
0 0 0 1px var(--landing-brick-glow-ring),
|
||||
0 0 22px var(--landing-brick-glow-near),
|
||||
0 0 44px var(--landing-brick-glow-far),
|
||||
inset 0 0 14px var(--landing-brick-glow-inset);
|
||||
filter: saturate(1.06);
|
||||
}
|
||||
|
||||
[data-theme="light"] .hub-landing .landing-page-inner.card.card--lift:hover,
|
||||
[data-theme="light"] .hub-landing .landing-feature-grid .card:hover,
|
||||
[data-theme="light"] .hub-landing .landing-price-card:hover,
|
||||
[data-theme="light"] .hub-landing .landing-gallery__tile:hover,
|
||||
[data-theme="light"] .hub-landing .landing-download-card:hover,
|
||||
[data-theme="light"] .hub-landing .landing-docs-grid .card:hover,
|
||||
[data-theme="light"] .hub-landing .hub-docs-panel.card:hover,
|
||||
[data-theme="light"] .hub-landing .landing-feature-grid .card:focus-within,
|
||||
[data-theme="light"] .hub-landing .landing-download-card:focus-visible,
|
||||
[data-theme="light"] .hub-landing .landing-docs-grid .card:focus-within {
|
||||
box-shadow:
|
||||
0 14px 36px rgba(26, 35, 50, 0.16),
|
||||
0 0 0 1px var(--landing-brick-glow-ring),
|
||||
0 0 20px var(--landing-brick-glow-near),
|
||||
0 0 36px var(--landing-brick-glow-far),
|
||||
inset 0 0 12px var(--landing-brick-glow-inset);
|
||||
}
|
||||
|
||||
.hub-landing .landing-page-inner.card.card--lift:hover {
|
||||
transform: scale(1.012);
|
||||
}
|
||||
|
||||
.hub-landing .landing-feature-grid .card:hover,
|
||||
.hub-landing .landing-price-card:hover,
|
||||
.hub-landing .landing-docs-grid .card:hover,
|
||||
.hub-landing .landing-download-card:hover,
|
||||
.hub-landing .landing-download-card:focus-visible {
|
||||
transform: translateY(-3px) scale(1.02);
|
||||
}
|
||||
|
||||
.hub-landing .landing-download-card.btn.btn-primary {
|
||||
color: var(--text);
|
||||
background: var(--landing-brick-bg);
|
||||
}
|
||||
|
||||
.hub-landing .landing-download-card.btn.btn-primary:hover,
|
||||
.hub-landing .landing-download-card.btn.btn-primary:focus-visible {
|
||||
color: var(--text);
|
||||
background: var(--landing-brick-bg);
|
||||
}
|
||||
|
||||
.hub-landing .hub-docs-panel.card:hover {
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.landing-page h2 {
|
||||
@@ -263,8 +362,6 @@
|
||||
display: block;
|
||||
width: 100%;
|
||||
aspect-ratio: 4 / 3;
|
||||
border-radius: 10px;
|
||||
border: 1px solid var(--border);
|
||||
background: linear-gradient(145deg, rgba(61, 139, 253, 0.22), rgba(12, 24, 48, 0.85));
|
||||
}
|
||||
.landing-gallery__tile--network {
|
||||
@@ -289,11 +386,27 @@
|
||||
gap: 14px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.landing-feature-grid .card {
|
||||
.hub-landing .landing-feature-grid .card {
|
||||
padding: 16px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.hub-landing .landing-feature-card {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.hub-landing .landing-feature-card:hover,
|
||||
.hub-landing .landing-feature-card:focus-visible {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.hub-landing .landing-feature-card h3 {
|
||||
margin: 0 0 8px;
|
||||
}
|
||||
|
||||
.landing-price-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
|
||||
@@ -302,9 +415,6 @@
|
||||
}
|
||||
.landing-price-card {
|
||||
padding: 20px;
|
||||
border-radius: 12px;
|
||||
border: 1px solid var(--border);
|
||||
background: var(--surface2);
|
||||
}
|
||||
.landing-price-card h3 { margin: 0 0 8px; }
|
||||
.landing-price-card .price {
|
||||
@@ -346,6 +456,14 @@
|
||||
}
|
||||
.landing-page--hero h2 {
|
||||
font-size: clamp(2rem, 5vw, 3rem);
|
||||
color: #fff;
|
||||
-webkit-text-stroke: 0.65px #000;
|
||||
paint-order: stroke fill;
|
||||
}
|
||||
.landing-page--hero .landing-lead {
|
||||
color: #fff;
|
||||
-webkit-text-stroke: 0.45px #000;
|
||||
paint-order: stroke fill;
|
||||
}
|
||||
|
||||
/* (4) Right page rail — hidden until handle hover/drag */
|
||||
@@ -504,7 +622,6 @@
|
||||
width: min(220px, 100%);
|
||||
min-height: 168px;
|
||||
padding: 24px 20px 20px;
|
||||
border-radius: 18px;
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
@@ -514,8 +631,6 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 16px;
|
||||
transition: box-shadow 0.2s ease, transform 0.15s ease;
|
||||
border: 1px solid rgba(61, 139, 253, 0.35);
|
||||
}
|
||||
|
||||
.landing-download-card__icon {
|
||||
@@ -541,12 +656,6 @@
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
|
||||
.landing-download-card:hover,
|
||||
.landing-download-card:focus-visible {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 0 30px rgba(61, 139, 253, 0.45);
|
||||
}
|
||||
|
||||
/* Legacy pill buttons (documentation page, resources) */
|
||||
.landing-download-btn {
|
||||
min-width: 200px;
|
||||
|
||||
Reference in New Issue
Block a user