/* soft888 mobile skin - refined light theme (2026-11-14 redesign)
   与 PC 同一套设计语言，保留全部历史类名。 */
:root{
  --brand:#23c268; --brand-2:#4ad880; --brand-soft:#e8f8ef;
  --ink:#333; --ink-2:#666; --muted:#999; --line:#e8e8e8;
  --bg:#f4f4f4; --card:#fff; --star:#ffaf0f;
  --radius:14px;
  --shadow:0 2px 5px #e6e6e6;
  --ease:cubic-bezier(.22,.68,.35,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Inter","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:calc(64px + env(safe-area-inset-bottom))}
a{color:inherit;text-decoration:none;transition:color .2s var(--ease)}
img{display:block;max-width:100%}
ul,ol{list-style:none}
button,input{font:inherit;outline:none;border:0;background:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.m-wrap{padding:0}
.m-wrap-pad{padding:0 14px}
.m-dwrap{padding:0}
.m-dwrap .m-block{border-radius:0;border-left:0;border-right:0}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hide{display:none!important}

/* header */
.m-header{z-index:30;background:#23c268}
.m-head-row{height:52px;display:flex;align-items:center;gap:8px;padding:0 12px}
.m-logo{display:flex;align-items:center;gap:8px;flex:none}
.m-logo b{font-size:16px;letter-spacing:-.2px;font-weight:700;white-space:nowrap;color:#fff}
.m-search{flex:1;min-width:0;overflow:hidden;height:36px;display:flex;align-items:center;gap:7px;background:#fff;border-radius:4px;padding:0 10px;color:var(--muted);font-size:12.5px}
.m-search::before{content:"";flex:none;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2398a3b8' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.6-3.6'/%3E%3C/svg%3E") center/contain no-repeat}
.m-search input{flex:1;width:auto;min-width:0;background:transparent;font-size:13px;color:var(--ink)}
.m-search button{flex:none;height:26px;padding:0 9px;border-radius:4px;background:#17a356;color:#fff;font-size:11px;font-weight:600;white-space:nowrap}
.m-head-row .m-cat{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:9px;cursor:pointer}

/* category drawer */
.m-drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:55;opacity:0;pointer-events:none;transition:opacity .25s}
.m-drawer-mask.on{opacity:1;pointer-events:auto}
.m-drawer{position:fixed;top:0;right:0;bottom:0;width:80%;max-width:320px;background:#fff;z-index:60;transform:translateX(105%);transition:transform .25s ease;overflow-y:auto;overscroll-behavior:contain}
.m-drawer.on{transform:none}
.m-drawer-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid var(--line)}
.m-drawer-head b{font-size:15px}
.m-drawer-x{width:30px;height:30px;border:0;background:#f2f5f8;border-radius:8px;font-size:13px;color:#666;cursor:pointer}
.m-drawer-body{padding:12px 14px 24px;background:#f7f9fc;min-height:100%}
.m-drawer-group{background:#fff;border:1px solid #eef1f6;border-radius:14px;padding:12px 12px 14px;margin-top:10px}
.m-drawer-body h3{font-size:14px;color:var(--ink);margin:0 0 10px;font-weight:700;display:flex;align-items:center;gap:7px}
.m-drawer-body h3::before{content:"";width:4px;height:14px;flex:none;margin-right:7px;border-radius:2px;background:var(--brand)}
.m-drawer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.m-drawer-links a{padding:8px 2px;background:#f6f8fa;border-radius:9px;font-size:12.5px;color:#4a5568;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.15s}
.m-drawer-links a:active{background:var(--brand-soft);color:var(--brand)}
.m-drawer-links a.m-drawer-all{background:#fff;border:1px solid var(--brand);color:var(--brand);font-weight:600}
.m-drawer-zt{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px;padding:11px 13px;background:var(--brand);border-radius:12px;font-size:13.5px;font-weight:600;color:#fff;width:100%;box-sizing:border-box}
.m-nav{display:flex;gap:26px;padding:0 16px;height:44px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;background:#fff}
.m-nav::-webkit-scrollbar{display:none}
.m-nav a{position:relative;display:flex;align-items:center;font-size:17px;color:#333}
.m-nav a.on{color:var(--brand);font-weight:600}

/* category scroller */
.m-cats{display:flex;gap:10px;overflow-x:auto;padding:15px 0 6px;scrollbar-width:none}
.m-cats::-webkit-scrollbar{display:none}
.m-cats a{flex:none;text-align:center;width:62px}
.m-cats i{position:relative;width:48px;height:48px;margin:0 auto 7px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-weight:700;font-size:17px;background:linear-gradient(140deg,var(--q1,#2fd07e),var(--q2,#13a85f));box-shadow:0 6px 14px rgba(22,150,90,.14),inset 0 1px 0 rgba(255,255,255,.34);overflow:hidden}
.m-cats i::after{content:"";position:absolute;left:-45%;top:-70%;width:65%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:rotate(20deg)}
.m-cats span{font-size:11.5px;color:var(--ink-2);display:block;white-space:nowrap}

/* hero slider */
.m-hero{margin-top:14px;position:relative;height:190px;border-radius:0;border-left:0;border-right:0;overflow:hidden;color:#fff;background:#0f3a2c;box-shadow:none}
.m-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:28px 28px;z-index:1;pointer-events:none}
.m-slide{position:absolute;inset:0;padding:18px;opacity:0;transition:opacity .45s var(--ease);display:flex;align-items:center;gap:14px;z-index:2}
.m-slide.on{opacity:1}
.m-slide::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 20% 30%,var(--c1),transparent 58%),radial-gradient(circle at 80% 70%,var(--c2),transparent 58%)}
.m-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,18,42,.5),rgba(12,18,42,.04))}
.m-slide>*{position:relative;z-index:2}
.m-slide>div{flex:1;min-width:0}
.m-slide h2,.m-slide p{overflow-wrap:anywhere;word-break:break-word}
.m-slide .m-ico{width:72px;height:72px;flex:none;border-radius:20px;background:rgba(255,255,255,.94);color:var(--ink);font-size:29px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.18);overflow:hidden}
.m-slide h2{font-size:19px;margin-bottom:5px;font-weight:700;letter-spacing:-.2px}
.m-slide h2 a{color:#fff}
.m-slide p{font-size:11.5px;opacity:.88;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.m-slide .m-btn{display:inline-block;margin-top:10px;padding:6px 17px;border-radius:999px;background:#fff;color:#0e9c58;font-size:12px;font-weight:600;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.m-dots{position:absolute;right:12px;bottom:10px;z-index:5;display:flex;gap:5px}
.m-dots i{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.5);transition:.25s var(--ease)}
.m-dots i.on{width:16px;background:#fff}

/* section */
.m-sec{margin-top:20px}
.m-sec-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 0 12px 6px}
.m-sec-head h2{font-size:17px;display:flex;align-items:center;gap:9px;font-weight:700;letter-spacing:-.2px}
.m-sec-head h2::before{content:"";width:4px;height:16px;flex:none;margin-right:9px;border-radius:3px;background:linear-gradient(160deg,var(--brand),var(--brand-2))}
.m-sec-head a{font-size:12px;color:var(--muted)}
.m-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.m-app{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px;box-shadow:var(--shadow);transition:.22s var(--ease)}
.m-app:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,30,60,.09)}
.m-ico-s{position:relative;width:48px;height:48px;flex:none;border-radius:15px;color:#fff;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.32);overflow:hidden}
.m-ico-s::after{content:"";position:absolute;left:-45%;top:-70%;width:65%;height:190%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(20deg);pointer-events:none}
.m-app-main{flex:1;min-width:0}
.m-app-main b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-app-main small{display:block;color:var(--muted);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-app-main .stars{font-size:10px}
.m-dl{width:42px;height:27px;flex:none;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}
.m-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2px 14px;box-shadow:var(--shadow);min-height:120px}
.m-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #eff2f8}
.m-row:last-child{border-bottom:0}
.m-row .m-ico-s{width:52px;height:52px;border-radius:16px;font-size:22px}
.m-row-main{flex:1;min-width:0}
.m-row-main b{font-size:14px;display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-row-main small{color:var(--muted);font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-row-main .m-meta{display:flex;gap:9px;margin-top:4px;font-size:10.5px;color:var(--muted)}
.m-row .m-dl{padding:0 13px;width:auto;height:28px}
.m-more{display:block;margin:14px auto 0;height:36px;padding:0 24px;border-radius:999px;background:#fff;color:var(--ink-2);font-size:12.5px;border:1px solid var(--line);box-shadow:var(--shadow)}
.stars{color:var(--star);font-style:normal;letter-spacing:.5px}
.stars .st-off{color:#dfe4ed}

/* topics */
.m-zt-hero{position:relative;margin-top:14px;border-radius:18px;padding:22px 20px;color:#fff;background:linear-gradient(115deg,#13a85f,#1fc074 52%,#33d07c);overflow:hidden;box-shadow:0 10px 26px rgba(19,168,95,.18)}
.m-zt-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px}
.m-zt-hero::after{content:"";position:absolute;right:-40px;top:-70px;width:190px;height:190px;border-radius:50%;border:1px solid rgba(255,255,255,.18);box-shadow:0 0 0 30px rgba(255,255,255,.05)}
.m-zt-hero>*{position:relative;z-index:2}
.m-zt-hero h1{font-size:22px;margin-bottom:6px;font-weight:700;letter-spacing:-.3px}
.m-zt-hero p{font-size:12px;opacity:.88}
.m-zt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.m-zt-card{position:relative;height:124px;border-radius:var(--radius);padding:15px;color:#fff;overflow:hidden;box-shadow:0 5px 14px rgba(20,30,60,.08)}
.m-zt-card::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 25% 25%,var(--c1),transparent 62%),radial-gradient(circle at 80% 80%,var(--c2),transparent 62%)}
.m-zt-card::after{content:"";position:absolute;right:-30px;top:-34px;width:100px;height:100px;border-radius:50%;border:1px solid rgba(255,255,255,.2);box-shadow:0 0 0 16px rgba(255,255,255,.05)}
.m-zt-card>*{position:relative;z-index:2}
.m-zt-card small{font-size:10px;opacity:.86;letter-spacing:1px}
.m-zt-card h3{font-size:15.5px;margin:9px 0 5px;font-weight:700}
.m-zt-card p{font-size:10.5px;opacity:.88;line-height:1.55}

/* list page */
.m-crumb{font-size:11.5px;color:var(--muted);padding:9px 14px 0}
.m-crumb span{margin:0 5px;color:#c4cddc}
.m-title{display:flex;align-items:baseline;gap:9px;padding:8px 14px 13px}
.m-title h1{font-size:21px;font-weight:700;letter-spacing:-.3px}
.m-title small{font-size:11.5px;color:var(--muted)}
.m-filter{display:flex;gap:8px;overflow-x:auto;padding:0 0 12px;scrollbar-width:none}
.m-filter::-webkit-scrollbar{display:none}
.m-filter a{flex:none;padding:6px 14px;border-radius:999px;background:#fff;font-size:12.5px;color:var(--ink-2);border:1px solid var(--line)}
.m-filter a.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.m-sortbar{display:flex;gap:16px;padding:0 0 10px;font-size:12.5px;color:var(--muted)}
.m-sortbar a.on{color:var(--brand);font-weight:600}

/* detail */
.m-dhero{background:#fff;border:1px solid var(--line);border-left:0;border-right:0;border-radius:0;padding:16px;margin-top:10px;box-shadow:none}
.m-dhero-top{display:flex;gap:14px}
.m-dhero .m-ico-s{width:76px;height:76px;border-radius:22px;font-size:30px}
.m-dhero h1{font-size:18px;margin-bottom:5px;font-weight:700;letter-spacing:-.3px}
.m-dhero h1 em{font-style:normal;font-weight:400;font-size:13px;color:#98a3b8;margin-left:3px}
.m-dhero .m-sub{color:var(--muted);font-size:11.5px}
.m-dhero-txt .m-cat{font-size:12px;color:#23c268;margin-top:6px;line-height:18px}
.m-dl-btn{display:flex;align-items:center;justify-content:center;height:44px;line-height:normal;text-align:center;background:var(--brand);color:#fff;font-size:16px;font-weight:600;border-radius:4px;margin-top:14px}
.m-dl-btn::before{content:"";width:15px;height:15px;margin-right:7px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E") no-repeat center/contain}
.m-dl-btn.yellow{background:#fea342}
.m-dl-btn.gray{background:#b9b9b9}
.m-dfields{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.m-dfields div{font-size:12px;min-width:0;display:flex;gap:5px}
.m-dfields label{color:var(--muted);flex:none}
.m-dfields span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-anchor{display:flex;gap:32px;overflow-x:auto;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:0 16px;margin:12px 0 0;border:1px solid var(--line);border-left:0;border-right:0;border-bottom:0;border-radius:0;scrollbar-width:none;position:relative}
.m-anchor::-webkit-scrollbar{display:none}
.m-anchor:before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#e5e5e5;background:var(--line)}
.m-anchor a{position:relative;padding:12px 0;font-size:15px;color:#555;color:var(--ink-2);white-space:nowrap}
.m-anchor a.on{color:#23c268;color:var(--brand)}
.m-anchor a.on:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:#23c268;background:var(--brand);border-radius:2px 2px 0 0}
.m-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px;margin-top:12px;box-shadow:var(--shadow);scroll-margin-top:152px}
.m-block:first-child{margin-top:0;border-radius:0 0 var(--radius) var(--radius);border-left:0;border-right:0}
.m-block h2{font-size:16px;display:flex;align-items:center;gap:8px;margin-bottom:13px;font-weight:700}
.m-block h2::before{content:"";width:4px;height:15px;flex:none;margin-right:8px;border-radius:3px;background:linear-gradient(var(--brand),var(--brand-2))}
.m-block h3{font-size:14px;margin:16px 0 7px;font-weight:600}
.m-block p{font-size:13px;color:var(--ink-2);line-height:1.9;margin-bottom:10px}
.m-shots{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.m-shots::-webkit-scrollbar{display:none}
.m-shot{width:112px;height:198px;flex:none;border-radius:12px;position:relative;overflow:hidden;color:#fff}
.m-shot::before{content:"";position:absolute;inset:0;background:linear-gradient(165deg,var(--c1),var(--c2))}
.m-downbox{display:flex;align-items:center;gap:12px;background:#f7f9fe;border:1px solid var(--line);border-radius:13px;padding:14px}
.m-downbox .m-ico-s{width:44px;height:44px;border-radius:13px;font-size:18px}
.m-downbox b{font-size:13px;display:block}
.m-downbox small{color:var(--muted);font-size:11px}
.m-info-table{width:100%;border-collapse:collapse;font-size:13px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.m-info-table td{padding:10px 12px;border-bottom:1px solid var(--line);word-break:break-all;line-height:1.5}
.m-info-table tr:last-child td{border-bottom:0}
.m-info-table td:first-child{width:78px;background:transparent;color:var(--muted);white-space:nowrap}
.m-rel{display:flex;flex-direction:column}
.m-rel-item{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 2px}
.m-rel-item:last-child{border-bottom:0}
.m-rel-item .m-ico-s{width:40px;height:40px;border-radius:10px;font-size:15px;flex:none}
.m-rel-item b{font-size:13px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-rel-item small{color:var(--muted);font-size:11px}

.m-footer{padding:24px 14px 14px;text-align:center;color:var(--muted);font-size:11px;line-height:1.9}
.m-footer a{margin:0 6px}

/* icon containers */
.m-ico-s img,.m-ico img,.m-shot img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.m-ico-s,.m-ico{overflow:hidden}
.m-ico-s>span,.m-ico>span{color:#fff;font-size:inherit;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}
.m-ico>span{color:var(--ink)!important}
.m-shot img{position:absolute;inset:0}
.m-rel-txt{min-width:0;flex:1}
.m-rel-item b,.m-rel-item small{display:block}
.pager{display:flex;justify-content:center;gap:7px;padding:18px 0}
.pager a,.pager span{min-width:32px;height:32px;padding:0 10px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.pager .cur{background:var(--brand);color:#fff;border-color:var(--brand)}
/* screenshot lightbox（site.js 点击截图放大） */
.lightbox{position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;cursor:zoom-out}
.lightbox.on{display:flex}
.lightbox img{max-width:82vw;max-height:86vh;border-radius:8px}
.lightbox .lb-inner>div{max-width:82vw;max-height:86vh;border-radius:16px}

/* 9663 对齐：热门应用图标横滑行 */
.m-hot-row{display:flex;gap:14px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}
.m-hot-row::-webkit-scrollbar{display:none}
.m-hot{flex:none;width:62px;display:flex;flex-direction:column;align-items:center;gap:7px}
.m-hot-ico{position:relative;width:58px;height:58px;flex:none;border-radius:18px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:700;background:linear-gradient(140deg,var(--brand),var(--brand-2));box-shadow:0 8px 18px rgba(22,184,107,.18),inset 0 1px 0 rgba(255,255,255,.34);overflow:hidden}
.m-hot-ico::after{content:"";position:absolute;left:-45%;top:-70%;width:65%;height:190%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:rotate(20deg);pointer-events:none}
.m-hot-ico img,.m-hot-ico span{width:100%;height:100%;object-fit:cover}
.m-hot-ico span{display:flex;align-items:center;justify-content:center;color:#fff;font-size:.86em;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.m-hot b{font-size:11.5px;color:var(--ink-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* 9663 对齐：编辑精选卡片（复用 .m-appv 竖排卡 + 两行描述） */
.m-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.m-appv-desc{margin-top:6px;max-width:100%;color:var(--muted);font-size:11px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 精选推荐竖排卡（名字整行可见） */
.m-appv{display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 10px 12px;box-shadow:var(--shadow);transition:.22s var(--ease)}
.m-appv:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,30,60,.09)}
.m-appv .m-ico-s{width:58px;height:58px;border-radius:17px;font-size:24px}
.m-appv-name{margin-top:9px;max-width:100%;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-appv-meta{margin-top:3px;max-width:100%;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-appv .stars{margin-top:5px;font-size:10px}
.m-appv .m-dl{width:100%;height:30px;margin-top:9px}

/* 9663 对齐：双排行榜（应用榜 + 游戏榜） */
.m-rank2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.m-rank2 .m-rank-col,.m-grid>*,.m-zt-grid>*,.m-rel>*,.m-edit-grid>*{min-width:0}
.m-rank-col .m-rank-h{font-size:14px;font-weight:700;margin-bottom:9px}
.m-rank-col .m-list{min-height:auto}
.m-rkno{flex:none;min-width:18px;height:18px;line-height:18px;padding:0 3px;margin-right:9px;text-align:center;font-style:normal;font-size:11px;font-weight:700;color:#9aa3b2;background:#f1f3f7;border-radius:4px}
.m-rkno.n1{background:#fe4f4f;color:#fff}
.m-rkno.n2{background:#ff8036;color:#fff}
.m-rkno.n3{background:#ffb428;color:#fff}
@media(max-width:560px){.m-rank2{grid-template-columns:1fr}.m-rank-col+.m-rank-col{margin-top:14px}}

/* 空数据时的优雅占位（JS 注入，导入正式数据后自动消失） */
.hero-welcome{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:0 22px;color:#fff;background:radial-gradient(circle at 16% 20%,rgba(22,184,107,.72),transparent 58%),radial-gradient(circle at 84% 80%,rgba(51,208,124,.5),transparent 58%),linear-gradient(115deg,#0f3a2c,#16432f);overflow:hidden}
.hero-welcome::after{content:"";position:absolute;right:-70px;top:-90px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 30px rgba(255,255,255,.04),0 0 0 62px rgba(255,255,255,.03)}
.hero-welcome>*{position:relative;z-index:2}
.hw-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 11px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:9.5px;letter-spacing:1.2px;font-weight:600}
.hw-badge::before{content:"";width:5px;height:5px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.18)}
.hero-welcome h2{font-size:21px;line-height:1.35;letter-spacing:-.4px;margin:12px 0 6px;font-weight:700}
.hero-welcome p{font-size:11px;color:rgba(255,255,255,.8);max-width:280px;line-height:1.7}
.hw-actions{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}
.hw-actions a{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 16px;border-radius:999px;font-size:11px;font-weight:600;transition:.22s var(--ease)}
.hw-actions a.primary{background:#fff;color:#0f7a47}
.hw-actions a.ghost{border:1px solid rgba(255,255,255,.32);color:#fff}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:120px;padding:24px 14px;text-align:center;color:var(--muted)}
.empty-state .es-ico{position:relative;width:44px;height:44px;border-radius:15px;background:linear-gradient(140deg,#e8f8ef,#e5f6f4);display:flex;align-items:center;justify-content:center;margin-bottom:2px}
.empty-state .es-ico::before{content:"";width:17px;height:17px;border:2px solid #5fc28c;border-radius:5px;transform:rotate(-8deg)}
.empty-state .es-ico::after{content:"";position:absolute;width:7px;height:2px;background:#5fc28c;border-radius:2px;transform:rotate(-8deg) translateY(-1px)}
.empty-state b{font-size:12.5px;color:var(--ink-2);font-weight:600}
.empty-state span{font-size:11px;line-height:1.7}
.empty-state a{margin-top:5px;font-size:11px;color:var(--brand);padding:4px 13px;border:1px solid #cfeede;border-radius:999px}
.m-grid.is-empty,.m-zt-grid.is-empty{display:block;grid-template-columns:none}
.m-list.is-empty{padding:0}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
/* 内容来源：source 字段 */
.m-info-table .s8-src{color:var(--brand);text-decoration:none;word-break:break-all}
/* ---------------- 搜索页 ---------------- */
.m-srchbar{display:flex;gap:8px}
.m-srchbar-ipt{flex:1;min-width:0;height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font-size:14px;color:var(--ink);background:#fff}
.m-srchbar-ipt:focus{outline:none;border-color:var(--brand)}
.m-srchbar-btn{height:40px;padding:0 20px;border-radius:8px;background:var(--brand);color:#fff;font-size:14px;font-weight:600;border:0}
.m-srch-times{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.m-srch-times a{font-size:12px;color:var(--ink-2);background:var(--bg);border-radius:999px;padding:5px 13px}
.m-srch-times a.on{color:#fff;background:var(--brand)}
.m-srch-meta{font-size:13px;color:var(--muted);margin-bottom:8px}
.m-srch-meta b{color:var(--brand);font-weight:600}
.m-sr-list{display:flex;flex-direction:column}
.m-sr-item{display:flex;gap:10px;align-items:flex-start;padding:12px 2px;border-bottom:1px solid var(--line)}
.m-sr-item:last-child{border-bottom:0}
.m-sr-item .m-ico-s{width:46px;height:46px;border-radius:10px;font-size:16px;flex:none;overflow:hidden}
.m-sr-item .m-ico-s img{width:100%;height:100%;object-fit:cover;display:block}
.m-sr-item font{color:var(--brand);font-weight:600}
.m-sr-main{min-width:0;flex:1}
.m-sr-main b{display:block;font-size:14px;font-weight:500;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-sr-main small{display:block;font-size:12px;color:var(--muted);line-height:1.55;margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.m-sr-time{font-size:11px!important;margin-top:5px!important;-webkit-line-clamp:1!important;display:block!important}
.m-sr-empty{text-align:center;padding:36px 0 20px;color:var(--muted)}
.m-sr-empty b{display:block;font-size:14px;color:var(--ink)}
.m-sr-empty small{display:block;margin-top:6px;font-size:12px}
.m-sr-recs{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.m-sr-recs a{font-size:12px;color:var(--brand);background:rgba(35,194,104,.08);padding:6px 14px;border-radius:999px}
.m-srch-hot{margin-top:14px}
.m-srch-hot b{display:block;font-size:13px;color:var(--ink-2);margin-bottom:8px}
.m-srch-hotlinks{display:flex;flex-wrap:wrap;gap:8px}
.m-srch-hotlinks a{font-size:12px;color:var(--ink-2);background:var(--bg);border-radius:999px;padding:5px 13px}
.m-pages{margin-top:16px;font-size:13px;text-align:center}
.m-pages a{display:inline-block;min-width:32px;height:32px;line-height:32px;padding:0 8px;margin:2px 3px;background:var(--bg);border-radius:6px;color:var(--ink-2);text-decoration:none}
.m-pages span{display:inline-block;min-width:32px;height:32px;line-height:32px;padding:0 8px;margin:2px 3px;border-radius:6px;background:var(--brand);color:#fff}

/* ===== 单页正文（关于我们 / 版权声明 / 联系我们） ===== */
.m-doc h3{font-size:15px;font-weight:700;color:#222;margin:20px 0 8px;padding-left:9px;border-left:3px solid #13a85f;line-height:22px}
.m-doc h3:first-child{margin-top:0}
.m-doc p{font-size:13px;color:#555;line-height:24px;margin-bottom:6px}

/* ===== 返回顶部 ===== */
.m-backtop{position:fixed;right:12px;bottom:70px;width:38px;height:38px;border-radius:8px;background:#000;background:rgba(0,0,0,.55);box-shadow:none;display:none;align-items:center;justify-content:center;z-index:90;overflow:hidden}
.m-backtop.on{display:flex}
.m-backtop svg{width:20px;height:20px;fill:none;stroke:#fff;opacity:.85;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ===== 页脚友情链接（后台 友情链接 模块 typeid=54 实时渲染） ===== */
.m-fl{font-size:11px;line-height:1.9;text-align:left;margin-top:10px;padding-top:8px;border-top:1px solid #e8e8e8}
.m-fl span{color:#999}
.m-fl a{color:#999;margin:0 8px 0 0}

/* ===== 首页友情链接板块（后台 友情链接 模块 typeid=54 实时渲染） ===== */
.m-flinks .m-sec-head{margin-bottom:10px}
.m-flinks-bd{font-size:0;line-height:0}
.m-flinks-bd a{display:inline-block;font-size:12px;line-height:20px;color:#666;margin:0 14px 8px 0}

/* ===== 首页友情链接板块（后台 友情链接 模块 typeid=54 实时渲染） ===== */
.m-flinks .m-sec-head{margin-bottom:10px}
.m-flinks-bd{font-size:0;line-height:0}
.m-flinks-bd a{display:inline-block;font-size:12px;line-height:20px;color:#666;margin:0 14px 8px 0}
