    * { box-sizing: border-box; }
    body { margin: 0; font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: var(--bg); color: var(--text); }
    a { color: inherit; text-decoration: none; }

    .page { width: min(1300px, calc(100% - 24px)); margin: 22px auto 40px; display: grid; gap: 18px; }
    .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--card-shadow); backdrop-filter: blur(16px); }

    .content-layout {
      display: grid;
      gap: 16px;
      grid-template-columns: minmax(0, 1fr) 320px;
      align-items: start;
    }
    .block { padding: 22px; }
    .block-title {
      margin: 0 0 18px;
      font-size: 18px;
      font-weight: 800;
      color: var(--text);
      display: flex;
      align-items: center;
      gap: 8px; /* 统一间距 */
      position: relative;
    }
    .block-title svg {
      color: var(--primary);
    }
    .widget + .widget { margin-top: 14px; }

    /* 首页大图轮播/Banner 样式 - 升级为轮播图 */
    .hero-carousel {
      width: 100%;
      height: 380px;
      border-radius: 24px;
      margin-bottom: 24px;
      position: relative;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
      z-index: 1;
    }
    .carousel-track {
      display: flex;
      width: 100%;
      height: 100%;
      transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
    }
    .carousel-slide {
      flex: 0 0 100%;
      width: 100%;
      height: 100%;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 0 80px;
      text-decoration: none;
    }
    .carousel-bg-img {
      position: absolute;
      inset: 0;
      width: 100%; height: 100%;
      object-fit: cover;
      z-index: 0;
      opacity: 0; /* 初始隐藏 */
      transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1); /* 平滑渐现 */
    }
    .carousel-bg-img.is-loaded {
      opacity: 1; /* 加载完成后显示 */
    }
    .carousel-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
      z-index: 1;
    }
    .carousel-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
      z-index: 1;
    }
    .carousel-content {
      position: relative;
      z-index: 2;
      max-width: 650px;
    }
    .carousel-title {
      font-size: 42px;
      font-weight: 900;
      margin-bottom: 16px;
      line-height: 1.1;
      text-shadow: 0 2px 10px rgba(0,0,0,0.2);
    }
    .carousel-desc {
      font-size: 18px;
      opacity: 0.9;
      line-height: 1.6;
      margin-bottom: 24px;
    }
    .carousel-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 28px;
      background: #fff;
      color: #334155; /* 调浅白天模式文字色 */
      border-radius: 12px;
      font-weight: 800;
      font-size: 15px;
      transition: all 0.3s;
    }
    .carousel-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    }
    
    /* 导航箭头 */
    .carousel-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 50px;
      height: 50px;
      background: rgba(255, 255, 255, 0.15);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 24px;
      cursor: pointer;
      z-index: 10;
      transition: all 0.3s;
      opacity: 0;
    }
    .hero-carousel:hover .carousel-arrow { opacity: 1; }
    .carousel-arrow:hover { background: rgba(255, 255, 255, 0.3); transform: translateY(-50%) scale(1.1); }
    .carousel-arrow.prev { left: 20px; }
    .carousel-arrow.next { right: 20px; }

    /* 底部圆点 */
    .carousel-dots {
      position: absolute;
      bottom: 25px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 10px;
      z-index: 10;
    }
    .carousel-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.4);
      cursor: pointer;
      transition: all 0.3s;
    }
    .carousel-dot.active {
      background: #fff;
      width: 30px;
      border-radius: 10px;
    }

    @media (max-width: 768px) {
      .hero-carousel { height: 300px; }
      .carousel-slide { padding: 0 40px; }
      .carousel-title { font-size: 28px; }
      .carousel-desc { font-size: 14px; }
      .carousel-arrow { 
        display: flex; 
        opacity: 0.25; /* 极低初始透明度，几乎融入背景 */
        width: 32px;
        height: 32px;
        font-size: 14px;
        background: rgba(255, 255, 255, 0.05);
        border-color: rgba(255, 255, 255, 0.08);
        backdrop-filter: none; /* 移除磨砂玻璃效果，减少视觉负担 */
        box-shadow: none;
      }
      .carousel-arrow:active {
        opacity: 0.8; /* 点击时变亮，提供反馈 */
        background: rgba(255, 255, 255, 0.2);
      }
      .carousel-arrow.prev { left: 10px; }
      .carousel-arrow.next { right: 10px; }
    }

    /* 测评卡片：连贯式列表布局重构 */
    .article-list {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 24px;
      box-shadow: var(--card-shadow);
      margin-bottom: 40px;
      overflow: hidden; /* 确保子项圆角不溢出 */
    }
    
    .article-card {
      background: transparent;
      border: none;
      border-bottom: 1px solid var(--line);
      border-radius: 0;
      display: grid;
      grid-template-columns: 180px 1fr 140px;
      overflow: hidden;
      transition: all 0.25s ease;
      position: relative;
      height: 120px; /* 略微增加高度以适应 padding */
      text-decoration: none;
      box-shadow: none;
    }
    .article-card:last-child {
      border-bottom: none;
    }
    .article-card:hover {
      background: var(--bg);
      z-index: 2;
      transform: none; /* 列表模式不需要位移 */
      box-shadow: inset 0 0 20px rgba(0,0,0,0.02);
    }
    
    .article-cover {
      width: 100%;
      height: 100%;
      padding: 12px; /* 增加内边距，让图片不撑满高度 */
      position: relative;
      background: var(--table-header-bg);
      flex-shrink: 0;
      overflow: hidden;
      border-right: 1px solid var(--line);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .article-cover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 12px; /* 给图片本身加圆角 */
      transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .article-card:hover .article-cover img {
      transform: scale(1.08);
    }
    
    .article-badge-rating {
      position: absolute;
      top: 8px;
      right: 8px;
      background: rgba(15, 23, 42, 0.7);
      backdrop-filter: blur(4px);
      color: #fbbf24;
      padding: 3px 8px;
      border-radius: 6px;
      font-size: 11px;
      font-weight: 800;
      display: flex;
      align-items: center;
      gap: 3px;
      z-index: 2;
    }
    .article-badge-rating svg {
      width: 10px;
      height: 10px;
      fill: #fbbf24;
    }
    
    /* 文章标签容器：放到卡片最右侧垂直居中 */
    .article-tag-container {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 15px;
      border-left: 1px dashed var(--line);
      background: rgba(148, 163, 184, 0.02);
    }

    .article-category-tag {
      background: var(--primary-soft);
      color: var(--primary);
      padding: 6px 12px;
      border-radius: 8px;
      font-size: 12px;
      font-weight: 800;
      white-space: nowrap;
      transition: all 0.3s;
      border: 1px solid transparent;
    }
    .article-card:hover .article-category-tag {
      background: var(--primary);
      color: #fff;
    }

    .article-body {
      padding: 12px 24px;
      display: flex;
      flex-direction: column;
      flex: 1;
      min-width: 0;
      justify-content: center;
      gap: 4px;
    }
    .article-title {
      font-size: 18px;
      font-weight: 900;
      color: var(--text);
      margin: 0;
      line-height: 1.4;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .article-desc {
      display: -webkit-box;
      font-size: 13px;
      color: var(--muted);
      line-height: 1.6;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
      opacity: 0.8;
    }
    
    .article-meta-row {
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .meta-item {
      display: flex;
      align-items: center;
      gap: 4px;
      font-size: 11px;
      color: var(--muted);
      font-weight: 600;
    }
    .meta-item svg {
      color: var(--primary);
      opacity: 0.8;
    }
    .meta-item b { color: var(--text); }
    
    .article-footer {
      display: none; 
    }
    
    .article-author {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .author-avatar {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background: var(--primary-soft);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 800;
      color: var(--primary);
    }
    .author-name {
      font-size: 13px;
      font-weight: 700;
      color: var(--muted);
    }

    .btn-read-more {
      padding: 10px 24px;
      background: var(--primary-soft);
      color: var(--primary);
      border-radius: 12px;
      font-size: 14px;
      font-weight: 800;
      transition: all 0.3s;
    }
    .article-card:hover .btn-read-more {
      background: var(--primary);
      color: #fff;
    }

    @media (max-width: 1100px) {
      .article-card { grid-template-columns: 160px 1fr 120px; }
    }

    @media (max-width: 980px) {
      .content-layout { grid-template-columns: 1fr; }
      .article-card { grid-template-columns: 150px 1fr 110px; }
      .article-title { font-size: 16px; }
      .article-body { padding: 12px 16px; }
    }

    @media (max-width: 768px) {
      .article-card { display: flex; flex-direction: column; height: auto !important; min-height: auto; }
      .article-cover { height: 200px; border-right: none; border-bottom: 1px solid var(--line); }
      .article-tag-container { padding: 16px; justify-content: flex-start; border-left: none; border-top: 1px dashed var(--line); }
      .article-meta-row { gap: 16px; }
    }

    body[data-theme="dark"] .article-card {
      background: rgba(15, 23, 42, 0.9);
      border-color: rgba(148, 163, 184, 0.18);
    }
    body[data-theme="dark"] .article-cover { background: #0f172a; border-right-color: rgba(148, 163, 184, 0.15); }
    body[data-theme="dark"] .article-stats-grid { border-top-color: rgba(148, 163, 184, 0.15); }
    body[data-theme="dark"] .btn-visit-site { background: rgba(30, 41, 59, 0.15); }
    body[data-theme="dark"] .article-card:hover .btn-visit-site { background: var(--primary); }
    /* 最新/最热切换开关样式 */
    .sort-toggle-wrap {
      position: relative;
      display: inline-flex;
      background: rgba(148, 163, 184, 0.1);
      padding: 4px;
      border-radius: 12px;
      border: 1px solid var(--line);
      height: 38px;
      align-items: center;
    }
    .sort-toggle-item {
      position: relative;
      z-index: 2;
      padding: 0 16px;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 13px;
      font-weight: 700;
      color: var(--muted);
      cursor: pointer;
      transition: color 0.3s;
    }
    .sort-toggle-item.active {
      color: #fff;
    }
    .sort-toggle-slider {
      position: absolute;
      top: 4px;
      left: 4px;
      height: calc(100% - 8px);
      width: calc(50% - 4px);
      background: #64748b !important; /* 统一换成更明显的灰色 (Slate 500) */
      border-radius: 9px;
      z-index: 1;
      transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      box-shadow: 0 4px 10px rgba(30, 41, 59, 0.2);
    }
    .sort-toggle-wrap[data-sort="hot"] .sort-toggle-slider {
      transform: translateX(100%);
    }
    
    body[data-theme="dark"] .sort-toggle-wrap {
      background: rgba(15, 23, 42, 0.6);
    }
    body[data-theme="dark"] .sort-toggle-slider {
      background: #64748b !important; /* 黑夜模式也统一为该灰色 */
      box-shadow: 0 4px 10px rgba(30, 41, 59, 0.2);
    }

    .article-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      font-size: 11px;
      color: var(--muted);
      margin-top: 4px;
    }
    .article-meta-item {
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .article-meta-icon {
      font-size: 12px;
      opacity: 0.8;
    }

    .quick-grid { display: grid; gap: 8px; grid-template-columns: 1fr; }
    .quick-link {
      border-radius: 12px;
      border: 1px solid var(--line);
      background: var(--panel);
      padding: 10px 12px;
      font-size: 13px;
      font-weight: 700;
      color: var(--text);
      transition: all .25s ease;
    }
    .quick-link:hover {
      border-color: var(--primary);
      color: var(--primary);
      transform: translateX(4px);
      background: var(--primary-soft);
    }
    .quick-link small {
      display: block;
      margin-top: 4px;
      font-size: 12px;
      font-weight: 500;
      color: var(--muted);
    }

    .chip-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
    .chip-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 0 12px;
      height: 32px;
      line-height: 1;
      border-radius: 99px;
      background: var(--panel);
      border: 1px solid var(--line);
      font-size: 13px;
      font-weight: 700;
      color: var(--muted);
      transition: all .25s cubic-bezier(0.4, 0, 0.2, 1);
      cursor: pointer;
    }
    .chip-link:hover {
      background: #fff;
      border-color: var(--primary);
      color: var(--primary);
      transform: translateY(-2px);
      box-shadow: 0 6px 15px rgba(30, 41, 59, 0.12);
    }
    .chip-tag {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: var(--panel);
      padding: 0 12px;
      height: 34px;
      line-height: 1;
      font-size: 13px;
      font-weight: 600;
      color: var(--text);
      transition: all .25s cubic-bezier(0.4, 0, 0.2, 1);
      cursor: pointer;
    }
    .chip-tag:hover {
      background: #fff;
      border-color: var(--primary);
      color: var(--primary);
      transform: translateY(-2px);
      box-shadow: 0 6px 15px rgba(30, 41, 59, 0.12);
    }

    .chip-tag.size-sm { font-size: 12px; opacity: 0.92; }
    .chip-tag.size-md { font-size: 13px; }
    .chip-tag.size-lg { font-size: 14px; font-weight: 700; }
    
    body[data-theme="dark"] .chip-link,
    body[data-theme="dark"] .chip-tag {
      background: rgba(30, 41, 59, 0.7);
      border-color: rgba(148, 163, 184, 0.15);
      color: #94a3b8;
    }
    body[data-theme="dark"] .chip-link:hover,
    body[data-theme="dark"] .chip-tag:hover {
      background: rgba(51, 65, 85, 0.8);
      border-color: var(--primary);
      color: #fff;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
    }

    /* 用户信息卡片样式 */
    .user-card {
        padding: 20px;
        text-align: center;
        position: relative;
        overflow: hidden;
    }
    .user-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 108px;
        background:
            radial-gradient(circle at top left, var(--primary-a2), transparent 58%),
            radial-gradient(circle at top right, rgba(148, 163, 184, 0.18), transparent 52%),
            linear-gradient(180deg, var(--primary-a12) 0%, var(--primary-a08) 55%, rgba(255,255,255,0) 100%);
        pointer-events: none;
        z-index: 0;
    }
    .user-card > * {
        position: relative;
        z-index: 1;
    }
    .user-card-avatar {
        width: 72px;
        height: 72px;
        border-radius: 18px;
        margin: 0 auto 12px;
        object-fit: cover;
        border: 3px solid #fff;
        box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        background: var(--table-header-bg);
        display: block;
    }
    .user-card-name {
        font-size: 18px;
        font-weight: 800;
        margin-bottom: 6px;
        color: var(--text);
    }
    .user-card-sig {
        font-size: 13px;
        color: var(--muted);
        margin-bottom: 18px;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 39px;
    }
    .user-card-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 14px;
    }
    .user-card .exp-container {
        margin-top: 10px;
        margin-bottom: 14px;
    }
    .user-card-btn {
        padding: 10px;
        border-radius: 12px;
        font-size: 13px;
        font-weight: 700;
        transition: all 0.2s;
        cursor: pointer;
        border: 1px solid var(--line);
        background: var(--panel);
        color: var(--text);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }
    .user-card-btn:hover {
        background: var(--table-header-bg);
        transform: translateY(-1px);
    }
    .user-card-btn.primary,
    .guest-card .user-card-btn.primary {
        background: #64748b !important; /* 统一换成更明显的灰色 (Slate 500) */
        color: #fff !important;
        border: none;
        box-shadow: 0 4px 12px rgba(30, 41, 59, 0.2);
    }
    .user-card-btn.primary:hover,
    .guest-card .user-card-btn.primary:hover {
        background: #475569 !important; /* 悬浮加深 */
        box-shadow: 0 8px 15px rgba(30, 41, 59, 0.3);
        transform: translateY(-2px);
    }
    
    body[data-theme="dark"] .user-card-btn.primary,
    body[data-theme="dark"] .guest-card .user-card-btn.primary {
        background: #64748b !important; /* 黑夜模式也统一为该灰色 */
        color: #fff !important;
        font-weight: 800;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    }
    body[data-theme="dark"] .user-card-btn.primary:hover,
    body[data-theme="dark"] .guest-card .user-card-btn.primary:hover {
        box-shadow: 0 8px 20px rgba(30, 41, 59, 0.4);
    }
    .user-card-btn.checkin.active {
        background: #f0fdf4;
        color: #16a34a;
        border-color: #dcfce7;
        cursor: default;
    }

    /* 返回顶部按钮样式 */
    .back-to-top {
        position: fixed;
        bottom: 30px;
        right: 130px !important; /* 向左移动并提高优先级 */
        width: 48px;
        height: 48px;
        background: var(--panel);
        border: 1px solid var(--line);
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--primary);
        cursor: pointer;
        z-index: 1000;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: var(--card-shadow);
    }
    .back-to-top.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .back-to-top:not(.show) {
        transform: translateY(20px);
    }
    .back-to-top:hover {
        background: var(--primary);
        color: #fff;
        border-color: var(--primary);
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(30, 41, 59, 0.2);
    }
    .back-to-top svg {
        width: 24px;
        height: 24px;
        stroke-width: 3;
    }
    @media (max-width: 768px) {
        .back-to-top {
            bottom: 20px;
            right: 20px;
            width: 40px;
            height: 40px;
        }
    }

    /* 游客卡片样式增强 */
    .guest-card {
        padding: 30px 20px;
        text-align: center;
    }
    .guest-card-logo {
        width: 54px;
        height: 54px;
        background: linear-gradient(135deg, #1e293b, #0f172a);
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 26px;
        color: #fff;
        font-weight: 900;
        margin: 0 auto 16px;
        box-shadow: 0 10px 20px rgba(15, 23, 42, 0.25);
    }
    .guest-card-title {
        font-size: 20px;
        font-weight: 800;
        margin-bottom: 8px;
        color: var(--text);
    }
    .guest-card-desc {
        font-size: 14px;
        color: var(--muted);
        margin-bottom: 24px;
        line-height: 1.5;
    }

    body[data-theme="dark"] .guest-card-logo {
        background: linear-gradient(135deg, #334155, #1e293b);
        box-shadow: 0 10px 20px rgba(56, 189, 248, 0.2);
    }

    body[data-theme="dark"] .user-card-avatar {
        border-color: #1e293b;
    }
    body[data-theme="dark"] .user-card::before {
        background:
            radial-gradient(circle at top left, var(--primary-a3), transparent 56%),
            radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 46%),
            linear-gradient(180deg, rgba(30, 41, 59, 0.72) 0%, rgba(30, 41, 59, 0.22) 55%, rgba(30,41,59,0) 100%);
    }
    body[data-theme="dark"] .user-card-name,
    body[data-theme="dark"] .guest-card-title {
        color: #f8fafc;
    }
    body[data-theme="dark"] .user-card-sig,
    body[data-theme="dark"] .guest-card-desc {
        color: #94a3b8;
    }
    body[data-theme="dark"] .user-card-btn {
        background: rgba(30, 41, 59, 0.7);
        border-color: rgba(148, 163, 184, 0.25);
        color: #f1f5f9;
    }
    body[data-theme="dark"] .user-card-btn:hover {
        background: rgba(51, 65, 85, 0.8);
        border-color: rgba(148, 163, 184, 0.35);
    }
    body[data-theme="dark"] .user-card-btn.checkin.active {
        background: rgba(22, 163, 74, 0.15);
        color: #4ade80;
        border-color: rgba(74, 222, 128, 0.2);
    }

    /* 签到成功模态框样式 */
    .晚星社区-modal-overlay {
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(15, 23, 42, 0.6);
        backdrop-filter: blur(8px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10000;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .晚星社区-modal-overlay.is-show {
        opacity: 1;
        visibility: visible;
    }
    .晚星社区-modal-content {
        background: var(--panel);
        width: min(400px, 90%);
        border-radius: 28px;
        padding: 32px;
        text-align: center;
        transform: scale(0.8) translateY(20px);
        transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    }
    .晚星社区-modal-overlay.is-show .晚星社区-modal-content {
        transform: scale(1) translateY(0);
    }
    .晚星社区-checkin-icon {
        font-size: 64px;
        margin-bottom: 20px;
        display: inline-block;
        animation: bounce 1s infinite;
    }
    @keyframes bounce {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-10px); }
    }
    .晚星社区-modal-title {
        font-size: 22px;
        font-weight: 800;
        color: var(--text);
        margin-bottom: 12px;
    }
    .晚星社区-modal-msg {
        font-size: 15px;
        color: var(--muted);
        margin-bottom: 24px;
        line-height: 1.6;
    }
    .晚星社区-exp-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: var(--table-header-bg);
        color: var(--text);
        padding: 8px 20px;
        border-radius: 99px;
        font-weight: 800;
        font-size: 18px;
        margin-bottom: 24px;
        border: 2px solid var(--line);
    }
    .晚星社区-modal-btn {
        width: 100%;
        padding: 14px;
        background: linear-gradient(135deg, #1e293b, #0f172a);
        color: #fff;
        border: none;
        border-radius: 16px;
        font-weight: 700;
        font-size: 15px;
        cursor: pointer;
        transition: all 0.2s;
    }
    .晚星社区-modal-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 20px rgba(15, 23, 42, 0.3);
    }
    body[data-theme="dark"] .晚星社区-modal-content {
        background: #1e293b;
    }
    body[data-theme="dark"] .晚星社区-modal-content input,
    body[data-theme="dark"] .晚星社区-modal-content textarea {
        color: #f1f5f9 !important;
        background: #0f172a !important;
        border-color: rgba(255, 255, 255, 0.1) !important;
    }
    body[data-theme="dark"] .晚星社区-modal-title {
        color: #f1f5f9;
    }
    body[data-theme="dark"] .晚星社区-exp-badge {
        background: rgba(30, 41, 59, 0.15);
        border-color: rgba(30, 41, 59, 0.2);
        color: #475569;
    }

    .portal-card-icon {
      width: 46px;
      height: 46px;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.9);
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      color: #0f172a;
      font-weight: 800;
    }
    .portal-card-icon-img { width: 100%; height: 100%; object-fit: contain; }
    .portal-card-icon-svg, .portal-card-icon-svg svg { width: 30px; height: 30px; display: block; }
    .portal-card-icon-text { font-size: 15px; letter-spacing: .02em; }
    .article-badge { padding: 5px 9px; border-radius: 999px; background: rgba(255, 255, 255, 0.86); font-size: 12px; font-weight: 700; color: #1e293b; }
    .pagination {
      margin-top: 14px;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      justify-content: center;
    }
    .page-btn {
      min-width: 36px;
      height: 34px;
      padding: 0 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      border: 1px solid var(--line);
      background: var(--panel);
      color: var(--text);
      font-size: 13px;
      font-weight: 700;
    }
    .page-btn.active {
      color: #fff !important;
      border-color: transparent;
      background: var(--primary) !important;
      box-shadow: 0 4px 10px var(--primary-a2);
    }
    .page-btn.disabled {
      opacity: 0.45;
      pointer-events: none;
    }
    .page-text {
      margin-left: 4px;
      font-size: 12px;
      color: var(--muted);
    }
    .site-footer {
      margin-top: 22px;
      padding: 16px 12px 20px;
      text-align: center;
      color: #64748b;
      font-size: 13px;
      border-top: 1px solid var(--line);
      background: rgba(255, 255, 255, 0.66);
      backdrop-filter: blur(12px);
    }

    body[data-theme="dark"] .stat-tile {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(17, 24, 39, 0.98));
      border-color: rgba(148, 163, 184, 0.18);
    }
    body[data-theme="dark"] .stat-tile.wide {
      background: linear-gradient(135deg, rgba(56, 189, 248, 0.12), rgba(15, 23, 42, 0.92));
    }
    body[data-theme="dark"] .article-meta {
      color: rgba(148, 163, 184, 0.88);
    }
    body[data-theme="dark"] .quick-link,
    body[data-theme="dark"] .chip-link,
    body[data-theme="dark"] .chip-tag,
    body[data-theme="dark"] .page-btn {
      background: rgba(15, 23, 42, 0.9);
      border-color: rgba(148, 163, 184, 0.18);
      color: rgba(226, 232, 240, 0.92);
    }
    body[data-theme="dark"] .page-btn.active {
      background: var(--primary) !important;
      color: #fff !important;
      font-weight: 800;
      border-color: transparent;
      box-shadow: 0 8px 16px var(--primary-a3);
    }
    body[data-theme="dark"] .portal-card-icon {
      background: rgba(15, 23, 42, 0.72);
      color: rgba(226, 232, 240, 0.92);
    }
    body[data-theme="dark"] .article-badge {
      background: rgba(15, 23, 42, 0.72);
      color: rgba(226, 232, 240, 0.92);
    }
    body[data-theme="dark"] .site-footer {
      color: rgba(148, 163, 184, 0.92);
      border-top-color: rgba(148, 163, 184, 0.18);
      background: rgba(15, 23, 42, 0.66);
    }

    @media (max-width: 980px) {
      .content-layout { grid-template-columns: 1fr; }
    }

                .chip-link.active {
                  background: var(--primary);
                  color: #fff !important;
                  border-color: var(--primary) !important;
                }

                .chip-tag.active {
                  background: var(--primary);
                  color: #fff !important;
                  border-color: var(--primary) !important;
                }

                .ads-container {
                  display: grid;
                  grid-template-columns: repeat(6, 1fr);
                  gap: 12px;
                }
                .ad-item {
                  border-radius: 12px;
                  overflow: hidden;
                  border: 1px solid var(--line);
                  transition: transform 0.2s;
                }
                .ad-item:hover { transform: scale(1.02); }
                .ad-item.grid-cols-1 { grid-column: span 6; }
                .ad-item.grid-cols-2 { grid-column: span 3; }
                .ad-item.grid-cols-3 { grid-column: span 2; }
                
                @media (max-width: 980px) {
                  .ads-widget {
                    margin-bottom: 20px !important;
                  }
                  .ad-item.grid-cols-2, .ad-item.grid-cols-3 { grid-column: span 6; }
                }

                .friend-links-grid {
                  display: grid;
                  grid-template-columns: repeat(3, 1fr);
                  gap: 8px;
                }
                .friend-link-item {
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  height: 36px;
                  background: rgba(148, 163, 184, 0.05);
                  border: 1px solid var(--line);
                  border-radius: 8px;
                  font-size: 12px;
                  font-weight: 600;
                  color: var(--text);
                  text-align: center;
                  transition: all 0.2s;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  padding: 0 4px;
                }
                .friend-link-item:hover {
                  background: #fff;
                  border-color: var(--primary);
                  color: var(--primary);
                  transform: translateY(-2px);
                  box-shadow: 0 4px 12px rgba(30, 41, 59, 0.1);
                }
                .apply-link-btn {
                  cursor: pointer;
                  background: rgba(30, 41, 59, 0.04);
                  border-style: dashed;
                  color: var(--primary);
                }
                body[data-theme="dark"] .friend-link-item { background: rgba(15, 23, 42, 0.6); }
                body[data-theme="dark"] .friend-link-item:hover { background: #1e293b; }
                body[data-theme="dark"] .apply-link-btn { background: rgba(30, 41, 59, 0.1); }

                .new-users-grid {
                  display: grid;
                  grid-template-columns: repeat(4, 1fr);
                  gap: 12px;
                }
                .new-user-item {
                  text-align: center;
                  display: flex;
                  flex-direction: column;
                  align-items: center;
                  gap: 6px;
                }
                .new-user-avatar {
                  width: 48px;
                  height: 48px;
                  border-radius: 12px;
                  object-fit: cover;
                  background: #f1f5f9;
                  border: 2px solid transparent;
                  transition: all 0.2s;
                }
                .new-user-item:hover .new-user-avatar {
                  transform: scale(1.1);
                  border-color: var(--primary);
                  box-shadow: 0 4px 10px rgba(30, 41, 59, 0.2);
                }
                .new-user-name {
                  font-size: 11px;
                  font-weight: 600;
                  color: var(--muted);
                  max-width: 100%;
                  overflow: hidden;
                  text-overflow: ellipsis;
                  white-space: nowrap;
                }
                body[data-theme="dark"] .new-user-avatar { background: #0f172a; }

        /* 极致强制：分页选中页码绿色化 */
        .page-btn.active, .page-link.active {
            background: var(--primary) !important;
            background-color: var(--primary) !important;
            color: #ffffff !important;
            border-color: var(--primary) !important;
            box-shadow: 0 4px 12px var(--primary-a4) !important;
        }
        body[data-theme="dark"] .page-btn.active, 
        body[data-theme="dark"] .page-link.active {
            background: var(--primary) !important;
            background-color: var(--primary) !important;
            color: #ffffff !important;
            border-color: var(--primary) !important;
        }

        /* 悬浮状态绿色化 */
        .page-btn:hover:not(.active),
        .page-link:hover:not(.active) {
            border-color: var(--primary) !important;
            color: var(--primary) !important;
            background: var(--primary-a08) !important;
        }
        body[data-theme="dark"] .page-btn:hover:not(.active),
        body[data-theme="dark"] .page-link:hover:not(.active) {
            border-color: var(--primary) !important;
            color: var(--primary) !important;
            background: var(--primary-a15) !important;
        }
