/* ============================================================
 * 名师学科创平台 · 全站用户自切换双主题令牌（msx_theme.css）
 * 批次：A1_THEME_SEAL 2026-10-14
 * 铁律：平台只有两套主题色（亲子橙暖 / 科创蓝冷），禁止第三种主题色；
 *       中性色（正文深灰 #4A4641、次灰 #938E86、描边、白底）两套通用，不算主题色。
 *       点缀绿 #16A37B 不在本文件映射范围内（只登记、不擅改）。
 *
 * 机制：
 *   - <html data-theme="orange|blue"> 由内联引导在 <head> 尽早写入，msx_theme.js 记忆 localStorage；
 *   - 本文件两套令牌 + 各页既有品牌变量的高优先级重映射（html[data-theme] 特异性压过 :root），
 *     页面内 var() 令牌化的颜色随主题即时变色；
 *   - 删除本文件 + msx_theme.js 即整页回滚到旧固定橙色（只增不改）。
 * ============================================================ */

/* ---------- 亲子橙（暖，默认）---------- */
html[data-theme="orange"]{
  --msx-primary:#E57026;
  --msx-primary-d:#C35B18;
  --msx-primary-2:#F0853E;
  --msx-primary-3:#F0924E;
  --msx-primary-4:#FFB46B;
  --msx-soft:#FDF3EB;
  --msx-softer:#FFF9F4;
  --msx-line:#FCEFE6;
  --msx-chip-ink:#C35B18;
  --msx-hero-grad:linear-gradient(135deg,#FDEBD9 0%,#FDF6EF 55%,#FFF9F4 100%);
  --msx-rgb:229,112,38;
  --msx-rgb-d:195,91,24;
  --orange:#E57026;
  --orange-d:#C35B18;
  --oc:#E57026; --oc-d:#C35B18;
  --c:#E57026;
  --tc:#E57026; --tc-d:#C35B18; --tc-grad:linear-gradient(135deg,#E57026,#F0853E);
  --code:#E57026; --code-d:#C35B18;
  --tk-code:#E57026;
  --ln1:#E57026; --ln1-d:#C35B18;
  --grad-cta:linear-gradient(135deg,#E57026,#F0853E);
  --grad-member:linear-gradient(135deg,#F0924E,#E57026);
}

/* ---------- 科创蓝（冷）---------- */
html[data-theme="blue"]{
  --msx-primary:#1C3055;
  --msx-primary-d:#274A7A;
  --msx-primary-2:#2F5C99;
  --msx-primary-3:#4A78B8;
  --msx-primary-4:#7FA4D4;
  --msx-soft:#F2F5F9;
  --msx-softer:#F7F9FC;
  --msx-line:#E3ECF9;
  --msx-chip-ink:#274A7A;
  --msx-hero-grad:linear-gradient(135deg,#E7EDF6 0%,#F1F5FA 55%,#F7F9FC 100%);
  --msx-rgb:28,48,85;
  --msx-rgb-d:39,74,122;
  --orange:#1C3055;
  --orange-d:#274A7A;
  --oc:#1C3055; --oc-d:#274A7A;
  --c:#1C3055;
  --tc:#1C3055; --tc-d:#274A7A; --tc-grad:linear-gradient(135deg,#1C3055,#2F5C99);
  --code:#1C3055; --code-d:#274A7A;
  --tk-code:#1C3055;
  --ln1:#1C3055; --ln1-d:#274A7A;
  --grad-cta:linear-gradient(135deg,#1C3055,#2F5C99);
  --grad-member:linear-gradient(135deg,#4A78B8,#1C3055);
}

/* ---------- 无 data-theme 时的兜底（与橙默认一致，防 FOUC 空窗）---------- */
:root{
  --msx-primary:#E57026;
  --msx-primary-d:#C35B18;
  --msx-primary-2:#F0853E;
  --msx-primary-3:#F0924E;
  --msx-primary-4:#FFB46B;
  --msx-soft:#FDF3EB;
  --msx-softer:#FFF9F4;
  --msx-line:#FCEFE6;
  --msx-chip-ink:#C35B18;
  --msx-hero-grad:linear-gradient(135deg,#FDEBD9 0%,#FDF6EF 55%,#FFF9F4 100%);
  --msx-rgb:229,112,38;
  --msx-rgb-d:195,91,24;
}

/* ============================================================
 * A1_HOTFIX 2026-10-14：页眉主题切换改为【一枚小图标】（太阳=暖橙 / 月亮=冷蓝）
 * 桌面与移动统一置于登录按钮左侧，静默切换，不占页眉黄金位置。
 * ============================================================ */
.msx-theme-icon-holder{display:inline-flex;align-items:center;flex:0 0 auto;}
.msx-theme-icon{
  width:36px;height:36px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--msx-line);
  background:var(--msx-softer);
  color:var(--msx-primary);
  cursor:pointer;padding:0;flex:0 0 auto;
  transition:background .15s ease,border-color .15s ease,color .15s ease,
             box-shadow .15s ease,transform .15s ease;
}
.msx-theme-icon svg{width:19px;height:19px;display:block;}
.msx-theme-icon:hover{
  border-color:var(--msx-primary);
  box-shadow:0 4px 12px rgba(var(--msx-rgb),.22);
  transform:translateY(-1px);
}
.msx-theme-icon:active{transform:translateY(0);}
.msx-theme-icon:focus-visible{outline:2px solid var(--msx-primary);outline-offset:2px;}
@media(max-width:560px){
  .msx-theme-icon{width:32px;height:32px;}
  .msx-theme-icon svg{width:17px;height:17px;}
}

/* ============================================================
 * A1_HOTFIX：页眉只保留正规统一登录组件（#uaLoginRoot / UA）。
 * 盖过页面历史规则 `#uaLoginRoot{display:none!important}`，并隐藏遗留死链 #loginWrap。
 * ============================================================ */
#uaLoginRoot{display:flex !important;align-items:center !important;flex:0 0 auto;}
#uaLoginRoot .ua-login{display:inline-flex !important;align-items:center;}
#loginWrap{display:none !important;}
.mobile-menu .mm-login-legacy{display:none !important;}

/* ---------- 旧分段控件（已不再默认使用，保留兼容）---------- */
.msx-theme-seg{
  display:inline-flex;align-items:center;gap:0;
  background:var(--msx-softer);
  border:1px solid var(--msx-line);
  border-radius:999px;padding:3px;flex:0 0 auto;
}
.msx-theme-seg button{
  border:0;background:transparent;font-family:inherit;cursor:pointer;
  font-size:12.5px;font-weight:600;line-height:1;
  color:#938E86;padding:5px 12px;border-radius:999px;
  display:inline-flex;align-items:center;gap:5px;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.msx-theme-seg button .msx-ts-dot{
  width:9px;height:9px;border-radius:50%;display:inline-block;
}
.msx-theme-seg button[data-t="orange"] .msx-ts-dot{background:#E57026}
.msx-theme-seg button[data-t="blue"] .msx-ts-dot{background:#1C3055}
.msx-theme-seg button.on{
  background:var(--msx-primary);color:#fff;
  box-shadow:0 3px 10px rgba(var(--msx-rgb),.28);
}
.msx-theme-seg button.on .msx-ts-dot{background:#fff}
.msx-theme-seg button:focus-visible{outline:2px solid var(--msx-primary);outline-offset:1px}

#msxMmThemePanel .msx-mtheme-title{
  font-size:12px;color:#938E86;margin:2px 0 8px;letter-spacing:.02em;
}
#msxMmThemePanel .msx-theme-seg{width:100%;justify-content:center}
#msxMmThemePanel .msx-theme-seg button{flex:1 1 0;justify-content:center;padding:9px 0}

@media(max-width:768px){
  [data-msxnav="theme-seg"]{display:none !important}
  #msxMmThemePanel{display:block;padding:10px 4px 6px}
}

/* ---------- 登录下拉 v2（A 排版，全部吃主题令牌）---------- */
.msx-dd-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:700;letter-spacing:.04em;
  color:var(--msx-chip-ink);background:var(--msx-soft);
  border:1px solid var(--msx-line);
  padding:3px 10px;border-radius:999px;
}
.msx-dd-title{font-size:17px;font-weight:800;color:#4A4641;margin:10px 0 2px}
.msx-dd-sub{font-size:12px;color:#938E86;margin-bottom:12px}
.msx-dd-main{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  background:var(--msx-primary);color:#fff;border:0;font-family:inherit;
  font-size:14.5px;font-weight:700;padding:11px;border-radius:12px;cursor:pointer;
  text-decoration:none;box-sizing:border-box;
  box-shadow:0 8px 18px rgba(var(--msx-rgb),.18);
  transition:background .15s ease;
}
.msx-dd-main:hover{background:var(--msx-primary-d);color:#fff}
.msx-roles{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0 9px}
.msx-roles span{
  font-size:12px;color:var(--msx-chip-ink);
  background:var(--msx-soft);border:1px solid var(--msx-line);
  border-radius:999px;padding:3px 11px;line-height:1.5;
}
.msx-dd-note{
  font-size:12px;line-height:1.6;color:#4A4641;
  border-top:1px dashed #EADFD4;padding-top:10px;
}
.msx-dd-foot{margin-top:9px;font-size:11px;color:#938E86;text-align:center;line-height:1.5}
.msx-dd-foot a{color:#938E86;text-decoration:none}
.msx-dd-foot a:hover{color:var(--msx-primary)}

/* ---------- 已登录态：头像+昵称胶囊 + 下拉项 ---------- */
.login-btn.msx-me-btn{
  display:inline-flex !important;align-items:center;gap:8px !important;
  background:var(--msx-soft) !important;color:#4A4641 !important;
  border:1px solid var(--msx-line) !important;
  padding:6px 12px !important;border-radius:999px !important;
  font-weight:700 !important;
}
.msx-me-avatar{
  width:28px;height:28px;border-radius:50%;flex:0 0 28px;
  background:var(--msx-primary);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;overflow:hidden;
}
.msx-me-name{display:inline-flex;flex-direction:column;line-height:1.1;text-align:left}
.msx-me-name small{font-size:10.5px;font-weight:600;color:#938E86}
.msx-dd-item{
  display:flex;align-items:center;gap:9px;
  padding:10px 12px;font-size:13.5px;color:#4A4641;text-decoration:none;
  border-radius:8px;
}
.msx-dd-item i{color:var(--msx-primary);width:16px;text-align:center}
.msx-dd-item:hover{background:var(--msx-soft);color:var(--msx-primary)}

/* ============================================================
 * 移动端登录弹层（#msxMmFallback，仅在页面无 #mobileMenu 时由脚本兜底创建）
 * ============================================================ */
#msxMmFallback{
  position:fixed;top:60px;left:0;right:0;bottom:0;z-index:998;
  background:rgba(33,38,54,.35);
  opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;
}
#msxMmFallback.open{opacity:1;visibility:visible}
#msxMmFallback .mobile-menu-inner{
  background:#fff;border-radius:0 0 18px 18px;
  padding:12px 14px 18px;max-height:78vh;overflow:auto;
  box-shadow:0 18px 40px rgba(33,38,54,.18);
  transform:translateY(-8px);transition:transform .18s ease;
}
#msxMmFallback.open .mobile-menu-inner{transform:translateY(0)}
.mm-login-main{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;margin-top:6px;box-sizing:border-box;
  background:var(--msx-primary);color:#fff;font-family:inherit;
  font-size:15px;font-weight:700;padding:13px;border-radius:12px;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(var(--msx-rgb),.18);
}
.mm-login-main:hover{color:#fff;background:var(--msx-primary-d)}
