/*
  SWR Unified Surface Contract (loaded last)
  Single source of truth: all major surfaces/icons/buttons/tags use card style.
*/

:root{
  --swr-unify-a1: var(--swr-glass-a1);
  --swr-unify-a2: var(--swr-glass-a2);
  --swr-discover-row-gap: 16px;
}

/* Unified card recipe */
#swr-container .swr-chat-entry,
#swr-container .swr-chat-entry-inner,
#swr-container .swr-contact-entry,
#swr-container .swr-msg-item,
#swr-container .scribe-post,
#swr-container .sf-post-card,
#swr-container .sf-cmt-item,
#swr-container .sf-dt-content,
#swr-container .sf-dt-title-card,
#swr-container .sf-dt-body-card,
#swr-container .scribe-publish-box,
#swr-container .swr-msg-bubble,
#swr-container .swr-msg-left .swr-msg-bubble,
#swr-container .swr-msg-right .swr-msg-bubble,
#swr-container .swr-card-shell,
#swr-container .swr-panel-shell,
#swr-container .swr-form-shell,
#swr-container .swr-sheet-shell,
#swr-container .swr-inline-panel,
#swr-container .swr-addon-editor,
#swr-container .swr-addon-sheet,
#swr-container .swr-addon-menu,
#swr-container .swr-pourover-hero-card,
#swr-container .swr-pourover-card,
#swr-container .swr-pourover-current-card,
#swr-container .swr-pourover-next-card,
#swr-container .swr-pourover-progress-card,
#swr-container .swr-pourover-finish-card,
#swr-container .swr-pourover-preview-card,
#swr-container .swr-pourover-list-card,
#swr-container .swr-pourover-stage-card,
#swr-container #scribe-feed-list > .scribe-post,
#swr-container #myfeed-feed-list > .scribe-post,
#swr-container #myfavs-feed-list > .scribe-post,
#swr-container #sf-post-list > .sf-post-card,
#swr-container #sf-user-list > .sf-post-card,
#swr-container #sf-user-list-container > .sf-post-card,
#swr-container #sf-cmt-list > .sf-cmt-item,
#swr-container #sf-detail-container > .sf-dt-content,
#swr-container #sf-detail-container > .sf-dt-title-card,
#swr-container #sf-detail-container > .sf-dt-body-card,
#swr-container .swr-todo-item,
#swr-container .swr-note-card,
#swr-container .swr-cd-card,
#swr-container .swr-qa-card,
#swr-container .swr-qad-q-wrap,
#swr-container .swr-qad-a-item,
#swr-container .swr-em-card,
#swr-container .swr-dream-card,
#swr-container .swr-cap-card,
#swr-container .swr-me-item,
#swr-container .swr-btn-primary,
#swr-container .swr-seg-btn,
#swr-container .swr-tag-group,
#swr-container .sf-cat-badge,
#swr-container .sf-forum-header .sf-icon-btn,
#swr-container .swr-msg-actions svg,
#swr-container .swr-circle-arrow-btn,
#swr-container .swr-bottom-nav,
#swr-container .swr-msg-header,
#swr-container .swr-top-bar,
#swr-container .swr-header,
#swr-container .swr-page-topbar,
#swr-container .swr-unified-topbar,
#swr-container .swr-me-topbar,
#swr-container .swr-feed-header,
#swr-container .sf-forum-header,
#swr-container .sf-subpage-header,
#swr-container .swr-swipeable-view > .swr-header,
#swr-container .swr-subview > .swr-header,
#swr-container .swr-addon-subview > .swr-header,
#swr-container #sf-view-detail .swr-header,
#swr-container #sf-view-user .swr-header,
#swr-container #sf-view-edit .swr-header,
#swr-container #sf-view-admin .swr-header,
#swr-container #swr-todo-view .swr-header,
#swr-container #swr-note-list-view .swr-header,
#swr-container #swr-note-edit-view .swr-header,
#swr-container #swr-countdown-list-view .swr-header,
#swr-container #swr-countdown-edit-view .swr-header,
#swr-container #swr-qa-list-view .swr-header,
#swr-container #swr-qa-detail-view .swr-header,
#swr-container #swr-qa-edit-view .swr-header,
#swr-container #swr-em-list-view .swr-header,
#swr-container #swr-em-edit-view .swr-header,
#swr-container #swr-em-detail-view .swr-header,
#swr-container #swr-dream-list-view .swr-header,
#swr-container #swr-dream-edit-view .swr-header,
#swr-container #swr-capsule-list-view .swr-header,
#swr-container #swr-capsule-edit-view .swr-header,
#swr-container #swr-food-view .swr-header,
#swr-container #swr-fortune-view .swr-header,
#swr-container .swr-app-icon,
#swr-container .swr-avatar,
#swr-container #me-avatar,
#swr-container #profile-avatar,
#swr-container .swr-chat-avatar{
  opacity: 1 !important;
  border: var(--swr-border-w, 1px) solid var(--swr-border) !important;
  /* background / backdrop-filter / box-shadow 由 inline CSS (glass-inline-css.php) 统一注入，
     此处不再设置，避免 CSS 变量规则与 PHP 硬值规则的特异性竞争 */
}

/* Keep icon/avatar glyph rendering crisp */
#swr-container .swr-app-icon,
#swr-container .swr-avatar,
#swr-container #me-avatar,
#swr-container #profile-avatar,
#swr-container .swr-chat-avatar{
  background-repeat: no-repeat !important;
  background-position: center !important;
}

#swr-container .swr-avatar,
#swr-container #me-avatar,
#swr-container #profile-avatar,
#swr-container .swr-chat-avatar,
#swr-container .sf-avatar,
#swr-container .sf-topic-avatar,
#swr-container .sf-post-avatar{
  background-size: 61% !important;
}

/* Secondary-stage roots transparent */
#swr-container .swr-swipeable-view,
#swr-container .swr-subview,
#swr-container .swr-addon-subview,
#swr-container #sf-view-detail,
#swr-container #sf-view-user,
#swr-container #sf-view-edit,
#swr-container #sf-view-admin,
#swr-container #swr-chat-view,
#swr-container #swr-profile-view,
#swr-container #swr-myfeed-view,
#swr-container #swr-about-view,
#swr-container #swr-shells-view,
#swr-container #swr-todo-view,
#swr-container #swr-note-list-view,
#swr-container #swr-note-edit-view,
#swr-container #swr-countdown-list-view,
#swr-container #swr-countdown-edit-view,
#swr-container #swr-em-list-view,
#swr-container #swr-em-edit-view,
#swr-container #swr-em-detail-view,
#swr-container #swr-dream-list-view,
#swr-container #swr-dream-edit-view,
#swr-container #swr-qa-list-view,
#swr-container #swr-qa-edit-view,
#swr-container #swr-qa-detail-view,
#swr-container #swr-capsule-list-view,
#swr-container #swr-capsule-edit-view,
#swr-container #swr-food-view,
#swr-container #swr-fortune-view,
#swr-container #sf-detail-scroll,
#swr-container #sf-user-scroll,
#swr-container #sf-list-scroll,
#swr-container #swr-chat-view #swr-messages{
  background: transparent !important;
  background-color: transparent !important;
}

/* Secondary headers should keep the same shell geometry as first-level topbars. */
#swr-container .swr-swipeable-view > .swr-header,
#swr-container .swr-subview > .swr-header,
#swr-container .swr-addon-subview > .swr-header{
  min-height: var(--swr-title-h) !important;
  padding-left: var(--swr-header-pad-x, 18px) !important;
  padding-right: var(--swr-header-pad-x, 18px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-radius: 0 0 calc(var(--swr-radius) + 2px) calc(var(--swr-radius) + 2px) !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

/* QA / emotion detail: full-width reply cards and gap-driven vertical rhythm */
#swr-container #swr-qa-detail-container,
#swr-container #swr-em-detail-container{
  display: flex !important;
  flex-direction: column !important;
  gap: var(--swr-gap) !important;
}

#swr-container #swr-qa-detail-container > .swr-qad-q-wrap,
#swr-container #swr-em-detail-container > .swr-qad-q-wrap{
  margin: 0 !important;
}

#swr-container #swr-qa-detail-container > .swr-qad-a-wrap,
#swr-container #swr-em-detail-container > .swr-qad-a-wrap{
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: var(--swr-gap) !important;
}

#swr-container #swr-qa-detail-container > .swr-qad-a-wrap > .swr-qad-a-item,
#swr-container #swr-em-detail-container > .swr-qad-a-wrap > .swr-qad-a-item{
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* About / notice detail pages should use real secondary-page cards. */
#swr-container #swr-about-view .swr-scroll-area,
#swr-container #swr-notice-view .swr-scroll-area{
  padding-left: var(--swr-page-pad-x, 18px) !important;
  padding-right: var(--swr-page-pad-x, 18px) !important;
  box-sizing: border-box !important;
}

#swr-container #swr-about-view .swr-info-card,
#swr-container #swr-notice-view .swr-info-card{
  padding: 18px !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
}

#swr-container #swr-about-view #swr-about-text,
#swr-container #swr-notice-view #swr-notice-text{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#swr-container #swr-about-view #swr-about-edit-input,
#swr-container #swr-notice-view #swr-notice-edit-input{
  margin: 0 !important;
}

/* Discover: top widget board + two section plates */
#swr-container #discover-widget-board,
#swr-container #discover-ai-grid,
#swr-container #discover-addon-grid{
  position: relative;
  z-index: 0;
  border-radius: calc(var(--swr-radius) + 2px) !important;
  background: linear-gradient(135deg, rgba(255,255,255,calc(var(--swr-glass-a1) + .08)), rgba(255,255,255,calc(var(--swr-glass-a2) + .05))) !important;
  border: 1px solid var(--swr-border) !important;
  box-shadow: var(--swr-shadow-soft) !important;
  backdrop-filter: blur(var(--swr-blur)) saturate(var(--swr-sat)) !important;
  -webkit-backdrop-filter: blur(var(--swr-blur)) saturate(var(--swr-sat)) !important;
}

#swr-container #discover-widget-board{
  min-height: calc((48px + 5px + 28px) * 2 + var(--swr-discover-row-gap));
  margin: 0 0 var(--swr-gap) 0 !important;
}
#swr-container #discover-widget-board:empty{
  display: none !important;
}

#swr-container #discover-ai-grid,
#swr-container #discover-addon-grid{
  padding: var(--swr-gap) 14px !important;
  margin: 0 !important;
}

/* yellow arrow gap: section-to-section spacing == card vertical gap */
#swr-container #discover-ai-grid{
  margin-bottom: var(--swr-gap) !important;
}
#swr-container #discover-addon-grid{
  margin-top: 0 !important;
}

/* green arrow: make top/bottom whitespace symmetric inside first section */
#swr-container #discover-ai-grid.swr-app-grid,
#swr-container #discover-addon-grid.swr-app-grid{
  row-gap: var(--swr-discover-row-gap) !important;
  column-gap: 10px !important;
  align-content: start !important;
}

#swr-container #discover-ai-grid .swr-app-item,
#swr-container #discover-addon-grid .swr-app-item{
  position: relative;
  z-index: 1;
}

#swr-container #discover-addon-grid,
#swr-container #discover-addon-grid .swr-app-item,
#swr-container #discover-addon-grid .swr-app-icon,
#swr-container #discover-addon-grid .swr-app-name{
  pointer-events: auto !important;
  touch-action: manipulation;
}

#swr-container #tab-discover .swr-app-icon{
  margin-bottom: 5px !important;
}

/* Message list public room compactness */
#swr-container #msg-chats .swr-chat-entry-inner{
  padding: 10px 16px !important;
}
#swr-container #msg-chats .swr-chat-entry-inner .swr-avatar{
  width: 35px !important;
  height: 35px !important;
  margin-right: 10px !important;
}
#swr-container #msg-chats .swr-chat-entry-inner .swr-list-name{
  margin-bottom: 0 !important;
  align-items: center !important;
}
#swr-container #msg-chats .swr-chat-entry-inner .swr-tag-group{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 20px !important;
}
#swr-container #msg-chats .swr-chat-entry--public .swr-list-content{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
#swr-container #msg-chats .swr-chat-entry--public .swr-list-desc{
  display: none !important;
}

/* Border width from backend single numeric setting */
#swr-container .swr-chat-entry,
#swr-container .swr-chat-entry-inner,
#swr-container .swr-contact-entry,
#swr-container .swr-msg-item,
#swr-container .scribe-post,
#swr-container .sf-post-card,
#swr-container .sf-cmt-item,
#swr-container .sf-dt-content,
#swr-container .sf-dt-title-card,
#swr-container .sf-dt-body-card,
#swr-container .scribe-publish-box,
#swr-container .swr-msg-bubble,
#swr-container .swr-me-item,
#swr-container .swr-btn-primary,
#swr-container .swr-seg-btn,
#swr-container .swr-tag-group,
#swr-container .sf-cat-badge,
#swr-container .sf-forum-header .sf-icon-btn,
#swr-container .swr-bottom-nav,
#swr-container .swr-msg-header,
#swr-container .swr-top-bar,
#swr-container .swr-header,
#swr-container .swr-page-topbar,
#swr-container .swr-unified-topbar,
#swr-container .swr-me-topbar,
#swr-container .swr-feed-header,
#swr-container .sf-forum-header,
#swr-container .sf-subpage-header,
#swr-container #discover-widget-board,
#swr-container #discover-ai-grid,
#swr-container #discover-addon-grid,
#swr-container .swr-app-icon,
#swr-container .swr-avatar,
#swr-container #me-avatar,
#swr-container #profile-avatar,
#swr-container .swr-chat-avatar{
  border-width: var(--swr-border-w, 1px) !important;
  border-style: solid !important;
}

/* Avatars must be circular */
#swr-container .swr-avatar,
#swr-container #me-avatar,
#swr-container #profile-avatar,
#swr-container .swr-chat-avatar{
  border-radius: 50% !important;
}

/* right-side tag group alignment in message list */
#swr-container #msg-chats .swr-list-right{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}

/* --- Message list final tuning (v34.8.9) --- */
#swr-container #msg-chats .swr-chat-entry-inner,
#swr-container #msg-contacts .swr-chat-entry-inner{
  min-height: 0 !important;
  padding: 8px 14px !important;
}

#swr-container #msg-chats .swr-chat-entry-inner .swr-avatar,
#swr-container #msg-contacts .swr-chat-entry-inner .swr-avatar{
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  flex-shrink: 0 !important;
  margin-right: 10px !important;
}

#swr-container #msg-chats .swr-chat-entry-inner .swr-list-content,
#swr-container #msg-contacts .swr-chat-entry-inner .swr-list-content{
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0 !important;
}

#swr-container #msg-chats .swr-chat-entry-inner .swr-list-name,
#swr-container #msg-contacts .swr-chat-entry-inner .swr-list-name{
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

#swr-container #msg-chats .swr-chat-entry-inner .swr-list-name > span:first-child,
#swr-container #msg-contacts .swr-chat-entry-inner .swr-list-name > span:first-child{
  font-size: calc(var(--swr-tab-size, 15px) + 1px) !important;
  color: var(--swr-text) !important;
}

#swr-container #msg-chats .swr-chat-entry-inner .swr-tag-group,
#swr-container #msg-contacts .swr-chat-entry-inner .swr-tag-group{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 18px !important;
}

#swr-container #msg-chats .swr-list-desc,
#swr-container #msg-contacts .swr-list-desc{
  display: none !important;
}

/* Icons and avatar glyphs should follow main text color */
#swr-container .swr-list-trailing svg,
#swr-container .swr-nav-item svg,
#swr-container .sf-icon-btn svg,
#swr-container .swr-msg-actions svg,
#swr-container .swr-header .swr-icon-btn svg,
#swr-container .sf-subpage-header .swr-icon-btn svg,
#swr-container .swr-pourover-stage-flow svg,
#swr-container .sf-custom-select-trigger svg{
  stroke: var(--swr-text) !important;
  color: var(--swr-text) !important;
}

#swr-container .swr-header .swr-menu-btn-lite,
#swr-container .sf-subpage-header .swr-icon-btn,
#swr-container .sf-forum-header .sf-icon-btn,
#swr-container .swr-me-item-arrow{
  color: var(--swr-text) !important;
}

/* Dark action buttons should keep their own text/icon color contract. */
#swr-container .swr-btn-primary,
#swr-container .swr-bottom-black-btn,
#swr-container .swr-pill-action,
#swr-container .swr-solid-action,
#swr-container #swr-my-models-add-btn,
#swr-container #swr-my-model-save-btn{
  color: var(--swr-dark-btn-text, #fff) !important;
  -webkit-text-fill-color: var(--swr-dark-btn-text, #fff) !important;
}

#swr-container .swr-circle-arrow-btn,
#swr-container .swr-circle-arrow-btn svg{
  color: var(--swr-dark-btn-text, #fff) !important;
  stroke: var(--swr-dark-btn-text, #fff) !important;
}

/* Message topbar icon buttons: remove tap/focus halo and keep forum-consistent chrome. */
#swr-container .swr-msg-actions .sf-icon-btn,
#swr-container .swr-msg-actions .sf-icon-btn:focus,
#swr-container .swr-msg-actions .sf-icon-btn:focus-visible,
#swr-container .swr-msg-actions .sf-icon-btn:active{
  outline: none !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.08) !important;
  -webkit-tap-highlight-color: transparent !important;
}

#swr-container .swr-msg-actions .sf-icon-btn{
  overflow: hidden !important;
  background-clip: padding-box !important;
}

#swr-container .swr-msg-actions .sf-icon-btn svg,
#swr-container .swr-msg-actions .sf-icon-btn svg:focus,
#swr-container .swr-msg-actions .sf-icon-btn svg:focus-visible{
  outline: none !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Message-side drawers should share the same shell language as the forum sidebar. */
#swr-container #swr-sidebar-overlay{
  background: rgba(0,0,0,0.24) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

#swr-container .swr-right-drawer{
  top: 12px !important;
  right: 12px !important;
  width: min(75vw, 300px) !important;
  max-width: 300px !important;
  height: calc(100% - 24px) !important;
  background: var(--swr-forum-sidebar-bg, linear-gradient(135deg, rgba(255,255,255,var(--swr-glass-a1,.40)), rgba(255,255,255,var(--swr-glass-a2,.173)))) !important;
  border: var(--swr-border-w, 1px) solid var(--swr-border, rgba(255,255,255,.30)) !important;
  backdrop-filter: var(--swr-forum-sidebar-backdrop, blur(var(--swr-blur)) saturate(var(--swr-sat))) !important;
  -webkit-backdrop-filter: var(--swr-forum-sidebar-backdrop, blur(var(--swr-blur)) saturate(var(--swr-sat))) !important;
  box-shadow: var(--swr-shadow-soft, 0 18px 56px rgba(0,0,0,.14)), inset 0 1px 0 rgba(255,255,255,.38) !important;
  border-radius: var(--swr-menu-radius, 20px) !important;
  overflow: hidden !important;
  transform: translateX(calc(100% + 18px)) !important;
}

#swr-container .swr-right-drawer.swr-open{
  transform: translateX(0) !important;
}

#swr-container .swr-drawer-header{
  padding: 40px 15px 14px !important;
  border-bottom: none !important;
  color: var(--swr-text) !important;
  font-size: 20px !important;
}

#swr-container .swr-drawer-header > span:first-child{
  font-size: 20px !important;
  color: var(--swr-text) !important;
}

#swr-container .swr-close-drawer{
  color: var(--swr-text) !important;
}

#swr-container .swr-drawer-body{
  padding: 8px 10px 12px !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow-y: auto !important;
}

#swr-container .swr-right-drawer .swr-field-input{
  width: 100% !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border-radius: max(0px, calc(var(--swr-menu-radius, 20px) - 6px)) !important;
  border: var(--swr-border-w, 1px) solid rgba(255,255,255, calc(var(--swr-glass-a1, .40) * 0.95)) !important;
  background: var(--swr-forum-sidebar-active-bg, rgba(255,255,255,0.62)) !important;
  backdrop-filter: var(--swr-forum-sidebar-active-backdrop, blur(12px) saturate(var(--swr-sat))) !important;
  -webkit-backdrop-filter: var(--swr-forum-sidebar-active-backdrop, blur(12px) saturate(var(--swr-sat))) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22) !important;
  color: var(--swr-text) !important;
  outline: none !important;
}

#swr-container .swr-right-drawer .swr-field-input::placeholder{
  color: var(--swr-subtext) !important;
  opacity: .95 !important;
}

#swr-container .swr-right-drawer .swr-solid-action{
  width: 100% !important;
  margin-top: 6px !important;
  border-radius: max(0px, calc(var(--swr-menu-radius, 20px) - 6px)) !important;
}

/* --- Fix: bottom nav full width --- */
#swr-container .swr-bottom-nav{
  left: 0 !important;
  right: 0 !important;
  border-radius: var(--swr-radius) var(--swr-radius) 0 0 !important;
  bottom: 0 !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

/* --- Fix: hide empty discover widget board --- */
#swr-container #discover-widget-board[aria-hidden="true"]{
  display: none !important;
}

/* --- Fix: feed comments area shadow --- */
#swr-container .scribe-comments-area{
  box-shadow: var(--swr-shadow-soft) !important;
}

/* --- Fix: message avatars stay circular --- */
#swr-container #msg-chats .swr-avatar,
#swr-container #msg-contacts .swr-avatar,
#swr-container .swr-chat-entry .swr-avatar,
#swr-container .swr-chat-entry-inner .swr-avatar{
  width: 37px !important;
  height: 37px !important;
  min-width: 37px !important;
  min-height: 37px !important;
  max-width: 37px !important;
  max-height: 37px !important;
  flex: 0 0 37px !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}
/* Forum detail emergency parity lock */
#swr-container #sf-view-detail,
#swr-container #sf-view-detail #sf-detail-scroll,
#swr-container #sf-view-detail #sf-detail-container,
#swr-container #sf-view-detail #sf-detail-scroll .sf-comments-sec{
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#swr-container #sf-view-detail > .swr-header,
#swr-container #sf-view-detail > .sf-subpage-header{
  min-height: var(--swr-title-h) !important;
  padding-left: var(--swr-header-pad-x, 18px) !important;
  padding-right: var(--swr-header-pad-x, 18px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-radius: 0 0 calc(var(--swr-radius) + 2px) calc(var(--swr-radius) + 2px) !important;
}
#swr-container #sf-view-detail #sf-detail-container > .sf-dt-title-card,
#swr-container #sf-view-detail #sf-detail-container > .sf-dt-body-card{
  background: var(--swr-subpage-glass-bg, var(--swr-glass-bg)) !important;
  border: var(--swr-border-w, 1px) solid var(--swr-border) !important;
  border-radius: var(--swr-radius) !important;
  box-shadow: var(--swr-shadow-soft) !important;
  backdrop-filter: var(--swr-subpage-glass-backdrop, var(--swr-glass-backdrop)) !important;
  -webkit-backdrop-filter: var(--swr-subpage-glass-backdrop, var(--swr-glass-backdrop)) !important;
  overflow: hidden !important;
}



/* ===== v3482 discover adaptive grid + unified bottom safe area ===== */
#swr-container #tab-discover{
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

#swr-container #tab-discover > .swr-scroll-area.swr-discover-scroll{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
  padding: var(--swr-gap, 18px) 15px calc(96px + env(safe-area-inset-bottom, 0px)) 15px !important;
  scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  overscroll-behavior-y: contain !important;
}

#swr-container #discover-widget-board,
#swr-container #discover-ai-grid,
#swr-container #discover-addon-grid{
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

#swr-container #discover-widget-board{
  margin: 0 0 var(--swr-gap, 18px) 0 !important;
}

#swr-container #discover-ai-grid,
#swr-container #discover-addon-grid{
  margin: 0 0 var(--swr-gap, 18px) 0 !important;
  padding: var(--swr-gap, 18px) 14px !important;
}

#swr-container #discover-addon-grid{
  margin-bottom: 0 !important;
}

#swr-container #tab-discover .swr-app-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  align-items: start !important;
  column-gap: 12px !important;
  row-gap: 20px !important;
}

#swr-container #tab-discover .swr-app-item{
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  align-self: start !important;
  gap: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#swr-container #tab-discover .swr-app-icon{
  width: 48px !important;
  height: 48px !important;
  margin: 0 auto !important;
  flex: 0 0 48px !important;
}

#swr-container #tab-discover .swr-app-name,
#swr-container #tab-discover .swr-app-item > div:last-child,
#swr-container #tab-discover .swr-app-item > span:last-child{
  width: 100% !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  display: block !important;
  text-align: center !important;
}


/* v13 discover natural-flow fix: cards must expand with icon count and scroll under bottom nav */
#swr-container #tab-discover > .swr-scroll-area.swr-discover-scroll,
#swr-container #tab-discover > .swr-discover-shell,
#swr-container #tab-discover > .swr-no-topbar-view{
  bottom: 0 !important;
  padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}
#swr-container #discover-ai-grid,
#swr-container #discover-addon-grid{
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  align-content: start !important;
}
#swr-container #discover-ai-grid.swr-app-grid,
#swr-container #discover-addon-grid.swr-app-grid{
  grid-auto-rows: max-content !important;
}
#swr-container #discover-ai-grid .swr-app-item,
#swr-container #discover-addon-grid .swr-app-item{
  min-height: 0 !important;
  height: auto !important;
  padding-top: 0 !important;
}
#swr-container #discover-ai-grid .swr-app-icon,
#swr-container #discover-addon-grid .swr-app-icon{
  margin-top: 0 !important;
}
#swr-container #discover-ai-grid .swr-app-name,
#swr-container #discover-addon-grid .swr-app-name{
  min-height: 0 !important;
  overflow: visible !important;
}
