/* /Pages/404.cshtml.rz.scp.css */
/* 404 页面专属样式：颜色一律引用设计 Token，明暗主题自动适配 */

.fx-404-wrap[b-okh3ef49un] {
    position: relative;
    overflow: hidden;
    min-height: 62vh;
}

/* 巨型渐变数字：品牌渐变裁切文字 */
.fx-404-code span[b-okh3ef49un] {
    display: inline-block;
    font-size: clamp(5.5rem, 16vw, 9rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
    background: var(--app-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* 中间的 0 用云朵图标代替，轻微上下浮动营造「云在天空」氛围 */
.fx-404-zero i[b-okh3ef49un] {
    font-size: 0.82em;
    animation: fx-404-float-b-okh3ef49un 3.2s ease-in-out infinite;
}

/* 角落装饰元素：低饱和、弱存在感，纯视觉点缀 */
.fx-404-deco[b-okh3ef49un] {
    position: absolute;
    color: var(--bs-primary);
    opacity: 0.12;
    pointer-events: none;
    user-select: none;
}

.fx-404-deco-1[b-okh3ef49un] { top: 12%; left: 10%; font-size: 3.5rem; }
.fx-404-deco-2[b-okh3ef49un] { top: 18%; right: 12%; font-size: 2rem; }
.fx-404-deco-3[b-okh3ef49un] { bottom: 14%; right: 18%; font-size: 2.8rem; }

/* HTTP 404 徽章：栏目徽章 Token 底色 */
.fx-404-badge[b-okh3ef49un] {
    background: var(--app-tag-bg);
    color: var(--app-tag-text);
    font-weight: 600;
    letter-spacing: 0.08em;
}

.fx-404-title[b-okh3ef49un] {
    font-size: clamp(1.25rem, 3vw, 1.6rem);
    font-weight: 700;
    line-height: 1.4;
}

.fx-404-desc[b-okh3ef49un] {
    max-width: 32rem;
    line-height: 1.8;
}

@keyframes fx-404-float-b-okh3ef49un {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-0.35em); }
}

/* 尊重系统「减少动态效果」偏好 */
@media (prefers-reduced-motion: reduce) {
    .fx-404-zero i[b-okh3ef49un] { animation: none; }
}

/* 小屏隐藏装饰，避免视觉噪音与横向溢出 */
@media (max-width: 575.98px) {
    .fx-404-deco[b-okh3ef49un] { display: none; }
}
/* /Pages/About.cshtml.rz.scp.css */
/* ===== 关于页专属样式（ab- 前缀；颜色一律引用 site.css 全局 Token，明暗主题自动适配） ===== */

/* ===== 开场 Hero：渐变字母头像 + 标题 ===== */
.ab-avatar[b-2w9bj1uvkg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--app-gradient);
    font-size: 2rem;
    font-weight: 800;
    border: 3px solid var(--app-surface);
    box-shadow: 0 8px 24px var(--app-glow);
}
.ab-title[b-2w9bj1uvkg] {
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    line-height: 1.3;
    letter-spacing: .01em;
}

/* ===== 入场动效：淡入上移（prefers-reduced-motion 时关闭） ===== */
.ab-fade[b-2w9bj1uvkg] {
    animation: abFadeUp-b-2w9bj1uvkg .55s cubic-bezier(.2, 0, 0, 1) both;
}
.ab-d0[b-2w9bj1uvkg] { animation-delay: .05s; }
.ab-d1[b-2w9bj1uvkg] { animation-delay: .12s; }
.ab-d2[b-2w9bj1uvkg] { animation-delay: .2s; }
@keyframes abFadeUp-b-2w9bj1uvkg {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .ab-fade[b-2w9bj1uvkg] { animation: none; }
}

/* ===== 故事正文：随 .container 通栏对齐（与其他页面容器宽度一致） ===== */
.ab-article[b-2w9bj1uvkg] {
    font-size: 1rem;
    line-height: 2;
    color: var(--app-text);
}
.ab-article p[b-2w9bj1uvkg] { margin: 1.1rem 0; }
/* 开场引言：加大加粗，制造阅读起点 */
.ab-story-lead[b-2w9bj1uvkg] {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.7;
}

/* 名字由来引用块：品牌左边线 + 渐变底，全文唯一高亮 */
.ab-quote[b-2w9bj1uvkg] {
    margin: 1.6rem 0;
    padding: 1.1rem 1.3rem;
    border-left: 4px solid var(--bs-primary);
    border-radius: 0 .75rem .75rem 0;
    background: var(--app-quote-bg);
    color: var(--app-text);
    box-shadow: var(--bs-box-shadow-sm);
}
.ab-quote p[b-2w9bj1uvkg] { margin: .3rem 0; }
.ab-quote-title[b-2w9bj1uvkg] {
    font-weight: 700;
    color: var(--bs-primary-text-emphasis);
}
.ab-quote-title .bi[b-2w9bj1uvkg] { color: var(--bs-primary); }

/* ===== 小节标题：渐变圆点竖条 + 标题（与正文 h2 体系一致） ===== */
.ab-h2[b-2w9bj1uvkg] {
    display: flex;
    align-items: center;
    gap: .55rem;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 2.4rem 0 .9rem;
}
.ab-h2[b-2w9bj1uvkg]::before {
    content: "";
    width: .35rem;
    height: 1.2rem;
    border-radius: 3px;
    background: var(--app-gradient);
    flex-shrink: 0;
}

/* 内容方向 chips：轻量胶囊，不做成卡片网格 */
.ab-chips[b-2w9bj1uvkg] {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}
.ab-chip[b-2w9bj1uvkg] {
    padding: .35rem .95rem;
    border-radius: var(--bs-border-radius-pill);
    background: var(--app-tag-bg);
    color: var(--app-tag-text);
    font-size: .85rem;
    font-weight: 600;
}

/* 小原则列表：对勾图标 + 行内排版 */
.ab-principles[b-2w9bj1uvkg] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: .8rem;
}
.ab-principles li[b-2w9bj1uvkg] {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
}
.ab-principles .bi[b-2w9bj1uvkg] {
    color: var(--bs-primary);
    font-size: 1.05rem;
    line-height: 2;
    flex-shrink: 0;
}

/* 页尾小注：细分隔线 + 弱化文字 */
.ab-footnote[b-2w9bj1uvkg] {
    margin-top: 2.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--app-border);
    font-size: .8rem;
    color: var(--app-text-faint);
}

/* 移动端微调 */
@media (max-width: 575.98px) {
    .ab-article[b-2w9bj1uvkg] { font-size: .95rem; }
    .ab-story-lead[b-2w9bj1uvkg] { font-size: 1.1rem; }
}
/* /Pages/Download/Get.cshtml.rz.scp.css */
/* ===== 资源详情页（Download/Get）页面样式 ===== */
/* ===== 资源头部 Hero：品牌光晕背景 ===== */
.resource-hero[b-2cjoeny046] {
    position: relative;
    overflow: hidden;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    box-shadow: var(--bs-box-shadow-sm);
    animation: heroIn-b-2cjoeny046 .5s ease both;
}
.resource-hero[b-2cjoeny046]::before {
    content: "";
    position: absolute;
    inset: -40% -20% auto auto;
    width: 60%;
    height: 160%;
    background: radial-gradient(circle at right top, var(--app-glow-soft), transparent 65%);
    pointer-events: none;
}
@keyframes heroIn-b-2cjoeny046 {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

/* ===== 分类倾斜角标：Hero 卡右上角缎带（淡紫底，与 Software 页同款）===== */
.dl-ribbon[b-2cjoeny046] {
    position: absolute;
    top: 1.6rem;
    right: -1.95rem;            /* 对称校准：骑在右上角对角线上 */
    transform: rotate(45deg);
    display: flex;              /* 弹性居中：文字在缎带内水平垂直双居中 */
    align-items: center;
    justify-content: center;
    width: 8.6rem;              /* 加宽缎带，容纳更长分类名 */
    padding: .18rem 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.5;
    /* 淡紫底 + 深紫字：color-mix 混入背景/前景色，明暗主题自动适配 */
    background: color-mix(in srgb, var(--bs-purple) 16%, var(--bs-body-bg));
    color: color-mix(in srgb, var(--bs-purple) 80%, var(--bs-body-color));
    pointer-events: none;       /* 纯装饰角标，不拦截下方元素交互 */
    z-index: 1;
}

/* ===== 详情页封面：统一 16:10 比例，对象自适应裁切 ===== */
.detail-cover[b-2cjoeny046] {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 0.9rem;
    border: 1px solid var(--app-border);
    background: var(--app-surface-hover);
    box-shadow: var(--app-shadow-hover);
}
.detail-cover img[b-2cjoeny046] {
    width: 100%;
    height: 100%;
    object-fit: cover;   /* 图片按比例裁剪填充，不变形 */
    display: block;
}

.resource-title[b-2cjoeny046] {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    line-height: 1.4;
}

/* Pro 徽章与简介 */
.tag-chip-pro[b-2cjoeny046] {
    background: var(--app-pro-bg);
    color: var(--app-pro);
}
/* 关键词徽章：更轻量的描边样式，与分类/价格徽章区分层级 */
.tag-chip-kw[b-2cjoeny046] {
    background: transparent;
    border: 1px dashed var(--app-border);
    color: var(--app-muted);
    font-weight: 400;
}
.res-desc[b-2cjoeny046] {
    max-width: 72ch;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--app-text);
    opacity: .85;
}

/* ===== 支付入口（一行排列，按钮紧凑） ===== */
.btn-download[b-2cjoeny046] {
    background: var(--bs-body-bg);
    border-color: color-mix(in srgb, var(--app-free) 40%, transparent);
    color: var(--app-free);
    padding: .45rem 1.1rem;
    transition: all .15s ease;
}
.btn-download:hover[b-2cjoeny046] {
    background: var(--app-free);
    border-color: var(--app-free);
    color: #fff;
    filter: none;
    transform: translateY(-1px);
}
.btn-buy[b-2cjoeny046] {
    background: var(--app-pro-grad);
    border: none;
    color: #fff;
    padding: .45rem 1.1rem;
    transition: all .15s ease;
}
.btn-buy:hover[b-2cjoeny046] {
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* ===== 正文卡片头部：区块标题（与正文 h2 明显区分）===== */
.body-card-head[b-2cjoeny046] {
    /* 负外边距通栏顶到卡片边缘，形成独立标题条 */
    margin: -1.5rem -1.5rem 1.5rem;
    /* 品牌淡蓝渐隐背景，柔和不生硬 */
    padding: .9rem 1.5rem .8rem;
    background: linear-gradient(180deg, var(--app-tag-bg), transparent);
    border-bottom: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0;
}
/* 桌面端正文内边距加大，负边距同步适配 */
@media (min-width: 768px) {
    .body-card-head[b-2cjoeny046] { margin: -2rem -2.25rem 1.5rem; padding: .9rem 2.25rem .8rem; }
}
/* 卡片标题：渐变圆点 + 小号品牌色字，区分于正文 h2 的竖条样式 */
.body-card-title[b-2cjoeny046] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--bs-primary);
    margin: 0;
    padding-bottom: 0;
    background: none;
}
.body-card-title[b-2cjoeny046]::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--app-gradient);
    flex-shrink: 0;
}
.body-card-desc[b-2cjoeny046] {
    line-height: 1.8;
}

/* /Pages/Download/Index.cshtml.rz.scp.css */
/* ===== 资源集市首页（Download/Index）页面样式 ===== */
/* ===== 商城卡片：shop-card（设计稿核心样式） ===== */
.shop-card[b-e9pxakgy5a] {
    display: block;
    color: var(--app-text);
    text-decoration: none;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 0.9rem;
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.shop-card:hover[b-e9pxakgy5a] {
    transform: translateY(-4px);
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: var(--app-shadow-hover);
}

.shop-cover[b-e9pxakgy5a] {
    aspect-ratio: 5 / 3;
    overflow: hidden;
    background: var(--app-surface-hover);
}

.shop-cover img[b-e9pxakgy5a] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.shop-card:hover .shop-cover img[b-e9pxakgy5a] {
    transform: scale(1.06);
}

/* 价格徽章 */
.price-badge[b-e9pxakgy5a] {
    position: absolute;
    left: 0.7rem;
    bottom: 0.7rem;
    padding: 0.22rem 0.8rem;
    border-radius: var(--bs-border-radius-pill);
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
    backdrop-filter: blur(6px);
    box-shadow: var(--bs-box-shadow-sm);
}

.price-badge.is-free[b-e9pxakgy5a] {
    background: var(--app-free);
}

.price-badge.is-pro[b-e9pxakgy5a] {
    background: var(--app-pro-grad);
}

/* 评分星星 */
.rating-stars[b-e9pxakgy5a] {
    font-size: 0.75rem;
}

/* ===== 快捷模块：标题列表 ===== */
.quick-module[b-e9pxakgy5a] {
    height: 100%;
    border: 1px solid var(--app-border);
    border-radius: 0.75rem;
    background: var(--app-surface);
    padding: 0.85rem 1rem;
    transition: all 0.18s ease;
}

.quick-module:hover[b-e9pxakgy5a] {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: var(--bs-box-shadow);
}

.quick-head[b-e9pxakgy5a] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px dashed var(--app-border);
}

.quick-head i[b-e9pxakgy5a] {
    color: var(--bs-primary);
    font-size: 1.1rem;
}

.quick-list[b-e9pxakgy5a] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.quick-link[b-e9pxakgy5a] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--app-text);
    text-decoration: none;
    font-size: 0.82rem;
    transition: color 0.15s ease;
}

.quick-num[b-e9pxakgy5a] {
    flex-shrink: 0;
    width: 1.3rem;
    height: 1.3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    background: var(--bs-primary);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1;
}

.quick-title[b-e9pxakgy5a] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.quick-link:hover[b-e9pxakgy5a] {
    color: var(--bs-primary);
}
/* /Pages/Index.cshtml.rz.scp.css */
/* ============================================================
   首页专属样式（页面隔离）
   Token / 公共组件（.hero .banner-* .carousel-banner .cta-band
   .section-eyebrow 等）统一来自 site.css，此处不重复定义
   ============================================================ */

/* ---------- 整卡可点击链接：去掉 Bootstrap 默认下划线 ----------
   a 的下划线会穿透到卡内所有文字，整卡设计只保留 hover 泛色反馈；
   通配卡内所有后代，杜绝任何传播死角 */
.domain-card[b-96v0b0oy0d],
.domain-card *[b-96v0b0oy0d],
.home-card[b-96v0b0oy0d],
.home-card *[b-96v0b0oy0d],
.banner-slide[b-96v0b0oy0d],
.banner-slide *[b-96v0b0oy0d] {
    text-decoration: none !important;
}

/* ---------- 栏目标题：深灰色，降低纯黑压迫感 ----------
   亮色 #475569 / 暗色 #94a3b8，Token 驱动自动适配明暗主题 */
.section-title[b-96v0b0oy0d] {
    color: var(--app-text-muted);
}

/* ---------- Hero 站点数据条 ---------- */
.hero-stats[b-96v0b0oy0d] {
    display: inline-flex;
    align-items: center;
    gap: 1.25rem;
    font-size: 0.85rem;
    color: var(--app-text-muted);
}
.hero-stats .divider[b-96v0b0oy0d] {
    width: 1px;
    height: 14px;
    background: var(--app-border);
}
.hero-stats b[b-96v0b0oy0d] {
    color: var(--app-text);
    font-weight: 700;
}

/* ---------- 双域门户卡 ---------- */
.domain-card[b-96v0b0oy0d] {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 1.5rem;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius-lg);
    color: var(--app-text);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.domain-card:hover[b-96v0b0oy0d] {
    transform: translateY(-4px);
    border-color: rgba(var(--bs-primary-rgb), .45);
    box-shadow: var(--app-shadow-hover);
}
.domain-icon[b-96v0b0oy0d] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: .9rem;
    font-size: 1.5rem;
    color: #fff;
}
/* 域图标渐变：博客走品牌蓝，集市走集市紫（与集市页缎带同色系） */
.domain-icon-blog[b-96v0b0oy0d] {
    background: var(--app-gradient);
}
.domain-icon-market[b-96v0b0oy0d] {
    background: linear-gradient(120deg, #7c3aed, #a78bfa);
}
.domain-arrow[b-96v0b0oy0d] {
    position: absolute;
    top: 1.4rem;
    right: 1.4rem;
    font-size: 1.1rem;
    color: var(--app-text-faint);
    transition: transform .2s ease, color .2s ease;
}
.domain-card:hover .domain-arrow[b-96v0b0oy0d] {
    transform: translateX(4px);
    color: var(--bs-primary);
}
.domain-meta[b-96v0b0oy0d] {
    display: flex;
    gap: 1rem;
    font-size: 0.8rem;
    color: var(--app-text-muted);
}
.domain-meta span b[b-96v0b0oy0d] {
    color: var(--app-text);
}

/* ---------- 精选轮播：遵循 site.css 既定的卡片浅底设计 ----------
   banner-slide 保持透明底（透出 .carousel-banner 白/暗色卡底），
   文字色全部沿用 site.css 的浅底配色，明暗主题自适配；
   域差异仅通过 banner-badge 徽章文案表达，不再刷饱和渐变底 */
/* 封面图加载失败时的图标砖兜底：绝对定位垫在图片下层，
   图片加载成功时被 img 盖住，加载失败 img 隐藏后显形 */
.banner-cover .banner-fallback[b-96v0b0oy0d] {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: var(--bs-primary);
}
/* 图片垫上层：盖住兜底图标 */
.banner-cover img[b-96v0b0oy0d] {
    position: relative;
    z-index: 1;
}

/* ---------- 卡片网格（最新文章 / 热门资源共用） ---------- */
.home-card[b-96v0b0oy0d] {
    overflow: hidden;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: .9rem;
    color: var(--app-text);
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.home-card:hover[b-96v0b0oy0d] {
    transform: translateY(-4px);
    border-color: rgba(var(--bs-primary-rgb), .45);
    box-shadow: var(--app-shadow-hover);
}
.home-card-cover[b-96v0b0oy0d] {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--app-surface-hover);
}
.home-card-cover img[b-96v0b0oy0d] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.home-card:hover .home-card-cover img[b-96v0b0oy0d] {
    transform: scale(1.06);
}
/* 分类徽章：压封面左下角（玻璃质感白字） */
.home-card-category[b-96v0b0oy0d] {
    position: absolute;
    left: .7rem;
    bottom: .7rem;
    padding: .22rem .8rem;
    border-radius: var(--bs-border-radius-pill);
    font-size: .78rem;
    font-weight: 700;
    color: #fff;
    background: rgba(var(--bs-primary-rgb), .78);
    backdrop-filter: blur(6px);
}
/* 价格徽章：压封面右上角（免费绿 / Pro 琥珀，与集市页语义一致） */
.price-badge[b-96v0b0oy0d] {
    position: absolute;
    top: .7rem;
    right: .7rem;
    padding: .22rem .75rem;
    border-radius: var(--bs-border-radius-pill);
    font-size: .72rem;
    font-weight: 700;
    color: #fff;
}
.price-badge.is-free[b-96v0b0oy0d] {
    background: var(--app-free, #10b981);
}
.price-badge.is-pro[b-96v0b0oy0d] {
    background: linear-gradient(120deg, #f59e0b, #fbbf24);
}
.home-card-title[b-96v0b0oy0d] {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-card-desc[b-96v0b0oy0d] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* 卡片底部元信息行：细分割线 + 弱化色 */
.home-card-meta[b-96v0b0oy0d] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: .65rem;
    border-top: 1px solid var(--app-border);
    font-size: .8rem;
    color: var(--app-text-muted);
}

/* ---------- 友情链接：页脚轻量文本链 ----------
   定位为非业务重点的低调模块：小字号 + 次级色 + 顶部细分隔线，
   悬停/聚焦时才点亮品牌主色，视觉权重远低于其他站内模块 */
.flink-strip[b-96v0b0oy0d] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 1.4rem;
    row-gap: .4rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--app-border);
}

/* 左侧小标签：字距拉开，弱化为「页脚导航」气质 */
.flink-label[b-96v0b0oy0d] {
    font-size: .78rem;
    letter-spacing: .06em;
    color: var(--app-text-muted);
}

/* 友链文本链：仅名称不堆卡片，信息降噪 */
.flink-strip a[b-96v0b0oy0d] {
    font-size: .82rem;
    line-height: 1.6;
    color: var(--app-text-muted);
    text-decoration: none;
    transition: color .15s ease;
}

.flink-strip a:hover[b-96v0b0oy0d],
.flink-strip a:focus-visible[b-96v0b0oy0d] {
    color: var(--bs-primary);
}

/* ---------- 响应式：375px 无横向滚动 ---------- */
@media (max-width: 575.98px) {
    /* 数据条在窄屏改为两行居中 */
    .hero-stats[b-96v0b0oy0d] {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: .35rem;
    }
    .hero-stats .divider[b-96v0b0oy0d] {
        display: none;
    }
    /* 轮播窄屏隐藏右侧封面（沿用各页轮播惯例），文案全宽 */
    .banner-slide .banner-cover[b-96v0b0oy0d] {
        display: none;
    }
    /* 友链窄屏收紧间距 */
    .flink-strip[b-96v0b0oy0d] {
        column-gap: 1rem;
    }
}
/* /Pages/Link/Get.cshtml.rz.scp.css */
/* ===== 好站分享详情页（Link/Get）页面样式（与博客详情页同款基准） ===== */

/* ===== 标题 ===== */
/* 商品名称（H1）：全页视觉主角，字号放大突出 */
.article-title[b-h2d9c3v6qi] {
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.3;
}

/* 关键词徽章：实线描边 + 品牌淡底，比分类徽章轻一档但仍可辨识 */
.tag-chip-kw[b-h2d9c3v6qi] {
    background: var(--app-tag-bg);
    border: 1px solid var(--bs-primary);
    color: var(--bs-primary);
    font-weight: 500;
}

/* ===== 正文卡片头部：品牌淡蓝渐隐标题条 ===== */
.body-card-head[b-h2d9c3v6qi] {
    margin: -1.5rem -1.5rem 1.5rem;
    padding: .9rem 1.5rem .8rem;
    background: linear-gradient(180deg, var(--app-tag-bg), transparent);
    border-bottom: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0;
}
@media (min-width: 768px) {
    .body-card-head[b-h2d9c3v6qi] { margin: -2rem -2.25rem 1.5rem; padding: .9rem 2.25rem .8rem; }
}
.body-card-title[b-h2d9c3v6qi] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--bs-primary);
    margin: 0;
    padding-bottom: 0;
    background: none;
}
.body-card-title[b-h2d9c3v6qi]::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--app-gradient);
    flex-shrink: 0;
}

/* ===== 推广标题副题：降噪处理，避免长文案喧宾夺主 ===== */
.product-subtitle[b-h2d9c3v6qi] {
    font-size: 1rem;
    font-weight: 400;
    color: var(--app-muted);
    line-height: 1.6;
    /* 最多展示两行，超出省略 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ===== 站点简介：轻量信息卡（与推荐面板同语言） ===== */
.link-desc[b-h2d9c3v6qi] {
    padding: 1rem 1.25rem;
    border: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius);
    background: var(--bs-body-bg);
    line-height: 1.8;
    box-shadow: 0 .25rem .75rem rgba(2, 6, 23, .04);
}
.link-desc-head[b-h2d9c3v6qi] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--bs-primary);
    margin-bottom: .4rem;
}
.link-desc-head[b-h2d9c3v6qi]::before {
    content: "";
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: var(--app-gradient);
    flex-shrink: 0;
}

/* ===== 推广推荐面板：品牌淡蓝双光晕，与正文区明确区分 ===== */
.promo-panel[b-h2d9c3v6qi] {
    background:
        radial-gradient(120% 140% at 0% 0%, var(--app-tag-bg), transparent 55%),
        radial-gradient(120% 140% at 100% 100%, var(--app-tag-bg), transparent 55%),
        var(--bs-body-bg);
    border: 1px solid var(--app-border);
}
.promo-safe[b-h2d9c3v6qi] { color: var(--bs-primary); }

/* ===== 地址卡片：白底浮起 + 悬停强化 ===== */
.promo-url-card[b-h2d9c3v6qi] {
    padding: .9rem 1.1rem;
    background: var(--bs-body-bg);
    border: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.promo-url-card:hover[b-h2d9c3v6qi] {
    border-color: var(--bs-primary);
    box-shadow: 0 .5rem 1.25rem rgba(37, 99, 235, .15);
    transform: translateY(-3px);
}
/* 亮色主题：头部卡片与推荐卡片用纯白底，层次更清爽（暗色主题保持深色 elevated 底） */
[data-bs-theme="light"] .article-header[b-h2d9c3v6qi],
[data-bs-theme="light"] .promo-url-card[b-h2d9c3v6qi] {
    background: var(--bs-white);
}
/* 左侧渐变图标砖：火箭 */
.promo-url-icon[b-h2d9c3v6qi] {
    width: 2.6rem;
    height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .8rem;
    background: var(--app-gradient);
    color: #fff;
    font-size: 1.2rem;
    flex-shrink: 0;
}
/* 域名截断需要 min-width:0（Bootstrap 无此工具类） */
.promo-url-card .flex-grow-1[b-h2d9c3v6qi] { min-width: 0; }

/* ===== 相关链接卡片图标：tonal 淡蓝底 + 品牌色，比推广地址的渐变砖轻两档 ===== */
.related-icon[b-h2d9c3v6qi] {
    width: 2.25rem;
    height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .7rem;
    background: var(--app-tag-bg);      /* Token 驱动，明暗主题自适配 */
    color: var(--bs-primary);
    font-size: 1.05rem;
    flex-shrink: 0;
}

/* ===== 渐变胶囊 CTA：点击欲望核心 ===== */
.promo-go-btn[b-h2d9c3v6qi] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .5rem 1.2rem;
    /* 胶囊形按钮 */
    border-radius: 50rem;
    /* 预留透明边框：与描边变体尺寸一致 */
    border: 1px solid transparent;
    background: var(--app-gradient);
    color: #fff;
    font-weight: 600;
    font-size: .875rem;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .2s ease, box-shadow .2s ease;
}
.promo-go-btn:hover[b-h2d9c3v6qi] {
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 .4rem 1rem rgba(37, 99, 235, .35);
}
/* 首屏主 CTA：大号变体（略微收敛，与卡片内布局更协调） */
.promo-go-btn-lg[b-h2d9c3v6qi] {
    padding: .55rem 1.3rem;
    font-size: .925rem;
}

/* 备用入口：描边淡色变体，视觉退后一级 */
.promo-go-btn-ghost[b-h2d9c3v6qi] {
    background: transparent;
    color: var(--bs-primary);
    border-color: var(--bs-primary);
    font-weight: 500;
}
.promo-go-btn-ghost:hover[b-h2d9c3v6qi] {
    color: var(--bs-primary);
    background: var(--app-tag-bg);
    box-shadow: none;
    transform: translateY(-1px);
}
.promo-hint[b-h2d9c3v6qi] { opacity: .85; }

/* ===== 右上角斜角缎带角标：列表页 .link-card-featured 放大版（详情卡片更大，缎带同步加大） ===== */
.detail-ribbon[b-h2d9c3v6qi] {
    position: absolute;
    top: 1.6rem;
    right: -1.95rem;            /* 对称校准：骑在右上角对角线上，文字落在可见缎带正中 */
    transform: rotate(45deg);
    display: flex;              /* 弹性居中：文字在缎带内水平垂直双居中 */
    align-items: center;
    justify-content: center;
    width: 8.6rem;              /* 比列表页 7.2rem 加宽一档，字号同步放大 */
    padding: .18rem 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.5;
    color: var(--bs-warning-text-emphasis);
    background: var(--bs-warning);
    box-shadow: 0 .1rem .3rem rgba(0, 0, 0, .15);
    pointer-events: none;       /* 纯装饰角标，不拦截下方元素交互 */
    z-index: 1;
}
/* /Pages/Link/Index.cshtml.rz.scp.css */
/* ===== 好站分享列表页（Link/Index）页面样式（紧凑网格卡片 + 博客同款搜索，Token 驱动适配明暗主题） ===== */

/* ===== 列表面板：整体卡片化，品牌淡蓝底（55% 稀释）与页面背景区分（Token 驱动适配明暗主题） ===== */
.link-list-panel[b-34kb01j9i2] {
    padding: 1.1rem 1.1rem 1.25rem;
    background: color-mix(in srgb, var(--app-tag-bg) 55%, transparent);
    border: 1px solid var(--bs-border-color);
    border-radius: 1.1rem;
}

/* ===== 工具条计数胶囊 ===== */
.link-count-pill[b-34kb01j9i2] {
    display: inline-flex;
    align-items: center;
    padding: .3rem .85rem;
    border-radius: 50rem;
    background: var(--app-tag-bg);
    color: var(--app-tag-text);
    font-size: .8rem;
    font-weight: 600;
}

/* ===== 精选标签模块：搜索框下方，玻璃质感标签按钮（背景透明 + 毛玻璃模糊，Token 驱动适配明暗主题） ===== */
.link-featured-tags[b-34kb01j9i2] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .5rem .85rem;
}
/* 模块眉题：品牌色小字，与全站 section-eyebrow 同语言 */
.link-featured-label[b-34kb01j9i2] {
    display: inline-flex;
    align-items: center;
    padding-top: .3rem;                 /* 与胶囊行基线对齐 */
    color: var(--bs-primary);
    font-size: .78rem;
    font-weight: 600;
}
/* 玻璃胶囊：透明底 + 毛玻璃模糊 + 半透明白描边，悬停泛品牌色 */
.link-featured-chip[b-34kb01j9i2] {
    display: inline-flex;
    align-items: center;
    padding: .3rem .8rem;
    border-radius: 50rem;
    background: rgba(255, 255, 255, .08);            /* 透明玻璃底 */
    border: 1px solid rgba(255, 255, 255, .22);      /* 半透明描边模拟玻璃折边 */
    backdrop-filter: blur(10px);                     /* 毛玻璃质感核心 */
    -webkit-backdrop-filter: blur(10px);
    color: var(--bs-body-color);
    font-size: .8rem;
    text-decoration: none;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
/* 亮色主题：玻璃底换深色半透明，保证浅色背景上文字可读 */
[data-bs-theme="light"] .link-featured-chip[b-34kb01j9i2] {
    background: rgba(15, 23, 42, .05);
    border-color: rgba(15, 23, 42, .14);
}
.link-featured-chip:hover[b-34kb01j9i2] {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
    background: var(--app-tag-bg);
}

/* ===== 搜索模块：复用全局 .search-wrap/.search-box/.fx-suggest（与博客页 hero 同款） ===== */
/* 下拉建议 tag（好站名）限宽防撑爆，超长省略号收尾（搜索框位于 hero） */
.hero .fx-suggest-tag[b-34kb01j9i2] {
    max-width: 8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ===== 分类标签行：安静胶囊，当前项品牌色高亮（与详情页 tag-chip-kw 同语言） ===== */
.link-cat-chip[b-34kb01j9i2] {
    display: inline-flex;
    align-items: center;
    padding: .28rem .85rem;
    border-radius: 50rem;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-secondary-color);
    font-size: .8rem;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.link-cat-chip:hover[b-34kb01j9i2] {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}
/* 当前选中：淡蓝底 + 品牌色描边 + 品牌色文字（「稍微突出」样式） */
.link-cat-chip.active[b-34kb01j9i2] {
    background: var(--app-tag-bg);
    border-color: var(--bs-primary);
    color: var(--bs-primary);
    font-weight: 600;
}

/* ===== 紧凑网格卡片：铭牌核心 + 标题 + meta，与全站安静语言一致 ===== */
.link-card[b-34kb01j9i2] {
    position: relative;      /* 精选角标的定位基准 */
    overflow: hidden;        /* 角标随卡片圆角裁切，不外溢 */
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: .4rem .85rem .75rem;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 1.1rem;
    transition: border-color .25s ease, box-shadow .25s ease;
}
/* 亮色主题：卡片用纯白底，在淡蓝面板上层次更清爽（暗色主题保持深色 elevated 底） */
[data-bs-theme="light"] .link-card[b-34kb01j9i2] {
    background: var(--bs-white);
}
.link-card:hover[b-34kb01j9i2] {
    border-color: var(--bs-primary);
    box-shadow: 0 .35rem 1rem rgba(37, 99, 235, .08);
}
/* 精选斜角缎带：卡片右上角 45° 黄色「推荐」斜带（颜色走 Bootstrap Token，明暗主题自动适配） */
.link-card-featured[b-34kb01j9i2] {
    position: absolute;
    top: .71rem;          /* 与 right 偏移对称（中心距顶边 = 距右边 = 1.4rem），文字落在可见缎带正中 */
    right: -2.2rem;
    transform: rotate(45deg);
    display: flex;              /* 弹性居中：文字在缎带内水平垂直双居中 */
    align-items: center;
    justify-content: center;
    width: 7.2rem;
    padding: .18rem 0;
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .15em;
    text-indent: .15em;         /* 抵消末字符后的字距，避免文字视觉偏左 */
    color: var(--bs-warning-text-emphasis);
    background: var(--bs-warning);
    box-shadow: 0 .1rem .3rem rgba(0, 0, 0, .15);
}
/* 上半区铭牌：Name 视觉核心 + 域名身份行，左对齐紧凑排版 */
.link-card-top[b-34kb01j9i2] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;   /* 左对齐，短名不再左右空荡 */
    justify-content: center;
    gap: .35rem;
    padding: .8rem .5rem .65rem;   /* 收紧上下留白，短名不再空荡 */
    text-align: left;
}
/* Name 主体：正文字色加粗（不用渐变海报字），按长度三档字号 */
.link-card-name[b-34kb01j9i2] {
    color: var(--bs-body-color);
    font-size: clamp(.95rem, 1.4vw, 1.1rem);     /* 标准档：5~9字（整体调小一档） */
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}
/* 短名（≤4字）：展示型放大，避免空荡 */
.link-card-name.name-lg[b-34kb01j9i2] { font-size: clamp(1.1rem, 1.7vw, 1.3rem); }
/* 长名（≥10字）：收缩，两行内从容排布 */
.link-card-name.name-sm[b-34kb01j9i2] { font-size: clamp(.85rem, 1.2vw, .95rem); }
/* 域名身份行：辅文色 + 小图标，与全站 meta 信息同语言 */
.link-card-domain[b-34kb01j9i2] {
    color: var(--bs-secondary-color);
    font-size: .78rem;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* 下半区：细分隔线 + 标题两行 + meta */
.link-card-title[b-34kb01j9i2] {
    border-top: 1px solid var(--bs-border-color);
    padding-top: .65rem;
    margin-bottom: .4rem;
    font-size: .92rem;
    font-weight: 400;                            /* 副标题：常规字重，不再加粗 */
    line-height: 1.45;
    color: var(--bs-body-color);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.link-card:hover .link-card-title[b-34kb01j9i2] { color: var(--bs-primary); }
.link-card-meta[b-34kb01j9i2] {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .85rem;
    margin-top: auto;                            /* meta 沉底，多卡高度对齐 */
    color: var(--bs-secondary-color);
    font-size: .78rem;
}

/* ===== 空态紧凑卡：检索无匹配 / 暂无数据 ===== */
.link-empty[b-34kb01j9i2] {
    max-width: 26rem;
    margin: 2.5rem auto;
    padding: 2.25rem 1.5rem;
    text-align: center;
    border: 1px dashed var(--bs-border-color);
    border-radius: 1.1rem;
}
.link-empty-icon[b-34kb01j9i2] {
    width: 3.2rem;
    height: 3.2rem;
    margin: 0 auto .9rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--app-tag-bg);
    color: var(--app-tag-text);
    font-size: 1.3rem;
}
.link-empty-title[b-34kb01j9i2] {
    color: var(--bs-body-color);
    font-weight: 600;
}

/* ===== 列表项渐入动效：逐条交错浮现 ===== */
.fx-rise-in[b-34kb01j9i2] { animation: linkRiseIn-b-34kb01j9i2 .45s ease backwards; }
.fx-rise-in:nth-child(1)[b-34kb01j9i2] { animation-delay: .03s; }
.fx-rise-in:nth-child(2)[b-34kb01j9i2] { animation-delay: .06s; }
.fx-rise-in:nth-child(3)[b-34kb01j9i2] { animation-delay: .09s; }
.fx-rise-in:nth-child(4)[b-34kb01j9i2] { animation-delay: .12s; }
.fx-rise-in:nth-child(5)[b-34kb01j9i2] { animation-delay: .15s; }
.fx-rise-in:nth-child(6)[b-34kb01j9i2] { animation-delay: .18s; }
.fx-rise-in:nth-child(7)[b-34kb01j9i2] { animation-delay: .21s; }
.fx-rise-in:nth-child(8)[b-34kb01j9i2] { animation-delay: .24s; }
@keyframes linkRiseIn-b-34kb01j9i2 {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}
/* 用户系统偏好减少动效时关闭 */
@media (prefers-reduced-motion: reduce) {
    .fx-rise-in[b-34kb01j9i2] { animation: none; }
}
/* /Pages/Software/Get.cshtml.rz.scp.css */
/* ===== 软件详情页（Software/Get）页面样式 ===== */
/* ===== 软件头部 Hero：品牌光晕背景 ===== */
.resource-hero[b-j277znpigs] {
    position: relative;
    overflow: hidden;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    box-shadow: var(--bs-box-shadow-sm);
    animation: heroIn-b-j277znpigs .5s ease both;
}
.resource-hero[b-j277znpigs]::before {
    content: "";
    position: absolute;
    inset: -40% -20% auto auto;
    width: 60%;
    height: 160%;
    background: radial-gradient(circle at right top, var(--app-glow-soft), transparent 65%);
    pointer-events: none;
}
@keyframes heroIn-b-j277znpigs {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}

/* ===== 渐变图标封面：统一 16:10 比例，六色渐变对齐 Index 页 ===== */
.detail-cover[b-j277znpigs] {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 0.9rem;
    border: 1px solid var(--app-border);
    background: var(--app-surface-hover);
    box-shadow: var(--app-shadow-hover);
}
.detail-cover img[b-j277znpigs] {
    width: 100%;
    height: 100%;
    object-fit: cover;   /* 图片按比例裁剪填充，不变形 */
    display: block;
}

.sw-cover[b-j277znpigs] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.sw-cover[b-j277znpigs]::after {
    content: "";
    position: absolute;
    right: -2rem;
    bottom: -2.5rem;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.05), 0 0 0 40px rgba(255, 255, 255, 0.03);
    pointer-events: none;
}
.sw-cover > i[b-j277znpigs] {
    font-size: 3.2rem;
    color: #fff;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.18));
}
.sw-cover.is-frontend[b-j277znpigs] { background: linear-gradient(120deg, #0ea5e9, #38bdf8); }
.sw-cover.is-backend[b-j277znpigs]  { background: linear-gradient(120deg, #f59e0b, #fbbf24); }
.sw-cover.is-cloud[b-j277znpigs]    { background: linear-gradient(120deg, #8b5cf6, #a78bfa); }
.sw-cover.is-ai[b-j277znpigs]       { background: linear-gradient(120deg, #ef4444, #f87171); }
.sw-cover.is-tools[b-j277znpigs]    { background: linear-gradient(120deg, #10b981, #34d399); }
.sw-cover.is-arch[b-j277znpigs]     { background: linear-gradient(120deg, #f97316, #fb923c); }

.resource-title[b-j277znpigs] {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    line-height: 1.4;
}

/* 开源徽章：品牌色弱背景 */
.tag-chip-os[b-j277znpigs] {
    background: var(--app-quote-bg);
    color: var(--bs-primary);
}
/* 关键词徽章：更轻量的描边样式，与分类徽章区分层级 */
.tag-chip-kw[b-j277znpigs] {
    background: transparent;
    border: 1px dashed var(--app-border);
    color: var(--app-muted);
    font-weight: 400;
}
.res-desc[b-j277znpigs] {
    max-width: 72ch;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--app-text);
    opacity: .85;
}

/* ===== 下载按钮（免费/直链，无支付） ===== */
.btn-download[b-j277znpigs] {
    background: var(--bs-body-bg);
    border-color: color-mix(in srgb, var(--app-free) 40%, transparent);
    color: var(--app-free);
    padding: .45rem 1.1rem;
    transition: all .15s ease;
}
.btn-download:hover[b-j277znpigs] {
    background: var(--app-free);
    border-color: var(--app-free);
    color: #fff;
    filter: none;
    transform: translateY(-1px);
}

/* ===== 激活说明提示条 ===== */
.activate-tip[b-j277znpigs] {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem 1rem;
    border-radius: var(--bs-border-radius);
    background: var(--app-quote-bg);
    border: 1px solid var(--app-border);
    font-size: .88rem;
    color: var(--app-text);
}
.activate-tip i[b-j277znpigs] { color: var(--bs-primary); }
.activate-tip code[b-j277znpigs] {
    font-family: 'Consolas', 'Fira Code', monospace;
    font-size: .9em;
    padding: .1rem .4rem;
    border-radius: .4rem;
    background: var(--app-inline-code-bg);
    color: var(--bs-primary-text-emphasis);
}

/* ===== 正文卡片头部：区块标题（与正文 h2 明显区分）===== */
.body-card-head[b-j277znpigs] {
    /* 负外边距通栏顶到卡片边缘，形成独立标题条 */
    margin: -1.5rem -1.5rem 1.5rem;
    /* 品牌淡蓝渐隐背景，柔和不生硬 */
    padding: .9rem 1.5rem .8rem;
    background: linear-gradient(180deg, var(--app-tag-bg), transparent);
    border-bottom: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0;
}
/* 桌面端正文内边距加大，负边距同步适配 */
@media (min-width: 768px) {
    .body-card-head[b-j277znpigs] { margin: -2rem -2.25rem 1.5rem; padding: .9rem 2.25rem .8rem; }
}
/* 卡片标题：渐变圆点 + 小号品牌色字，区分于正文 h2 的竖条样式 */
.body-card-title[b-j277znpigs] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--bs-primary);
    margin: 0;
    padding-bottom: 0;
    background: none;
}
.body-card-title[b-j277znpigs]::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--app-gradient);
    flex-shrink: 0;
}
.body-card-desc[b-j277znpigs] {
    line-height: 1.8;
}

/* ===== 分类倾斜角标：Hero 卡右上角缎带（淡紫底）===== */
.sw-ribbon[b-j277znpigs] {
    position: absolute;
    top: 1.6rem;
    right: -1.95rem;            /* 对称校准：缎带中心到上边(1.6+高/2)与到右边(宽/2-1.95≈2.35rem)等距，骑在角落对角线上 */
    transform: rotate(45deg);
    display: flex;              /* 弹性居中：文字在缎带内水平垂直双居中 */
    align-items: center;
    justify-content: center;
    width: 8.6rem;              /* 加宽缎带，容纳更长分类名 */
    padding: .18rem 0;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.5;
    /* 淡紫底 + 深紫字：color-mix 混入背景/前景色，明暗主题自动适配 */
    background: color-mix(in srgb, var(--bs-purple) 16%, var(--bs-body-bg));
    color: color-mix(in srgb, var(--bs-purple) 80%, var(--bs-body-color));
    pointer-events: none;       /* 纯装饰角标，不拦截下方元素交互 */
    z-index: 1;
}

/* /Pages/Software/Index.cshtml.rz.scp.css */
/* ===== 软件工具页（Software/Index）页面样式 ===== */
/* ===== 软件卡片：sw-card ===== */
.sw-card[b-654j341053] {
    display: flex;
    color: var(--app-text);
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 0.9rem;
    overflow: hidden;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.sw-card:hover[b-654j341053] {
    transform: translateY(-4px);
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: var(--app-shadow-hover);
}

.sw-cover[b-654j341053] {
    position: relative;
    /* 固定宽高比 16:9，保证不同卡片封面尺寸一致 */
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    text-decoration: none;
}

.sw-cover img[b-654j341053] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 裁切填充满，不拉伸变形 */
    transition: transform 0.4s ease;
}

.sw-card:hover .sw-cover img[b-654j341053] {
    transform: scale(1.05); /* 悬停轻微放大，与资源集市卡片一致 */
}

.sw-cover[b-654j341053]::after {
    content: "";
    position: absolute;
    right: -2rem;
    bottom: -2.5rem;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.05), 0 0 0 40px rgba(255, 255, 255, 0.03);
    pointer-events: none;
}

.sw-cover > i[b-654j341053] {
    font-size: 3.2rem;
    color: #fff;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.18));
}

.sw-cover.is-frontend[b-654j341053] { background: linear-gradient(120deg, #0ea5e9, #38bdf8); }
.sw-cover.is-backend[b-654j341053]  { background: linear-gradient(120deg, #f59e0b, #fbbf24); }
.sw-cover.is-cloud[b-654j341053]    { background: linear-gradient(120deg, #8b5cf6, #a78bfa); }
.sw-cover.is-ai[b-654j341053]       { background: linear-gradient(120deg, #ef4444, #f87171); }
.sw-cover.is-tools[b-654j341053]    { background: linear-gradient(120deg, #10b981, #34d399); }
.sw-cover.is-arch[b-654j341053]     { background: linear-gradient(120deg, #f97316, #fb923c); }

.sw-title[b-654j341053] { transition: color 0.15s ease; }
.sw-title:hover[b-654j341053] { color: var(--bs-primary); }

.sw-meta[b-654j341053] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.9rem;
    font-size: 0.76rem;
    color: var(--app-text-muted);
}

.sw-meta i[b-654j341053] {
    color: var(--app-text-faint);
}

.plat-chip[b-654j341053] {
    padding: 0.18rem 0.6rem;
    border-radius: var(--bs-border-radius-pill);
    background: var(--app-surface-hover);
    border: 1px solid var(--app-border);
    color: var(--app-text-muted);
    font-size: 0.7rem;
    font-weight: 600;
}

.btn-download[b-654j341053] {
    --bs-btn-border-radius: 0.65rem;
    font-weight: 600;
}

.btn-download i[b-654j341053] {
    transition: transform 0.2s ease;
}

.btn-download:hover i[b-654j341053] {
    transform: translateY(2px);
}

/* Hero 统计卡 */
.sw-stats[b-654j341053] {
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius-lg);
    box-shadow: var(--bs-box-shadow-lg);
}

.sw-stat[b-654j341053] {
    min-width: 96px;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.sw-stat small[b-654j341053] { font-size: 0.75rem; }

.sw-stat-divider[b-654j341053] {
    width: 1px;
    height: 2.4rem;
    background: var(--app-border);
}

/* ===== 快捷模块：标题列表（样式对齐资源集市页 cat-strip） ===== */
.quick-module[b-654j341053] {
    height: 100%;
    border: 1px solid var(--app-border);
    border-radius: 0.75rem;
    background: var(--app-surface);
    padding: 0.85rem 1rem;
    transition: all 0.18s ease;
}

.quick-module:hover[b-654j341053] {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: var(--bs-box-shadow);
}

.quick-head[b-654j341053] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px dashed var(--app-border);
}

.quick-head i[b-654j341053] {
    color: var(--bs-primary);
    font-size: 1.1rem;
}

.quick-list[b-654j341053] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.quick-link[b-654j341053] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--app-text);
    text-decoration: none;
    font-size: 0.82rem;
    transition: color 0.15s ease;
}

.quick-num[b-654j341053] {
    flex-shrink: 0;
    width: 1.3rem;
    height: 1.3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    background: var(--bs-primary);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1;
}

.quick-title[b-654j341053] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.quick-link:hover[b-654j341053] {
    color: var(--bs-primary);
}
/* /Pages/UserOrder/Get.cshtml.rz.scp.css */
/* ===== 订单详情页（UserOrder/Get）页面样式 ===== */
/* ===== 订单卡片：与资源 Hero 同款品牌光晕风格 ===== */
.order-card[b-qt0dls3ug8] {
    position: relative;
    overflow: hidden;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    box-shadow: var(--bs-box-shadow-sm);
    animation: orderIn-b-qt0dls3ug8 .5s ease both;
}
.order-card[b-qt0dls3ug8]::before {
    content: "";
    position: absolute;
    inset: -40% -20% auto auto;
    width: 60%;
    height: 160%;
    background: radial-gradient(circle at right top, var(--app-glow-soft), transparent 65%);
    pointer-events: none;
}
@keyframes orderIn-b-qt0dls3ug8 {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: none; }
}
.order-title[b-qt0dls3ug8] {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    line-height: 1.4;
}
.order-info[b-qt0dls3ug8] {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

/* ===== 倒计时数字与单位：数字红色下划线，单位文字正常色带间距 ===== */
.cd-num[b-qt0dls3ug8] {
    color: var(--app-danger, #ef4444);
    text-decoration: underline;
    text-underline-offset: .18em;
}
.cd-unit[b-qt0dls3ug8] {
    margin: 0 .12em;
    font-size: .85em; /* 文字比数字小一号 */
    font-weight: 400; /* 文字不跟随加粗 */
    color: var(--bs-secondary-color); /* 深灰，明暗主题自适应 */
}

/* ===== 超时提示：深灰、不加粗（覆盖父级 fs-4 fw-bold） ===== */
#payCountdown.cd-timeout[b-qt0dls3ug8] {
    color: var(--bs-secondary-color);
    font-weight: 400;
}

/* ===== 订单号内一键复制按钮：继承胶囊配色 ===== */
.btn-copy[b-qt0dls3ug8] {
    color: inherit;
    vertical-align: baseline;
}

/* ===== 订单/访客编号信息徽章：替代通用小胶囊，加大字号提升可读性 ===== */
.order-id-chip[b-qt0dls3ug8] {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .35rem .9rem;
    border-radius: var(--bs-border-radius);
    background: var(--app-tag-bg);
    color: var(--app-tag-text);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.4;
}
.order-id-chip > i[b-qt0dls3ug8] { font-size: 1.05rem; }
.chip-label[b-qt0dls3ug8] {
    font-weight: 500;
    opacity: .75;
}
/* 编号用等宽字体展示，长 GUID 窄屏自动断行 */
.chip-value[b-qt0dls3ug8] {
    font-family: var(--bs-font-monospace);
    font-weight: 600;
    word-break: break-all;
}

/* ===== 下载 / 支付按钮（与资源详情页同款） ===== */
.btn-download[b-qt0dls3ug8] {
    background: var(--bs-body-bg);
    border-color: color-mix(in srgb, var(--app-free) 40%, transparent);
    color: var(--app-free);
    padding: .45rem 1.1rem;
    transition: all .15s ease;
}
.btn-download:hover[b-qt0dls3ug8] {
    background: var(--app-free);
    border-color: var(--app-free);
    color: #fff;
    filter: none;
    transform: translateY(-1px);
}
.btn-buy[b-qt0dls3ug8] {
    background: var(--app-pro-grad);
    border: none;
    color: #fff;
    padding: .45rem 1.1rem;
    transition: all .15s ease;
}
.btn-buy:hover[b-qt0dls3ug8] {
    color: #fff;
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* ===== 支付二维码（内嵌展示，白底保证扫码清晰） ===== */
.qr-box[b-qt0dls3ug8] {
    width: 220px;
    height: 220px;
    padding: .6rem;
    background: #fff;
    border: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--bs-box-shadow-sm);
}
.qr-img[b-qt0dls3ug8] { width: 100%; height: 100%; display: block; }

/* ===== 支付超时提示卡：灰色调虚线框，二维码已失效 ===== */
.qr-box-expired[b-qt0dls3ug8] {
    background: color-mix(in srgb, var(--bs-secondary-color) 6%, var(--bs-body-bg));
    border-style: dashed;
    border-color: var(--bs-border-color);
    color: var(--bs-secondary-color);
}

/* ===== 订单内容只读文本域：底色/文字弱化，区分于可编辑输入框 ===== */
textarea[readonly].form-control[b-qt0dls3ug8] {
    background-color: color-mix(in srgb, var(--bs-secondary-color) 6%, var(--bs-body-bg));
    color: var(--bs-secondary-color);
    font-size: .9rem;
}

/* ===== QQ 号码：品牌色加粗 + 下划线，突出可点击感 ===== */
.qq-bold[b-qt0dls3ug8] {
    text-decoration: underline;
    text-underline-offset: .18em;
}
/* /Pages/Weblog/Get.cshtml.rz.scp.css */
/* ===== 博客详情页（Weblog/Get）页面样式 ===== */
/* ===== 文章标题 ===== */
.article-title[b-bghzbn4hbk] {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    line-height: 1.4;
}

/* 关键词徽章：更轻量的描边样式，与分类徽章区分层级 */
.tag-chip-kw[b-bghzbn4hbk] {
    background: transparent;
    border: 1px dashed var(--app-border);
    color: var(--app-muted);
    font-weight: 400;
}

/* ===== 正文卡片头部：区块标题（与正文 h2 明显区分）===== */
.body-card-head[b-bghzbn4hbk] {
    /* 负外边距通栏顶到卡片边缘，形成独立标题条 */
    margin: -1.5rem -1.5rem 1.5rem;
    /* 品牌淡蓝渐隐背景，柔和不生硬 */
    padding: .9rem 1.5rem .8rem;
    background: linear-gradient(180deg, var(--app-tag-bg), transparent);
    border-bottom: 1px solid var(--app-border);
    border-radius: var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0;
}
/* 桌面端正文内边距加大，负边距同步适配 */
@media (min-width: 768px) {
    .body-card-head[b-bghzbn4hbk] { margin: -2rem -2.25rem 1.5rem; padding: .9rem 2.25rem .8rem; }
}
/* 卡片标题：渐变圆点 + 小号品牌色字，区分于正文 h2 的竖条样式 */
.body-card-title[b-bghzbn4hbk] {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--bs-primary);
    margin: 0;
    padding-bottom: 0;
    background: none;
}
.body-card-title[b-bghzbn4hbk]::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: var(--app-gradient);
    flex-shrink: 0;
}
.body-card-desc[b-bghzbn4hbk] {
    line-height: 1.8;
}

/* /Pages/Weblog/Index.cshtml.rz.scp.css */
/* ===== 博客首页（Weblog/Index）页面样式 ===== */
/* ===== 快捷模块：标题列表（样式对齐资源集市页 cat-strip） ===== */
.quick-module[b-9202w2oh08] {
    height: 100%;
    border: 1px solid var(--app-border);
    border-radius: 0.75rem;
    background: var(--app-surface);
    padding: 0.85rem 1rem;
    transition: all 0.18s ease;
}

.quick-module:hover[b-9202w2oh08] {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: var(--bs-box-shadow);
}

.quick-head[b-9202w2oh08] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.6rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px dashed var(--app-border);
}

.quick-head i[b-9202w2oh08] {
    color: var(--bs-primary);
    font-size: 1.1rem;
}

.quick-list[b-9202w2oh08] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.quick-link[b-9202w2oh08] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--app-text);
    text-decoration: none;
    font-size: 0.82rem;
    transition: color 0.15s ease;
}

.quick-num[b-9202w2oh08] {
    flex-shrink: 0;
    width: 1.3rem;
    height: 1.3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.375rem;
    background: var(--bs-primary);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1;
}

.quick-title[b-9202w2oh08] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.quick-link:hover[b-9202w2oh08] {
    color: var(--bs-primary);
}
