1
0
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:
Anton Afanasyeu
2026-08-07 22:15:46 +02:00
parent 78d5911e48
commit c54919189c
7 changed files with 1404 additions and 199 deletions

View File

@@ -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;