    :root {
        color-scheme: light;
        --bg: #f3f7fc;
        --bg-card: #ffffff;
        --text: #0f1f33;
        --text-muted: #4b647d;
        --text-muted2: #7e92a8;
        --border: #dce7f2;
        --primary: #2563eb;
        --primary-light: #dbeafe;
        --primary-lighter: #eff6ff;
        --primary-grad: linear-gradient(135deg,#2563eb,#0891b2);
        --accent: #edf4fb;
        --nav-bg: #0b1628;
        --nav-surface: #10213a;
        --nav-border: #203a59;
        --nav-text: #c7d7e9;
        --nav-hover-bg: rgba(37,99,235,.22);
        --nav-active-bg: linear-gradient(135deg,#2563eb,#0891b2);
        --nav-input-bg: rgba(255,255,255,.08);
        --nav-input-border: rgba(148,163,184,.28);
        --nav-focus: #38bdf8;
        --nav-brand: #67e8f9;
        --featured-bg: linear-gradient(135deg,#12376c,#1263a8 58%,#0e7490);
        --latest-bg: #f8fbff;
        --latest-border: #d8e6f3;
        --badge-green-bg: #ecfdf5;
        --badge-green-border: #a7f3d0;
        --badge-green-text: #059669;
        --go-amber-bg: #fffbeb;
        --go-amber-border: #fde68a;
        --go-amber-text: #92400e;
        --go-blue-bg: #e0f2fe;
        --go-blue-border: #7dd3fc;
        --go-blue-text: #075985;
        --rank-1: #ef4444;
        --rank-2: #f97316;
        --rank-3: #eab308;
        --rank-gray: #e8f0f8;
        --rank-gray-text: #6b829d;
    }
    .dark {
        color-scheme: dark;
        --bg: #07111f;
        --bg-card: #0f1d30;
        --text: #e5f0ff;
        --text-muted: #9db1c7;
        --text-muted2: #6b829d;
        --border: #1c3552;
        --primary: #60a5fa;
        --primary-light: #12345c;
        --primary-lighter: #0d2645;
        --primary-grad: linear-gradient(135deg,#3b82f6,#06b6d4);
        --accent: #10263e;
        --nav-bg: #07111f;
        --nav-surface: #0b1a2e;
        --nav-border: #1c3552;
        --nav-text: #b7cbe0;
        --nav-hover-bg: rgba(37,99,235,.25);
        --nav-active-bg: linear-gradient(135deg,#3b82f6,#06b6d4);
        --nav-input-bg: rgba(255,255,255,.07);
        --nav-input-border: rgba(96,165,250,.3);
        --nav-focus: #60a5fa;
        --nav-brand: #67e8f9;
        --featured-bg: linear-gradient(135deg,#0d2549,#124d83 58%,#155e75);
        --latest-bg: #0b1829;
        --latest-border: #1c3552;
        --badge-green-bg: #064e3b;
        --badge-green-border: #065f46;
        --badge-green-text: #6ee7b7;
        --go-amber-bg: #451a03;
        --go-amber-border: #78350f;
        --go-amber-text: #fde68a;
        --go-blue-bg: #0c3652;
        --go-blue-border: #155e75;
        --go-blue-text: #7dd3fc;
        --rank-1: #dc2626;
        --rank-2: #ea580c;
        --rank-3: #ca8a04;
        --rank-gray: #1e293b;
        --rank-gray-text: #64748b;
    }
    /* 配色预设：只改变品牌色和氛围色，不改变内容布局。 */
    html[data-theme-preset="teal"] {
        --primary: #0f766e;
        --primary-light: #ccfbf1;
        --primary-lighter: #f0fdfa;
        --primary-grad: linear-gradient(135deg,#0f766e,#0284c7);
        --nav-bg: #09272c;
        --nav-surface: #0d3438;
        --nav-border: #1b5b60;
        --nav-text: #c7eeea;
        --nav-hover-bg: rgba(20,184,166,.22);
        --nav-active-bg: linear-gradient(135deg,#0f766e,#0284c7);
        --nav-input-bg: rgba(20,184,166,.14);
        --nav-input-border: rgba(94,234,212,.32);
        --nav-focus: #2dd4bf;
        --nav-brand: #5eead4;
        --featured-bg: linear-gradient(135deg,#104e59,#0f766e 58%,#0369a1);
    }
    html.dark[data-theme-preset="teal"] {
        --primary: #2dd4bf;
        --primary-light: #123d43;
        --primary-lighter: #0d2e35;
        --primary-grad: linear-gradient(135deg,#0f766e,#0284c7);
        --nav-bg: #061c20;
        --nav-surface: #092b30;
        --nav-border: #164b50;
        --nav-text: #b7e8e1;
        --nav-hover-bg: rgba(45,212,191,.2);
        --nav-active-bg: linear-gradient(135deg,#0f766e,#0891b2);
        --nav-input-bg: rgba(45,212,191,.1);
        --nav-input-border: rgba(45,212,191,.3);
        --nav-focus: #5eead4;
        --nav-brand: #5eead4;
        --featured-bg: linear-gradient(135deg,#0b3038,#0f5d69 58%,#075985);
    }
    html[data-theme-preset="graphite"] {
        --primary: #1d4ed8;
        --primary-light: #dbeafe;
        --primary-lighter: #f1f5ff;
        --primary-grad: linear-gradient(135deg,#1e40af,#475569);
        --nav-bg: #151b2b;
        --nav-surface: #202a3d;
        --nav-border: #3b4b65;
        --nav-text: #dbe6f5;
        --nav-hover-bg: rgba(71,85,105,.38);
        --nav-active-bg: linear-gradient(135deg,#1d4ed8,#475569);
        --nav-input-bg: rgba(255,255,255,.09);
        --nav-input-border: rgba(148,163,184,.34);
        --nav-focus: #93c5fd;
        --nav-brand: #bfdbfe;
        --featured-bg: linear-gradient(135deg,#172554,#1e40af 58%,#334155);
        --accent: #eef2f7;
    }
    html.dark[data-theme-preset="graphite"] {
        --primary: #93c5fd;
        --primary-light: #172d52;
        --primary-lighter: #10223f;
        --primary-grad: linear-gradient(135deg,#1d4ed8,#475569);
        --nav-bg: #0d1422;
        --nav-surface: #172235;
        --nav-border: #2e405b;
        --nav-text: #cbd8eb;
        --nav-hover-bg: rgba(71,85,105,.34);
        --nav-active-bg: linear-gradient(135deg,#1d4ed8,#475569);
        --nav-input-bg: rgba(148,163,184,.1);
        --nav-input-border: rgba(148,163,184,.3);
        --nav-focus: #bfdbfe;
        --nav-brand: #bfdbfe;
        --featured-bg: linear-gradient(135deg,#101d38,#1e3a8a 58%,#334155);
        --accent: #17283d;
    }
    * { -webkit-tap-highlight-color: transparent; }
    html { scroll-behavior: smooth; }
    html { background: var(--bg); }
    body {
        font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", "Segoe UI", "Helvetica Neue", sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        background: var(--bg);
        color: var(--text);
        letter-spacing: 0.01em;
    }
    h1,h2,h3,h4 { font-weight: 700; letter-spacing: -0.01em; }
    /* 输入框（前台统一样式） */
    .input {
        height: 2.75rem; width: 100%;
        border-radius: 0.6rem;
        border: 1px solid var(--border);
        background: var(--bg-card);
        padding: 0 0.9rem;
        font-size: 0.9rem;
        color: var(--text);
        transition: border-color 0.2s, box-shadow 0.2s;
    }
    .input:focus {
        outline: none;
        border-color: var(--primary);
        box-shadow: 0 0 0 3px var(--primary-light);
    }
    .input::placeholder { color: var(--text-muted2); }
    .btn { display: inline-flex; align-items: center; justify-content: center; font-weight: 600; border-radius: 0.75rem; font-size: 0.875rem; transition: all 0.2s; }
    .btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
    .btn-default { background: var(--primary-grad); color: white; box-shadow: 0 4px 14px -2px rgba(37,99,235,0.35); }
    .btn-default:hover { opacity: 0.94; transform: translateY(-1px); box-shadow: 0 6px 20px -4px rgba(8,145,178,0.4); }
    .btn-primary { background: var(--primary-grad); color: white; box-shadow: 0 2px 10px -2px rgba(37,99,235,0.35); }
    .btn-primary:hover { opacity: 0.92; transform: translateY(-1px); }
    .btn-ghost { color: var(--text-muted); }
    .btn-ghost:hover { background: var(--accent); color: var(--text); }
    .btn-outline { border: 1px solid var(--border); color: var(--text); background: var(--bg-card); }
    .btn-sm { height: 2rem; padding: 0 0.875rem; font-size: 0.75rem; border-radius: 0.625rem; }
    .btn-md { height: 2.5rem; padding: 0 1.25rem; border-radius: 0.75rem; }
    .btn-lg { height: 2.75rem; padding: 0 1.5rem; font-size: 1rem; border-radius: 0.875rem; }
    /* 悬浮胶囊式主导航；有子分类的一级项负责展开。 */
    .nav-strip {
        background: transparent;
        padding: .65rem 0 .8rem;
    }
    .nav-strip .nav-scroll-shell {
        width: min(1120px, calc(100% - 32px));
        min-height: 3.45rem;
        margin: 0 auto;
        padding: .35rem .45rem;
        border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
        border-radius: 1.1rem;
        background: color-mix(in srgb, var(--nav-surface) 96%, transparent);
        border-color: var(--nav-border);
        box-shadow: 0 8px 24px rgba(2, 12, 27, .18);
    }
    .nav-tab {
        position: relative; display: inline-flex; align-items: center; gap: 0.35rem;
        min-height: 2.65rem; padding: 0.48rem 0.85rem; border: 1px solid transparent;
        border-radius: .55rem; font-size: 15px; line-height: 1.4; font-weight: 550; letter-spacing: 0;
        color: var(--nav-text); white-space: nowrap; flex-shrink: 0;
        transition: color .16s ease, background-color .16s ease, box-shadow .16s ease;
    }
    a.nav-tab { text-decoration: none; }
    button.nav-tab {
        background: transparent;
        cursor: pointer;
        font-family: inherit;
        font-size: 15px;
        font-weight: 550;
        line-height: 1.4;
        letter-spacing: 0;
    }
    .nav-tab:hover { background: var(--nav-hover-bg); color: #fff; }
    /* 导航辅助线属于主题状态，不沿用分类后台的固定颜色。 */
    .nav-tab[data-category-color]::after { content:''; position:absolute; left:.78rem; right:.78rem; bottom:.18rem; height:2px; border-radius:999px; background:var(--primary); opacity:.65; transform:scaleX(.35); transform-origin:center; transition:transform .16s ease, opacity .16s ease; }
    .nav-tab[data-category-color]:hover::after, .nav-tab[data-category-color].nav-active::after { opacity:1; transform:scaleX(1); }
    .nav-tab.nav-active {
        font-weight: 650;
        color: #fff;
        background: var(--nav-active-bg);
        border-color: color-mix(in srgb, var(--nav-focus) 72%, transparent);
        box-shadow: 0 4px 14px color-mix(in srgb, var(--primary) 32%, transparent);
    }
    .nav-tab.nav-active:hover { color: #fff; background: var(--nav-active-bg); }
    .nav-home { gap: .42rem; }
    .nav-home-icon { width: 1rem; height: 1rem; flex: 0 0 auto; }
    /* Desktop dropdowns must be allowed to escape the nav row. The old
       horizontal overflow container clipped every submenu below it. */
    .nav-scroll { overflow: visible; }
    .nav-scroll-shell { position: relative; min-width: 0; }

    /* 横向导航只允许在导航容器内滚动，不能把页面整体撑宽。 */
    @media (max-width: 767px) {
        html, body { overflow-x: hidden; }
        .nav-strip, .nav-scroll-shell { max-width: 100%; overflow: hidden; }
    }
    .nav-menu { position: relative; display: inline-flex; align-items: center; flex-shrink: 0; }
    .nav-menu.is-open > .nav-tab {
        color: #fff;
        background: var(--nav-hover-bg);
        border-color: color-mix(in srgb, var(--nav-focus) 70%, transparent);
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nav-focus) 22%, transparent);
    }
    .nav-menu.is-open > .nav-tab.nav-active {
        color: #fff;
        background: var(--nav-active-bg);
        border-color: color-mix(in srgb, var(--nav-focus) 72%, transparent);
        box-shadow: 0 4px 14px color-mix(in srgb, var(--primary) 32%, transparent);
    }
    .nav-menu > .nav-tab { cursor: pointer; }
    .nav-menu > .nav-tab:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
    .nav-menu.is-open > .nav-tab .nav-chevron { transform: rotate(180deg); }
    .nav-chevron { transition: transform .18s ease; }
    .nav-menu-panel {
        display: flex;
        flex-direction: column;
        gap: .15rem;
        position: absolute; top: calc(100% + .42rem); left: 0; min-width: 19rem;
        padding: .55rem; border: 1px solid var(--border); border-radius: .8rem;
        background: color-mix(in srgb, var(--bg-card) 94%, transparent); box-shadow: 0 12px 28px rgba(15,23,42,.14); z-index: 80;
        backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
        transform-origin: top left; animation: navPanelIn .14s ease-out;
    }
    .nav-mobile-backdrop { display:none; }
    .nav-menu-panel[hidden] { display: none !important; }
    .nav-dropdown-item { display:flex; align-items:center; min-height:2.45rem; min-width:0; padding:.48rem .7rem; border-radius:.5rem; color:var(--text-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:14px; line-height:1.4; font-weight:500; transition:background-color .14s ease, color .14s ease; }
    .nav-dropdown-item[data-category-color]::before { content:''; width:.4rem; height:.4rem; flex:0 0 .4rem; margin-right:.5rem; border-radius:999px; background:var(--category-color,var(--primary)); opacity:.8; }
    .nav-dropdown-item:hover { background:var(--accent); color:var(--primary); }
    .nav-dropdown-item.nav-dropdown-active {
        color: var(--primary);
        font-weight: 650;
        background: var(--primary-light);
        box-shadow: inset 3px 0 0 var(--primary), 0 1px 4px rgba(99, 102, 241, .08);
    }
    @keyframes navPanelIn { from { opacity:0; transform:translateY(-4px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
    @media (max-width: 767px) {
        /* 移动端导航保持单行，不折叠；通过手指左右滑动浏览全部一级分类。 */
        .nav-strip { padding: .45rem 0 .7rem; }
        .nav-strip .nav-scroll-shell { width: calc(100% - 20px); min-height: 3.35rem; padding: .28rem .3rem; border-radius: .95rem; }
        .nav-scroll-shell::before, .nav-scroll-shell::after {
            content: ''; position: absolute; top: 0; bottom: .15rem; width: 2rem;
            z-index: 2; pointer-events: none; opacity: 0; transition: opacity .18s ease;
        }
        .nav-scroll-shell::before { left: 0; background: linear-gradient(90deg, var(--nav-surface) 8%, color-mix(in srgb, var(--nav-surface) 76%, transparent) 50%, transparent); }
        .nav-scroll-shell::after { right: 0; background: linear-gradient(270deg, var(--nav-surface) 8%, color-mix(in srgb, var(--nav-surface) 76%, transparent) 50%, transparent); }
        .nav-scroll-shell.has-left-fade::before, .nav-scroll-shell.has-right-fade::after { opacity: 1; }
        .nav-scroll {
            width: 100%; max-width: 100%; overflow-x: auto !important; overflow-y: hidden !important;
            flex-wrap: nowrap; -webkit-overflow-scrolling: touch; touch-action: pan-x;
            overscroll-behavior-x: contain; scroll-behavior: auto !important; padding-bottom: .15rem;
        }
        /* 移动端下拉脱离胶囊容器，避免 backdrop-filter 改变 fixed 的定位基准。 */
        .nav-strip .nav-scroll-shell { backdrop-filter: none; -webkit-backdrop-filter: none; }
        .nav-menu-panel {
            position: fixed; left: .75rem; right: .75rem; top: auto; min-width: 0;
            max-height: min(60vh, 22rem); overflow: auto; border-radius: .8rem;
            background: var(--bg-card); opacity: 1; z-index: 100;
            border-color: color-mix(in srgb, var(--nav-focus) 38%, var(--border));
            box-shadow: 0 18px 42px rgba(2, 12, 27, .24), 0 0 0 1px color-mix(in srgb, var(--nav-focus) 10%, transparent);
        }
        .nav-mobile-backdrop {
            /* 位于顶部导航下方，避免遮住固定定位的子分类面板。 */
            position: fixed; inset: 0; z-index: 40;
            display: block; pointer-events: none; opacity: 0;
            background: rgba(3, 13, 27, .22);
            backdrop-filter: blur(1px); -webkit-backdrop-filter: blur(1px);
            transition: opacity .16s ease;
        }
        .nav-mobile-backdrop.is-visible { pointer-events: auto; opacity: 1; }
        .nav-menu-panel .nav-dropdown-item:first-child { border-top: 2px solid color-mix(in srgb, var(--nav-focus) 45%, transparent); }
        .nav-menu-panel .nav-dropdown-item { min-height: 2.6rem; }
        .nav-menu-panel .nav-dropdown-item:hover { background: var(--primary-lighter); }
        }
    @media (min-width: 768px) { .nav-mobile-backdrop { display:none !important; } }
    @media (prefers-reduced-motion: reduce) {
        .nav-mobile-backdrop, .site-header, .nav-scroll-shell, .nav-tab { transition:none !important; }
    }
    .card {
        background: var(--bg-card);
        border-radius: 1rem;
        border: 1px solid var(--border);
        box-shadow: 0 1px 3px rgba(15,42,70,0.04), 0 8px 22px rgba(15,42,70,0.05);
    }
    /* 前台页面统一容器：首页、分类、详情、搜索和最新页共享同一条内容边界。 */
    .front-page-shell {
        width: min(1120px, calc(100% - 32px));
        margin: 0 auto;
        padding: 1.5rem 0 3rem;
    }
    .front-page-shell.detail-page {
        padding-bottom: 3rem;
    }
    .front-page-shell > .page-heading,
    .front-page-shell > .page-section {
        min-width: 0;
    }
    @media (max-width: 767px) {
        .front-page-shell {
            width: calc(100% - 32px);
            padding-top: 1rem;
            padding-bottom: 2.5rem;
        }
        .front-page-shell.home-page-shell { padding-top: .75rem; }
        .front-page-shell.detail-page {
            padding-bottom: 6rem;
        }
    }
    .badge { display: inline-flex; align-items: center; border-radius: 9999px; padding: 0.125rem 0.625rem; font-size: 0.75rem; font-weight: 600; border: 1px solid var(--border); }
    .card-hover { transition: all 0.25s cubic-bezier(0.4,0,0.2,1); }
    .card-hover:hover {
        box-shadow: 0 20px 40px -12px rgba(37,99,235,0.2), 0 8px 16px -8px rgba(15,42,70,0.12);
        transform: translateY(-4px);
        border-color: color-mix(in srgb, var(--primary) 38%, var(--border));
    }
    .tag { display: inline-flex; align-items: center; padding: 0.125rem 0.5rem; border-radius: 0.375rem; font-size: 0.75rem; background: var(--primary-lighter); color: var(--primary); border: 1px solid color-mix(in srgb, var(--primary) 14%, var(--border)); }
    /* 平台标签与主题品牌色保持一致，首页、搜索、分类和详情页共用。 */
    .platform-chip { display:inline-flex; align-items:center; min-height:1.25rem; padding:.125rem .375rem; border-radius:.375rem; font-size:10px; line-height:1.25; color:var(--primary); background:var(--primary-lighter); border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border)); }
    .platform-chip-more { color:var(--primary); background:var(--primary-light); border-color:color-mix(in srgb,var(--primary) 24%,var(--border)); }
    .category-accent { --category-color: var(--primary); --category-soft: var(--primary-light); --category-pale: var(--primary-lighter); }
    .category-chip-link { color:var(--category-color); background:var(--category-pale); border:1px solid color-mix(in srgb,var(--category-color) 18%,var(--border)); transition: color .15s, background-color .15s, box-shadow .15s, border-color .15s; }
    .category-chip-link:hover, .category-chip-link:focus-visible { color:var(--category-color); background:var(--category-soft); border-color:color-mix(in srgb,var(--category-color) 42%,var(--border)); box-shadow:0 0 0 2px color-mix(in srgb,var(--category-color) 18%,transparent); outline:none; }
    /* 列表卡片中的分类标签与平台标签保持同一套主题视觉；分类页大标题仍可使用分类色。 */
    .software-card .category-chip-link, .rank-row-category { color:var(--primary); background:var(--primary-lighter); border-color:color-mix(in srgb,var(--primary) 18%,var(--border)); }
    .software-card .category-chip-link:hover, .software-card .category-chip-link:focus-visible, .rank-row-category:hover, .rank-row-category:focus-visible { color:var(--primary); background:var(--primary-light); border-color:color-mix(in srgb,var(--primary) 42%,var(--border)); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent); }
    .category-color-dot { width:.42rem; height:.42rem; flex:0 0 .42rem; border-radius:999px; background:var(--category-color); box-shadow:0 0 0 3px color-mix(in srgb,var(--category-color) 16%,transparent); }
    .prose-custom h2 { font-size: 1.125rem; font-weight: 700; margin: 1.5rem 0 0.75rem; color: var(--text); }
    .prose-custom h3 { font-size: 1rem; font-weight: 600; margin: 1rem 0 0.5rem; color: var(--text); }
    .prose-custom p { font-size: 0.875rem; line-height: 1.75; color: var(--text-muted); margin-bottom: 0.75rem; }
    .prose-custom ul { font-size: 0.875rem; color: var(--text-muted); list-style: disc; margin-left: 1rem; }
    .prose-custom ol { font-size: 0.875rem; color: var(--text-muted); list-style: decimal; margin-left: 1rem; }
    .prose-custom code { background: var(--accent); padding: 0.125rem 0.375rem; border-radius: 0.25rem; font-size: 0.75rem; font-family: monospace; color: var(--primary); }
    .prose-custom a { color: var(--primary); text-decoration: underline; }
    .prose-custom img { border-radius: 0.75rem; margin: 1rem 0; max-width: 100%; }
    .prose-custom blockquote { border-left: 3px solid var(--border); padding-left: 1rem; margin: 1rem 0; color: var(--text-muted); }
    @keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
    .animate-in { animation: fadeIn 0.35s ease-out; }
    .icon-initial { display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1rem; color: white; border-radius: 0.75rem; width: 100%; height: 100%; }
    .icon-fallback { display:flex; align-items:center; justify-content:center; width:100%; height:100%; border-radius:.75rem; color:var(--primary); background:linear-gradient(145deg,var(--primary-light),var(--accent)); border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border)); }
    .icon-fallback-text { font-size:1rem; font-weight:750; line-height:1; letter-spacing:.02em; text-align:center; }
    .icon-fallback svg { width:48%; height:48%; display:block; }
    .icon-fallback-sm { width:2rem; height:2rem; flex:0 0 2rem; border-radius:.55rem; }
    .icon-fallback-sm.icon-fallback-text { font-size:.68rem; }
    .icon-fallback-sm svg { width:55%; height:55%; }
    /* 软件列表统一图标盒：图片尺寸不参与卡片布局，始终在固定区域内自适应。 */
    .software-icon { width: 4rem; height: 4rem; flex: 0 0 4rem; padding: .45rem; border-radius: 1rem; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--accent); border: 1px solid var(--border); }
    .software-icon img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; }
    /* 轻量轮播基础样式：不依赖外部 CDN，首页和详情页都可直接降级运行。 */
    .swiper { position: relative; overflow: hidden; }
    .swiper-wrapper { display: flex; width: 100%; transition: transform .45s ease; }
    .swiper-slide { flex: 0 0 100%; width: 100%; }
    .latest-card { height: 216px; min-height: 216px; overflow: hidden; }
    .latest-card-body { min-width: 0; min-height: 0; height: auto; flex: 1 1 auto; overflow: visible; display: flex; flex-direction: column; }
    .latest-card-title { min-width: 0; min-height: 2.5rem; line-height: 1.35; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
    .latest-card-summary { min-width: 0; min-height: 2.5rem; line-height: 1.45; }
    .software-card-body { gap: 0; }
    .software-card-heading { min-width: 0; min-height: 2.75rem; }
    .software-card-title { overflow-wrap: anywhere; }
    .software-card-version { max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .software-card-summary.is-empty { opacity: .8; }
    .software-card-tags {
        min-height: 1.35rem;
        overflow: visible;
        flex: 0 0 auto;
        align-content: flex-start;
    }
    .software-card-tags > span { white-space: nowrap; min-height: 1.25rem; box-sizing: border-box; }
    /* 分类标签必须完整显示；空间不足时让整个标签换行，不截断文字。 */
    .software-card-tags .category-chip-link {
        flex: 0 0 auto;
        max-width: 100%;
        overflow: visible;
        text-overflow: clip;
        white-space: nowrap;
    }
    .software-card-more { flex: 0 0 auto; }
    .latest-card-meta { margin-top: auto; min-height: 2.25rem; box-sizing: border-box; padding-bottom: .25rem; line-height: 1.35; flex-wrap: wrap; row-gap: .25rem; }
    .latest-card-meta > span { white-space: nowrap; flex-shrink: 0; }
    .latest-card-updated { min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; }
    .latest-card-meta > .latest-card-updated { flex-shrink: 1; }
    .software-card-stat { color: var(--text-muted); }
    .latest-card-updated { color: var(--text-muted); }
    @media (max-width: 767px) {
        /* 移动端更新时间与浏览/下载统计保持同一行，避免卡片被拉长。 */
        .latest-card { height: 216px; min-height: 216px; }
        .software-card { gap: .75rem; }
        .software-card .software-icon { width: 3.5rem; height: 3.5rem; flex-basis: 3.5rem; }
        .latest-card-meta { flex-wrap: nowrap; }
        .latest-card-updated {
            flex: 1 1 auto;
            margin-left: auto;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }
    }
    @media (max-width: 359px) {
        /* 超窄屏保留所有顶部操作入口，但缩小按钮和间距，避免品牌区横向溢出。 */
        .latest-card { height: 224px; min-height: 224px; }
        .site-header > .max-w-6xl { gap: .25rem; }
        .site-header .site-brand { font-size: .82rem; }
        .site-header .ml-auto { gap: .25rem; }
        .site-header .btn-ghost { width: 32px !important; height: 32px !important; }
        .site-header .btn-ghost svg { width: 1rem; height: 1rem; }
        /* 超窄屏保留图标和数字，隐藏重复的统计标签，避免底部再次换行。 */
        .latest-card-meta { gap: .4rem; padding-bottom: .4rem; font-size: .6875rem; line-height: 1.2; }
        .latest-card-meta .software-card-stat { gap: .15rem; }
        .latest-card-meta .software-card-stat-label { display: none; }
    }
    .rank-card-icon { width: 3.25rem; height: 3.25rem; flex: 0 0 3.25rem; padding: .35rem; border-radius: .8rem; }
    .rank-card-icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
    .rank-scroll-wrap { position:relative; min-width:0; }
    @media (min-width: 768px) {
        .site-header > .max-w-6xl { height:48px; }
        .site-header .header-search-input { height:2.25rem; }
        .site-header .btn-primary { height:2.25rem !important; }
        .site-header .btn-ghost { width:36px !important; height:36px !important; }
    }
    ::-webkit-scrollbar { width: 6px; height: 6px; }
    ::-webkit-scrollbar-thumb { background: var(--text-muted2); border-radius: 3px; }
    ::-webkit-scrollbar-thumb:hover { background: var(--primary); }
    .scrollbar-hide::-webkit-scrollbar { display: none; }
    .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

    /* ===== 轻量科技背景：网格 + 顶部蓝青光带，不使用漂浮光团 ===== */
    :root {
        --grid-line: rgba(37,99,235,0.09);
    }
    .dark {
        --grid-line: rgba(96,165,250,0.12);
    }
    .bg-grid {
        position: fixed; inset: 0; z-index: 0; pointer-events: none;
        background-image:
            linear-gradient(var(--grid-line) 1px, transparent 1px),
            linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
        background-size: 46px 46px;
        -webkit-mask-image: radial-gradient(ellipse 90% 70% at 50% 0%, #000 35%, transparent 100%);
        mask-image: radial-gradient(ellipse 90% 70% at 50% 0%, #000 35%, transparent 100%);
    }
    /* 顶部光带：增强科技氛围 */
    .bg-beam {
        position: fixed; top: 0; left: 0; right: 0; height: 320px; z-index: 0;
        pointer-events: none;
        background: linear-gradient(180deg, rgba(37,99,235,0.12), rgba(14,165,233,0.04) 42%, transparent 86%);
    }
    main, header, footer { position: relative; z-index: 1; }
    .site-header { background: var(--nav-bg); border-color: var(--nav-border) !important; box-shadow: 0 8px 24px rgba(2,12,27,.16) !important; transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease; }
    .site-header .site-brand { position:relative; color: var(--nav-brand) !important; letter-spacing:.01em; }
    .site-header .site-brand::after { content:''; display:inline-block; width:.38rem; height:.38rem; margin:0 0 .08rem .38rem; border-radius:999px; background:var(--nav-focus); box-shadow:0 0 0 3px color-mix(in srgb, var(--nav-focus) 14%, transparent), 0 0 12px color-mix(in srgb, var(--nav-focus) 75%, transparent); vertical-align:middle; }
    .site-header .btn-ghost { color: var(--nav-text); }
    .site-header .btn-ghost:hover { background: var(--nav-hover-bg); color: #fff; }
    .site-header .header-search-input { background: var(--nav-input-bg) !important; border-color: var(--nav-input-border) !important; color: #e8f1ff !important; }
    .site-header .header-search-input::placeholder { color: color-mix(in srgb, var(--nav-text) 68%, transparent); }
    .site-header .header-search-input:focus { border-color: var(--nav-focus) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--nav-focus) 20%, transparent); }
    .site-header .header-search-icon { color: color-mix(in srgb, var(--nav-text) 72%, transparent) !important; }
    .theme-preset-button { position:relative; }
    .theme-preset-button::after { content:''; position:absolute; right:6px; bottom:6px; width:6px; height:6px; border-radius:999px; background:var(--primary); box-shadow:0 0 0 2px var(--nav-bg); }
    .theme-preset-button:hover::after { background:var(--nav-focus); }
    /* 移动端不加载固定背景装饰，保持滚动流畅 */
    @media (max-width: 767px) {
        .bg-beam, .bg-grid { display: none; }
    }
