diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
index f43ab1cf6257ff1a9c9aa522a0180fd9bbfe4036..75d6f7e08f70a1a26e24c4e2005af9225f193e68 100644
--- a/browser/components/tabbrowser/content/tab.js
+++ b/browser/components/tabbrowser/content/tab.js
@@ -21,6 +21,7 @@
           <hbox class="tab-group-line"/>
         </vbox>
         <hbox class="tab-content" align="center">
+          <box class="tab-reset-pin-button" role="button" data-l10n-id="tabbrowser-reset-pin-button" data-l10n-args='{"tabCount": 1}' keyNav="false"><image/></box>
           <stack class="tab-icon-stack">
             <hbox class="tab-throbber"/>
             <hbox class="tab-icon-pending"/>
@@ -37,8 +38,10 @@
             <hbox class="tab-secondary-label">
               <label class="tab-icon-sound-label tab-icon-sound-pip-label" data-l10n-id="browser-tab-audio-pip" role="presentation"/>
             </hbox>
+            <label class="tab-reset-pin-label" data-l10n-id="tab-reset-pin-label" role="presentation"/>
           </vbox>
           <image class="tab-close-button close-icon" role="button" data-l10n-id="tabbrowser-close-tabs-button" data-l10n-args='{"tabCount": 1}' keyNav="false"/>
+          <image class="tab-reset-button reset-icon" role="button" data-l10n-id="tabbrowser-unload-tab-button" data-l10n-args='{"tabCount": 1}' keyNav="false"/>
         </hbox>
       </stack>
       `;
@@ -180,7 +183,7 @@
     }
 
     set _visuallySelected(val) {
-      if (val == this.hasAttribute("visuallyselected")) {
+      if (val == this.hasAttribute("visuallyselected") || (!val && this.linkedBrowser?.closest('.browserSidebarContainer').classList.contains('zen-glance-background'))) {
         return;
       }
 
@@ -216,7 +219,7 @@
     }
 
     get visible() {
-      return this.isOpen && !this.hidden && !this.group?.collapsed;
+      return this.isOpen && !this.hidden && !this.group?.collapsed && !this.hasAttribute("zen-empty-tab");
     }
 
     get hidden() {
@@ -287,7 +290,7 @@
         return false;
       }
 
-      return true;
+      return !this.hasAttribute("zen-empty-tab");
     }
 
     get lastAccessed() {
@@ -364,8 +367,8 @@
     }
 
     get group() {
-      if (this.parentElement?.tagName == "tab-group") {
-        return this.parentElement;
+      if (gBrowser.isTabGroup(this.parentElement?.parentElement)) {
+        return this.parentElement.parentElement;
       }
       return null;
     }
@@ -459,6 +462,8 @@
         this.style.MozUserFocus = "ignore";
       } else if (
         event.target.classList.contains("tab-close-button") ||
+        event.target.classList.contains("tab-reset-button") ||
+        event.target.classList.contains("tab-reset-pin-button") ||
         event.target.classList.contains("tab-icon-overlay") ||
         event.target.classList.contains("tab-audio-button")
       ) {
@@ -513,6 +518,10 @@
       this.style.MozUserFocus = "";
     }
 
+    get glanceTab() {
+      return this.querySelector("tab[zen-glance-tab]");
+    }
+
     on_click(event) {
       if (event.button != 0) {
         return;
@@ -559,6 +568,7 @@
             telemetrySource: lazy.TabMetrics.METRIC_SOURCE.TAB_STRIP,
           });
         } else {
+          gZenPinnedTabManager._removePinnedAttributes(this, true);
           gBrowser.removeTab(this, {
             animate: true,
             triggeringEvent: event,
@@ -569,6 +579,14 @@
         // (see tabbrowser-tabs 'click' handler).
         gBrowser.tabContainer._blockDblClick = true;
       }
+
+      if (event.target.classList.contains("tab-reset-pin-button")) {
+        gZenPinnedTabManager._onTabResetPinButton(event, this, 'reset');
+        gBrowser.tabContainer._blockDblClick = true;
+      } else if (event.target.classList.contains("tab-reset-button")) {
+        gZenPinnedTabManager._onCloseTabShortcut(event, this);
+        gBrowser.tabContainer._blockDblClick = true;
+      }
     }
 
     on_dblclick(event) {
@@ -592,6 +610,8 @@
           animate: true,
           triggeringEvent: event,
         });
+      } else if (this.hasAttribute('zen-essential') && !event.target.classList.contains("tab-icon-overlay")) {
+        gZenPinnedTabManager._onTabResetPinButton(event, this, 'reset');
       }
     }
 
