From fef6dcf0957b89b1a571951f8db853e94f240458 Mon Sep 17 00:00:00 2001 From: "claude (blind_chess)" Date: Tue, 19 May 2026 18:08:11 -0400 Subject: [PATCH] feat(client): third landing card linking to duplicate chess MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a "Duplicate Chess (under development)" card below the friend/AI cards, pointing at /duplicate/ — a sibling sandbox (Andrew Freiberg's four-player variant) served as a static sub-app at chess.sethpc.xyz/duplicate/ via a separate Caddy handler. The card is a plain anchor so it survives through any future static-fallback rewriting. --- packages/client/src/lib/Landing.svelte | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/packages/client/src/lib/Landing.svelte b/packages/client/src/lib/Landing.svelte index 8c8956e..efae3d2 100644 --- a/packages/client/src/lib/Landing.svelte +++ b/packages/client/src/lib/Landing.svelte @@ -163,6 +163,18 @@ {#if aiError}

Error: {aiError}

{/if} + +

+ Duplicate Chess + under development +

+

+ A four-player chess variant invented by Andrew Freiberg. Perfect information — + every player sees all four boards. Local sandbox; open it and play around. +

+ Open → +
+ @@ -252,4 +264,33 @@ .error { color: #f87171; margin-top: 12px; } footer { text-align: center; margin-top: 24px; font-size: 12px; } + + .card-link { + display: block; + text-decoration: none; + color: inherit; + cursor: pointer; + transition: border 0.15s, background 0.15s; + } + .card-link:hover { border-color: var(--accent-dim); background: rgba(211,84,0,0.05); } + .card-link h2 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } + .badge { + display: inline-block; + font-size: 11px; + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + padding: 3px 8px; + border-radius: 999px; + color: var(--accent); + background: rgba(211,84,0,0.10); + border: 1px solid var(--accent-dim); + } + .open-cue { + display: inline-block; + margin-top: 8px; + font-size: 13px; + color: var(--accent); + font-weight: 600; + }