diff --git a/.agent/skills/workflows/SKILL.md b/.agent/skills/workflows/SKILL.md
index eb0fa4f..bb6a1bf 100644
--- a/.agent/skills/workflows/SKILL.md
+++ b/.agent/skills/workflows/SKILL.md
@@ -2,8 +2,8 @@
name: Task Finisher Workflow
description: Automate the Code Review -> Confirmation -> Git Commit pipeline.
triggers:
- - /finish
- - /done
+ - "/finish"
+ - "/done"
- "작업 완료"
- "마무리해줘"
---
diff --git a/__mocks__/next-navigation.js b/__mocks__/next-navigation.js
deleted file mode 100644
index d78bb4f..0000000
--- a/__mocks__/next-navigation.js
+++ /dev/null
@@ -1,21 +0,0 @@
-const useRouter = () => ({
- push: (href) => {},
- replace: (href) => {},
- prefetch: (href) => {},
- back: () => {},
- forward: () => {},
- refresh: () => {},
-});
-
-const usePathname = () => '';
-const useSearchParams = () => new URLSearchParams();
-const redirect = (url) => {};
-const notFound = () => {};
-
-module.exports = {
- useRouter,
- usePathname,
- useSearchParams,
- redirect,
- notFound,
-};
diff --git a/public/favicon_io/android-icon-192x192.png b/public/favicon_io/android-icon-192x192.png
new file mode 100644
index 0000000..1a9ff1d
Binary files /dev/null and b/public/favicon_io/android-icon-192x192.png differ
diff --git a/public/favicon_io/apple-icon-152x152.png b/public/favicon_io/apple-icon-152x152.png
new file mode 100644
index 0000000..b92345f
Binary files /dev/null and b/public/favicon_io/apple-icon-152x152.png differ
diff --git a/public/favicon_io/apple-icon-180x180.png b/public/favicon_io/apple-icon-180x180.png
new file mode 100644
index 0000000..69e6dab
Binary files /dev/null and b/public/favicon_io/apple-icon-180x180.png differ
diff --git a/public/favicon_io/browserconfig.xml b/public/favicon_io/browserconfig.xml
new file mode 100644
index 0000000..24b26e2
--- /dev/null
+++ b/public/favicon_io/browserconfig.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+ #ffffff
+
+
+
+
\ No newline at end of file
diff --git a/public/favicon_io/favicon-16x16.png b/public/favicon_io/favicon-16x16.png
new file mode 100644
index 0000000..a3df199
Binary files /dev/null and b/public/favicon_io/favicon-16x16.png differ
diff --git a/public/favicon_io/favicon-192x192.png b/public/favicon_io/favicon-192x192.png
new file mode 100644
index 0000000..1a9ff1d
Binary files /dev/null and b/public/favicon_io/favicon-192x192.png differ
diff --git a/public/favicon_io/favicon-32x32.png b/public/favicon_io/favicon-32x32.png
new file mode 100644
index 0000000..afd5299
Binary files /dev/null and b/public/favicon_io/favicon-32x32.png differ
diff --git a/public/favicon_io/favicon-96x96.png b/public/favicon_io/favicon-96x96.png
new file mode 100644
index 0000000..f41770f
Binary files /dev/null and b/public/favicon_io/favicon-96x96.png differ
diff --git a/public/favicon_io/manifest.json b/public/favicon_io/manifest.json
new file mode 100644
index 0000000..b65d42e
--- /dev/null
+++ b/public/favicon_io/manifest.json
@@ -0,0 +1 @@
+{"name":"My Website","short_name":"My Website","icons":[{"src":"/favicon-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-icon-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file
diff --git a/public/favicon_io/ms-icon-144x144.png b/public/favicon_io/ms-icon-144x144.png
new file mode 100644
index 0000000..2d30fd8
Binary files /dev/null and b/public/favicon_io/ms-icon-144x144.png differ
diff --git a/public/favicon_io/ms-icon-150x150.png b/public/favicon_io/ms-icon-150x150.png
new file mode 100644
index 0000000..fd249fe
Binary files /dev/null and b/public/favicon_io/ms-icon-150x150.png differ
diff --git a/public/favicon_io/ms-icon-310x310.png b/public/favicon_io/ms-icon-310x310.png
new file mode 100644
index 0000000..679140f
Binary files /dev/null and b/public/favicon_io/ms-icon-310x310.png differ
diff --git a/public/favicon_io/ms-icon-70x70.png b/public/favicon_io/ms-icon-70x70.png
new file mode 100644
index 0000000..2d30fd8
Binary files /dev/null and b/public/favicon_io/ms-icon-70x70.png differ
diff --git a/src/app/[locale]/[slug]/page.tsx b/src/app/[locale]/[slug]/page.tsx
index 2445e4d..39be8a2 100644
--- a/src/app/[locale]/[slug]/page.tsx
+++ b/src/app/[locale]/[slug]/page.tsx
@@ -139,6 +139,7 @@ export default async function BlogPost({ params }: { params: Promise<{ slug: str
sizes="(max-width: 1024px) 100vw, 75vw"
className="object-cover"
priority
+ unoptimized={true}
/>
)}
diff --git a/src/app/[locale]/tamago-privacy/page.tsx b/src/app/[locale]/tamago-privacy/page.tsx
new file mode 100644
index 0000000..c311714
--- /dev/null
+++ b/src/app/[locale]/tamago-privacy/page.tsx
@@ -0,0 +1,20 @@
+export default async function TamagoPrivacyPage() {
+ return (
+
+
+ Effective Date: March 19, 2026
+
+ 1. Data Collection "Tamago-bot" respects your privacy. We do not collect, transmit, distribute, or sell your personal data or personally identifiable information (PII).
+
+ 2. Data Usage The extension uses the chrome.storage.local API exclusively to save the state of your virtual pixel-art pet locally on your device. This saved data includes the pet's current life stage, hunger, mood, energy, and cleanliness stats. This data is required solely to keep the virtual pet persisting across your browser sessions.
+
+ 3. Third-Party Sharing No data is ever sent to external servers, cloud services, or third parties. Your data never leaves your personal device.
+
+ 4. Data Retention and Deletion The saved data remains on your local browser. If you wish to delete your data, you can simply uninstall the Tamago-bot extension from your Chrome browser, which will permanently clear all associated local storage data.
+
+ 5. Contact If you have any questions or concerns regarding this Privacy Policy, please contact the developer at: [EMAIL_ADDRESS].
+
+
+ );
+}
+
diff --git a/src/app/favicon.ico b/src/app/favicon.ico
index 718d6fe..90c8ea3 100644
Binary files a/src/app/favicon.ico and b/src/app/favicon.ico differ
diff --git a/src/entities/post/ui/PostCard.tsx b/src/entities/post/ui/PostCard.tsx
index 1ad5fc0..7187131 100644
--- a/src/entities/post/ui/PostCard.tsx
+++ b/src/entities/post/ui/PostCard.tsx
@@ -24,6 +24,7 @@ export function PostCard({ post }: { post: BlogPost }) {
fill
sizes="(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw"
className="object-cover transition-transform duration-500 group-hover:scale-105"
+ unoptimized={true}
/>
) : (