diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -80,8 +80,8 @@
     'rsrc/css/application/people/people-profile.css' => 'ba7b2762',
     'rsrc/css/application/phame/phame.css' => '19ecc703',
     'rsrc/css/application/pholio/pholio-edit.css' => 'b9e59b6d',
-    'rsrc/css/application/pholio/pholio-inline-comments.css' => '28a2e394',
-    'rsrc/css/application/pholio/pholio.css' => 'cabb65b3',
+    'rsrc/css/application/pholio/pholio-inline-comments.css' => '3d14984a',
+    'rsrc/css/application/pholio/pholio.css' => '4d4fe3d2',
     'rsrc/css/application/phortune/phortune-credit-card-form.css' => 'b25b4beb',
     'rsrc/css/application/phrequent/phrequent.css' => 'ffc185ad',
     'rsrc/css/application/phriction/phriction-document-css.css' => '7d7f0071',
@@ -389,7 +389,7 @@
     'rsrc/js/application/passphrase/phame-credential-control.js' => '1e1c8a59',
     'rsrc/js/application/phame/phame-post-preview.js' => '61d927ec',
     'rsrc/js/application/pholio/behavior-pholio-mock-edit.js' => '1e1e8bb0',
-    'rsrc/js/application/pholio/behavior-pholio-mock-view.js' => '0c8a037a',
+    'rsrc/js/application/pholio/behavior-pholio-mock-view.js' => '0938137d',
     'rsrc/js/application/phortune/behavior-balanced-payment-form.js' => '3b3e1664',
     'rsrc/js/application/phortune/behavior-stripe-payment-form.js' => '1693a296',
     'rsrc/js/application/phortune/behavior-test-payment-form.js' => 'b3e5ee60',
@@ -613,7 +613,7 @@
     'javelin-behavior-phabricator-watch-anchor' => '06e05112',
     'javelin-behavior-phame-post-preview' => '61d927ec',
     'javelin-behavior-pholio-mock-edit' => '1e1e8bb0',
-    'javelin-behavior-pholio-mock-view' => '0c8a037a',
+    'javelin-behavior-pholio-mock-view' => '0938137d',
     'javelin-behavior-phui-object-box-tabs' => 'a3e2244e',
     'javelin-behavior-phui-timeline-dropdown-menu' => '4d94d9c3',
     'javelin-behavior-policy-control' => 'f3fef818',
@@ -739,9 +739,9 @@
     'phabricator-uiexample-reactor-sendproperties' => '551add57',
     'phabricator-zindex-css' => 'efb673ac',
     'phame-css' => '19ecc703',
-    'pholio-css' => 'cabb65b3',
+    'pholio-css' => '4d4fe3d2',
     'pholio-edit-css' => 'b9e59b6d',
-    'pholio-inline-comments-css' => '28a2e394',
+    'pholio-inline-comments-css' => '3d14984a',
     'phortune-credit-card-form' => '2290aeef',
     'phortune-credit-card-form-css' => 'b25b4beb',
     'phrequent-css' => 'ffc185ad',
@@ -862,6 +862,21 @@
     array(
       0 => 'javelin-install',
     ),
+    '0938137d' =>
+    array(
+      0 => 'javelin-behavior',
+      1 => 'javelin-util',
+      2 => 'javelin-stratcom',
+      3 => 'javelin-dom',
+      4 => 'javelin-vector',
+      5 => 'javelin-magical-init',
+      6 => 'javelin-request',
+      7 => 'javelin-history',
+      8 => 'javelin-workflow',
+      9 => 'javelin-mask',
+      10 => 'javelin-behavior-device',
+      11 => 'phabricator-keyboard-shortcut',
+    ),
     '09b15cf1' =>
     array(
       0 => 'javelin-stratcom',
@@ -896,21 +911,6 @@
       3 => 'javelin-util',
       4 => 'phabricator-notification-css',
     ),
-    '0c8a037a' =>
-    array(
-      0 => 'javelin-behavior',
-      1 => 'javelin-util',
-      2 => 'javelin-stratcom',
-      3 => 'javelin-dom',
-      4 => 'javelin-vector',
-      5 => 'javelin-magical-init',
-      6 => 'javelin-request',
-      7 => 'javelin-history',
-      8 => 'javelin-workflow',
-      9 => 'javelin-mask',
-      10 => 'javelin-behavior-device',
-      11 => 'phabricator-keyboard-shortcut',
-    ),
     '0e34ca02' =>
     array(
       0 => 'javelin-behavior',
diff --git a/src/applications/pholio/view/PholioMockImagesView.php b/src/applications/pholio/view/PholioMockImagesView.php
--- a/src/applications/pholio/view/PholioMockImagesView.php
+++ b/src/applications/pholio/view/PholioMockImagesView.php
@@ -120,6 +120,14 @@
       ),
       '');
 
+    $image_header = javelin_tag(
+      'div',
+      array(
+        'id' => 'mock-image-header',
+        'class' => 'pholio-mock-image-header',
+      ),
+      '');
+
     $mock_wrapper = javelin_tag(
       'div',
       array(
@@ -127,7 +135,10 @@
         'sigil' => 'mock-panel touchable',
         'class' => 'pholio-mock-image-panel',
       ),
-      $mock_wrapper);
+      array(
+        $image_header,
+        $mock_wrapper,
+      ));
 
     $inline_comments_holder = javelin_tag(
       'div',
@@ -182,11 +193,11 @@
 
     $mockview[] = phutil_tag(
       'div',
-        array(
-          'class' => 'pholio-mock-image-container',
-          'id' => 'pholio-mock-image-container'
-        ),
-      array($mock_wrapper, $carousel_holder, $inline_comments_holder));
+      array(
+        'class' => 'pholio-mock-image-container',
+        'id' => 'pholio-mock-image-container'
+      ),
+      array($mock_wrapper, $inline_comments_holder, $carousel_holder));
 
     return $mockview;
   }
diff --git a/webroot/rsrc/css/application/pholio/pholio-inline-comments.css b/webroot/rsrc/css/application/pholio/pholio-inline-comments.css
--- a/webroot/rsrc/css/application/pholio/pholio-inline-comments.css
+++ b/webroot/rsrc/css/application/pholio/pholio-inline-comments.css
@@ -21,15 +21,6 @@
   margin-bottom: 4px;
 }
 
-.device-desktop .pholio-mock-inline-comments {
-  border-left: 1px solid #101010;
-  position: absolute;
-  width: 300px;
-  top: 0;
-  bottom: 0;
-  right: 0;
-}
-
 .pholio-inline-comment-dialog-title {
   font-weight: bold;
   color: #fff;
diff --git a/webroot/rsrc/css/application/pholio/pholio.css b/webroot/rsrc/css/application/pholio/pholio.css
--- a/webroot/rsrc/css/application/pholio/pholio.css
+++ b/webroot/rsrc/css/application/pholio/pholio.css
@@ -7,17 +7,12 @@
   text-align: center;
   vertical-align: middle;
   position: relative;
-  background: url('/rsrc/image/checker_light.png');
+  background: url('/rsrc/image/texture/pholio-background.gif');
 }
 
 .pholio-mock-carousel {
   background-color: #282828;
   text-align: center;
-  border-top: 1px solid #101010;
-}
-
-.device-desktop .pholio-mock-carousel {
-  margin-right: 300px;
 }
 
 .pholio-mock-carousel-thumb-item {
@@ -69,15 +64,10 @@
 }
 
 .pholio-mock-image-panel {
-  padding: 12px;
+  padding: 0;
   border-top: 1px solid #333;
 }
 
-.device-desktop .pholio-mock-image-panel {
-  border-right: 1px solid #333;
-  margin-right: 299px;
-}
-
 .pholio-mock-image-viewport {
   position: relative;
   margin: auto;
@@ -99,7 +89,7 @@
 }
 
 .pholio-visible-size {
-  color: #ffffff;
+  color: #fff;
 }
 
 .pholio-image-description {
@@ -168,7 +158,14 @@
   cursor: pointer;
 }
 
-
 .device-desktop .mock-has-cursor .pholio-mock-reticle {
   display: block;
 }
+
+.pholio-mock-image-header {
+  position: absolute;
+  top: 4px;
+  right: 8px;
+  font-size: 14px;
+  color: {$lightgreytext};
+}
diff --git a/webroot/rsrc/js/application/pholio/behavior-pholio-mock-view.js b/webroot/rsrc/js/application/pholio/behavior-pholio-mock-view.js
--- a/webroot/rsrc/js/application/pholio/behavior-pholio-mock-view.js
+++ b/webroot/rsrc/js/application/pholio/behavior-pholio-mock-view.js
@@ -155,8 +155,9 @@
     // If the image is too wide or tall for the viewport, scale it down so it
     // fits.
     var w = JX.Vector.getDim(panel);
-    w.x -= 24;
-    w.y -= 24;
+    w.x -= 48;
+    w.y -= 48;
+
     var scale = 1;
     if (w.x < tag.naturalWidth) {
       scale = Math.min(scale, w.x / tag.naturalWidth);
@@ -387,6 +388,38 @@
     redraw_selection();
   }
 
+  function render_image_header(image) {
+    // Render image dimensions and visible size. If we have this infomation
+    // from the server we can display some of it immediately; otherwise, we need
+    // to wait for the image to load so we can read dimension information from
+    // it.
+
+    var image_x = image.width;
+    var image_y = image.height;
+    var display_x = null;
+    if (image.tag) {
+      image_x = image.tag.naturalWidth;
+      image_y = image.tag.naturalHeight;
+      display_x = image.tag.width;
+    }
+
+    var visible = [];
+    if (image_x) {
+      if (display_x) {
+        var area = Math.round(100 * (display_x / image_x));
+        visible.push(
+          JX.$N(
+            'span',
+            {className: 'pholio-visible-size'},
+            [area, '%']));
+        visible.push(' ');
+      }
+      visible.push(['(', image_x, ' \u00d7 ', image_y, ')']);
+    }
+
+    return visible;
+  }
+
   function redraw_inlines(id) {
     if (!active_image) {
       return;
@@ -400,6 +433,9 @@
     var comment_holder = JX.$('mock-inline-comments');
     JX.DOM.setContent(comment_holder, render_image_info(active_image));
 
+    var image_header = JX.$('mock-image-header');
+    JX.DOM.setContent(image_header, render_image_header(active_image));
+
     var inlines = inline_comments[active_image.id];
     if (!inlines || !inlines.length) {
       return;
@@ -552,43 +588,11 @@
       var embed = JX.$N(
         'div',
         {className: 'pholio-image-embedding'},
-        JX.$H('Embed this image:<br />{M' + config.mockID +
+        JX.$H('Embed this image: {M' + config.mockID +
         ', image=' + image.id + '}'));
       info.push(embed);
     }
 
-    // Render image dimensions and visible size. If we have this infomation
-    // from the server we can display some of it immediately; otherwise, we need
-    // to wait for the image to load so we can read dimension information from
-    // it.
-
-    var image_x = image.width;
-    var image_y = image.height;
-    var display_x = null;
-    if (image.tag) {
-      image_x = image.tag.naturalWidth;
-      image_y = image.tag.naturalHeight;
-      display_x = image.tag.width;
-    }
-
-    var visible = [];
-    if (image_x) {
-      visible.push([image_x, '\u00d7', image_y, 'px']);
-      if (display_x) {
-        var area = Math.round(100 * (display_x / image_x));
-        visible.push(' ');
-        visible.push(
-          JX.$N(
-            'span',
-            {className: 'pholio-visible-size'},
-            ['(', area, '%', ')']));
-      }
-    }
-
-    if (visible.length) {
-      info.push(visible);
-    }
-
     var full_link = JX.$N(
       'a',
       {href: image.fullURI, target: '_blank'},