/* ============================================
   游民联盟 - 辅助软件页样式
   依赖：subpage.css（导航/页脚/基础变量）
   ============================================ */
:root{
    --sw-blue:#1a78e4;
    --sw-blue-soft:#e3f2fd;
    --sw-green:#1ab373;
    --sw-green-soft:#e8f6ef;
    --sw-orange:#ff6c00;
    --sw-orange-soft:#fff3e0;
    --sw-purple:#7b7de8;
    --sw-purple-soft:#f0ecff;
    --sw-red:#f02e3e;
    --sw-red-soft:#ffecec;
    --sw-gray:#6a6b6d;
    --sw-border:#e8e8e8;
    --sw-soft:#f5f7fa;
    --sw-dark:#1c3645;
}

/* ========== 顶部横幅 ========== */
.sw-hero{
    position:relative;overflow:hidden;
    background:linear-gradient(135deg,#1c3645 0%,#1a78e4 62%,#3aa0f0 100%);
    border-radius:16px;padding:38px 34px;margin-bottom:24px;color:#fff;
    box-shadow:0 6px 24px rgba(26,120,228,.18);
}
.sw-hero::before,
.sw-hero::after{
    content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.08);
}
.sw-hero::before{right:-70px;top:-90px;width:300px;height:300px;}
.sw-hero::after{right:120px;bottom:-140px;width:220px;height:220px;background:rgba(255,255,255,.06);}
.sw-hero__inner{position:relative;z-index:1;}
.sw-hero__title{font-size:28px;font-weight:bold;letter-spacing:1px;margin-bottom:8px;}
.sw-hero__en{font-size:14px;color:#8fd0ff;font-weight:bold;font-style:italic;letter-spacing:1.5px;margin-bottom:12px;}
.sw-hero__desc{font-size:15px;line-height:1.75;color:rgba(255,255,255,.9);max-width:640px;}
.sw-hero__stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.sw-hero__stat{
    background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);
    border-radius:10px;padding:8px 16px;display:flex;align-items:baseline;gap:6px;
}
.sw-hero__stat b{font-size:20px;font-weight:bold;color:#ffd666;}
.sw-hero__stat span{font-size:13px;color:rgba(255,255,255,.85);}

/* ========== 视图切换 ========== */
.sw-list-view.is-hidden{display:none;}

/* ========== 分类筛选 ========== */
.sw-toolbar{
    background:#fff;border-radius:12px;padding:14px 18px;margin-bottom:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.sw-toolbar__label{font-size:14px;color:var(--sw-gray);font-weight:bold;margin-right:2px;flex-shrink:0;}
.sw-tab{
    border:1px solid var(--sw-border);background:#fff;color:var(--sw-gray);
    font-size:13px;padding:6px 16px;border-radius:20px;cursor:pointer;
    transition:all .25s;font-family:inherit;
}
.sw-tab:hover{border-color:var(--sw-blue);color:var(--sw-blue);}
.sw-tab.is-active{background:var(--sw-blue);border-color:var(--sw-blue);color:#fff;font-weight:bold;}

/* ========== 软件卡片网格 ========== */
.sw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.sw-card{
    background:#fff;border-radius:14px;padding:24px 22px 20px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
    cursor:pointer;position:relative;overflow:hidden;
    display:flex;flex-direction:column;
    transition:transform .3s,box-shadow .3s;
    border-top:3px solid transparent;
}
.sw-card:hover{transform:translateY(-5px);box-shadow:0 10px 28px rgba(0,0,0,.13);}
.sw-card__badge{
    position:absolute;top:0;right:0;font-size:11px;font-weight:bold;
    padding:4px 12px;border-radius:0 14px 0 12px;color:#fff;letter-spacing:.5px;
}
.sw-card__badge--hot{background:linear-gradient(135deg,#ff6c00,#f02e3e);}
.sw-card__badge--new{background:linear-gradient(135deg,#1ab373,#1a78e4);}
.sw-card__badge--star{background:linear-gradient(135deg,#eeb416,#ff9500);}
.sw-card__icon{
    width:66px;height:66px;border-radius:16px;object-fit:contain;
    background:var(--sw-soft);padding:6px;margin-bottom:14px;flex-shrink:0;
}
.sw-card__name{font-size:17px;font-weight:bold;color:var(--sw-dark);margin-bottom:6px;display:flex;align-items:center;gap:8px;}
.sw-card__ver{font-size:12px;color:var(--sw-gray);font-weight:normal;background:var(--sw-soft);padding:1px 8px;border-radius:9px;}
.sw-card__summary{
    font-size:13px;color:var(--sw-gray);line-height:1.7;margin-bottom:14px;
    flex:1 1 auto;min-height:44px;
}
.sw-card__points{list-style:none;margin-bottom:16px;}
.sw-card__points li{
    font-size:12.5px;color:#5a6472;line-height:1.9;padding-left:16px;position:relative;
}
.sw-card__points li::before{
    content:'';position:absolute;left:0;top:9px;width:6px;height:6px;
    border-radius:50%;background:var(--sw-blue);
}
.sw-card__foot{
    display:flex;align-items:center;justify-content:space-between;
    padding-top:12px;border-top:1px solid var(--sw-soft);
}
.sw-card__meta{font-size:12px;color:#9aa5b4;}
.sw-card__btn{
    display:inline-block;padding:7px 20px;border-radius:20px;font-size:13px;
    background:var(--sw-blue);color:#fff;transition:background .3s;font-weight:bold;
}
.sw-card:hover .sw-card__btn{background:rgba(26,120,228,.85);}

/* ========== 空状态 ========== */
.sw-empty{
    background:#fff;border-radius:12px;padding:60px 20px;text-align:center;
    box-shadow:0 2px 8px rgba(0,0,0,.06);display:none;
}
.sw-empty.is-show{display:block;}
.sw-empty__icon{font-size:46px;margin-bottom:12px;opacity:.35;}
.sw-empty__text{font-size:15px;color:var(--sw-gray);}

/* ========== 详情视图 ========== */
.sw-detail{display:none;}
.sw-detail.is-show{display:block;}

.sw-back{
    display:inline-flex;align-items:center;gap:6px;background:#fff;
    border:1px solid var(--sw-border);color:var(--sw-gray);
    font-size:13px;padding:8px 18px;border-radius:20px;cursor:pointer;
    margin-bottom:18px;font-family:inherit;transition:all .25s;
}
.sw-back:hover{border-color:var(--sw-blue);color:var(--sw-blue);}

.sw-detail__head{
    background:#fff;border-radius:14px;padding:26px 28px;margin-bottom:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
    display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;
}
.sw-detail__icon{
    width:96px;height:96px;border-radius:22px;object-fit:contain;
    background:var(--sw-soft);padding:8px;flex-shrink:0;
}
.sw-detail__info{flex:1 1 320px;min-width:0;}
.sw-detail__name{font-size:24px;font-weight:bold;color:var(--sw-dark);margin-bottom:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sw-detail__summary{font-size:14px;color:var(--sw-gray);line-height:1.75;margin-bottom:14px;}
.sw-detail__chips{display:flex;flex-wrap:wrap;gap:8px;}
.sw-chip{
    font-size:12px;padding:4px 12px;border-radius:14px;
    background:var(--sw-blue-soft);color:var(--sw-blue);font-weight:bold;
}
.sw-chip--green{background:var(--sw-green-soft);color:var(--sw-green);}
.sw-chip--orange{background:var(--sw-orange-soft);color:var(--sw-orange);}
.sw-chip--purple{background:var(--sw-purple-soft);color:var(--sw-purple);}
.sw-chip--gray{background:var(--sw-soft);color:var(--sw-gray);}
.sw-detail__actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;}
.sw-btn{
    display:inline-flex;align-items:center;gap:7px;justify-content:center;
    padding:11px 28px;border-radius:26px;font-size:14px;font-weight:bold;
    cursor:pointer;transition:all .3s;border:0;font-family:inherit;
}
.sw-btn--primary{background:var(--sw-blue);color:#fff;box-shadow:0 4px 12px rgba(26,120,228,.28);}
.sw-btn--primary:hover{background:rgba(26,120,228,.88);transform:translateY(-1px);}
.sw-btn--ghost{background:#fff;color:var(--sw-gray);border:1px solid var(--sw-border);}
.sw-btn--ghost:hover{border-color:var(--sw-blue);color:var(--sw-blue);}

/* 图片界面区 */
.sw-gallery{background:#fff;border-radius:14px;padding:24px 26px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.sw-section-title{
    font-size:16px;color:var(--sw-dark);margin-bottom:18px;padding-left:10px;
    border-left:3px solid var(--sw-blue);font-weight:bold;
}
.sw-gallery__main{
    background:var(--sw-soft);border-radius:10px;padding:14px;text-align:center;
    border:1px solid var(--sw-border);
}
.sw-gallery__main img{max-width:100%;max-height:460px;display:block;margin:0 auto;border-radius:6px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.08);}
.sw-gallery__thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.sw-thumb{
    width:112px;height:74px;border-radius:8px;overflow:hidden;cursor:pointer;
    border:2px solid transparent;background:var(--sw-soft);transition:all .25s;padding:0;
}
.sw-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.sw-thumb.is-active{border-color:var(--sw-blue);box-shadow:0 3px 10px rgba(26,120,228,.25);}
.sw-thumb:hover{border-color:#9ec9f5;}
.sw-gallery__caption{font-size:12.5px;color:#9aa5b4;margin-top:12px;text-align:center;}

/* 功能介绍 */
.sw-features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.sw-feature{
    background:#fff;border-radius:12px;padding:20px 22px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
    border-left:3px solid var(--sw-blue);transition:transform .3s,box-shadow .3s;
}
.sw-feature:hover{transform:translateX(3px);box-shadow:0 6px 18px rgba(0,0,0,.1);}
.sw-feature__head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.sw-feature__icon{
    width:32px;height:32px;border-radius:9px;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:15px;font-weight:bold;color:#fff;background:var(--sw-blue);
}
.sw-feature__title{font-size:15px;font-weight:bold;color:var(--sw-dark);}
.sw-feature__desc{font-size:13px;color:var(--sw-gray);line-height:1.75;}

/* 基本信息 */
.sw-meta{background:#fff;border-radius:14px;padding:24px 26px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.sw-meta__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;}
.sw-meta__item{background:var(--sw-soft);border-radius:10px;padding:14px 16px;}
.sw-meta__label{font-size:12px;color:#9aa5b4;margin-bottom:5px;}
.sw-meta__value{font-size:14px;color:var(--sw-dark);font-weight:bold;word-break:break-all;}

/* 使用说明 */
.sw-note{
    background:#eef6ff;border-left:4px solid var(--sw-blue);border-radius:10px;
    padding:18px 22px;font-size:13.5px;color:var(--hei);line-height:1.9;margin-bottom:20px;
}
.sw-note strong{color:var(--sw-blue);display:block;margin-bottom:6px;font-size:14px;}
.sw-note ul{list-style:none;}
.sw-note li{padding-left:16px;position:relative;}
.sw-note li::before{content:'·';position:absolute;left:4px;top:0;color:var(--sw-blue);font-weight:bold;}

/* 底部提示 */
.sw-tips{
    background:#fff8e6;border:1px solid #ffe4a3;border-radius:12px;
    padding:16px 20px;font-size:13px;color:#8a6d1a;line-height:1.8;
}

/* ========== 响应式 ========== */
@media screen and (max-width:900px){
    .sw-grid{grid-template-columns:repeat(2,1fr);}
    .sw-features{grid-template-columns:1fr;}
    .sw-meta__grid{grid-template-columns:repeat(2,1fr);}
}
@media screen and (max-width:600px){
    .sw-grid{grid-template-columns:1fr;gap:14px;}
    .sw-hero{padding:26px 20px;border-radius:12px;}
    .sw-hero__title{font-size:22px;}
    .sw-hero__desc{font-size:13.5px;}
    .sw-detail__head{padding:20px;gap:16px;}
    .sw-detail__icon{width:72px;height:72px;border-radius:16px;}
    .sw-detail__name{font-size:20px;}
    .sw-detail__actions{width:100%;}
    .sw-btn{flex:1 1 auto;}
    .sw-meta__grid{grid-template-columns:1fr;}
    .sw-thumb{width:88px;height:58px;}
}
