diff --git a/backend/internal/httpx/redirect/notfound.go b/backend/internal/httpx/redirect/notfound.go
index 0021348..23010a7 100644
--- a/backend/internal/httpx/redirect/notfound.go
+++ b/backend/internal/httpx/redirect/notfound.go
@@ -8,29 +8,29 @@ func notFoundHTML(shortHost, homeURL string) string {
href := html.EscapeString(homeURL)
return `
-
-
+
+
Link not found`
+:root{--bg:#fafafa;--surface:#fff;--ink:#111113;--muted:#6f6f78;--line:#e7e7ea;
+--shadow:0 1px 2px rgba(0,0,0,.04),0 2px 8px -2px rgba(0,0,0,.04);--out:cubic-bezier(.23,1,.32,1)}
+@media(prefers-color-scheme:dark){:root{--bg:#0a0a0b;--surface:#121214;--ink:#f4f4f5;--muted:#9b9ba4;--line:#242428;
+--shadow:0 1px 2px rgba(0,0,0,.4)}}
+*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
+body{margin:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:var(--bg);color:var(--ink);
+font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;padding:16px}
+.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;width:100%;max-width:384px;
+box-shadow:var(--shadow);animation:rise .28s var(--out) backwards}
+@keyframes rise{from{opacity:0;transform:translateY(6px)}}
+.code{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--muted);margin:0 0 8px}
+h1{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0}
+p{color:var(--muted);font-size:14px;line-height:1.5;margin:6px 0 20px}
+a{display:flex;align-items:center;justify-content:center;height:48px;background:var(--ink);color:var(--bg);
+text-decoration:none;font-size:15px;font-weight:500;border-radius:12px;transition:opacity .15s ease,transform .16s var(--out)}
+@media(hover:hover){a:hover{opacity:.85}}
+a:active{transform:scale(.97)}
+a:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ink)}
+@media(prefers-reduced-motion:reduce){.card{animation:none}a:active{transform:none}}
+