    /* ========== 搜索页 ========== */
    .search-view {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-height: 0;
      padding-top: 0.4rem;
    }

    .search-bar-row {
      display: flex;
      align-items: center;
    }

    .search-bar {
      flex: 1;
      display: flex;
      align-items: center;
      gap: 0.65rem;
      padding: 0.38rem 0.38rem 0.38rem 1.1rem;
      border: 1px solid rgba(120, 130, 110, 0.28);
      border-radius: 999px;
      background: rgba(255, 252, 245, 0.65);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }

    .search-submit-btn {
      flex-shrink: 0;
      width: 2.35rem;
      height: 2.35rem;
      margin-left: auto;
      padding: 0;
      border: none;
      border-radius: 50%;
      background: #3A5A3E;
      color: #F4F1E6;
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 10px -6px rgba(40, 70, 45, 0.5);
    }

    .search-submit-btn:hover {
      background: #314E35;
    }

    .search-bar-icon {
      display: flex;
      color: #6A7368;
      flex-shrink: 0;
    }

    .search-input {
      flex: 1;
      min-width: 0;
      border: none;
      outline: none;
      background: transparent;
      font-size: 0.95rem;
      color: #3E4A3C;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
      font-weight: 350;
    }

    .search-input::placeholder {
      color: #9AA193;
    }

    .search-input::-webkit-search-decoration,
    .search-input::-webkit-search-cancel-button {
      -webkit-appearance: none;
    }

    .search-meta-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 1rem;
      margin: 1.35rem 0 1.15rem;
      flex-wrap: wrap;
    }

    .search-meta-left {
      display: flex;
      align-items: baseline;
      gap: 0.85rem;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
      color: #6A7368;
      font-size: 0.88rem;
    }

    .search-meta-tab {
      color: #3A5A3E;
      padding-bottom: 0.12rem;
      border-bottom: 2px solid #3A5A3E;
      font-weight: 500;
    }

    .search-meta-count {
      color: #7A8478;
    }

    .search-sort-btn {
      border: none;
      background: transparent;
      color: #3E5A42;
      font-size: 0.88rem;
      cursor: pointer;
      padding: 0.2rem 0;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
      letter-spacing: 0.02em;
    }

    .search-sort-btn:hover {
      color: #2A4A32;
    }

    .search-results {
      flex: 1;
      min-height: 0;
      padding-top: 0.15rem;
    }

    .search-empty {
      padding: 3rem 1rem;
      text-align: center;
      color: #8A927A;
      font-style: italic;
      opacity: 0.75;
    }

    .search-pager {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0.75rem;
      margin-top: 1.6rem;
      padding-bottom: 0.4rem;
      flex-wrap: nowrap;
      white-space: nowrap;
    }

    .search-page-btn {
      border: none;
      background: transparent;
      color: #7A8478;
      font-size: 0.82rem;
      cursor: pointer;
      padding: 0;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
    }

    .search-page-btn:hover {
      color: #3E5A42;
    }

    .search-page-btn.is-active {
      color: #2C3A2C;
      font-weight: 600;
    }

    .search-page-btn:disabled {
      opacity: 0.4;
      cursor: default;
    }

    .search-page-ellipsis {
      color: #7A8478;
      font-size: 0.82rem;
      line-height: 1;
      user-select: none;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
    }

    .home-article-panel {
      flex: 1;
      min-height: 420px;
      padding: 0.2rem 0 1.5rem;
    }

    .home-year-meta {
      font-size: 0.92rem;
      font-weight: 400;
      color: #6A7368;
      letter-spacing: 0.04em;
      margin: 0 0 1.6rem;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
    }

    .home-year-section + .home-year-section {
      margin-top: 2.4rem;
    }

    .home-article-list {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 0;
      padding-left: 0;
    }

    .home-article-item {
      position: relative;
      display: grid;
      grid-template-columns: 3.6rem 2rem minmax(0, 1fr) auto;
      align-items: center;
      column-gap: 0.15rem;
      padding: 0.38rem 0;
      text-decoration: none;
      color: inherit;
      cursor: pointer;
      border-radius: 6px;
    }

    /* 分类/tag 列表：圆点 + 标题 + 完整日期 */
    .home-article-list--archive-filter .home-article-item {
      grid-template-columns: 2rem minmax(0, 1fr) auto;
    }

    .home-article-list--archive-filter .home-article-tags {
      font-size: 0.75rem;
      font-variant-numeric: tabular-nums;
      letter-spacing: 0.02em;
    }

    .home-article-date {
      font-size: 0.92rem;
      color: #6B7366;
      font-variant-numeric: tabular-nums;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
      letter-spacing: 0.02em;
    }

    .home-article-dot {
      position: relative;
      align-self: stretch;
      width: 100%;
      min-height: 1.1em;
      overflow: visible;
    }

    /* 与圆点同层 left:50%，保证共轴；钉在行底 padding 交界处居中 */
    .home-article-item:not(:last-child) .home-article-dot::before {
      content: '';
      position: absolute;
      left: 50%;
      top: calc(100% + 0.38rem);
      width: 1px;
      height: 9px;
      background: linear-gradient(
        to bottom,
        rgba(120, 125, 118, 0.5) 0 3px,
        transparent 3px 6px,
        rgba(120, 125, 118, 0.5) 6px 9px
      );
      transform: translate(-50%, -50%);
      pointer-events: none;
    }

    .home-article-dot::after {
      content: '';
      position: absolute;
      left: 50%;
      top: 50%;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #4A5248;
      box-shadow: 0 0 0 3px rgba(245, 242, 232, 0.95);
      transform: translate(-50%, -50%);
      transition:
        width 0.18s ease,
        height 0.18s ease,
        border-radius 0.18s ease,
        background 0.18s ease,
        box-shadow 0.18s ease;
    }

    .home-article-item:hover .home-article-dot::after {
      width: 3px;
      height: 1.05em;
      border-radius: 2px;
      background: #6D8E75;
      box-shadow: 0 0 0 3px rgba(245, 242, 232, 0.95);
    }

    .home-article-main {
      min-width: 0;
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.35rem 0.55rem;
      padding-right: 1rem;
      transition: transform 0.18s ease;
    }

    .home-article-item:hover .home-article-main {
      transform: translateX(10px);
    }

    .home-article-title {
      font-size: 0.95rem;
      font-weight: 400;
      color: #5E675C;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
      line-height: 1.45;
      transition: color 0.18s ease;
    }

    .home-article-item:hover .home-article-title {
      color: #6D8E75;
    }

    .home-article-tags {
      justify-self: end;
      text-align: right;
      font-size: 0.88rem;
      color: #8A9184;
      font-family: -apple-system, 'PingFang SC', 'Helvetica Neue', sans-serif;
      white-space: nowrap;
      letter-spacing: 0.02em;
    }

    .home-article-empty {
      color: #8A927A;
      opacity: 0.55;
      font-size: 0.95rem;
      padding: 2rem 0;
      font-style: italic;
    }
