diff --git a/src/renderer-profile.ts b/src/renderer-profile.ts
index 92152e1..469a780 100644
--- a/src/renderer-profile.ts
+++ b/src/renderer-profile.ts
@@ -56,14 +56,14 @@ function renderStreamerProfileSkeleton(login: string): void {
el.classList.add('streamer-profile-skeleton');
el.style.display = 'flex';
applyProfileHtml(el, `
-
+
-
-
+
+
diff --git a/src/styles.css b/src/styles.css
index 782306f..786f816 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -4214,6 +4214,37 @@ input[type="number"]::-webkit-outer-spin-button {
border-radius: 4px;
}
+/* Pre-shaped skeleton block variants — each matches one of the
+ real-profile-card slots so the loading silhouette previews the
+ final layout. Replaces inline width/height/border-radius declarations. */
+.streamer-profile-skel-block.avatar {
+ width: 88px;
+ height: 88px;
+ border-radius: 50%;
+ flex-shrink: 0;
+}
+
+.streamer-profile-skel-block.name {
+ width: 180px;
+ height: 24px;
+}
+
+.streamer-profile-skel-block.badge {
+ width: 90px;
+ height: 18px;
+ border-radius: 10px;
+}
+
+.streamer-profile-skel-block.subtitle {
+ width: 60%;
+ height: 14px;
+ margin-top: 6px;
+}
+
+.streamer-profile-skel-stats {
+ margin-top: 8px;
+}
+
@keyframes profile-skel-shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }