diff --git a/app/styles/game-menu/inventory-modal.sass b/app/styles/game-menu/inventory-modal.sass
index cebd3e09e..be8bd00cd 100644
--- a/app/styles/game-menu/inventory-modal.sass
+++ b/app/styles/game-menu/inventory-modal.sass
@@ -301,15 +301,19 @@ $itemSlotGridHeight: 70px
     
   //- Available equipment
    
+  &.Warrior #unequipped img.item:not(.Warrior), &.Ranger #unequipped img.item:not(.Ranger), &.Wizard #unequipped img.item:not(.Wizard)
+    // Our code hides and shows (modifies display), but we can be invisible this other way.
+    visibility: hidden
+    position: absolute
+
   #unequipped
     width: 222px
     position: absolute
     left: 370px
     top: 112px
     height: 450px
-    overflow-y: scroll
     border: 3px solid black
-    padding: 9px
+    padding: 9px 0 9px 9px
     background-color: white
 
     #double-click-hint
@@ -330,6 +334,7 @@ $itemSlotGridHeight: 70px
       padding: 1px
       width: 60px
       height: 60px
+      cursor: pointer
 
       &.active
         background-color: rgb(81,153,236)
@@ -350,6 +355,7 @@ $itemSlotGridHeight: 70px
       &.equipped
         background-color: #ff5
         display: none
+        cursor: default
     
         //.item-view
         //  cursor: default
@@ -359,6 +365,7 @@ $itemSlotGridHeight: 70px
     
       &.restricted
         background-color: rgba(255, 80, 67, 0.25)
+        cursor: default
     
         //.item-view
         //  cursor: default
@@ -366,10 +373,13 @@ $itemSlotGridHeight: 70px
         //.status-message .restricted-message
         //  display: inline
     
-      //&.locked
+      &.locked
+        cursor: default
         //background-color: gray
         
       &.silhouette
+        cursor: default
+        pointer-events: none
         @include filter(contrast(25%) brightness(25%))
         opacity: 0.5
       
@@ -397,122 +407,22 @@ $itemSlotGridHeight: 70px
     right: 414px
 
       
-  //- Item details. Mostly the same as the item store view, but figured we'd probably
-  // be futzing with details so just copied it. TODO: refactor?
+  //- Item details. Non-specific item-details-view styling is in item-details-view.sass.
 
-  #item-title
-    position: absolute
-    width: 228px
-    height: 50px
-    left: 698px
-    top: 56px
-    z-index: 2
+  #item-details-view
 
-    h2
-      font-size: 20px
-      margin: 12px 20px
-      text-align: center
-      color: rgb(53,40,25)
-
-  #item-details-body
-    position: absolute
-    left: 650px
-    top: 126px
-    width: 330px
-    height: 453px
-    //background: rgba(100,100,100,0.5)
-    overflow: scroll
-
-    #item-container
-      height: 163px
-      width: 100%
-
-    .item-img, .item-shadow
-      width: 130px
-      height: 130px
-
-    .item-img
-      top: 15px
-
-    .item-shadow
-      top: 25px
-
-    img.hr
-      width: 80%
-      margin: 0 10% -3px
-
-      &.faded
-        opacity: 0.4
-
-    .stat-row
-      height: 24px
-      position: relative
-      font-size: 20px
-      font-weight: bold
-
-      .stat-label
-        position: absolute
-        left: 54px
-        color: rgb(93,73,52)
-
-      .stat
-        position: absolute
-        left: 150px
-        color: rgb(42,38,28)
-
-    #skills
-      margin: 25px
-
-      h3
-        color: rgb(41,35,25)
-
-      strong
-        color: rgb(50,50,30)
-
-  #selected-item-unlock-button
-    left: 646px
-    top: 594px
-    width: 337px
-    height: 41px
-    font-size: 16px
-
-    img
-      height: 16px
-
-  //- Item icons w/shadows (both in list and details areas)
-
-  .item-img, .item-shadow, .item-silhouette
-    position: absolute
-    margin-left: auto
-    margin-right: auto
-    left: 0
-    right: 0
-    bottom: 0
-
-  .item-img
-    z-index: 1
-
-  .item-shadow
-    left: 5px
-    @include filter(contrast(0%) brightness(0%))
-    opacity: 0.2
-
-  .item-silhouette
-    @include filter(contrast(0%) brightness(0%))
-    opacity: 0.3
+    #item-title
+      left: 698px
+      top: 56px
   
-  .unlock-button
-    position: absolute
-    border: 3px solid rgb(7,65,83)
-    background: rgb(0,119,168)
-    color: white
-    font-size: 16px
-    border-radius: 0
+    #item-details-body
+      left: 650px
+  
+    #selected-item-unlock-button
+      left: 646px
 
-    &:disabled
-      background: rgb(72, 106, 113)
-      opacity: 1
-      color: rgba(255,255,255, 0.4)
+
+  //- Equip/unequip/extra
 
   #item-details-extra
     position: absolute
diff --git a/app/styles/play/modal/play-items-modal.sass b/app/styles/play/modal/play-items-modal.sass
index 7692670c3..19e5dd548 100644
--- a/app/styles/play/modal/play-items-modal.sass
+++ b/app/styles/play/modal/play-items-modal.sass
@@ -123,8 +123,8 @@
   .tab-pane
     height: 100%
     
-  .nano-content
-    padding: 26px 51px 26px 26px
+    .nano-content
+      padding: 26px 51px 26px 26px
 
 
   //- Item box
@@ -222,6 +222,23 @@
       background: url(/images/pages/play/modal/item-box-background-selected.png)
 
     
+  //- Item details. Non-specific item-details-view styling is in item-details-view.sass.
+
+  #item-details-view
+  
+    #item-title
+      left: 910px
+      top: 60px
+      
+    #item-details-body
+      left: 860px
+  
+    #selected-item-unlock-button
+      left: 856px
+
+
+#play-items-modal, #inventory-modal
+
   //- Item list scrollbar
   
   .nano-pane
@@ -236,89 +253,6 @@
     margin-left: -3px
     margin-right: -3px
     
-  //  color: red
-    
-    
-  //- Item details
-
-  #item-title
-    position: absolute
-    width: 228px
-    height: 50px
-    left: 910px
-    top: 60px
-    z-index: 2
-    
-    h2
-      font-size: 20px
-      margin: 12px 20px
-      text-align: center
-      color: rgb(53,40,25)
-
-  #item-details-body
-    position: absolute
-    left: 860px
-    top: 126px
-    width: 330px
-    height: 449px
-    //background: rgba(100,100,100,0.5)
-
-    #item-container
-      height: 163px
-      width: 100%
-
-    .item-img, .item-shadow
-      width: 130px
-      height: 130px
-
-    .item-img
-      top: 15px
-
-    .item-shadow
-      top: 25px
-
-    img.hr
-      width: 80%
-      margin: 0 10% -3px
-      
-      &.faded
-        opacity: 0.4
-      
-    .stat-row
-      height: 24px
-      position: relative
-      font-size: 20px
-      font-weight: bold
-      
-      .stat-label
-        position: absolute
-        left: 54px
-        color: rgb(93,73,52)
-        
-      .stat
-        position: absolute
-        left: 150px
-        color: rgb(42,38,28)
-      
-    #skills
-      margin: 25px
-      
-      h3
-        color: rgb(41,35,25)
-        
-      strong
-        color: rgb(50,50,30)
-      
-  #selected-item-unlock-button
-    left: 856px
-    top: 594px
-    width: 337px
-    height: 41px
-    font-size: 16px
-    
-    img
-      height: 16px
-
 
   //- Item icons w/shadows (both in list and details areas)
 
@@ -358,6 +292,9 @@
       opacity: 1
       color: rgba(255,255,255, 0.4)
 
+
+//- Use the two-column layout and background image if we are on a narrow screen.
+
 @media only screen and (max-width: 1300px)
   #play-items-modal
     overflow-x: hidden
diff --git a/app/templates/game-menu/inventory-modal.jade b/app/templates/game-menu/inventory-modal.jade
index 80d039377..846d23173 100644
--- a/app/templates/game-menu/inventory-modal.jade
+++ b/app/templates/game-menu/inventory-modal.jade
@@ -19,26 +19,28 @@
             img.item(src=equipment[slot].getPortraitURL(), data-item-id=equipment[slot].id)
 
     #unequipped
-      if itemGroups
-        if itemGroups.availableItems.models.length
-          h4#available-description(data-i18n="inventory.available_item")
-          for item in itemGroups.availableItems.models
-            img.item(src=item.getPortraitURL(), class=item.classes, data-item-id=item.id)
-          .clearfix
-        
-        #double-click-hint.alert.alert-info.secret(data-i18n="inventory.should_equip")
-        
-        if itemGroups.restrictedItems.models.length
-          h4#restricted-description(data-i18n="inventory.restricted_title")
-          for item in itemGroups.restrictedItems.models
-            img.item(src=item.getPortraitURL(), class=item.classes, data-item-id=item.id)
-          .clearfix
-  
-        if itemGroups.lockedItems.models.length
-          h4#locked-description(data-i18n="play.locked")
-          for item in itemGroups.lockedItems.models
-            img.item(src=item.getPortraitURL(), class=item.classes, data-item-id=item.id)
-          .clearfix
+      .nano
+        .nano-content
+          if itemGroups
+            if itemGroups.availableItems.models.length
+              h4#available-description(data-i18n="inventory.available_item")
+              for item in itemGroups.availableItems.models
+                img.item(src=item.getPortraitURL(), class=item.classes, data-item-id=item.id)
+              .clearfix
+            
+            #double-click-hint.alert.alert-info.secret(data-i18n="inventory.should_equip")
+            
+            if itemGroups.restrictedItems.models.length
+              h4#restricted-description(data-i18n="inventory.restricted_title")
+              for item in itemGroups.restrictedItems.models
+                img.item(src=item.getPortraitURL(), class=item.classes, data-item-id=item.id)
+              .clearfix
+      
+            if itemGroups.lockedItems.models.length
+              h4#locked-description(data-i18n="play.locked")
+              for item in itemGroups.lockedItems.models
+                img.item(src=item.getPortraitURL(), class=item.classes, data-item-id=item.id)
+              .clearfix
 
     #item-details-view
     #item-details-extra
diff --git a/app/views/game-menu/InventoryModal.coffee b/app/views/game-menu/InventoryModal.coffee
index bb82239e3..3da689a25 100644
--- a/app/views/game-menu/InventoryModal.coffee
+++ b/app/views/game-menu/InventoryModal.coffee
@@ -122,6 +122,7 @@ module.exports = class InventoryModal extends ModalView
     @itemDetailsView = new ItemDetailsView()
     @insertSubView(@itemDetailsView)
     @requireLevelEquipment()
+    @$el.find('.nano').nanoScroller()
 
   afterInsert: ->
     super()
@@ -169,7 +170,9 @@ module.exports = class InventoryModal extends ModalView
       tolerance: 'pointer'
 
   makeEquippedSlotDraggable: (slot) ->
-    unequip = => @unequipItemFromSlot slot
+    unequip = =>
+      @unequipItemFromSlot slot
+      @requireLevelEquipment()
     shouldStayEquippedWhenDropped = (isValidDrop) ->
       pos = $(@).position()
       revert = Math.abs(pos.left) < $(@).outerWidth() and Math.abs(pos.top) < $(@).outerHeight()
@@ -381,6 +384,7 @@ module.exports = class InventoryModal extends ModalView
       $('#play-level-button').prop('disabled', @remainingRequiredEquipment.length > 0)
 
   setHero: (@selectedHero) ->
+    @$el.removeClass('Warrior Ranger Wizard').addClass(@selectedHero.get('heroClass'))
     @render()
 
   onShown: ->