From 3a87ea37f40d9de70409bf805ed011973643a3cd Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Mon, 08 Jun 2026 22:51:02 +0800
Subject: [PATCH] Relocate app source under src
---
docs/styles.css | 749 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 613 insertions(+), 136 deletions(-)
diff --git a/docs/styles.css b/docs/styles.css
index edd233e..e352258 100644
--- a/docs/styles.css
+++ b/docs/styles.css
@@ -13,6 +13,9 @@
--shadow: 0 20px 50px rgba(30, 45, 90, 0.12);
--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Segoe UI", sans-serif;
--hero-bg: #ffffff;
+ --section-blue: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
+ --section-lilac: linear-gradient(135deg, #fbfcff 0%, #ffffff 44%, #f8f5ff 100%);
+ --section-mint: linear-gradient(135deg, #ffffff 0%, #f7fbff 52%, #f3fbf7 100%);
}
* {
@@ -29,8 +32,12 @@
color: var(--text);
line-height: 1.55;
-webkit-font-smoothing: antialiased;
- background: var(--bg);
+ background: linear-gradient(180deg, #fbfcff 0%, #f4f7ff 38%, #f5fbf8 72%, #fbfcff 100%);
min-height: 100vh;
+}
+
+.page-home {
+ background: #ffffff;
}
a {
@@ -58,7 +65,7 @@
top: 0;
z-index: 50;
height: var(--header-h);
- background: rgba(244, 246, 251, 0.82);
+ background: rgba(250, 252, 255, 0.86);
border-bottom: 1px solid var(--border);
backdrop-filter: blur(16px) saturate(1.25);
}
@@ -148,159 +155,556 @@
}
.page-home .site-header {
- background: rgba(255, 255, 255, 0.88);
+ background: #ffffff;
}
-/* Hero — reference layout: copy left, stacked screenshots right */
+/* Hero — copy left, original design visual right (compact, no forced full-screen) */
.hero {
width: 100%;
- min-height: calc(100svh - var(--header-h));
- min-height: calc(100vh - var(--header-h));
- padding: 48px 0 64px;
+ padding: 40px 0 48px;
background: var(--hero-bg);
overflow: hidden;
}
.hero__split {
display: grid;
- grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
- gap: 28px 40px;
+ grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
+ gap: 12px 32px;
align-items: center;
- min-height: calc(100svh - var(--header-h) - 112px);
- min-height: calc(100vh - var(--header-h) - 112px);
}
.hero__copy {
- padding: 12px 0;
+ padding: 8px 0;
}
.hero__headline {
margin: 0;
- font-size: clamp(1.85rem, 4.2vw, 2.85rem);
- font-weight: 700;
- letter-spacing: -0.035em;
- line-height: 1.12;
- color: #111114;
+ font-size: clamp(2rem, 4.8vw, 3.15rem);
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.1;
+ color: #000;
+}
+
+.hero__headline span {
+ display: block;
}
.hero__lead {
+ margin: 28px 0 0;
+ font-size: clamp(1rem, 1.7vw, 1.2rem);
+ line-height: 1.7;
+ color: #1d1d1f;
+ max-width: 22em;
+}
+
+/* Right art: user-provided hero visual (black bg removed → white) */
+.hero__art {
+ margin: 0;
+ line-height: 0;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ background: var(--hero-bg);
+}
+
+.hero__art img {
+ display: block;
+ width: 100%;
+ max-width: 100%;
+ height: auto;
+ background: var(--hero-bg);
+ border: 0;
+}
+
+/* Second screen — 4 view modes */
+.views {
+ padding: 56px 0 64px;
+ background: var(--section-blue);
+}
+
+.views__split {
+ display: grid;
+ grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
+ gap: 28px 48px;
+ align-items: start;
+}
+
+.views__gallery {
+ display: grid;
+ grid-template-columns: repeat(2, minmax(0, 1fr));
+ gap: 12px;
+ max-width: 500px;
+ justify-self: start;
+}
+
+.views__shot {
+ margin: 0;
+ aspect-ratio: 720 / 450;
+ border-radius: 12px;
+ overflow: hidden;
+ line-height: 0;
+ background: #f5f5f7;
+ box-shadow: 0 10px 28px rgba(30, 45, 90, 0.1);
+ border: 1px solid rgba(0, 0, 0, 0.06);
+}
+
+.views__shot img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ object-position: center bottom;
+}
+
+.views__headline {
+ margin: 0;
+ font-size: clamp(1.85rem, 3.8vw, 2.7rem);
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.12;
+ color: #000;
+}
+
+.views__lead {
margin: 22px 0 0;
- font-size: clamp(0.98rem, 1.6vw, 1.12rem);
- line-height: 1.65;
- color: var(--muted);
+ font-size: clamp(0.98rem, 1.55vw, 1.1rem);
+ line-height: 1.75;
+ color: #6e6e73;
max-width: 26em;
}
-.hero__visual {
- position: relative;
- min-height: 340px;
+.views__rule {
+ margin: 30px 0 22px;
+ border: 0;
+ height: 1px;
+ background: linear-gradient(90deg, rgba(99, 102, 241, 0.5), rgba(99, 102, 241, 0.06));
}
-/* One real screenshot in front; back layers are chrome-only depth cues */
-.hero__stack {
- position: relative;
- width: 100%;
- max-width: 520px;
- margin-left: auto;
- padding: 36px 0 48px;
+.views__label {
+ margin: 0 0 16px;
+ font-size: 0.94rem;
+ color: #86868b;
}
-.hero-stack-layer {
+.views__details {
+ display: grid;
+ grid-template-columns: minmax(190px, 1fr) max-content;
+ gap: 20px 34px;
+ align-items: end;
+}
+
+.views__modes {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ display: grid;
+ gap: 12px;
+}
+
+.views__modes li {
+ position: relative;
+ padding-left: 22px;
+ font-size: 1.04rem;
+ font-weight: 500;
+ color: #1d1d1f;
+}
+
+.views__modes li::before {
+ content: "";
position: absolute;
left: 0;
- right: 0;
- border-radius: 12px;
- overflow: hidden;
- border: 1px solid rgba(0, 0, 0, 0.07);
- box-shadow: 0 16px 40px rgba(30, 45, 90, 0.1);
- pointer-events: none;
-}
-
-.hero-stack-layer__chrome,
-.hero-window__chrome {
- display: flex;
- gap: 7px;
- padding: 9px 11px 7px;
- background: linear-gradient(180deg, #f3f5f9 0%, #e8ecf3 100%);
- border-bottom: 1px solid rgba(0, 0, 0, 0.06);
-}
-
-.hero-stack-layer__chrome span,
-.hero-window__chrome span {
- width: 10px;
- height: 10px;
+ top: 0.58em;
+ width: 8px;
+ height: 8px;
border-radius: 50%;
+ background: var(--accent);
}
-.hero-stack-layer__chrome span:nth-child(1),
-.hero-window__chrome span:nth-child(1) { background: #ff6b6b; }
-.hero-stack-layer__chrome span:nth-child(2),
-.hero-window__chrome span:nth-child(2) { background: #ffd166; }
-.hero-stack-layer__chrome span:nth-child(3),
-.hero-window__chrome span:nth-child(3) { background: #6ee7a8; }
-
-.hero-stack-layer__body {
- height: 220px;
- background: linear-gradient(180deg, #fafbfd 0%, #eef1f7 100%);
+.views__shortcut {
+ display: inline-flex;
+ flex-direction: column;
+ gap: 6px;
+ margin-top: 0;
+ flex-shrink: 0;
+ padding: 12px 18px;
+ border-radius: 14px;
+ background: #f5f5f7;
+ border: 1px solid var(--border);
}
-.hero-stack-layer--far {
- top: 0;
- transform: translate(28px, -22px) scale(0.96);
- opacity: 0.45;
- z-index: 1;
+.views__shortcut-label {
+ font-size: 0.8rem;
+ color: #86868b;
}
-.hero-stack-layer--near {
- top: 12px;
- transform: translate(14px, -10px) scale(0.98);
- opacity: 0.68;
- z-index: 2;
+.views__shortcut-keys {
+ font-size: 1.02rem;
+ font-weight: 650;
+ letter-spacing: 0.01em;
}
-.hero-window {
+/* Third screen — tag management */
+.tags {
+ padding: 56px 0 64px;
+ background: var(--section-lilac);
+}
+
+.tags__split {
+ display: grid;
+ grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
+ gap: 28px 48px;
+ align-items: center;
+}
+
+.tags__headline {
+ margin: 0;
+ font-size: clamp(1.85rem, 3.8vw, 2.7rem);
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.12;
+ color: #000;
+}
+
+.tags__points {
+ list-style: none;
+ margin: 28px 0 0;
+ padding: 0;
+ display: grid;
+ gap: 18px;
+ max-width: 28em;
+}
+
+.tags__points li {
position: relative;
- margin: 24px 0 0;
- z-index: 3;
- transform: rotateY(-6deg) rotateX(3deg);
- transform-style: preserve-3d;
+ padding-left: 22px;
+ font-size: clamp(0.98rem, 1.55vw, 1.1rem);
+ line-height: 1.75;
+ color: #1d1d1f;
}
-.hero-window__screen {
- border-radius: 0 0 12px 12px;
- overflow: hidden;
+.tags__points li::before {
+ content: "";
+ position: absolute;
+ left: 0;
+ top: 0.72em;
+ width: 8px;
+ height: 8px;
+ border-radius: 50%;
+ background: var(--accent);
+}
+
+.tags__points strong {
+ font-weight: 700;
+ color: #000;
+}
+
+.tags__art {
+ margin: 0;
+ aspect-ratio: 880 / 552;
line-height: 0;
- background: #fff;
- border: 1px solid rgba(0, 0, 0, 0.08);
- border-top: none;
- box-shadow:
- 0 28px 64px rgba(30, 45, 90, 0.16),
- 0 10px 24px rgba(30, 45, 90, 0.08);
-}
-
-.hero-window__screen img {
- display: block;
+ justify-self: end;
+ max-width: 540px;
width: 100%;
- height: auto;
-}
-
-.hero-window__reflection {
- margin-top: 10px;
- transform: scaleY(-1);
- opacity: 0.18;
- mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, transparent 70%);
- -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, transparent 70%);
border-radius: 12px;
overflow: hidden;
+ background: #f5f5f7;
+ box-shadow: 0 10px 28px rgba(30, 45, 90, 0.1);
+ border: 1px solid rgba(0, 0, 0, 0.06);
}
-.hero-window__reflection img {
+.tags__art img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ object-position: center bottom;
+}
+
+/* Fourth screen — app memos */
+.memo {
+ padding: 56px 0 64px;
+ background: var(--section-mint);
+}
+
+.memo__split {
+ display: grid;
+ grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
+ gap: 28px 48px;
+ align-items: center;
+}
+
+.memo__art {
+ margin: 0;
+ aspect-ratio: 880 / 552;
+ line-height: 0;
+ justify-self: start;
+ max-width: 540px;
+ width: 100%;
+ border-radius: 12px;
+ overflow: hidden;
+ background: #f5f5f7;
+ box-shadow: 0 10px 28px rgba(30, 45, 90, 0.1);
+ border: 1px solid rgba(0, 0, 0, 0.06);
+}
+
+.memo__art img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ object-position: center bottom;
+}
+
+.memo__headline {
+ margin: 0;
+ font-size: clamp(1.85rem, 3.8vw, 2.7rem);
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.12;
+ color: #000;
+}
+
+.memo__lead {
+ margin: 22px 0 0;
+ font-size: clamp(0.98rem, 1.55vw, 1.1rem);
+ line-height: 1.75;
+ color: #6e6e73;
+ max-width: 22em;
+}
+
+/* Fifth screen — global Quick Search */
+.search {
+ padding: 56px 0 64px;
+ background: var(--section-lilac);
+}
+
+.search__split {
+ display: grid;
+ grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
+ gap: 28px 48px;
+ align-items: center;
+}
+
+.search__headline {
+ margin: 0;
+ font-size: clamp(1.85rem, 3.8vw, 2.7rem);
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.12;
+ color: #000;
+}
+
+.search__lead {
+ margin: 22px 0 0;
+ font-size: clamp(0.98rem, 1.55vw, 1.1rem);
+ line-height: 1.75;
+ color: #6e6e73;
+ max-width: 24em;
+}
+
+.search__tagline {
+ margin: 16px 0 0;
+ font-size: clamp(0.98rem, 1.55vw, 1.1rem);
+ line-height: 1.75;
+ color: #1d1d1f;
+ font-weight: 500;
+ max-width: 24em;
+}
+
+.search__shortcut {
+ margin-top: 32px;
+ display: inline-flex;
+ flex-direction: column;
+ gap: 6px;
+ padding: 14px 20px;
+ border-radius: 14px;
+ background: #f5f5f7;
+ border: 1px solid var(--border);
+}
+
+.search__shortcut-label {
+ font-size: 0.8rem;
+ color: #86868b;
+}
+
+.search__shortcut-keys {
+ font-size: 1.02rem;
+ font-weight: 650;
+ letter-spacing: 0.01em;
+}
+
+.search__art {
+ margin: 0;
+ line-height: 0;
+ justify-self: end;
+ max-width: 500px;
+ width: 100%;
+ border-radius: 0;
+ overflow: visible;
+ background: transparent;
+ box-shadow: none;
+ border: 0;
+}
+
+.search__art img {
+ display: block;
+ width: 100%;
+ height: auto;
+ filter: drop-shadow(0 14px 28px rgba(30, 45, 90, 0.12));
+}
+
+/* Sixth screen — backup & restore */
+.backup {
+ padding: 56px 0 64px;
+ background: var(--section-blue);
+}
+
+.backup__split {
+ display: grid;
+ grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
+ gap: 28px 48px;
+ align-items: center;
+}
+
+.backup__art {
+ margin: 0;
+ line-height: 0;
+ justify-self: start;
+ max-width: 540px;
+ width: 100%;
+ border-radius: 12px;
+ overflow: hidden;
+ background: #f5f5f7;
+ box-shadow: 0 10px 28px rgba(30, 45, 90, 0.1);
+ border: 1px solid rgba(0, 0, 0, 0.06);
+}
+
+.backup__art img {
display: block;
width: 100%;
height: auto;
}
-/* Main content */
+.backup__headline {
+ margin: 0;
+ font-size: clamp(1.85rem, 3.8vw, 2.7rem);
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.12;
+ color: #000;
+}
+
+.backup__lead {
+ margin: 22px 0 0;
+ font-size: clamp(0.98rem, 1.55vw, 1.1rem);
+ line-height: 1.75;
+ color: #1d1d1f;
+ max-width: 24em;
+}
+
+.backup__lead strong {
+ font-weight: 700;
+ color: #000;
+}
+
+/* Seventh screen — offline & privacy */
+.privacy {
+ padding: 56px 0 64px;
+ background: var(--section-mint);
+}
+
+.privacy__split {
+ display: grid;
+ grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
+ gap: 28px 48px;
+ align-items: center;
+}
+
+.privacy__headline {
+ margin: 0;
+ font-size: clamp(2rem, 4.2vw, 3rem);
+ font-weight: 800;
+ letter-spacing: 0;
+ line-height: 1.08;
+ color: #000;
+}
+
+.privacy__lead {
+ margin: 24px 0 0;
+ font-size: clamp(1rem, 1.6vw, 1.15rem);
+ line-height: 1.75;
+ color: #1d1d1f;
+ max-width: 26em;
+}
+
+.privacy__feature {
+ margin-top: 28px;
+}
+
+.privacy__feature-title {
+ margin: 0;
+ font-size: 1.08rem;
+ font-weight: 700;
+ color: #000;
+ display: flex;
+ align-items: center;
+ gap: 8px;
+}
+
+.privacy__feature-title--accent {
+ color: #1d1d1f;
+}
+
+.privacy__feature-icon {
+ width: 18px;
+ height: 18px;
+ border-radius: 50%;
+ background: #34c759;
+ display: inline-block;
+ flex-shrink: 0;
+ position: relative;
+}
+
+.privacy__feature-icon::after {
+ content: "";
+ position: absolute;
+ left: 5px;
+ top: 4px;
+ width: 5px;
+ height: 8px;
+ border-right: 2px solid #fff;
+ border-bottom: 2px solid #fff;
+ transform: rotate(40deg);
+}
+
+.privacy__feature-text {
+ margin: 8px 0 0;
+ font-size: 0.95rem;
+ line-height: 1.7;
+ color: #6e6e73;
+ max-width: 28em;
+}
+
+.privacy__art {
+ margin: 0;
+ line-height: 0;
+ justify-self: end;
+ max-width: 340px;
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.privacy__art img {
+ display: block;
+ width: min(100%, 320px);
+ height: auto;
+ filter: drop-shadow(0 18px 36px rgba(60, 80, 140, 0.16));
+}
+
+/* Inner pages (support, privacy) */
.page-main {
padding: 56px 0 72px;
}
@@ -314,55 +718,44 @@
margin-bottom: 22px;
}
+.card h1,
.card h2 {
margin: 0 0 14px;
font-size: 1.3rem;
- letter-spacing: -0.02em;
+ letter-spacing: 0;
}
-.card-cta {
+/* Features + CTA — full-width white band */
+.features {
+ padding: 56px 0 72px;
+ background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
+}
+
+.features__headline {
+ margin: 0 0 24px;
+ font-size: 1.3rem;
+ letter-spacing: 0;
+}
+
+.features__cta {
+ margin-top: 40px;
text-align: center;
}
-.card-cta p {
+.features__cta p {
margin: 0 0 16px;
color: var(--muted);
}
-.compare {
- width: 100%;
- border-collapse: collapse;
- font-size: 0.95rem;
-}
-
-.compare th,
-.compare td {
- text-align: left;
- padding: 11px 12px;
- border-bottom: 1px solid var(--border);
- vertical-align: top;
-}
-
-.compare th {
- font-size: 0.78rem;
- text-transform: uppercase;
- letter-spacing: 0.04em;
- color: var(--muted);
-}
-
-.compare tr:last-child td {
- border-bottom: none;
-}
-
.feature-grid {
display: grid;
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
+ grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
}
.feature {
padding: 15px 17px;
- border-radius: 12px;
+ border-radius: 8px;
background: #f8f9fd;
border: 1px solid var(--border);
}
@@ -444,9 +837,18 @@
}
@media (max-width: 860px) {
+ .site-header {
+ height: auto;
+ }
+
.site-header__bar {
grid-template-columns: auto auto;
grid-template-rows: auto auto;
+ height: auto;
+ min-height: var(--header-h);
+ gap: 8px 14px;
+ padding-top: 8px;
+ padding-bottom: 10px;
}
.site-nav {
@@ -467,9 +869,84 @@
gap: 32px;
}
- .hero__stack {
+ .hero__art {
+ justify-content: center;
+ }
+
+ .views__split {
+ grid-template-columns: 1fr;
+ gap: 36px;
+ }
+
+ .views__gallery {
max-width: 100%;
- margin-left: 0;
+ justify-self: center;
+ }
+
+ .views__copy {
+ max-width: 36em;
+ }
+
+ .views__details {
+ grid-template-columns: 1fr;
+ gap: 24px;
+ }
+
+ .views__shortcut {
+ justify-self: start;
+ }
+
+ .tags__split {
+ grid-template-columns: 1fr;
+ gap: 36px;
+ }
+
+ .tags__art {
+ justify-self: center;
+ max-width: 100%;
+ }
+
+ .memo__split {
+ grid-template-columns: 1fr;
+ gap: 36px;
+ }
+
+ .memo__art {
+ justify-self: center;
+ max-width: 100%;
+ }
+
+ .search__split {
+ grid-template-columns: 1fr;
+ gap: 36px;
+ }
+
+ .search__art {
+ justify-self: center;
+ max-width: 100%;
+ }
+
+ .backup__split {
+ grid-template-columns: 1fr;
+ gap: 36px;
+ }
+
+ .backup__art {
+ justify-self: center;
+ max-width: 100%;
+ }
+
+ .privacy__split {
+ grid-template-columns: 1fr;
+ gap: 36px;
+ }
+
+ .privacy__art {
+ justify-self: center;
+ }
+
+ .feature-grid {
+ grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@@ -482,7 +959,7 @@
padding: 32px 0 48px;
}
- .hero-stack-layer__body {
- height: 160px;
+ .feature-grid {
+ grid-template-columns: 1fr;
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3