From e45c0a8b5228f2ba009c4f9e3ed8ede249897f73 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Sat, 06 Jun 2026 18:41:27 +0800
Subject: [PATCH] Fix hero: use original design visual crop, no CSS 3D transforms

---
 docs/assets/hero-visual-only.jpg     |    0 
 docs/index-en.html                   |   24 +++++------
 docs/styles.css                      |   36 +++++-------------
 docs/assets/hero-design-original.jpg |    0 
 docs/index.html                      |   24 +++++------
 5 files changed, 32 insertions(+), 52 deletions(-)

diff --git a/docs/assets/hero-design-original.jpg b/docs/assets/hero-design-original.jpg
new file mode 100644
index 0000000..257ddd7
--- /dev/null
+++ b/docs/assets/hero-design-original.jpg
Binary files differ
diff --git a/docs/assets/hero-visual-only.jpg b/docs/assets/hero-visual-only.jpg
new file mode 100644
index 0000000..1af15c0
--- /dev/null
+++ b/docs/assets/hero-visual-only.jpg
Binary files differ
diff --git a/docs/index-en.html b/docs/index-en.html
index e6d318d..30e2966 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-visual-stack.jpg">
+  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-design-original.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">
@@ -37,18 +37,16 @@
         <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" aria-hidden="true">
-        <div class="hero__stack-stage">
-          <img
-            class="hero__stack-img"
-            src="assets/hero-visual-stack.jpg"
-            alt=""
-            width="533"
-            height="687"
-            fetchpriority="high"
-            decoding="async">
-        </div>
-      </div>
+      <figure class="hero__art">
+        <img
+          src="assets/hero-visual-only.jpg"
+          alt=""
+          width="592"
+          height="687"
+          fetchpriority="high"
+          decoding="async"
+          role="presentation">
+      </figure>
     </div>
   </section>
 
diff --git a/docs/index.html b/docs/index.html
index b83cd08..cb73ec0 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -5,7 +5,7 @@
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>TagLauncher — 标签化 Mac 应用启动器</title>
   <meta name="description" content="在全球,这可能是Mac最好用的应用启动台。不用怀念 macOS 26 Tahoe 上消失的 Launchpad,TagLauncher 用标签管理 Mac 应用。">
-  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual-stack.jpg">
+  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-design-original.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">
@@ -37,18 +37,16 @@
         <p class="hero__lead">不用怀念 macOS 26 Tahoe 上消失的 Launchpad(启动台),因为他从来都没真的好用过,他从来就勉强可以用</p>
       </div>
 
-      <div class="hero__visual" aria-hidden="true">
-        <div class="hero__stack-stage">
-          <img
-            class="hero__stack-img"
-            src="assets/hero-visual-stack.jpg"
-            alt=""
-            width="533"
-            height="687"
-            fetchpriority="high"
-            decoding="async">
-        </div>
-      </div>
+      <figure class="hero__art">
+        <img
+          src="assets/hero-visual-only.jpg"
+          alt=""
+          width="592"
+          height="687"
+          fetchpriority="high"
+          decoding="async"
+          role="presentation">
+      </figure>
     </div>
   </section>
 
diff --git a/docs/styles.css b/docs/styles.css
index a41b525..65b8f05 100644
--- a/docs/styles.css
+++ b/docs/styles.css
@@ -163,8 +163,8 @@
 
 .hero__split {
   display: grid;
-  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
-  gap: 20px 48px;
+  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
+  gap: 12px 32px;
   align-items: center;
   min-height: calc(100svh - var(--header-h) - 96px);
   min-height: calc(100vh - var(--header-h) - 96px);
@@ -191,31 +191,20 @@
   max-width: 22em;
 }
 
-.hero__visual {
-  position: relative;
-  min-height: 420px;
+/* Right art: pixels from user's original design (vertical crop only — stack + reflection intact) */
+.hero__art {
+  margin: 0;
+  line-height: 0;
   display: flex;
   align-items: center;
   justify-content: flex-end;
 }
 
-.hero__stack-stage {
-  position: relative;
-  width: 100%;
-  max-width: 620px;
-  margin-left: auto;
-  padding: 12px 0 28px;
-  perspective: 1600px;
-  perspective-origin: 35% 45%;
-}
-
-.hero__stack-img {
+.hero__art img {
   display: block;
   width: 100%;
+  max-width: 100%;
   height: auto;
-  transform: rotateY(-11deg) rotateX(4deg) translateZ(0);
-  transform-origin: 40% 50%;
-  filter: drop-shadow(0 28px 48px rgba(30, 45, 90, 0.14));
 }
 
 /* Main content */
@@ -385,13 +374,8 @@
     gap: 32px;
   }
 
-  .hero__stack-stage {
-    max-width: 100%;
-    margin-left: 0;
-  }
-
-  .hero__stack-img {
-    transform: rotateY(-7deg) rotateX(3deg);
+  .hero__art {
+    justify-content: center;
   }
 }
 

--
Gitblit v1.9.3