改为轻拟物服务入口风格
This commit is contained in:
@@ -1,21 +1,6 @@
|
||||
# Copyright Notice
|
||||
|
||||
Copyright (c) sumi.work. Website text, page structure, and stylesheet code are
|
||||
owned by sumi.work unless otherwise noted.
|
||||
Copyright (c) sumi.work. Website text, page structure, stylesheets, and local
|
||||
interface artwork are owned by sumi.work unless otherwise noted.
|
||||
|
||||
## Image Credits and Third-Party IP
|
||||
|
||||
The following images are decorative assets sourced from the official Honor of
|
||||
Kings wallpaper service. Honor of Kings, character artwork, hero names, and
|
||||
related game assets are owned by Tencent and/or their respective right holders.
|
||||
|
||||
- `assets/images/workspace-hero.jpg`: 刘禅-超级夜猫侠
|
||||
- `assets/images/service-frp.jpg`: 姜子牙-弘道录
|
||||
- `assets/images/service-git.jpg`: 芈月-西海龙王·敖闰
|
||||
- `assets/images/service-gemini.jpg`: 铠-东海龙王·敖光
|
||||
|
||||
Official wallpaper page:
|
||||
https://pvp.qq.com/web201605/wallpaper.shtml
|
||||
|
||||
These images should be replaced or removed if the site is used in a context
|
||||
that requires explicit commercial authorization.
|
||||
No third-party images are currently used by this page.
|
||||
|
||||
+27
-23
@@ -1,14 +1,17 @@
|
||||
:root {
|
||||
color-scheme: light;
|
||||
--bg: #f5f8ff;
|
||||
--panel: #ffffff;
|
||||
--text: #17233d;
|
||||
--muted: #63708a;
|
||||
--line: #e5ebf5;
|
||||
--blue: #246bfe;
|
||||
--blue-dark: #1554d1;
|
||||
--green: #19b982;
|
||||
--shadow: 0 22px 60px rgba(57, 83, 132, 0.13);
|
||||
--bg: #f7fbff;
|
||||
--panel: rgba(255, 255, 255, 0.88);
|
||||
--text: #182641;
|
||||
--muted: #66728a;
|
||||
--line: #dfe8f6;
|
||||
--blue: #2388ff;
|
||||
--blue-dark: #1069e8;
|
||||
--green: #21c789;
|
||||
--purple: #775df6;
|
||||
--orange: #f07845;
|
||||
--cyan: #4fb5ff;
|
||||
--shadow: 0 24px 70px rgba(41, 67, 109, 0.14);
|
||||
font-family:
|
||||
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
|
||||
"PingFang SC", "Microsoft YaHei", sans-serif;
|
||||
@@ -29,8 +32,9 @@ body {
|
||||
margin: 0;
|
||||
color: var(--text);
|
||||
background:
|
||||
radial-gradient(circle at 82% 18%, rgba(36, 107, 254, 0.13), transparent 24rem),
|
||||
linear-gradient(180deg, #f7fbff 0%, var(--bg) 52%, #ffffff 100%);
|
||||
radial-gradient(circle at 88% 22%, rgba(115, 184, 255, 0.24), transparent 28rem),
|
||||
radial-gradient(circle at 18% 12%, rgba(255, 244, 232, 0.9), transparent 23rem),
|
||||
linear-gradient(180deg, #fffaf4 0%, var(--bg) 48%, #ffffff 100%);
|
||||
}
|
||||
|
||||
a {
|
||||
@@ -38,11 +42,6 @@ a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
p {
|
||||
@@ -50,17 +49,22 @@ p {
|
||||
}
|
||||
|
||||
h1 {
|
||||
max-width: 620px;
|
||||
margin-bottom: 22px;
|
||||
font-size: clamp(2.8rem, 6vw, 5.55rem);
|
||||
line-height: 1.03;
|
||||
max-width: 760px;
|
||||
margin-bottom: 20px;
|
||||
font-size: clamp(3.1rem, 6.4vw, 5.45rem);
|
||||
line-height: 1.02;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
h1 span {
|
||||
color: var(--blue);
|
||||
text-shadow: 0 10px 28px rgba(35, 136, 255, 0.22);
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 0;
|
||||
font-size: clamp(1.9rem, 3vw, 3rem);
|
||||
line-height: 1.08;
|
||||
margin-bottom: 8px;
|
||||
font-size: clamp(1.7rem, 2.5vw, 2.2rem);
|
||||
line-height: 1.12;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
+523
-124
@@ -1,89 +1,151 @@
|
||||
.brand,
|
||||
.nav-links,
|
||||
.header-actions,
|
||||
.hero-actions,
|
||||
.status-row {
|
||||
.status-row,
|
||||
.quick-link {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.brand {
|
||||
gap: 10px;
|
||||
color: #14233f;
|
||||
font-size: 1.04rem;
|
||||
font-weight: 850;
|
||||
gap: 18px;
|
||||
color: #26314d;
|
||||
font-size: 1.55rem;
|
||||
font-weight: 900;
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.brand::after {
|
||||
display: block;
|
||||
width: 1px;
|
||||
height: 42px;
|
||||
margin-left: 24px;
|
||||
background: #dfe6f2;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.brand-mark {
|
||||
display: grid;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
width: 54px;
|
||||
height: 54px;
|
||||
place-items: center;
|
||||
color: #fff;
|
||||
background: linear-gradient(135deg, var(--blue), #48a8ff);
|
||||
border-radius: 9px;
|
||||
box-shadow: 0 10px 24px rgba(36, 107, 254, 0.24);
|
||||
font-size: 1.9rem;
|
||||
font-weight: 950;
|
||||
background: linear-gradient(135deg, #6ea8ff, #2e82ff);
|
||||
border-radius: 18px;
|
||||
box-shadow: inset 0 6px 14px rgba(255, 255, 255, 0.32), 0 14px 30px rgba(35, 136, 255, 0.22);
|
||||
}
|
||||
|
||||
.nav-links {
|
||||
gap: 30px;
|
||||
color: #3f4b62;
|
||||
font-size: 0.95rem;
|
||||
font-weight: 650;
|
||||
gap: 42px;
|
||||
color: #2f3a55;
|
||||
font-size: 1.08rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.nav-links a,
|
||||
.record a {
|
||||
.nav-links a {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
min-height: 58px;
|
||||
padding: 0 4px;
|
||||
transition: color 160ms ease;
|
||||
}
|
||||
|
||||
.record-note {
|
||||
max-width: 720px;
|
||||
margin: 0;
|
||||
color: #98a3b7;
|
||||
font-size: 0.78rem;
|
||||
line-height: 1.7;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.nav-links a:hover,
|
||||
.nav-links a:focus-visible,
|
||||
.record a:hover,
|
||||
.record a:focus-visible {
|
||||
.nav-links a.is-active {
|
||||
color: var(--blue);
|
||||
}
|
||||
|
||||
.nav-links a.is-active::after {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: -15px;
|
||||
left: 0;
|
||||
height: 4px;
|
||||
background: var(--blue);
|
||||
border-radius: 999px;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.nav-icon {
|
||||
font-size: 1.35rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.header-actions {
|
||||
gap: 24px;
|
||||
justify-content: end;
|
||||
}
|
||||
|
||||
.quick-link {
|
||||
min-height: 50px;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
padding: 0 20px;
|
||||
border-radius: 14px;
|
||||
font-size: 1.04rem;
|
||||
font-weight: 750;
|
||||
transition:
|
||||
transform 160ms ease,
|
||||
box-shadow 160ms ease;
|
||||
}
|
||||
|
||||
.quick-link:hover,
|
||||
.quick-link:focus-visible {
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.quick-link.gemini {
|
||||
color: #6650df;
|
||||
background: rgba(119, 93, 246, 0.08);
|
||||
border: 1px solid rgba(119, 93, 246, 0.25);
|
||||
}
|
||||
|
||||
.quick-link.deepseek {
|
||||
color: #126ed6;
|
||||
background: rgba(35, 136, 255, 0.08);
|
||||
border: 1px solid rgba(35, 136, 255, 0.24);
|
||||
}
|
||||
|
||||
.eyebrow {
|
||||
margin: 0 0 12px;
|
||||
color: var(--blue);
|
||||
font-size: 0.78rem;
|
||||
font-weight: 850;
|
||||
letter-spacing: 0.12em;
|
||||
font-size: 0.82rem;
|
||||
font-weight: 900;
|
||||
letter-spacing: 0.16em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
max-width: 580px;
|
||||
margin-bottom: 30px;
|
||||
color: var(--muted);
|
||||
font-size: clamp(1.06rem, 1.6vw, 1.24rem);
|
||||
line-height: 1.8;
|
||||
max-width: 710px;
|
||||
margin-bottom: 34px;
|
||||
color: #35405b;
|
||||
font-size: clamp(1.1rem, 1.7vw, 1.35rem);
|
||||
line-height: 1.85;
|
||||
}
|
||||
|
||||
.hero-actions {
|
||||
flex-wrap: wrap;
|
||||
gap: 14px;
|
||||
margin-bottom: 28px;
|
||||
gap: 24px;
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.button {
|
||||
display: inline-flex;
|
||||
min-height: 48px;
|
||||
min-height: 66px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 22px;
|
||||
gap: 12px;
|
||||
padding: 0 44px;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 8px;
|
||||
font-weight: 800;
|
||||
border-radius: 12px;
|
||||
font-size: 1.08rem;
|
||||
font-weight: 850;
|
||||
transition:
|
||||
transform 160ms ease,
|
||||
box-shadow 160ms ease,
|
||||
@@ -98,7 +160,7 @@
|
||||
.button.primary {
|
||||
color: #fff;
|
||||
background: var(--blue);
|
||||
box-shadow: 0 14px 30px rgba(36, 107, 254, 0.24);
|
||||
box-shadow: 0 16px 34px rgba(35, 136, 255, 0.28);
|
||||
}
|
||||
|
||||
.button.primary:hover,
|
||||
@@ -107,52 +169,319 @@
|
||||
}
|
||||
|
||||
.button.secondary {
|
||||
color: var(--blue);
|
||||
background: #fff;
|
||||
border-color: #dbe6ff;
|
||||
color: #6650df;
|
||||
background: rgba(255, 255, 255, 0.68);
|
||||
border-color: rgba(119, 93, 246, 0.24);
|
||||
}
|
||||
|
||||
.status-row {
|
||||
width: fit-content;
|
||||
gap: 9px;
|
||||
padding: 10px 14px;
|
||||
color: #2f456b;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border: 1px solid #dce7f8;
|
||||
gap: 10px;
|
||||
padding: 13px 18px;
|
||||
color: #21805e;
|
||||
background: rgba(232, 255, 244, 0.88);
|
||||
border: 1px solid rgba(33, 199, 137, 0.28);
|
||||
border-radius: 999px;
|
||||
box-shadow: 0 12px 32px rgba(57, 83, 132, 0.08);
|
||||
box-shadow: 0 14px 34px rgba(33, 199, 137, 0.1);
|
||||
}
|
||||
|
||||
.status-row strong {
|
||||
color: #143055;
|
||||
font-weight: 850;
|
||||
color: #187050;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.status-dot {
|
||||
.status-row i {
|
||||
display: block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background: var(--green);
|
||||
border-radius: 999px;
|
||||
box-shadow: 0 0 0 6px rgba(25, 185, 130, 0.13);
|
||||
}
|
||||
|
||||
.shield {
|
||||
display: grid;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
place-items: center;
|
||||
color: var(--green);
|
||||
}
|
||||
|
||||
.hero-art {
|
||||
position: relative;
|
||||
min-height: 390px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.portal {
|
||||
position: absolute;
|
||||
right: 110px;
|
||||
bottom: 24px;
|
||||
width: 285px;
|
||||
height: 360px;
|
||||
background: linear-gradient(180deg, #d9f0ff, #9ad4ff);
|
||||
border: 3px solid rgba(63, 158, 240, 0.42);
|
||||
border-radius: 150px 150px 30px 30px;
|
||||
box-shadow: inset 0 0 0 16px rgba(255, 255, 255, 0.32), 0 30px 72px rgba(35, 136, 255, 0.18);
|
||||
}
|
||||
|
||||
.portal::before {
|
||||
position: absolute;
|
||||
inset: 96px 56px 0;
|
||||
background: linear-gradient(180deg, #f7fcff, #b6e2ff);
|
||||
border-radius: 110px 110px 24px 24px;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.portal-face {
|
||||
position: absolute;
|
||||
top: 72px;
|
||||
left: 50%;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
gap: 48px;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.portal-face span {
|
||||
width: 10px;
|
||||
height: 20px;
|
||||
background: #26314d;
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.portal-face::after {
|
||||
position: absolute;
|
||||
top: 28px;
|
||||
left: 50%;
|
||||
width: 28px;
|
||||
height: 16px;
|
||||
border-bottom: 4px solid #26314d;
|
||||
border-radius: 0 0 999px 999px;
|
||||
content: "";
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.portal-inner {
|
||||
position: absolute;
|
||||
right: 88px;
|
||||
bottom: 50px;
|
||||
z-index: 1;
|
||||
display: grid;
|
||||
width: 90px;
|
||||
height: 150px;
|
||||
place-items: center;
|
||||
background: linear-gradient(180deg, #f9fdff, #bce7ff);
|
||||
border-radius: 80px 80px 20px 20px;
|
||||
}
|
||||
|
||||
.arrow {
|
||||
color: #68bdf1;
|
||||
font-size: 3rem;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.road {
|
||||
position: absolute;
|
||||
right: 110px;
|
||||
bottom: -20px;
|
||||
width: 270px;
|
||||
height: 120px;
|
||||
background: linear-gradient(105deg, transparent 20%, #f6fbff 21% 42%, #fedb9b 43% 49%, #f6fbff 50% 72%, transparent 73%);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.cloud {
|
||||
position: absolute;
|
||||
background: rgba(255, 255, 255, 0.82);
|
||||
border: 2px solid rgba(131, 195, 245, 0.42);
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.cloud::before,
|
||||
.cloud::after {
|
||||
position: absolute;
|
||||
background: inherit;
|
||||
border: inherit;
|
||||
border-radius: inherit;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.cloud-one {
|
||||
top: 64px;
|
||||
left: 140px;
|
||||
width: 92px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
.cloud-one::before {
|
||||
top: -24px;
|
||||
left: 10px;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
.cloud-one::after {
|
||||
top: -12px;
|
||||
left: 42px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
|
||||
.cloud-two {
|
||||
right: 10px;
|
||||
bottom: 138px;
|
||||
width: 100px;
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.cloud-two::before {
|
||||
top: -22px;
|
||||
left: 18px;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
.cloud-two::after {
|
||||
top: -12px;
|
||||
left: 56px;
|
||||
width: 34px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
.star {
|
||||
position: absolute;
|
||||
color: #ffc54d;
|
||||
font-size: 2rem;
|
||||
text-shadow: 0 4px 12px rgba(255, 197, 77, 0.3);
|
||||
}
|
||||
|
||||
.star-one {
|
||||
top: 120px;
|
||||
left: 130px;
|
||||
}
|
||||
|
||||
.star-two {
|
||||
top: 42px;
|
||||
right: 78px;
|
||||
}
|
||||
|
||||
.dot {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border: 2px solid #7cc8ff;
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.dot-one {
|
||||
top: 80px;
|
||||
left: 95px;
|
||||
}
|
||||
|
||||
.dot-two {
|
||||
right: 36px;
|
||||
top: 160px;
|
||||
}
|
||||
|
||||
.bush {
|
||||
position: absolute;
|
||||
bottom: 36px;
|
||||
width: 118px;
|
||||
height: 70px;
|
||||
background: #c5f0b6;
|
||||
border: 3px solid rgba(103, 196, 111, 0.42);
|
||||
border-radius: 80px 80px 28px 28px;
|
||||
}
|
||||
|
||||
.bush::before,
|
||||
.bush::after {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 16px;
|
||||
background: #26314d;
|
||||
border-radius: 999px;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.bush::before {
|
||||
top: 28px;
|
||||
left: 44px;
|
||||
}
|
||||
|
||||
.bush::after {
|
||||
top: 28px;
|
||||
right: 44px;
|
||||
}
|
||||
|
||||
.bush-left {
|
||||
left: 145px;
|
||||
}
|
||||
|
||||
.bush-right {
|
||||
right: 30px;
|
||||
bottom: 10px;
|
||||
width: 74px;
|
||||
height: 114px;
|
||||
background:
|
||||
radial-gradient(ellipse at 50% 18%, #b8ed9b 0 24%, transparent 25%),
|
||||
radial-gradient(ellipse at 25% 54%, #9ee285 0 21%, transparent 22%),
|
||||
radial-gradient(ellipse at 76% 54%, #8dd97c 0 22%, transparent 23%);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.bush-right::before,
|
||||
.bush-right::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.section-heading h2 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 14px;
|
||||
}
|
||||
|
||||
.section-heading h2 span {
|
||||
display: inline-block;
|
||||
width: 6px;
|
||||
height: 30px;
|
||||
background: var(--blue);
|
||||
border-radius: 999px;
|
||||
}
|
||||
|
||||
.section-heading h2 i {
|
||||
color: var(--blue);
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.section-note {
|
||||
max-width: 420px;
|
||||
margin-bottom: 0;
|
||||
color: var(--muted);
|
||||
font-size: 1rem;
|
||||
line-height: 1.7;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.dot-matrix {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
flex: 0 0 auto;
|
||||
background-image: radial-gradient(circle, rgba(35, 136, 255, 0.68) 2px, transparent 3px);
|
||||
background-size: 14px 14px;
|
||||
}
|
||||
|
||||
.service-card {
|
||||
position: relative;
|
||||
display: block;
|
||||
min-height: 280px;
|
||||
display: flex;
|
||||
min-height: 290px;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
overflow: hidden;
|
||||
background: #0f1d34;
|
||||
border: 1px solid var(--line);
|
||||
padding: 28px 20px;
|
||||
text-align: center;
|
||||
background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(244, 250, 255, 0.86));
|
||||
border: 1px solid rgba(151, 198, 245, 0.38);
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 18px 42px rgba(38, 57, 96, 0.16);
|
||||
box-shadow: 0 18px 42px rgba(38, 57, 96, 0.1);
|
||||
transition:
|
||||
transform 180ms ease,
|
||||
border-color 180ms ease,
|
||||
@@ -161,98 +490,168 @@
|
||||
|
||||
.service-card::before {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
z-index: 1;
|
||||
right: -32px;
|
||||
bottom: -26px;
|
||||
width: 98px;
|
||||
height: 74px;
|
||||
background:
|
||||
linear-gradient(180deg, rgba(8, 21, 44, 0.02) 12%, rgba(8, 21, 44, 0.42) 54%, rgba(8, 21, 44, 0.9) 100%),
|
||||
linear-gradient(135deg, rgba(36, 107, 254, 0.24), transparent 54%);
|
||||
radial-gradient(circle at 20% 78%, #effaff 0 28%, transparent 29%),
|
||||
radial-gradient(circle at 44% 58%, #effaff 0 35%, transparent 36%),
|
||||
radial-gradient(circle at 74% 75%, #effaff 0 30%, transparent 31%);
|
||||
content: "";
|
||||
}
|
||||
|
||||
.service-card::after {
|
||||
position: absolute;
|
||||
inset: 12px;
|
||||
pointer-events: none;
|
||||
border-radius: 16px;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.service-card:hover,
|
||||
.service-card:focus-visible {
|
||||
transform: translateY(-8px);
|
||||
border-color: rgba(36, 107, 254, 0.28);
|
||||
box-shadow: 0 28px 62px rgba(38, 57, 96, 0.2);
|
||||
border-color: rgba(35, 136, 255, 0.42);
|
||||
box-shadow: 0 28px 62px rgba(38, 57, 96, 0.16);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.service-card:hover img,
|
||||
.service-card:focus-visible img {
|
||||
transform: scale(1.06);
|
||||
}
|
||||
|
||||
.service-card img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 280px;
|
||||
object-fit: cover;
|
||||
transition: transform 260ms ease;
|
||||
}
|
||||
|
||||
.service-content {
|
||||
position: absolute;
|
||||
inset: auto 0 0;
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
min-height: 55%;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
padding: 22px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.service-icon {
|
||||
display: inline-flex;
|
||||
width: fit-content;
|
||||
min-width: 48px;
|
||||
min-height: 36px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 12px;
|
||||
margin-bottom: auto;
|
||||
color: #fff;
|
||||
background: rgba(255, 255, 255, 0.18);
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
display: grid;
|
||||
width: 112px;
|
||||
height: 112px;
|
||||
place-items: center;
|
||||
margin-bottom: 20px;
|
||||
color: var(--blue);
|
||||
background:
|
||||
radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.96) 0 42%, transparent 43%),
|
||||
rgba(255, 255, 255, 0.64);
|
||||
border: 12px solid rgba(255, 255, 255, 0.72);
|
||||
border-radius: 999px;
|
||||
font-size: 0.82rem;
|
||||
box-shadow: 0 14px 28px rgba(38, 57, 96, 0.12);
|
||||
font-size: 2.4rem;
|
||||
font-weight: 900;
|
||||
backdrop-filter: blur(12px);
|
||||
}
|
||||
|
||||
.service-title {
|
||||
margin-top: 74px;
|
||||
color: #fff;
|
||||
font-size: 1.18rem;
|
||||
font-weight: 900;
|
||||
color: #14213c;
|
||||
font-size: 1.5rem;
|
||||
font-weight: 950;
|
||||
}
|
||||
|
||||
.service-desc {
|
||||
margin-top: 8px;
|
||||
color: rgba(255, 255, 255, 0.78);
|
||||
font-size: 0.94rem;
|
||||
margin-top: 6px;
|
||||
color: #6b7285;
|
||||
font-size: 1rem;
|
||||
line-height: 1.55;
|
||||
}
|
||||
|
||||
@media (max-width: 960px) {
|
||||
.section-note {
|
||||
text-align: left;
|
||||
.arrow-button {
|
||||
display: grid;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
place-items: center;
|
||||
margin-top: 20px;
|
||||
color: currentColor;
|
||||
background: rgba(255, 255, 255, 0.64);
|
||||
border: 1px solid currentColor;
|
||||
border-radius: 999px;
|
||||
font-size: 1.25rem;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.card-blue {
|
||||
color: var(--blue);
|
||||
}
|
||||
|
||||
.card-orange {
|
||||
color: var(--orange);
|
||||
border-color: rgba(240, 120, 69, 0.32);
|
||||
background: linear-gradient(145deg, #fffaf5, #fff4e8);
|
||||
}
|
||||
|
||||
.card-green {
|
||||
color: #16a99a;
|
||||
border-color: rgba(33, 199, 137, 0.32);
|
||||
background: linear-gradient(145deg, #f7fffb, #eefcf6);
|
||||
}
|
||||
|
||||
.card-purple {
|
||||
color: var(--purple);
|
||||
border-color: rgba(119, 93, 246, 0.3);
|
||||
background: linear-gradient(145deg, #fbf9ff, #f5f1ff);
|
||||
}
|
||||
|
||||
.card-deepseek {
|
||||
color: #237fe8;
|
||||
background: linear-gradient(145deg, #f7fbff, #eef7ff);
|
||||
}
|
||||
|
||||
@media (max-width: 1180px) {
|
||||
.brand::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav-links,
|
||||
.header-actions {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 560px) {
|
||||
.button {
|
||||
@media (max-width: 640px) {
|
||||
.brand {
|
||||
font-size: 1.35rem;
|
||||
}
|
||||
|
||||
.nav-links,
|
||||
.header-actions {
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: clamp(2.7rem, 12vw, 4.2rem);
|
||||
}
|
||||
|
||||
.button,
|
||||
.quick-link {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.hero-actions,
|
||||
.status-row {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
border-radius: 14px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.service-card,
|
||||
.service-card img {
|
||||
min-height: 230px;
|
||||
.hero-art {
|
||||
min-height: 260px;
|
||||
}
|
||||
|
||||
.portal {
|
||||
right: 18px;
|
||||
width: 210px;
|
||||
height: 270px;
|
||||
transform: scale(0.86);
|
||||
transform-origin: right bottom;
|
||||
}
|
||||
|
||||
.cloud-one,
|
||||
.star-one,
|
||||
.dot-one,
|
||||
.bush-left {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.section-heading {
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.dot-matrix {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.service-card {
|
||||
min-height: 250px;
|
||||
}
|
||||
}
|
||||
|
||||
+69
-58
@@ -1,115 +1,126 @@
|
||||
.site-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 20;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: min(1180px, calc(100% - 40px));
|
||||
min-height: 72px;
|
||||
margin: 0 auto;
|
||||
transition:
|
||||
background 180ms ease,
|
||||
border-color 180ms ease,
|
||||
box-shadow 180ms ease;
|
||||
}
|
||||
|
||||
.site-header.is-scrolled {
|
||||
width: 100%;
|
||||
padding: 0 max(20px, calc((100% - 1180px) / 2));
|
||||
background: rgba(255, 255, 255, 0.88);
|
||||
border-bottom: 1px solid rgba(229, 235, 245, 0.9);
|
||||
box-shadow: 0 10px 36px rgba(42, 67, 112, 0.08);
|
||||
backdrop-filter: blur(18px);
|
||||
}
|
||||
|
||||
.site-header,
|
||||
.hero,
|
||||
.services-section,
|
||||
.record {
|
||||
width: min(1180px, calc(100% - 40px));
|
||||
width: min(1480px, calc(100% - 36px));
|
||||
margin-inline: auto;
|
||||
}
|
||||
|
||||
.site-header {
|
||||
position: sticky;
|
||||
top: 16px;
|
||||
z-index: 20;
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr auto;
|
||||
gap: 26px;
|
||||
align-items: center;
|
||||
min-height: 88px;
|
||||
padding: 0 28px;
|
||||
background: rgba(255, 255, 255, 0.82);
|
||||
border: 1px solid rgba(217, 227, 241, 0.9);
|
||||
border-radius: 24px;
|
||||
box-shadow: 0 18px 44px rgba(30, 46, 78, 0.12);
|
||||
backdrop-filter: blur(20px);
|
||||
}
|
||||
|
||||
.hero {
|
||||
min-height: auto;
|
||||
padding: clamp(64px, 12vh, 128px) 0 56px;
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
|
||||
gap: clamp(22px, 4vw, 58px);
|
||||
align-items: center;
|
||||
min-height: 420px;
|
||||
padding: 42px 48px 22px;
|
||||
}
|
||||
|
||||
.services-section {
|
||||
padding: 10px 0 86px;
|
||||
position: relative;
|
||||
padding: 30px 42px 34px;
|
||||
background: rgba(255, 255, 255, 0.78);
|
||||
border: 1px solid rgba(215, 226, 242, 0.95);
|
||||
border-radius: 28px;
|
||||
box-shadow: var(--shadow);
|
||||
backdrop-filter: blur(16px);
|
||||
}
|
||||
|
||||
.section-heading {
|
||||
display: flex;
|
||||
align-items: end;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 24px;
|
||||
margin-bottom: 22px;
|
||||
gap: 28px;
|
||||
margin-bottom: 26px;
|
||||
}
|
||||
|
||||
.services {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
|
||||
gap: 20px;
|
||||
grid-template-columns: repeat(5, minmax(0, 1fr));
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.record {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
padding: 24px 0 34px;
|
||||
color: #7a8598;
|
||||
font-size: 0.88rem;
|
||||
border-top: 1px solid var(--line);
|
||||
padding: 24px 0 30px;
|
||||
color: #7f8798;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
.record-main {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 16px;
|
||||
gap: 22px;
|
||||
}
|
||||
|
||||
@media (max-width: 960px) {
|
||||
.nav-links {
|
||||
display: none;
|
||||
@media (max-width: 1180px) {
|
||||
.site-header {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 16px;
|
||||
padding: 18px 22px;
|
||||
}
|
||||
|
||||
.hero {
|
||||
grid-template-columns: 1fr;
|
||||
padding-inline: 24px;
|
||||
}
|
||||
|
||||
.hero-art {
|
||||
min-height: 320px;
|
||||
}
|
||||
|
||||
.services {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
|
||||
.section-heading {
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 560px) {
|
||||
@media (max-width: 640px) {
|
||||
.site-header,
|
||||
.hero,
|
||||
.services-section,
|
||||
.record {
|
||||
width: min(100% - 28px, 1180px);
|
||||
width: min(100% - 24px, 1480px);
|
||||
}
|
||||
|
||||
.site-header {
|
||||
min-height: 64px;
|
||||
top: 10px;
|
||||
border-radius: 18px;
|
||||
}
|
||||
|
||||
.hero {
|
||||
padding: 34px 0 20px;
|
||||
}
|
||||
|
||||
.services-section {
|
||||
padding: 24px 18px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.services {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.record {
|
||||
gap: 6px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.record-main {
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 268 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 311 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 329 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 269 KiB |
+69
-49
@@ -4,7 +4,7 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="description" content="sumi.work 服务入口,提供 FRP、Git、Syncthing、Gemini 与 DeepSeek 等常用服务导航。" />
|
||||
<meta name="theme-color" content="#f5f8ff" />
|
||||
<meta name="theme-color" content="#f7fbff" />
|
||||
<title>sumi.work - 服务入口</title>
|
||||
<link rel="stylesheet" href="assets/css/base.css" />
|
||||
<link rel="stylesheet" href="assets/css/layout.css" />
|
||||
@@ -18,99 +18,121 @@
|
||||
</a>
|
||||
|
||||
<nav class="nav-links" aria-label="主导航">
|
||||
<a href="#services">服务入口</a>
|
||||
<a href="#status">连接状态</a>
|
||||
<a href="https://gemini.google.com/app" target="_blank" rel="noreferrer">Gemini</a>
|
||||
<a href="https://platform.deepseek.com/" target="_blank" rel="noreferrer">DeepSeek</a>
|
||||
<a class="is-active" href="#services">
|
||||
<span class="nav-icon" aria-hidden="true">▦</span>
|
||||
服务入口
|
||||
</a>
|
||||
<a href="#status">
|
||||
<span class="nav-icon" aria-hidden="true">╱╲</span>
|
||||
连接状态
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
<div class="header-actions">
|
||||
<a class="quick-link gemini" href="https://gemini.google.com/app" target="_blank" rel="noreferrer">✦ Gemini ↗</a>
|
||||
<a class="quick-link deepseek" href="https://platform.deepseek.com/" target="_blank" rel="noreferrer">鲸 DeepSeek ↗</a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<section class="hero" aria-label="sumi.work 服务入口介绍">
|
||||
<div class="hero-copy">
|
||||
<p class="eyebrow">Private Service Gateway</p>
|
||||
<h1>Private Service <span>Gateway</span></h1>
|
||||
<p class="subtitle">
|
||||
聚合常用内部服务与外部应用,保持入口清晰、状态明确、访问路径简单。
|
||||
</p>
|
||||
|
||||
<div class="hero-actions">
|
||||
<a class="button primary" href="#services">查看服务</a>
|
||||
<a class="button secondary" href="https://platform.deepseek.com/" target="_blank" rel="noreferrer">打开 DeepSeek</a>
|
||||
<a class="button primary" href="#services"><span aria-hidden="true">▦</span> 查看服务</a>
|
||||
<a class="button secondary" href="https://platform.deepseek.com/" target="_blank" rel="noreferrer">鲸 打开 DeepSeek</a>
|
||||
</div>
|
||||
|
||||
<div class="status-row" id="status" aria-label="服务状态">
|
||||
<span class="status-dot"></span>
|
||||
<span class="shield" aria-hidden="true">◇</span>
|
||||
<strong>HTTPS 已启用</strong>
|
||||
<span>安全连接 · 在线</span>
|
||||
<i aria-hidden="true"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hero-art" aria-hidden="true">
|
||||
<span class="cloud cloud-one"></span>
|
||||
<span class="cloud cloud-two"></span>
|
||||
<span class="star star-one">✦</span>
|
||||
<span class="star star-two">✧</span>
|
||||
<span class="dot dot-one"></span>
|
||||
<span class="dot dot-two"></span>
|
||||
<div class="portal">
|
||||
<div class="portal-face">
|
||||
<span></span>
|
||||
<span></span>
|
||||
</div>
|
||||
<div class="portal-inner">
|
||||
<span class="arrow">⌃</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="road"></div>
|
||||
<div class="bush bush-left"></div>
|
||||
<div class="bush bush-right"></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="services-section" id="services" aria-labelledby="services-title">
|
||||
<div class="section-heading">
|
||||
<div>
|
||||
<p class="eyebrow">Quick Access</p>
|
||||
<h2 id="services-title">常用服务</h2>
|
||||
<h2 id="services-title"><span></span> Quick Access <i>/</i> 常用服务</h2>
|
||||
<p class="section-note">像游戏门户一样把入口做成清晰的视觉卡片,看到就能点。</p>
|
||||
</div>
|
||||
<p class="section-note">像游戏门户一样把入口做成清晰的视觉卡片,看到就能点。</p>
|
||||
<span class="dot-matrix" aria-hidden="true"></span>
|
||||
</div>
|
||||
|
||||
<div class="services">
|
||||
<a class="service-card accent-blue" href="/frp/" aria-label="进入 FRP 面板">
|
||||
<img src="assets/images/service-frp.jpg" alt="" loading="lazy" />
|
||||
<span class="service-content">
|
||||
<span class="service-icon">FRP</span>
|
||||
<span class="service-title">FRP 面板</span>
|
||||
<span class="service-desc">内网穿透管理</span>
|
||||
</span>
|
||||
<a class="service-card card-blue" href="/frp/" aria-label="进入 FRP 面板">
|
||||
<span class="service-icon">◎</span>
|
||||
<span class="service-title">FRP 面板</span>
|
||||
<span class="service-desc">内网穿透管理</span>
|
||||
<span class="arrow-button">→</span>
|
||||
</a>
|
||||
|
||||
<a class="service-card accent-green" href="/git/" aria-label="进入 Git 服务">
|
||||
<img src="assets/images/service-git.jpg" alt="" loading="lazy" />
|
||||
<span class="service-content">
|
||||
<span class="service-icon">Git</span>
|
||||
<span class="service-title">Git 服务</span>
|
||||
<span class="service-desc">代码仓库</span>
|
||||
</span>
|
||||
<a class="service-card card-orange" href="/git/" aria-label="进入 Git 服务">
|
||||
<span class="service-icon">⌬</span>
|
||||
<span class="service-title">Git 服务</span>
|
||||
<span class="service-desc">代码仓库</span>
|
||||
<span class="arrow-button">→</span>
|
||||
</a>
|
||||
|
||||
<a class="service-card accent-orange" href="/sync/" aria-label="进入 Syncthing">
|
||||
<img src="assets/images/workspace-hero.jpg" alt="" loading="lazy" />
|
||||
<span class="service-content">
|
||||
<span class="service-icon">Sync</span>
|
||||
<span class="service-title">Syncthing</span>
|
||||
<span class="service-desc">文件同步</span>
|
||||
</span>
|
||||
<a class="service-card card-green" href="/sync/" aria-label="进入 Syncthing">
|
||||
<span class="service-icon">◌</span>
|
||||
<span class="service-title">Syncthing</span>
|
||||
<span class="service-desc">文件同步</span>
|
||||
<span class="arrow-button">→</span>
|
||||
</a>
|
||||
|
||||
<a
|
||||
class="service-card accent-purple"
|
||||
class="service-card card-purple"
|
||||
href="https://gemini.google.com/app"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
aria-label="打开 Gemini"
|
||||
>
|
||||
<img src="assets/images/service-gemini.jpg" alt="" loading="lazy" />
|
||||
<span class="service-content">
|
||||
<span class="service-icon">AI</span>
|
||||
<span class="service-title">Gemini</span>
|
||||
<span class="service-desc">Google AI 助手</span>
|
||||
</span>
|
||||
<span class="service-icon">✦</span>
|
||||
<span class="service-title">Gemini</span>
|
||||
<span class="service-desc">Google AI 助手</span>
|
||||
<span class="arrow-button">→</span>
|
||||
</a>
|
||||
|
||||
<a
|
||||
class="service-card accent-deepseek"
|
||||
class="service-card card-deepseek"
|
||||
href="https://platform.deepseek.com/"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
aria-label="打开 DeepSeek 开发平台"
|
||||
>
|
||||
<img src="assets/images/service-frp.jpg" alt="" loading="lazy" />
|
||||
<span class="service-content">
|
||||
<span class="service-icon">API</span>
|
||||
<span class="service-title">DeepSeek</span>
|
||||
<span class="service-desc">开发平台</span>
|
||||
</span>
|
||||
<span class="service-icon">鲸</span>
|
||||
<span class="service-title">DeepSeek</span>
|
||||
<span class="service-desc">开发平台</span>
|
||||
<span class="arrow-button">→</span>
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
@@ -119,11 +141,9 @@
|
||||
<footer class="record">
|
||||
<div class="record-main">
|
||||
<span>© <span id="year"></span> sumi.work</span>
|
||||
<span aria-hidden="true">|</span>
|
||||
<a href="https://beian.miit.gov.cn/" target="_blank" rel="noreferrer">粤ICP备2026053646号</a>
|
||||
</div>
|
||||
<p class="record-note">
|
||||
页面图片素材来自王者荣耀官方壁纸页,相关角色与美术版权归腾讯及权利方所有;网站文字、结构与样式归 sumi.work 所有。
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
<script src="assets/js/main.js"></script>
|
||||
|
||||
Reference in New Issue
Block a user