/* Public source: requested login clarity and sidebar control placement. */
#landing-session-status {
  max-width: 15rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #b8c6d6;
  font-size: .8125rem;
}
#landing-session-status[data-phase="authenticated"] { color: #69ddbd; }
#landing-nav-bar .nav-actions { min-width: 0; gap: .75rem; }
#landing-nav-bar button:disabled { cursor: wait; opacity: .65; }
.session-connection-notice:not(.hidden) {
  position: fixed;
  z-index: 49;
  top: calc(var(--app-header-height, 64px) + var(--announcement-height, 0px) + 12px);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
  width: max-content;
  max-width: calc(100vw - 24px);
  padding: .875rem 1rem;
  border: 1px solid #8c7439;
  border-radius: 12px;
  background: #232019;
  color: #fff0c9;
  box-shadow: 0 8px 32px #0005;
  font-size: .875rem;
  line-height: 1.6;
}
#session-connection-message { flex: 1 1 20rem; }
.session-connection-notice button { padding: .375rem .75rem; border: 1px solid #a99565; border-radius: 7px; white-space: nowrap; }
.session-connection-notice button:disabled { opacity: .6; cursor: wait; }
/* The shared .btn-glass transition: all delays visibility and prevents focus
   returning immediately when the mobile drawer closes. */
#app-sidebar-trigger { display: none !important; transition: background-color .2s, color .2s, border-color .2s; }
/* 折叠控件不再单独占一行: 绝对定位到侧栏右上角, 与第一个导航分组标题同处一行。
   原先它是一条 min-height:52px + border-bottom 的独立控制带, 平白占掉一行高度。 */
.sidebar-navigation-toolbar {
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
/* 分组标题右侧留出折叠按钮的宽度, 避免文字被压。 */
.sider-group-title { padding-right: 46px; }
#sidebar-collapse-trigger { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 6px; border: 1px solid transparent; border-radius: 8px; color: var(--th-text-secondary); background: transparent; }
#sidebar-collapse-trigger:hover { background: #ffffff12; color: var(--th-text); }
#sidebar-collapse-trigger svg { width: 18px; height: 18px; }
#sidebar-collapse-trigger:focus-visible, .session-connection-notice button:focus-visible { outline: 2px solid #67e8f9; outline-offset: 2px; }
/* 折叠态: 按钮居中于 64px 窄栏顶部。 */
.console-sider.collapsed .sidebar-navigation-toolbar { right: 0; left: 0; justify-content: center; }
/* Collapsed rail: numeric badges do not fit, so mark unread as a dot on the icon.
   Desktop-only: the mobile drawer always keeps full-width labels. */
@media (min-width: 901px) {
  .console-sider.collapsed .sider-nav-item { position: relative; }
  .console-sider.collapsed [id^="support-badge"],
  .console-sider.collapsed #sider-suspicious-badge {
    position: absolute;
    top: 7px;
    right: 10px;
    width: 8px;
    min-width: 8px;
    height: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 9999px;
    font-size: 0;
    line-height: 0;
    color: transparent;
    overflow: hidden;
  }
}
@media (max-width: 1100px) {
  #landing-nav-bar .nav-links { gap: .5rem; }
  #landing-session-status { max-width: 9rem; }
}
@media (max-width: 900px) {
  #app-sidebar-trigger:not(.hidden) { display: inline-flex !important; }
  /* 移动端抽屉: 恢复右上角定位 (窄栏居中规则仅适用于桌面折叠态)。 */
  .console-sider.collapsed .sidebar-navigation-toolbar { right: 10px; left: auto; justify-content: flex-end; }
}
@media (max-width: 760px) {
  #landing-nav-bar.landing-nav .nav-inner { display: grid; grid-template-columns: minmax(80px, 1fr) auto; gap: .5rem; padding-block: .5rem; }
  #landing-nav-bar.landing-nav .nav-actions { flex-wrap: wrap; justify-content: flex-end; gap: .25rem .5rem; width: 200px; max-width: 100%; }
  #landing-session-status { flex-basis: 100%; max-width: 100%; text-align: right; }
  #landing-nav-bar .landing-nav-login, #landing-nav-bar .landing-nav-connect { font-size: .8125rem; padding: .375rem .625rem; min-height: 36px; }
  #landing-nav-bar.landing-nav .brand { font-size: 24px; min-width: 0; gap: 6px; }
}
