@media screen and (max-width: 768px) {
    html, body {
        font-size: 4vw;
        width: 100%;
        -webkit-tap-highlight-color:transparent
    }
    a:hover {
      color: inherit;
    }
    .headerBox,.headerKox{
        height: 14vw;
    }
    
    .headerBox .box {
        width: 100%;
        padding: 0 4vw;
    }
    .headerBox .box .logoBox .logo {
        height: 9.2vw;
        border-radius: 2.4vw;
    }
    .headerBox .box .logoBox .title {
        margin-left: 3vw;
        font-size: 4.8vw;
    }
    .headerBox .box .search {
        display: none;
    }
    .headerBox .box .navs .item,.headerBox .box .navs .btns {
        display: none;
    }
    .headerBox .box .navs .iconfont {
        display: block;
        font-weight: bold;
        font-size: 5.6vw;
        color: var(--mx-text);
    }
    .drawer .item{
        font-size: 4vw;
        color: var(--theme-color);
    }
    .drawer .item,.drawer a{
        display: block;
        height: 10vw;
        line-height: 10vw;
        font-size: 4vw;
        color: var(--theme-color);
        text-align: center;
    }
    .homeBox{
        width: 100%;
        padding: 4vw 4vw 0;
    }
    
    .homeBox .box {
        width: 100%;
    }
    .homeBox .logoBox .logo {
        height: 12vw;
        border-radius: 3.2vw;
    }
    .homeBox .logoBox .title {
        margin-left: 3.4vw;
        font-size: 5.4vw;
    }
    
    .searchBox .search {
        margin-top: 4vw;
        height: 12.8vw;
        border-radius: 12.8vw;
    }
    .searchBox .search input {
        border-radius: 12.8vw;
        font-size: 3.8vw;
        padding-left: 5vw;
    }
    .searchBox .search .btn {
        width: 15vw;
        height: 12.8vw;
    }
    .searchBox .search .btn .iconfont{
        font-size: 5.8vw;
    }
    .home {
        flex-wrap: wrap;
        margin-top: 8vw;
    }
    .homeRank {
        margin-top: 7vw;
    }
    .homeRank .rankBlock {
        margin-bottom: 4vw;
        padding: 3.2vw;
        border-radius: 4vw;
    }
    .homeRank .rankHead {
        padding-bottom: 2.2vw;
    }
    .homeRank .rankTitle {
        font-size: 4.3vw;
    }
    .homeRank .rankTitle img {
        width: 5.8vw;
        height: 5.8vw;
        margin-right: 2.2vw;
        border-radius: 1.5vw;
    }
    .homeRank .rankSub {
        font-size: 3.2vw;
    }
    .homeRank .rankList,
    .homeRank .rankList.simple {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3.2vw 2.4vw;
    }
    .homeRank .rankBlockSimple .rankList,
    .homeRank .rankList.simple {
        grid-template-columns: 1fr;
    }
    .homeRank .rankItem {
        display: block;
        min-height: 0;
        padding: 0;
        border-radius: 3vw;
    }
    .homeRank .rankPoster {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 4.15;
        border-radius: 2.4vw;
    }
    .homeRank .rankNo {
        min-width: 5.2vw;
        height: 5.2vw;
        padding: 0 1.4vw;
        border-radius: 0 0 1.3vw 0;
        font-size: 3.2vw;
        line-height: 5.2vw;
    }
    .homeRank .rankBadge {
        right: 1vw;
        top: 1vw;
        min-width: 4.8vw;
        height: 4.6vw;
        border-radius: 999px;
        font-size: 2.8vw;
        line-height: 4.6vw;
    }
    .homeRank .rankName {
        margin-top: 1.6vw;
        font-size: 3.5vw;
        line-height: 1.25;
    }
    .homeRank .rankMeta {
        gap: 1vw;
        min-height: 0;
        margin-top: 1.2vw;
    }
    .homeRank .hotPill,
    .homeRank .scorePill {
        height: 4.8vw;
        padding: 0 1.3vw;
        border-radius: 999px;
        font-size: 2.65vw;
    }
    .homeRank .rankDesc {
        margin-top: 1vw;
        font-size: 2.9vw;
    }
    .homeRank .rankCast {
        display: none;
        margin-top: .4vw;
        font-size: 3.1vw;
    }
    .homeRank .rankItem.simple {
        display: flex;
        gap: 1.8vw;
        padding: 2vw;
    }
    .homeRank .rankItem.simple .rankNo {
        min-width: 5.6vw;
        border-radius: 1.2vw;
    }
    .homeRank .rankItem.simple .rankName {
        font-size: 3.6vw;
    }
    .homeRank .rankDate {
        font-size: 3vw;
    }
    .home .nav{
        font-size: 4.2vw;
        padding: 0 3vw 2vw;
    }
    .home .nav img {
        width: 6vw;
        height: 6vw;
        margin-right: 2.6vw;
    }
    .home .content {
        min-height: auto;
    }
    
    .home .content .list{
        padding: 0 0 2vw 2vw;
    }
    .home .content .list .item {
        width: 26.8vw;
        margin: 1vw;
        padding: 1vw 0;
    }
    
    .home .content .list .item .img {
        height: 40vw;
    }
    .home .content .list .item p{
        margin-top: 2vw;
    }
    
    
    .home .content .list .item:hover{
        transform: translateY(0);
    }
    
    .home.homeNO .block {
        margin: 0;
        margin-bottom: 5vw;
        width: 100%;
        flex: auto;
    }
    
    .home.homeNO .content .list {
        padding: 0 3vw 3vw;
    }
    .home.homeNO .content .list .item{
        max-width: 100%;
    }
    
    
    .footerBox {
        padding: 5vw;
    }
    .footerBox .box {
        width: 100%;
    }
    
    
    .listBox {
        width: 100%;
        gap: 0;
        margin-top: 0;
        min-height: calc(100vh - 60vw);
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start;
    }
    .listBox .screen{
        width: 100%;
        margin: 0 4vw;
    }
    .listBox .screen .fixed h3{
        display: none;
    }
    
    .listBox .right {
        display: none;
    }
    .listBox .left {
        padding: 0 4vw;
        width: 100%;
        flex: auto;
    }
    
    .listBox h3 {
        position: relative;
        padding: 19vw 0 0;
        font-size: 3.8vw;
        text-align: center;
    }
    .listBox h3:after {
        display: none;
    }
    .listBox .box {
        padding: 3vw;
        margin-top: 4vw;
        text-align: justify;
        min-height: calc(100% - 50vw);
    }
    .listBox .Ebox{
        padding: 3vw;
        margin-top: 4vw;
        margin-bottom: 4vw;
        text-align: justify;
    }
    .listBox .left .Ebox .list .item:last-child{
        padding: 4vw;
    }
    .Qloading {
        padding-top: 6vw;
    }
    .Qtips{
        padding-top: 5.6vw;
    }
    .loader{
        font-size: 18px;
    }
    .Qbtn{
        padding-top: 5vw;
    }

    .listBox .left .list {
        padding: 0;
    }
    .listBox .left .list .item {
        padding: 4vw;
        border-radius: 4vw;
    }
    .listBox .left .list .item + .item {
        margin-top: 3vw;
    }
    .listBox .left .list .item .title {
        font-size: 4.2vw;
        padding-bottom: 1.6vw;
    }
    .listBox .left .list .item .btns{
        justify-content: flex-start;
        gap: 2vw;
    }
        
    .listBox .left .list .item .btns .btn{
        min-height: 8.6vw;
        padding: 0 3vw;
        margin-right: 0;
        font-size: 3.3vw;
    }
    .listBox .left .list .item .btns .btn .iconfont{
        font-size: 4.5vw;
        margin-right: 1vw;
    }
    .listBox .left .list .item .btns .btn .icon{
        width: 4.6vw;
        margin-right: 1vw;
    }
    .listBox .left .list .item .type{
        gap: 1.5vw;
        margin-top: 2vw;
        font-size: 3.2vw;
    }
    .listBox .left .list .item .type::after{
        display: none;
    }
    
    
    .listBox .details{
        padding: 4vw;
    }
    .detailIntro {
        gap: 3vw;
        align-items: flex-start;
    }
    .details .title {
        font-size: 5.4vw;
        margin-bottom: 3vw;
        text-align: left;
    }
    .details .cat {
        display: flex;
        font-size: 3.8vw;
        padding: 3vw 0;
    }
    .details .pic {
        width: 24vw;
        height: 33vw;
        margin: 0;
        border-radius: 3vw;
    }
    .detailPills {
        gap: 1.5vw;
    }
    .detailPills span {
        min-height: 6.4vw;
        padding: 0 2.4vw;
        font-size: 3.1vw;
    }
    
    
    .searchList{
        position: fixed;
        left: 0;
        right: 0;
        z-index: 10;
        padding: 0 4vw 3vw;
        display: block;
        background: rgba(245, 246, 250, .94);
        backdrop-filter: blur(12px);
    }
    .searchList .search {
        margin-top: 3vw;
    }
    .searchList .search .select{
        font-size: 3.5vw;
        line-height: 12.8vw;
        height: 12.8vw;
        width: 20vw;
        text-align: center;
        color: #526075;
        opacity: 1;
    }
    .searchList .search input {
        padding-left: 3vw;
    }
    
    .listBox .screen .box{
        padding: 2vw;
        margin-top: 18.5vw;
        display: none;
    }
    
    
    .searchDetail{
        position: fixed;
        left: 0;
        right: 0;
        z-index: 10;
        padding: 0 4vw 3vw;
        display: block;
        background: rgba(245, 246, 250, .94);
        backdrop-filter: blur(12px);
    }
    .searchDetail .search {
        margin-top: 3vw;
    }
    .searchDetail .search input {
        padding-left: 5vw;
    }
    .detailBox{
        min-height: inherit;
    }
    .detailBox h3{
        display: none;
    }
    .detailBox .details {
        margin-top: 20vw;
        min-height: inherit;
    }
    .listBox .details.samelistBox{
        padding: 4vw;
        margin-top: 0;
        min-height: auto;
    }
    .detailBox h3.samelistNav{
        display: block;
        position: relative;
        padding: 5vw 4vw 3vw;
        font-size: 4.2vw;
        text-align: left;
    }
    .detailBox h3.samelistNav:after {
        display: block;
    }
    .samelist .item {
        width: 100%;
    }
    .samelist .item p {
        padding: 4px 6px;
    }
        
    
    .switch-items {
        gap: 2vw;
        padding-top: 0;
    }
    .switch-items a {
        font-size: 3.5vw;
    }
    .source-switch {
        margin: 3vw 0;
        padding: 2.5vw;
        border-radius: 4vw;
        overflow-x: visible;
    }
    .source-switch h3 {
        font-size: 3.6vw;
    }
    .listBox .screen .fixed {
        position: static;
        width: 100%;
    }
    .listBox .screen .box a {
        display: inline-flex;
        margin: 0 1.2vw 1.6vw 0;
        padding: 1.8vw 3vw;
        font-size: 3.4vw;
    }
    .details .cat .l {
        width: 20vw;
    }
    .details .btns {
        gap: 2vw;
        margin-top: 4vw;
    }
    .details .btns .btn {
        min-width: 0;
        flex: 1;
        height: 10vw;
        line-height: 10vw;
        font-size: 3.5vw;
    }

    .btns2 {
        height: 8.6vw;
        line-height: 8.6vw;
        font-size: 3.4vw;
        width: 25vw;
        bottom: 4vw;
        right: 4vw;
    }
    .listBox .left .Ebox .list .item:last-child .btns2{
        bottom: 0;
    }

    .dialogUrlBox{
        width: 90vw;
    }

    /* App 原型移动端落地：覆盖旧固定搜索和旧列表间距。 */
    .headerBox,
    .headerKox {
        height: 13.5vw;
    }

    .headerBox .box {
        padding: 0 4vw;
    }

    .headerBox .box .logoBox .title {
        color: var(--app-ink);
        font-size: 4.4vw;
        font-weight: 1000;
    }

    .headerBox .box .navs .iconfont {
        color: var(--app-primary);
    }

    .homeBox,
    .listBox {
        width: 100%;
    }

    .appHome {
        padding: 3vw 4vw 0;
    }

    .appHero {
        padding: 4vw;
        border-radius: 5vw;
    }

    .appBrand .logo {
        height: 11vw;
        border-radius: 3vw;
    }

    .appBrand .title {
        font-size: 5.2vw;
    }

    .searchBox .search {
        height: 12vw;
        border-radius: 999px;
    }

    .searchBox .search input {
        font-size: 3.7vw;
    }

    .searchBox .search .btn {
        width: 13vw;
        height: 12vw;
    }

    .homeStats {
        gap: 2.4vw;
        margin-top: 2.6vw;
    }

    .homeStats .statCard {
        min-height: 18vw;
        padding: 3vw;
        border-radius: 3vw;
    }

    .homeStats .statCard span {
        font-size: 3vw;
    }

    .homeStats .statCard b {
        font-size: 6.4vw;
    }

    .homeStats .statCard small {
        font-size: 2.6vw;
    }

    .homeRank {
        margin-top: 5vw;
    }

    .homeRank .rankBlock {
        padding: 3.2vw;
        border-radius: 4vw;
    }

    .homeRank .rankList {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3vw 2.4vw;
    }

    .homeRank .rankBlockSimple {
        display: none;
    }

    .homeRank .rankName {
        font-size: 3.4vw;
    }

    .homeRank .hotPill,
    .homeRank .scorePill {
        font-size: 2.55vw;
    }

    .homeRank .rankDesc {
        font-size: 2.8vw;
    }

    .searchList,
    .searchDetail {
        display: none;
    }

    .appListBox,
    .appDetailBox {
        margin-top: 0;
        padding: 0 4vw;
    }

    .appListBox .left,
    .appDetailBox .left {
        width: 100%;
        padding: 0;
    }

    .appListBox .screen,
    .appListBox .right,
    .appDetailBox .right {
        display: none;
    }

    .appListBox .left > h3,
    .appListBox .Qbtn {
        display: none;
    }

    .appSourceSwitch {
        margin: 2vw 0 2.4vw;
        padding: 1.4vw;
        border-radius: 3.6vw;
    }

    .appSourceSwitch .switch-items a {
        min-height: 9.5vw;
        border-radius: 2.6vw;
        font-size: 3.5vw;
    }

    .resultHeader {
        margin: 2vw 0 2.8vw;
    }

    .resultHeader strong {
        font-size: 5.2vw;
    }

    .resultHeader span,
    .researchBtn,
    .filterTitle {
        font-size: 3vw;
    }

    .researchBtn {
        padding: 1.6vw 2.8vw;
    }

    .resultFilterBar {
        padding: 3vw;
        border-radius: 3.6vw;
    }

    .filterTabs a {
        min-height: 8.2vw;
        padding: 0 3vw;
        font-size: 3.1vw;
    }

    .listBox .left .list .item.appResultItem {
        grid-template-columns: 10.8vw minmax(0, 1fr);
        gap: 2.4vw;
        padding: 3vw;
        border-radius: 3.6vw;
    }

    .resultPanIcon {
        width: 10.8vw;
        height: 10.8vw;
        border-radius: 3vw;
    }

    .resultPanIcon .iconfont {
        font-size: 5.7vw;
    }

    .resultTop {
        align-items: flex-start;
    }

    .listBox .left .list .item.appResultItem .title {
        font-size: 3.85vw;
        line-height: 1.42;
    }

    .source-badge {
        height: 5.8vw;
        padding: 0 2vw;
        font-size: 2.7vw;
    }

    .resultMetaLine {
        gap: 1.4vw;
    }

    .resultMetaLine span {
        padding: 1vw 1.6vw;
        font-size: 2.65vw;
    }

    .listBox .left .list .item.appResultItem .btns {
        justify-content: flex-start;
        gap: 1.5vw;
    }

    .listBox .left .list .item.appResultItem .btns .btn {
        min-height: 7.6vw;
        padding: 0 2.6vw;
        font-size: 3vw;
    }

    .webLoading {
        min-height: 18vw;
        padding: 4vw;
        border-radius: 3.6vw;
        font-size: 3.2vw;
    }

    .request-card,
    .emptyRequestCard {
        align-items: flex-start;
        flex-direction: column;
        gap: 3vw;
        padding: 4vw;
        border-radius: 3.6vw;
    }

    .request-card strong {
        font-size: 4vw;
    }

    .request-card span {
        font-size: 3.2vw;
    }

    .emptyActions {
        width: 100%;
    }

    .soft-btn {
        flex: 1;
        min-height: 9vw;
        font-size: 3.2vw;
    }

    .detailHeader {
        margin: 2vw 0 3vw;
    }

    .detailHeader .backBtn {
        width: 9vw;
        height: 9vw;
        font-size: 6vw;
    }

    .detailHeader strong {
        font-size: 4.8vw;
    }

    .detailHeader span {
        font-size: 3vw;
    }

    .detailBox .details,
    .appDetailCard {
        margin-top: 0;
        padding: 4vw;
        border-radius: 4vw;
    }

    .details .title {
        font-size: 5vw;
    }

    .appDetailCard .cat .l,
    .details .cat .l {
        width: 23vw;
        font-size: 3.3vw;
    }

    .appDetailCard .cat .r,
    .details .cat .r {
        font-size: 3.5vw;
    }

    .diskIcon {
        font-size: 4.7vw;
    }

    .detailBox h3.samelistNav {
        padding: 5vw 0 3vw;
    }

    .heroFeature {
        gap: 3vw;
        margin: 4vw 0 3vw;
        padding: 4.5vw;
        border-radius: 5vw;
    }

    .heroCopy h2 {
        font-size: 6vw;
        line-height: 1.16;
    }

    .heroCopy p {
        margin-top: 1.8vw;
        font-size: 3.2vw;
    }

    .heroArt {
        flex-basis: 24vw;
        width: 24vw;
        height: 20vw;
    }

    .utilityGrid {
        gap: 2.4vw;
        margin-top: 2.4vw;
    }

    .utilityCard {
        padding: 3.4vw;
        border-radius: 4vw;
    }

    .utilityCard strong {
        font-size: 3.9vw;
    }

    .utilityCard span {
        font-size: 2.9vw;
    }

    .resultBoard {
        margin-bottom: 3vw;
        padding: 3.6vw;
        border-radius: 4.6vw;
    }

    .resultBoard .resultHeader {
        margin-bottom: 3vw;
    }

    .appShellList .appSourceSwitch {
        max-width: none;
    }

    .appShellDetail .appDetailCard::before {
        height: 1.2vw;
    }

    .appShellDetail .detailIntro {
        margin-bottom: 3vw;
        padding-bottom: 3vw;
    }

    .appShellHome .homeBox,
    .appShellHome .homeRank {
        width: 100%;
    }

    .rankTabsBlock {
        padding: 3.2vw;
    }

    .rankTabs {
        gap: 1.8vw;
        margin-bottom: 3.4vw;
    }

    .rankTab {
        min-height: 8.8vw;
        padding: 0 3.5vw;
        font-size: 3.3vw;
    }

    .rankTab img {
        width: 4.2vw;
        height: 4.2vw;
        border-radius: 1.4vw;
    }

    .appShellHome .homeRank .rankList {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3vw 2.4vw;
    }

    .appShellList .appSearchTop {
        display: block;
        position: relative;
        left: auto;
        right: auto;
        z-index: 30;
        width: 100%;
        padding: 0 4vw;
        margin-bottom: 3vw;
        background: transparent;
        backdrop-filter: none;
    }

    .appShellList .searchList .search {
        height: 12.8vw;
        border-radius: 999px;
    }

    .appShellList .searchList .search .btn {
        width: 22vw;
        height: 10.6vw;
        margin-right: 1.1vw;
        border-radius: 3.5vw;
    }

    .appShellList .searchList .search .btn::after {
        font-size: 3.3vw;
    }

    .appShellList .appListBox {
        width: 100%;
        padding: 0 4vw;
    }

    .appShellList .resultBoard {
        padding: 4vw;
        border-radius: 0;
    }

    .appShellList .resultHeader {
        margin: 4vw 0 3vw;
    }

    .resultCountLine {
        margin: 4vw 0 3vw;
        font-size: 3.3vw;
    }

    .appShellList .resultHeader strong,
    .appShellList .resultHeader span {
        font-size: 3.3vw;
    }

    .appShellList .appSourceSwitch,
    .appShellList .resultFilterBar {
        grid-template-columns: 18vw minmax(0, 1fr);
        gap: 3vw;
    }

    .sourceLabel,
    .appShellList .filterTitle {
        font-size: 3.4vw;
    }

    .appShellList .appSourceSwitch .switch-items a,
    .appShellList .filterTabs a {
        min-height: 8vw;
        padding: 0 3.4vw;
        font-size: 3.1vw;
    }

    .appShellList .listBox .left .list .item.appResultItem {
        grid-template-columns: 10vw minmax(0, 1fr);
        align-items: flex-start;
        min-height: 0;
        padding: 4vw;
        border-radius: 4vw;
    }

    .appShellList .resultContent {
        grid-template-columns: 1fr;
        gap: 2vw;
    }

    .appShellList .resultTop,
    .appShellList .resultMetaLine,
    .appShellList .sourceLinkStatus,
    .appShellList .listBox .left .list .item.appResultItem .btns {
        grid-column: auto;
        grid-row: auto;
    }

    .appShellList .resultTop {
        align-items: flex-start;
    }

    .appShellList .source-badge {
        margin-left: 1.5vw;
    }

    .appShellList .listBox .left .list .item.appResultItem .btns {
        justify-content: flex-start;
        gap: 1.6vw;
        flex-wrap: wrap;
    }

    .appShellList .listBox .left .list .item.appResultItem .btns .btn {
        min-width: 0;
        min-height: 8.2vw;
        padding: 0 3vw;
        font-size: 3.1vw;
    }
}

/* 移动端浅蓝白原型覆盖层：搜索不固定遮挡，首页三列榜单，筛选面板保持可见。 */
@media screen and (max-width: 768px) {
    html,
    body {
        background:
            radial-gradient(circle at 18% -8%, rgba(55, 183, 255, .18), transparent 38%),
            linear-gradient(180deg, #fbfdff 0%, #f3f7ff 100%);
    }

    .headerBox .box {
        width: 100%;
        padding: 0 4vw;
    }

    .appShellHome .homeBox,
    .appShellHome .homeRank,
    .appShellList .appListBox,
    .appShellDetail .appDetailBox {
        width: 100%;
    }

    .appShellHome .homeBox {
        padding: 2vw 4vw 0;
    }

    .appShellHome .appBrand .logo {
        height: 11vw;
        border-radius: 3vw;
    }

    .appShellHome .appBrand .title {
        font-size: 6.2vw;
    }

    .appShellHome .subTitle {
        margin-top: 1.5vw;
        font-size: 3.2vw;
    }

    .appShellHome .searchBox .search,
    .appShellList .searchList .search {
        height: 12.6vw;
        margin-top: 4vw;
        border-radius: 999px;
        box-shadow: 0 4vw 8vw rgba(47, 99, 172, .10);
    }

    .appShellHome .searchBox .search input,
    .appShellList .searchList .search input {
        font-size: 3.5vw;
    }

    .appShellHome .searchBox .search .btn,
    .appShellList .searchList .search .btn {
        width: 22vw;
        height: 10.4vw;
        margin-right: 1.1vw;
        border-radius: 999px;
    }

    .homeStats {
        gap: 2.4vw;
        margin-top: 2.6vw;
    }

    .homeStats .statCard {
        min-height: 20vw;
        padding: 3.2vw;
        border-radius: 4vw;
    }

    .homeStats .statCard span {
        font-size: 2.8vw;
    }

    .homeStats .statCard b {
        font-size: 6.3vw;
    }

    .homeStats .statCard small {
        font-size: 2.55vw;
    }

    .utilityGrid {
        gap: 2.4vw;
        margin-top: 2.4vw;
    }

    .utilityCard {
        min-height: 20vw;
        padding: 3.4vw;
        border-radius: 4.2vw;
    }

    .utilityCard strong {
        font-size: 3.9vw;
    }

    .utilityCard span {
        font-size: 2.75vw;
    }

    .appShellHome .homeRank {
        margin-top: 3vw;
    }

    .appShellHome .homeRank .rankBlock {
        border-radius: 5vw;
    }

    .rankTabsBlock {
        padding: 3.4vw;
    }

    .rankTabs {
        gap: 1.6vw;
        margin-bottom: 3vw;
    }

    .rankTab {
        min-height: 8.2vw;
        padding: 0 3.2vw;
        font-size: 3.1vw;
    }

    .appShellHome .homeRank .rankList {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3.2vw 2.4vw;
    }

    .appShellHome .homeRank .rankPoster {
        border-radius: 3vw;
    }

    .appShellHome .homeRank .rankName {
        margin-top: 1.4vw;
        font-size: 3.1vw;
    }

    .appShellHome .homeRank .rankMeta {
        display: none;
    }

    .appShellHome .homeRank .rankDesc {
        font-size: 2.7vw;
    }

    .appShellHome .homeRank .rankCast {
        display: none;
    }

    .appShellList .appSearchTop {
        position: relative;
        left: auto;
        right: auto;
        top: auto;
        z-index: 80;
        width: 100%;
        padding: 0 4vw;
        margin: 0 0 3vw;
        background: transparent;
        backdrop-filter: none;
    }

    .appShellList .searchList .search {
        margin-top: 0;
    }

    .appShellList .appListBox {
        padding: 0 4vw;
    }

    .appShellList .resultBoard {
        padding: 4vw;
        border-radius: 4.5vw;
    }

    .appShellList .appSourceSwitch,
    .appShellList .resultFilterBar {
        grid-template-columns: 1fr;
        gap: 2vw;
    }

    .appShellList .switch-items,
    .appShellList .filterTabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 1vw;
    }

    .appShellList .switch-items::-webkit-scrollbar,
    .appShellList .filterTabs::-webkit-scrollbar {
        display: none;
    }

    .appShellList .appSourceSwitch .switch-items a,
    .appShellList .filterTabs a {
        flex: 0 0 auto;
        min-height: 8.2vw;
        padding: 0 3.6vw;
        font-size: 3.1vw;
    }

    .appShellList .listBox .left .list .item.appResultItem {
        grid-template-columns: 10vw minmax(0, 1fr);
        padding: 4vw;
        border-radius: 4.2vw;
    }

    .appShellList .resultPanIcon {
        width: 9.5vw;
        height: 9.5vw;
    }

    .appShellList .resultContent {
        grid-template-columns: 1fr;
    }

    .appShellList .listBox .left .list .item.appResultItem .btns {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .appShellDetail .appDetailBox {
        padding: 0 4vw;
    }

    .appShellDetail .detailHeader,
    .appShellDetail .appDetailCard,
    .appShellDetail .samelistNav,
    .appShellDetail .samelistBox {
        width: 100%;
    }
}

/* 第五轮移动端反馈修复：搜索范围、结果卡和详情页进一步轻量化。 */
@media screen and (max-width: 768px) {
    .searchScope {
        height: calc(100% - 3vw);
        margin-left: 1.2vw;
        padding: .8vw;
    }

    .searchScope button {
        min-width: 11.5vw;
        height: 8vw;
        padding: 0 1.8vw;
        font-size: 2.9vw;
    }

    .appShellHome .searchBox .search input,
    .appShellList .searchList .search input {
        min-width: 0;
        padding-left: 2.2vw;
    }

    .appShellHome .searchBox .search .btn,
    .appShellList .searchList .search .btn {
        width: 18vw;
    }

    .appShellHome .searchBox .search .btn::after,
    .appShellList .searchList .search .btn::after {
        display: none;
    }

    .appShellList .appSourceSwitch {
        padding: 3vw;
        border-radius: 4vw;
    }

    .appShellList .appSourceSwitch .switch-items {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        padding: 1vw;
    }

    .appShellList .appSourceSwitch .switch-items a {
        justify-content: center;
        min-height: 9vw;
        padding: 0 2vw;
        font-size: 3.2vw;
    }

    .appShellList .appSourceSwitch .switch-items a:nth-child(2):not(.active)::after {
        margin-left: 1vw;
        padding: .2vw 1.2vw;
        font-size: 2.4vw;
    }

    .appShellList .listBox .left .list .item.appResultItem {
        display: grid;
        grid-template-columns: 9vw minmax(0, 1fr);
        gap: 2.6vw;
        padding: 3.6vw;
        border-radius: 4vw;
    }

    .appShellList .resultPanIcon {
        width: 9vw;
        height: 9vw;
    }

    .appShellList .resultPanIcon .iconfont {
        font-size: 5vw;
    }

    .appShellList .resultTop {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: 1.8vw;
    }

    .appShellList .listBox .left .list .item.appResultItem .title {
        min-width: 0;
        padding-bottom: 0;
        font-size: 3.7vw;
        line-height: 1.42;
    }

    .appShellList .source-badge {
        flex: none;
        height: 5.8vw;
        margin-left: 0;
        padding: 0 1.8vw;
        font-size: 2.6vw;
    }

    .appShellList .resultMetaLine {
        display: flex;
        flex-wrap: wrap;
        gap: 1.2vw;
        margin-top: .5vw;
    }

    .appShellList .resultMetaLine span {
        height: 5.8vw;
        line-height: 5.8vw;
        padding: 0 1.8vw;
        font-size: 2.6vw;
    }

    .appShellList .sourceLinkStatus {
        max-width: 100%;
        margin-top: .5vw;
        padding: 1.1vw 1.8vw;
        border-radius: 2.4vw;
        font-size: 2.7vw;
    }

    .appShellList .sourceLinkStatus em {
        display: none;
    }

    .appShellList .listBox .left .list .item.appResultItem .btns {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: 1.4vw;
        margin-top: .8vw;
    }

    .appShellList .listBox .left .list .item.appResultItem .btns .btn {
        width: 100%;
        min-height: 8.4vw;
        padding: 0 1.5vw;
        font-size: 2.8vw;
        white-space: nowrap;
    }

    .appShellList .listBox .left .list .item.appResultItem .btns .btn .iconfont {
        display: none;
    }

    .page {
        padding: 4vw 0 3vw;
    }

    .el-pagination.is-background .btn-next,
    .el-pagination.is-background .btn-prev,
    .el-pagination.is-background .el-pager li {
        min-width: 8vw;
        height: 8vw;
        line-height: 8vw;
        border-radius: 2.2vw;
    }

    .appShellDetail .detailHeader {
        margin-bottom: 2vw;
        min-height: 12vw;
        padding: 1.6vw;
        border-radius: 4vw;
    }

    .appShellDetail .detailHeader .backBtn {
        width: 8.5vw;
        height: 8.5vw;
        font-size: 5.2vw;
        border-radius: 3vw;
    }

    .appShellDetail .detailHeader strong {
        font-size: 4.1vw;
    }

    .appShellDetail .detailHeader span {
        display: block;
        margin-top: .5vw;
        font-size: 2.7vw;
    }

    .appShellDetail .appDetailCard {
        padding: 4vw;
        border-radius: 4vw;
    }

    .appShellDetail .appDetailCard .title {
        font-size: 4.7vw;
        line-height: 1.42;
    }

    .appShellDetail .detailPills {
        margin-top: 2vw;
        gap: 1.5vw;
    }

    .appShellDetail .detailPills span {
        min-height: 6.4vw;
        padding: 0 2.2vw;
        font-size: 2.8vw;
    }

    .appShellDetail .appDetailCard .cat {
        min-height: 10vw;
        padding: 2.2vw 0;
    }

    .appShellDetail .statusBox {
        margin: 2.4vw 0 1.2vw;
        padding-top: 3.2vw;
        padding-bottom: 3.2vw;
        border-radius: 3.2vw;
    }

    .appShellDetail .linkStatusBox.statusBox {
        grid-template-columns: 1fr;
        gap: 1.6vw;
        padding: 3vw;
        border-radius: 3.4vw;
    }

    .appShellDetail .linkStatusBox.statusBox .statusMain {
        font-size: 3.4vw;
    }

    .appShellDetail .linkStatusBox.statusBox .statusText {
        grid-column: auto;
        font-size: 2.85vw;
    }

    .appShellDetail .linkStatusBox.statusBox .invalidBtn {
        grid-column: auto;
        grid-row: auto;
        justify-self: start;
        min-height: 7.8vw;
        padding: 0 3.2vw;
        font-size: 2.9vw;
    }

    .invalidBtn {
        min-height: 8vw;
        padding: 0 3.2vw;
        font-size: 3vw;
    }

    .appShellDetail .appDetailCard .btns {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2vw;
        margin-top: 3vw;
    }

    .appShellDetail .appDetailCard .btns .btn {
        min-width: 0;
        height: 9.2vw;
        line-height: 9.2vw;
        font-size: 3.2vw;
    }
}
@media (max-width: 768px) {
    .noticeOverlay {
        align-items: center;
        padding: 16px;
    }

    .noticePopup {
        max-height: calc(100vh - 32px);
        overflow-y: auto;
        border-radius: 26px;
    }

    .noticePopupBody {
        padding: 18px;
    }

    .noticePopupTop {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
    }

    .noticePopupIcon {
        width: 44px;
        height: 44px;
        border-radius: 15px;
        font-size: 17px;
    }

    .noticePopupImage {
        margin: 14px 0;
        aspect-ratio: 16 / 9;
        border-radius: 18px;
    }

    .noticePopup h2 {
        font-size: 20px;
        line-height: 1.3;
    }

    .noticePopup p {
        font-size: 14px;
        line-height: 1.7;
    }

    .noticePopupActions {
        gap: 10px;
        margin-top: 18px;
    }

    .noticeGhostBtn,
    .noticePrimaryBtn {
        min-height: 40px;
        font-size: 13px;
    }

    .noticePage {
        width: calc(100% - 24px);
        margin: 14px auto 36px;
    }

    .noticeDetailCard {
        border-radius: 24px;
    }

    .noticeDetailBody {
        padding: 22px;
    }

    .noticeDetailBody h1 {
        font-size: 24px;
    }

    .appShellHome .homeStats {
        max-width: none;
        gap: 2vw;
        margin-top: 2.2vw;
    }

    .appShellHome .homeStats .statCard {
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: 1.4vw;
        min-height: 11.8vw;
        padding: 2.2vw 2.4vw;
        border-radius: 3.6vw;
    }

    .appShellHome .homeStats .statCard span {
        font-size: 2.75vw;
    }

    .appShellHome .homeStats .statCard b {
        font-size: 5vw;
    }

    .appShellHome .homeStats .statCard small {
        margin-top: 0;
        font-size: 2.45vw;
    }

    .appShellHome .utilityGrid {
        max-width: none;
        margin-top: 2vw;
        gap: 2vw;
    }

    .appShellHome .utilityCard {
        min-height: 17vw;
        padding: 3vw;
        border-radius: 3.8vw;
    }

    .appShellHome .utilityCard strong {
        font-size: 3.6vw;
    }

    .appShellHome .utilityCard span {
        font-size: 2.5vw;
    }

    .webLoading {
        min-height: 18vw;
        margin: 3vw 0;
        padding: 4vw;
        border-radius: 4.6vw;
    }

    .webLoading::before,
    .webLoading::after {
        left: 4vw;
        right: 4vw;
        bottom: 3.6vw;
        height: 1.6vw;
    }

    .webLoading p {
        padding-left: 3vw;
        font-size: 3.25vw;
    }

    .webLoading p::before {
        width: 1.4vw;
        height: 1.4vw;
    }
}
