/* ============================================
   游民联盟 - 子页面样式（系列页 & 详情页）
   ============================================ */
:root{--hei0:#1c3645;--hei:#414141;--gray:#6a6b6d;--bai:#f2f3f6;--hui:#535353;--h01:#f02e3e;--h02:#ff6c00;--h03:#eeb416;--l01:#1ab373;--c11:#1a78e4;--c12:#2aae67;--c13:#08ccd9;--white:#fff;--border:#e8e8e8;}
*{padding:0;margin:0;box-sizing:border-box;}
html{font-family:'Microsoft YaHei',Arial,sans-serif;font-size:16px;color:var(--hei);background:#f5f7fa;}
a{text-decoration:none;color:inherit;}
img{border:none;vertical-align:middle;}
ul{list-style:none;}
.container{max-width:1080px;margin:0 auto;padding:0 20px;}
.navbar{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.navbar .container{display:flex;align-items:center;height:60px;}
.navbar-logo{display:flex;align-items:center;font-size:20px;font-weight:bold;color:var(--hei0);text-decoration:none;flex-shrink:0;}
.navbar-logo strong{font-size:22px;color:var(--hei0);}
.navbar-body{flex-grow:1;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.navbar-body::-webkit-scrollbar{display:none;height:0;}
/* 空间富余时导航居中，空间不足时左对齐（避免与搜索框重叠） */
.navbar-body ul{display:flex;align-items:center;justify-content:safe center;gap:2px;min-width:max-content;}
/* 导航项内边距自适应压缩，避免出现横向滚动条 */
.navbar-body ul li a{display:block;padding:0 clamp(2px,.45vw,12px);line-height:60px;font-size:16px;color:var(--gray);transition:color .3s;white-space:nowrap;}
/* 空间非常紧张时缩小字号，进一步压缩宽度 */
@media screen and (max-width:1000px){
    .navbar-body ul li a{font-size:15px;padding:0 4px;}
}
@media screen and (max-width:860px){
    .navbar-body ul li a{font-size:14px;padding:0 3px;}
}
.navbar-body ul li a:hover,.navbar-body ul li a.active{color:var(--hei0);font-weight:bold;}
.nav-switch{display:none;padding:8px;cursor:pointer;color:var(--hei0);font-size:20px;}
/* 导航栏内搜索框（子页面适配） */
.navbar .gs-search{margin-left:14px;width:210px;}
.navbar .gs-search .gs-search__field{height:36px;width:100%;}
.navbar .gs-toggle{margin-left:auto;}
.navbar .gs-panel{right:0;}
@media screen and (max-width:1080px){
    .navbar .gs-search{width:190px;}
    .navbar .gs-search .gs-search__input{font-size:13px;}
}
@media screen and (max-width:900px){
    .navbar .gs-search{width:160px;}
}
@media screen and (max-width:768px){
    .navbar .gs-search{display:none;}
    .navbar .gs-toggle{display:flex;}
}
.main-content{padding:24px 20px;max-width:1080px;margin:0 auto;}
.platform-header{background:var(--white);border-radius:12px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;align-items:center;gap:24px;}
.platform-header .platform-icon{width:100px;height:100px;border-radius:16px;object-fit:contain;background:#f5f7fa;flex-shrink:0;}
.platform-header .platform-info h1{font-size:22px;color:var(--hei0);margin-bottom:8px;font-weight:bold;}
.platform-header .platform-info p{font-size:14px;color:var(--gray);margin-bottom:6px;}
.platform-header .platform-info .stat-row{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--gray);}
.platform-header .platform-info .stat-row .stat{display:flex;align-items:center;gap:4px;}
.platform-header .platform-info .stat-row .stat .dot{width:8px;height:8px;border-radius:50%;background:var(--l01);}
.platform-header .platform-info .stat-row .stat .dot.warn{background:var(--h02);}
.platform-header .platform-info .stat-row .stat strong{color:var(--hei0);font-size:16px;}
/* ========== 好评率环形进度（动态增长 + 数字滚动） ========== */
/* 放在平台头部卡片内右侧的紧凑版 */
.rating-ring{
    display:flex;align-items:center;gap:22px;
    background:var(--white);border-radius:12px;padding:20px 24px;margin-bottom:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}
/* 头部内嵌变体：去掉独立卡片外观，紧凑排布 */
.platform-header .rating-ring{
    background:transparent;box-shadow:none;padding:0;margin:0;
    flex:0 0 auto;gap:14px;margin-left:auto;
}
/* 内嵌时隐藏右侧信息块，只保留圆环 + 好评率标签 */
.platform-header .rating-ring__info{display:none;}
.platform-header .rating-ring__visual{margin-bottom:26px;}
.platform-header .rating-ring__svg{width:84px;height:84px;}
.platform-header .rating-ring__visual{width:84px;height:84px;}
.platform-header .rating-ring__center .rating-ring__pct{font-size:22px;}
/* 旧版头部结构（.media 布局）的内嵌变体 */
.media.moble-app .rating-ring{margin-left:auto;margin-right:8px;}
.media.moble-app .rating-ring__info{display:none;}
.media.moble-app .rating-ring__visual{margin-bottom:26px;}
.media.moble-app .rating-ring__svg{width:84px;height:84px;}
.media.moble-app .rating-ring__visual{width:84px;height:84px;}
.media.moble-app .rating-ring__center .rating-ring__pct{font-size:22px;}
@media screen and (max-width:768px){
    .media.moble-app .rating-ring{margin-left:0;margin-right:0;align-self:center;}
}
.rating-ring__visual{position:relative;width:108px;height:108px;flex:0 0 auto;}
/* 圆环下方的「好评率」文字标签 */
.rating-ring__label{
    position:absolute;left:50%;transform:translateX(-50%);
    bottom:-22px;font-size:13px;color:var(--gray);white-space:nowrap;
    display:flex;align-items:center;gap:5px;
}
/* 等级标签（优秀/良好/一般…），颜色随百分比变化 */
.rating-ring__tier{
    font-style:normal;font-size:12px;font-weight:bold;
    padding:1px 7px;border-radius:9px;
    color:#fff;
    -webkit-text-fill-color:#fff;
    background:var(--rating-color,#1ab373);
}
.rating-ring__svg{width:108px;height:108px;transform:rotate(-90deg);display:block;}
.rating-ring__track{fill:none;stroke:#eceff3;stroke-width:7;}
.rating-ring__bar{
    fill:none;stroke:url(#gsRatingGrad);stroke-width:7;stroke-linecap:round;
    stroke-dasharray:295.31;stroke-dashoffset:295.31;
    transition:stroke-dashoffset 1.4s cubic-bezier(.22,1,.36,1);
    filter:drop-shadow(0 1px 4px rgba(26,181,115,.35));
}
/* 渐变定义（每个页面一份，靠 JS 注入） */
.rating-ring__defs{display:none;}
.rating-ring__center{
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
}
.rating-ring__center .rating-ring__pct{
    font-size:27px;font-weight:bold;color:var(--l01);
    letter-spacing:-.5px;line-height:1;
    opacity:0;transform:translateY(4px);
}
.rating-ring__info{flex:1 1 auto;min-width:0;}
.rating-ring__title{
    font-size:15px;color:var(--gray);margin-bottom:10px;
    display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.rating-ring__title strong{font-size:22px;color:var(--hei0);}
.rating-ring__title .rating-ring__sub{font-size:13px;color:#9aa5b4;}
.rating-ring__trackline{
    height:7px;background:#eceff3;border-radius:4px;overflow:hidden;margin-bottom:12px;
}
.rating-ring__trackline i{
    display:block;height:100%;border-radius:4px;
    background:linear-gradient(90deg,var(--l01),#2ecc71);
    width:0;transition:width 1.4s cubic-bezier(.22,1,.36,1);
}
.rating-ring__stars{display:flex;gap:3px;align-items:center;}
.rating-ring__stars svg{width:16px;height:16px;fill:#e3e8ef;transition:fill .45s,transform .45s;}
.rating-ring__stars svg.on{fill:#ffb400;transform:scale(1.06);}
.rating-ring__stars .rating-ring__startext{font-size:13px;color:var(--gray);margin-left:6px;}

/* 移动端：环形与信息纵向排列 */
@media screen and (max-width:768px){
    .rating-ring{flex-direction:column;align-items:center;text-align:center;gap:16px;padding:18px;}
    .rating-ring__info{width:100%;}
    .rating-ring__title{justify-content:center;}
    .rating-ring__stars{justify-content:center;}
}

.link-panel{background:var(--white);border-radius:12px;padding:20px 24px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.link-panel .link-row{display:flex;align-items:center;margin-bottom:12px;gap:12px;}
.link-panel .link-row:last-child{margin-bottom:0;}
.link-panel .link-url{flex-grow:1;display:flex;align-items:center;gap:8px;background:#f5f7fa;border-radius:8px;padding:10px 14px;border:1px solid var(--border);}
.link-panel .link-url .link-tag{font-size:12px;padding:2px 8px;border-radius:4px;white-space:nowrap;}
.link-panel .link-url .link-tag.info{background:#e3f2fd;color:var(--c11);}
.link-panel .link-url .link-tag.warn{background:#fff3e0;color:var(--h02);}
.link-panel .link-url .link-tag.success{background:#e8f5e9;color:var(--l01);}
.link-panel .link-url .link-url-text{font-size:14px;color:var(--hei);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.link-panel .link-btn a{display:inline-block;padding:8px 18px;border-radius:20px;font-size:13px;font-weight:bold;cursor:pointer;transition:all .3s;white-space:nowrap;text-align:center;}
.link-panel .link-btn a.btn-info{background:var(--c11);color:#fff;}
.link-panel .link-btn a.btn-info:hover{background:rgba(26,120,228,.8);}
.link-panel .link-btn a.btn-warn{background:var(--h02);color:#fff;}
.link-panel .link-btn a.btn-warn:hover{background:rgba(255,108,0,.8);}
.link-panel .link-btn a.btn-success{background:var(--l01);color:#fff;}
.link-panel .link-btn a.btn-success:hover{background:rgba(26,179,115,.8);}
.clearfix{clear:both;}
.notice-box{background:#fff8e1;border-left:4px solid var(--h02);border-radius:8px;padding:16px 20px;margin-bottom:20px;font-size:14px;color:var(--hei);line-height:1.8;}
.notice-box strong{color:var(--h01);}
.recommend-section{margin-top:24px;}
.recommend-section h5{font-size:16px;color:var(--hei0);margin-bottom:16px;padding-left:4px;border-left:3px solid var(--c11);}
.recommend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.recommend-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .3s,box-shadow .3s;cursor:pointer;}
.recommend-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,.12);}
.recommend-card img{width:120px;height:120px;object-fit:contain;background:#f5f7fa;border-radius:8px;margin:12px auto 0;display:block;}
.recommend-card .card-body{padding:12px 16px 16px;text-align:center;}
.recommend-card .card-body h6{font-size:14px;color:var(--hei0);margin-bottom:10px;font-weight:bold;}
.recommend-card .card-body a{display:inline-block;padding:6px 20px;border-radius:20px;font-size:13px;background:var(--c11);color:#fff;transition:background .3s;}
.recommend-card .card-body a:hover{background:rgba(26,120,228,.8);}
.site-footer{background:var(--hei0);color:rgba(255,255,255,.7);text-align:center;padding:20px;font-size:14px;margin-top:32px;}
.site-footer strong{color:#fff;}
@media screen and (max-width:768px){
    .navbar-body ul{justify-content:flex-start;overflow-x:auto;}
    .navbar-body ul::-webkit-scrollbar{display:none;}
    .platform-header{flex-direction:column;text-align:center;}
    .platform-header .platform-icon{width:80px;height:80px;}
    .recommend-grid{grid-template-columns:repeat(2,1fr);}
    .contact-grid{grid-template-columns:1fr;}
    .link-panel .link-row{flex-direction:column;align-items:stretch;}
    .link-panel .link-btn{text-align:center;}
}
@media screen and (max-width:480px){
    .recommend-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
    .container{padding:0 12px;}
}