feat(frontend): add source code links

Amolith created

Implements: 55d3982
Assisted-by: Claude Sonnet 4.5 via Crush

Change summary

static/index.html |  2 ++
static/style.css  | 24 ++++++++++++++++++++++++
2 files changed, 26 insertions(+)

Detailed changes

static/index.html 🔗

@@ -24,6 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
           <button id="join-btn">Join List</button>
         </div>
       </div>
+      <a href="https://git.secluded.site/sift" class="source-link" target="_blank" rel="noopener noreferrer">source code</a>
     </div>
 
     <div id="list-screen" class="hidden">
@@ -56,6 +57,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
       </div>
 
       <div id="list-container"></div>
+      <a href="https://git.secluded.site/sift" class="source-link" target="_blank" rel="noopener noreferrer">source code</a>
     </div>
 
     <!-- Help Modal -->

static/style.css 🔗

@@ -497,6 +497,22 @@ kbd {
   border-width: 0;
 }
 
+/* Source link */
+.source-link {
+  display: block;
+  text-align: center;
+  margin-top: 2rem;
+  font-size: 0.85rem;
+  color: color-mix(in oklch, var(--text-1) 50%, transparent);
+  text-decoration: none;
+  transition: color 0.2s ease;
+}
+
+.source-link:hover {
+  color: var(--brand-color);
+  text-decoration: underline;
+}
+
 @media (prefers-reduced-motion: reduce) {
   * {
     transition: none !important;
@@ -664,4 +680,12 @@ kbd {
     border: 1px solid var(--stone-11);
     box-shadow: 0 1px 2px color-mix(in oklch, var(--shadow-color) 50%, transparent);
   }
+
+  .source-link {
+    color: color-mix(in oklch, var(--stone-3) 50%, transparent);
+  }
+
+  .source-link:hover {
+    color: var(--avocado-9);
+  }
 }