feat: refine website gateway os hero

This commit is contained in:
boos
2026-06-06 18:59:10 +08:00
parent d5babf5f3f
commit 00b3365f5a
3 changed files with 276 additions and 2 deletions
+181 -1
View File
@@ -606,6 +606,54 @@ a {
font-size: 12px;
}
.hero-system-strip {
width: min(100%, 640px);
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 8px;
}
.hero-system-strip > div {
min-height: 44px;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 8px;
border: 1px solid var(--line);
border-radius: 999px;
background: var(--surface);
padding: 0 12px;
box-shadow: inset 0 1px 0 var(--surface-highlight);
}
.hero-system-strip span,
.card-signal span {
width: 7px;
height: 7px;
border-radius: 999px;
background: var(--acid);
box-shadow: 0 0 18px rgba(215, 255, 77, 0.48);
}
.hero-system-strip strong {
min-width: 0;
overflow: hidden;
color: var(--text);
font-family: var(--font-geist-mono), monospace;
font-size: 11px;
font-weight: 780;
text-overflow: ellipsis;
white-space: nowrap;
}
.hero-system-strip em {
color: var(--faint);
font-family: var(--font-geist-mono), monospace;
font-size: 10px;
font-style: normal;
white-space: nowrap;
}
.hero-actions {
gap: 12px;
padding-top: 4px;
@@ -734,6 +782,8 @@ a {
}
.console-bar span,
.exchange-step small,
.exchange-step span,
.route-row em,
.console-metrics span,
.mini-grid span,
@@ -746,6 +796,74 @@ a {
font-style: normal;
}
.exchange-chain {
position: relative;
z-index: 4;
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px;
margin-top: 12px;
}
.exchange-chain::before {
position: absolute;
left: 7%;
right: 7%;
top: 50%;
z-index: 0;
height: 1px;
content: "";
background: linear-gradient(90deg, transparent, rgba(183, 237, 42, 0.38), rgba(24, 185, 199, 0.28), transparent);
}
.exchange-step {
position: relative;
z-index: 1;
min-height: 74px;
display: grid;
align-content: center;
gap: 6px;
border: 1px solid var(--line);
border-radius: 18px;
background: var(--surface);
padding: 12px;
box-shadow: inset 0 1px 0 var(--surface-highlight);
}
.exchange-step::after {
position: absolute;
top: 50%;
right: -9px;
width: 9px;
height: 9px;
border-top: 1px solid rgba(183, 237, 42, 0.5);
border-right: 1px solid rgba(183, 237, 42, 0.5);
content: "";
transform: translateY(-50%) rotate(45deg);
}
.exchange-step:last-child::after {
display: none;
}
.exchange-step small {
font-family: var(--font-geist-mono), monospace;
}
.exchange-step strong {
min-width: 0;
overflow: hidden;
color: var(--text);
font-size: 12px;
letter-spacing: -0.02em;
text-overflow: ellipsis;
white-space: nowrap;
}
.exchange-step span {
font-family: var(--font-geist-mono), monospace;
}
.route-list {
position: relative;
z-index: 4;
@@ -1040,6 +1158,7 @@ a {
}
.capability-card {
position: relative;
min-height: 260px;
display: grid;
align-content: space-between;
@@ -1048,6 +1167,28 @@ a {
border-radius: var(--radius);
background: var(--card-gradient);
padding: 20px;
overflow: hidden;
}
.capability-card::before {
position: absolute;
inset: 0;
pointer-events: none;
content: "";
background:
linear-gradient(120deg, transparent 0 42%, rgba(183, 237, 42, 0.14) 48%, transparent 56%),
radial-gradient(circle at 80% 16%, rgba(24, 185, 199, 0.14), transparent 34%);
opacity: 0;
transition: opacity 180ms ease;
}
.capability-card:hover::before {
opacity: 1;
}
.capability-card > * {
position: relative;
z-index: 1;
}
.card-top {
@@ -1069,12 +1210,37 @@ a {
font-size: 13px;
}
.card-signal {
width: fit-content;
display: inline-flex;
align-items: center;
gap: 8px;
border: 1px solid rgba(183, 237, 42, 0.22);
border-radius: 999px;
background: var(--surface-muted);
color: var(--muted);
padding: 7px 10px;
font-family: var(--font-geist-mono), monospace;
font-size: 11px;
}
.capability-card h3 {
margin: 0 0 12px;
font-size: 22px;
letter-spacing: -0.04em;
}
.card-port {
border-top: 1px solid var(--line);
padding-top: 14px;
}
.card-port code {
color: var(--faint);
font-family: var(--font-geist-mono), monospace;
font-size: 11px;
}
.capability-card p,
.section-heading.split p,
.endpoint-card p,
@@ -1478,6 +1644,15 @@ a {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.exchange-chain {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.exchange-chain::before,
.exchange-step::after {
display: none;
}
.section-heading.split,
.endpoint-grid {
grid-template-columns: 1fr;
@@ -1535,16 +1710,21 @@ a {
}
.hero-proof,
.hero-system-strip,
.console-metrics {
grid-template-columns: 1fr;
}
.hero-console {
min-height: 520px;
min-height: 680px;
border-radius: 26px;
padding: 14px;
}
.exchange-chain {
grid-template-columns: 1fr;
}
.route-row {
grid-template-columns: 1fr;
align-items: start;