/* Migration announcement; scoped to the legacy index page. */
body.bgColor { padding-top: 44px; }
/* The shared navigation and mobile menu are fixed independently of the body. */
body.bgColor > header { top: 44px; }
body.bgColor .header-tree-nemu { top: 108px; }
.migration-banner, .migration-banner * { box-sizing: border-box; }
      /* 公告条：旧站接入时可直接保留这一段结构和样式。 */
      .migration-banner {
        position: fixed;
        top: 0; right: 0; left: 0;
        z-index: 10000;
        min-height: 44px;
        color: #fff;
        background: linear-gradient(105deg, #4f46e5 0%, #6d4ee8 52%, #8836e9 100%);
        box-shadow: 0 3px 12px rgba(40, 25, 126, .18);
      }

      .migration-link {
        display: flex;
        align-items: center;
        gap: 11px;
        width: max-content;
        max-width: calc(100% - 40px);
        min-height: 44px;
        margin: 0 auto;
        padding: 0;
        color: inherit;
        text-decoration: none;
      }

      .announce-new {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 38px;
        height: 18px;
        padding: 0 8px;
        border-radius: 999px;
        color: rgba(255,255,255,.96);
        background: rgba(255,255,255,.2);
        white-space: nowrap;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0;
      }

      .announce-brand-icon {
        display: inline-flex;
        width: 24px;
        height: 24px;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        border-radius: 7px;
        background: transparent;
      }

      .announce-brand-icon img {
        display: block;
        width: 24px;
        height: 24px;
        object-fit: fill;
      }

      .announce-copy {
        display: flex;
        flex: 0 1 auto;
        min-width: 0;
        max-width: none;
        align-items: baseline;
        gap: 7px;
        line-height: 1.2;
        white-space: nowrap;
      }

      .announce-title {
        flex: 0 0 auto;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
      }

      .announce-description {
        min-width: 0;
        color: rgba(255,255,255,.84);
        font-size: 13px;
        letter-spacing: 0;
      }

      .announce-free {
        color: inherit;
        font: inherit;
      }

      .announce-action {
        display: inline-flex;
        min-height: 25px;
        align-items: center;
        justify-content: center;
        min-width: 89px;
        height: 25px;
        padding: 0 14px;
        border: 0;
        border-radius: 999px;
        color: #6140d0;
        background: #fff;
        font-size: 12px;
        letter-spacing: 0;
        font-weight: 700;
        white-space: nowrap;
        transition: none;
      }

      .migration-link:hover .announce-action,
      .migration-link:focus-visible .announce-action {
        background: #fff;
        transform: none;
      }

      .announce-action-icon {
        width: 11px;
        height: 11px;
        margin-left: 4px;
        flex: 0 0 auto;
      }

      .migration-link:focus-visible {
        outline: 2px solid #fff;
        outline-offset: -3px;
      }

      @media (max-width: 760px) {
        .migration-link { gap: 7px; width: calc(100% - 20px); max-width: none; }
        .announce-new { min-width: 35px; padding: 0 6px; font-size: 9px; }
        .announce-brand-icon { width: 24px; height: 24px; border-radius: 6px; }
        .announce-brand-icon img { width: 24px; height: 24px; }
        .announce-copy { display: block; flex: 1 1 auto; max-width: none; }
        .announce-title, .announce-description { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        .announce-title { font-size: 12px; }
        .announce-description { margin-top: 1px; font-size: 11px; }
        .announce-action { min-width: 72px; padding: 0 9px; font-size: 10px; }
      }

      @media (prefers-reduced-motion: reduce) {
        .announce-action { transition: none; }
      }
    
.migration-banner .migration-link, .migration-banner .migration-link:hover { color: #fff; text-decoration: none; }

.migration-banner .announce-new, .migration-banner .announce-brand-icon, .migration-banner .announce-action { flex-shrink: 0; }
.migration-banner .announce-copy { overflow: hidden; }
.migration-banner .announce-description { overflow: hidden; text-overflow: ellipsis; }
