From 19832fd5cf823a45b29e5dc8ec8370c8c9e9c292 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sat, 06 Jun 2026 18:25:34 +0800
Subject: [PATCH] Implement user hero design: real HTML copy, cropped visual, app icon in header

---
 docs/index-en.html          |   38 +++------
 docs/styles.css             |  142 +++++------------------------------
 docs/index.html             |   38 +++------
 docs/assets/hero-visual.jpg |    0 
 4 files changed, 45 insertions(+), 173 deletions(-)

diff --git a/docs/assets/hero-visual.jpg b/docs/assets/hero-visual.jpg
new file mode 100644
index 0000000..b1bd71d
--- /dev/null
+++ b/docs/assets/hero-visual.jpg
Binary files differ
diff --git a/docs/index-en.html b/docs/index-en.html
index 0c57f0c..64ecff2 100644
--- a/docs/index-en.html
+++ b/docs/index-en.html
@@ -5,7 +5,7 @@
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>TagLauncher — Tag-based Mac app launcher</title>
   <meta name="description" content="TagLauncher organizes Mac apps with tags: scrollable grid, multi-tag apps, searchable notes, JSON layout backup—beyond Launchpad folders and pages.">
-  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-shot-grid.jpg">
+  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual.jpg">
   <link rel="stylesheet" href="styles.css">
   <link rel="alternate" hreflang="en" href="index-en.html">
   <link rel="alternate" hreflang="zh-Hans" href="index.html">
@@ -33,33 +33,19 @@
   <section class="hero" aria-label="TagLauncher hero">
     <div class="layout hero__split">
       <div class="hero__copy">
-        <h1 class="hero__headline">Possibly the best Mac app launcher—anywhere</h1>
-        <p class="hero__lead">Don't mourn Launchpad on macOS 26 Tahoe. It was never great—and it still isn't.</p>
+        <h1 class="hero__headline">Possibly the best Mac app launcher—in the world</h1>
+        <p class="hero__lead">Don't mourn Launchpad on macOS 26 Tahoe. It was never truly good—it was only barely usable.</p>
       </div>
 
-      <div class="hero__visual">
-        <div class="hero__stack">
-          <div class="hero-stack-layer hero-stack-layer--far" aria-hidden="true">
-            <div class="hero-stack-layer__chrome"><span></span><span></span><span></span></div>
-            <div class="hero-stack-layer__body"></div>
-          </div>
-          <div class="hero-stack-layer hero-stack-layer--near" aria-hidden="true">
-            <div class="hero-stack-layer__chrome"><span></span><span></span><span></span></div>
-            <div class="hero-stack-layer__body"></div>
-          </div>
-          <figure class="hero-window">
-            <div class="hero-window__chrome">
-              <span></span><span></span><span></span>
-            </div>
-            <div class="hero-window__screen">
-              <img src="assets/hero-shot-grid.jpg" alt="TagLauncher App Grid" width="1600" height="1040" fetchpriority="high" decoding="async">
-            </div>
-            <div class="hero-window__reflection" aria-hidden="true">
-              <img src="assets/hero-shot-grid.jpg" alt="" width="1600" height="1040">
-            </div>
-          </figure>
-        </div>
-      </div>
+      <figure class="hero__visual">
+        <img
+          src="assets/hero-visual.jpg"
+          alt="TagLauncher App Grid with colorful tags"
+          width="553"
+          height="619"
+          fetchpriority="high"
+          decoding="async">
+      </figure>
     </div>
   </section>
 
diff --git a/docs/index.html b/docs/index.html
index 6c0385f..6807fc5 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -4,8 +4,8 @@
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>TagLauncher — 标签化 Mac 应用启动器</title>
-  <meta name="description" content="TagLauncher:用标签管理 Mac 应用,可滚动网格、多标签归类、应用备忘、布局备份。比 Launchpad 更适合应用很多的用户。">
-  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-shot-grid.jpg">
+  <meta name="description" content="在全球,这可能是Mac最好用的应用启动台。不用怀念 macOS 26 Tahoe 上消失的 Launchpad,TagLauncher 用标签管理 Mac 应用。">
+  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual.jpg">
   <link rel="stylesheet" href="styles.css">
   <link rel="alternate" hreflang="en" href="index-en.html">
   <link rel="alternate" hreflang="zh-Hans" href="index.html">
@@ -34,32 +34,18 @@
     <div class="layout hero__split">
       <div class="hero__copy">
         <h1 class="hero__headline">在全球,这可能是Mac最好用的应用启动台</h1>
-        <p class="hero__lead">不用怀念 macOS 26 Tahoe 上消失的 Launchpad(启动台),因为它一直都不好用,从来就没好用过</p>
+        <p class="hero__lead">不用怀念 macOS 26 Tahoe 上消失的 Launchpad(启动台),因为他从来都没真的好用过,他从来就勉强可以用</p>
       </div>
 
-      <div class="hero__visual">
-        <div class="hero__stack">
-          <div class="hero-stack-layer hero-stack-layer--far" aria-hidden="true">
-            <div class="hero-stack-layer__chrome"><span></span><span></span><span></span></div>
-            <div class="hero-stack-layer__body"></div>
-          </div>
-          <div class="hero-stack-layer hero-stack-layer--near" aria-hidden="true">
-            <div class="hero-stack-layer__chrome"><span></span><span></span><span></span></div>
-            <div class="hero-stack-layer__body"></div>
-          </div>
-          <figure class="hero-window">
-            <div class="hero-window__chrome">
-              <span></span><span></span><span></span>
-            </div>
-            <div class="hero-window__screen">
-              <img src="assets/hero-shot-grid.jpg" alt="TagLauncher 应用网格界面" width="1600" height="1040" fetchpriority="high" decoding="async">
-            </div>
-            <div class="hero-window__reflection" aria-hidden="true">
-              <img src="assets/hero-shot-grid.jpg" alt="" width="1600" height="1040">
-            </div>
-          </figure>
-        </div>
-      </div>
+      <figure class="hero__visual">
+        <img
+          src="assets/hero-visual.jpg"
+          alt="TagLauncher 应用网格界面:彩色标签分类与可滚动应用图标"
+          width="553"
+          height="619"
+          fetchpriority="high"
+          decoding="async">
+      </figure>
     </div>
   </section>
 
diff --git a/docs/styles.css b/docs/styles.css
index edd233e..a0b71ce 100644
--- a/docs/styles.css
+++ b/docs/styles.css
@@ -163,141 +163,45 @@
 
 .hero__split {
   display: grid;
-  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
-  gap: 28px 40px;
+  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
+  gap: 20px 48px;
   align-items: center;
-  min-height: calc(100svh - var(--header-h) - 112px);
-  min-height: calc(100vh - var(--header-h) - 112px);
+  min-height: calc(100svh - var(--header-h) - 96px);
+  min-height: calc(100vh - var(--header-h) - 96px);
 }
 
 .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.04em;
+  line-height: 1.1;
+  color: #000;
 }
 
 .hero__lead {
-  margin: 22px 0 0;
-  font-size: clamp(0.98rem, 1.6vw, 1.12rem);
-  line-height: 1.65;
-  color: var(--muted);
-  max-width: 26em;
+  margin: 28px 0 0;
+  font-size: clamp(1rem, 1.7vw, 1.2rem);
+  line-height: 1.7;
+  color: #1d1d1f;
+  max-width: 22em;
 }
 
 .hero__visual {
-  position: relative;
-  min-height: 340px;
-}
-
-/* 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;
-}
-
-.hero-stack-layer {
-  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;
-  border-radius: 50%;
-}
-
-.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%);
-}
-
-.hero-stack-layer--far {
-  top: 0;
-  transform: translate(28px, -22px) scale(0.96);
-  opacity: 0.45;
-  z-index: 1;
-}
-
-.hero-stack-layer--near {
-  top: 12px;
-  transform: translate(14px, -10px) scale(0.98);
-  opacity: 0.68;
-  z-index: 2;
-}
-
-.hero-window {
-  position: relative;
-  margin: 24px 0 0;
-  z-index: 3;
-  transform: rotateY(-6deg) rotateX(3deg);
-  transform-style: preserve-3d;
-}
-
-.hero-window__screen {
-  border-radius: 0 0 12px 12px;
-  overflow: hidden;
+  margin: 0;
   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 {
+.hero__visual img {
   display: block;
   width: 100%;
+  max-width: 560px;
   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;
-}
-
-.hero-window__reflection img {
-  display: block;
-  width: 100%;
-  height: auto;
+  margin-left: auto;
 }
 
 /* Main content */
@@ -467,9 +371,9 @@
     gap: 32px;
   }
 
-  .hero__stack {
-    max-width: 100%;
+  .hero__visual img {
     margin-left: 0;
+    max-width: 100%;
   }
 }
 
@@ -480,9 +384,5 @@
 
   .hero {
     padding: 32px 0 48px;
-  }
-
-  .hero-stack-layer__body {
-    height: 160px;
   }
 }
\ No newline at end of file

--
Gitblit v1.9.3