/*
  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;
}

/* 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;
}

/* 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 #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-circle-arrow-btn svg{
  stroke: var(--swr-text) !important;
  color: var(--swr-text) !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: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
  flex: 0 0 46px !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-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-glass-backdrop) !important;
  -webkit-backdrop-filter: var(--swr-glass-backdrop) !important;
  overflow: hidden !important;
}

