/* 全站滚动通知栏 */
.notice-bar { display:none; align-items:center; background:linear-gradient(90deg,#fffbe8,#fffdf4); border:1px solid #f0d98c; border-radius:8px; padding:7px 12px; margin:0 auto 14px; max-width:860px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.notice-tag { flex-shrink:0; background:#0d6b36; color:#fff; font-size:12px; font-weight:bold; padding:2px 12px; border-radius:6px; margin-right:14px; letter-spacing:1px; white-space:nowrap; }
.notice-track { flex:1; overflow:hidden; position:relative; height:22px; }
.notice-scroll { display:inline-flex; white-space:nowrap; animation: noticeMove 30s linear infinite; will-change:transform; }
.notice-scroll .nt { padding-right:140px; font-size:13px; color:#7a5c00; line-height:22px; }
.notice-bar:hover .notice-scroll { animation-play-state:paused; }
@keyframes noticeMove { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* 顶部横幅内嵌（portal topbar 中间） */
.topbar .notice-bar{ background:linear-gradient(90deg,#e8f5ec,#f6fbf7); border:1px solid #b8dfc6; border-radius:22px; height:38px; padding:0 6px 0 8px; box-shadow:none; align-self:center; }
.topbar .notice-bar .notice-tag{ background:#0d6b36; color:#fff; font-size:12px; font-weight:bold; padding:3px 12px; border-radius:16px; margin-right:14px; letter-spacing:1px; white-space:nowrap; flex-shrink:0; }
.topbar .notice-bar .notice-track{ flex:1; overflow:hidden; position:relative; height:24px; margin:auto 0; }
.topbar .notice-bar .notice-scroll{ display:inline-flex; white-space:nowrap; animation:noticeMove 30s linear infinite; will-change:transform; }
.topbar .notice-bar .notice-scroll .nt{ padding-right:140px; font-size:13px; color:#0d6b36; line-height:24px; }
.topbar .notice-bar:hover .notice-scroll{ animation-play-state:paused; }
