/* 首页专用样式：由公共样式中提取，避免首屏下载全部页面样式 */
/* 通用布局与页面组件 */
.app-shell{max-width:760px;min-height:100%;margin:0 auto;}
.mobile-app{position:relative;display:flex;flex-direction:column;min-height:100vh;padding-bottom:72px;}
.page-main{flex:1;padding:var(--page-padding);} 
/* 浏览器能力提示随内容排列，不遮挡导航或阻止浏览 */
.home-image-notice{color:var(--text-muted);font-size:11px;line-height:1.5;margin:4px 0 12px;padding:0 4px;}
.search-wrap{display:flex;gap:8px;padding:0 16px 10px;}
.search-input{flex:1;height:40px;color:var(--text-primary);padding:0 12px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);outline:none;}
.search-btn{height:40px;color:#17110A;padding:0 16px;background:var(--gradient-primary);border:0;border-radius:var(--radius-md);}
.chip-nav,.sub-chip-nav{display:flex;gap:8px;overflow:auto;padding:0 16px 12px;}
.chip,.sub-chip{height:34px;white-space:nowrap;color:var(--text-secondary);padding:0 14px;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:20px;}
.chip.is-active,.sub-chip.is-active{color:#17110A;background:var(--gradient-primary);border-color:transparent;}
.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 12px;}
.type-btn{height:38px;color:var(--text-secondary);background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:10px;}
.type-btn.is-active{color:#17110A;background:var(--gradient-primary);border-color:transparent;}
.tab-pane{display:none;animation:fadein .25s ease;}
.tab-pane.is-active{display:block;}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 10px;}
.section-head h3{font-size:16px;font-weight:600;}
.text-btn{color:var(--text-secondary);font-size:12px;background:none;border:0;}
.banner-track{display:flex;gap:10px;overflow:auto;padding-bottom:8px;margin-bottom:10px;}
.banner-item{position:relative;flex:0 0 82%;height:138px;overflow:hidden;border-radius:var(--radius-lg);background:#17171C;}
.banner-item img{width:100%;height:100%;object-fit:cover;}
.banner-item span{position:absolute;left:10px;bottom:10px;right:10px;font-size:13px;padding-top:20px;background:var(--gradient-overlay);} 
.announce{height:36px;color:var(--text-secondary);display:flex;align-items:center;padding:0 12px;margin-bottom:12px;background:var(--bg-card);border-radius:var(--radius-md);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px;}
.quick-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;background:var(--bg-card);border-radius:12px;}
.quick-icon{width:30px;height:30px;border-radius:8px;background:var(--gradient-primary);}
.quick-item span{font-size:11px;color:var(--text-secondary);}
.rank-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.rank-item{display:flex;gap:10px;align-items:center;padding:8px;background:var(--bg-card);border-radius:12px;}
.rank-item img{width:78px;height:46px;object-fit:cover;border-radius:8px;}
.rank-num{width:20px;text-align:center;font-weight:700;color:var(--color-warning);} 
.rank-title{flex:1;font-size:13px;}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.media-card{display:flex;flex-direction:column;gap:8px;padding:8px;background:var(--bg-card);border-radius:var(--radius-lg);} 
.media-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;background:#1F1F26;} 
.media-title{font-size:13px;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;}
.media-meta{font-size:12px;color:var(--text-muted);display:flex;justify-content:space-between;}
.short-list{display:flex;flex-direction:column;gap:12px;}
.short-item{display:flex;gap:10px;padding:10px;background:var(--bg-card);border-radius:var(--radius-lg);} 
.short-item .media-cover{width:112px;aspect-ratio:9/16;}
.short-main{display:flex;flex-direction:column;justify-content:space-between;flex:1;}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;gap:6px;padding:8px 10px max(8px,env(safe-area-inset-bottom));background:rgba(20,20,25,.92);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);} 
.nav-item{flex:1;height:42px;color:var(--text-secondary);background:transparent;border:0;border-radius:12px;}
.nav-item.is-active{color:#fff;background:var(--bg-card-hover);} 
.player-mask,.detail-mask{position:fixed;inset:0;display:none;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.72);z-index:60;}
.player-mask.is-show,.detail-mask.is-show{display:flex;}
.player-panel,.detail-panel{width:min(760px,100%);background:#141419;border-radius:16px 16px 0 0;padding:10px 10px 14px;}
.player-head{display:flex;justify-content:space-between;align-items:center;padding:0 4px 8px;}
.player-head button{height:30px;color:var(--text-secondary);padding:0 10px;background:var(--bg-card);border:0;border-radius:8px;}
.player-status{min-height:18px;color:var(--text-muted);font-size:12px;line-height:18px;padding:0 4px 6px;}
#playerVideo{width:100%;max-height:58vh;border-radius:12px;background:#000;}
.player-meta{color:var(--text-muted);font-size:12px;line-height:1.4;padding:8px 4px 0;}
.detail-body{max-height:62vh;overflow:auto;padding:4px 2px 6px;}
.detail-cover{width:100%;border-radius:12px;margin-bottom:10px;}
.detail-text{font-size:13px;color:var(--text-secondary);line-height:1.6;}
.detail-actions{display:flex;gap:8px;margin-top:10px;}
.detail-btn{height:36px;color:#17110A;padding:0 14px;background:var(--gradient-primary);border:0;border-radius:10px;}
.detail-btn.is-favorite{color:#17110A;background:var(--color-vip-gold);}
.detail-btn.is-liked{color:#17110A;background:var(--color-vip-gold);}
.detail-btn:disabled{opacity:.72;}
.video-card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px;}
.video-card-actions button{height:28px;color:var(--text-secondary);font-size:11px;font-weight:600;padding:0 6px;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.video-card-actions button.is-liked,.video-card-actions button.is-favorite{color:#17110A;background:var(--color-vip-gold);border-color:transparent;}
.video-card-actions button:disabled{opacity:.72;}
.detail-player-card{margin-top:10px;padding:10px;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:14px;}
.detail-player-status{min-height:18px;color:var(--text-muted);font-size:12px;line-height:18px;padding-bottom:6px;}
#detailPlayerVideo{display:block;width:100%;max-height:54vh;background:#000;border-radius:12px;}
@keyframes fadein{from{opacity:.6;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
/* App首页复刻 */
body{color:var(--text-primary);font:14px/1.4 "PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;background:var(--bg-dark);}
button{cursor:pointer;-webkit-tap-highlight-color:transparent;}
.app-shell{max-width:430px;min-height:100%;margin:0 auto;background:var(--bg-dark);}
.mobile-app{min-height:100vh;padding-bottom:76px;background:var(--bg-dark);}
.page-main{padding:0 0 14px;}
.home-appbar{position:sticky;top:0;display:flex;align-items:center;gap:7px;height:60px;padding:10px 8px 6px;background:rgba(14,14,17,.94);backdrop-filter:blur(10px);z-index:30;}
.brand-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(212,168,90,.14);border:1px solid rgba(212,168,90,.26);border-radius:50%;}
.brand-mark:before{content:"";position:absolute;width:22px;height:22px;border:5px solid #D4A85A;border-radius:50%;}
.brand-mark:after{content:"";position:absolute;left:15px;border-left:10px solid #D4A85A;border-top:7px solid transparent;border-bottom:7px solid transparent;}
.brand-mark span{position:absolute;right:-2px;top:3px;width:8px;height:8px;background:#D4A85A;border-radius:50%;}
.brand-name{color:var(--text-primary);font-size:18px;font-weight:600;white-space:nowrap;}
.search-pill{display:flex;align-items:center;gap:7px;min-width:0;flex:1;height:40px;color:var(--text-muted);font-size:12px;text-align:left;padding:0 10px;background:var(--bg-card);border:1px solid #2A2A2A;border-radius:22px;box-shadow:0 3px 8px rgba(0,0,0,.18);}
.search-pill span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.search-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--text-muted);flex-shrink:0;}
.search-ico:before{content:"\f0d1";font-family:"Remix";font-size:17px;line-height:1;}
.round-action{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:var(--text-secondary);background:var(--bg-card);border:1px solid #2A2A2A;border-radius:50%;}
.round-action:before{content:"\ef94";font-family:"Remix";font-size:18px;line-height:1;}
.search-wrap{display:none;gap:8px;padding:2px 12px 10px;background:var(--bg-dark);}
.search-wrap.is-show{display:flex;}
.search-input{height:40px;background:var(--bg-card);border:1px solid #2A2A2A;border-radius:22px;}
.search-btn{height:40px;color:#000;font-weight:700;background:var(--gradient-gold);border-radius:20px;}
.home-tabs{position:sticky;top:60px;display:flex;align-items:center;gap:22px;height:54px;overflow-x:auto;padding:0 12px;background:rgba(14,14,17,.94);backdrop-filter:blur(8px);z-index:25;scrollbar-width:none;}
.home-tabs::-webkit-scrollbar{display:none;}
.home-tab{position:relative;display:flex;align-items:center;justify-content:center;height:54px;color:var(--text-primary);white-space:nowrap;font-size:16px;font-weight:500;background:transparent;border:0;}
.home-tab.is-active{color:var(--color-primary);font-weight:700;}
.home-tab.is-active:after{content:"";position:absolute;left:50%;bottom:9px;width:22px;height:3px;background:var(--color-primary);border-radius:2px;transform:translateX(-50%);}
.grid-entry{width:42px;flex:0 0 42px;}
.grid-entry:before{content:"\ea41";font-family:"Remix";font-size:22px;line-height:1;color:#D4A85A;}
.banner-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding:2px 12px 8px;margin:0;scrollbar-width:none;}
.banner-track::-webkit-scrollbar{display:none;}
.banner-item{position:relative;flex:0 0 100%;height:auto;aspect-ratio:2.2;scroll-snap-align:center;overflow:hidden;background:#17171C;border:1px solid #2A2A2A;border-radius:10px;box-shadow:0 6px 14px rgba(0,0,0,.30);}
.banner-item img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px;}
.banner-item .media-cover{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:auto;border-radius:8px;}
.announce{height:38px;color:var(--text-secondary);font-size:13px;margin:2px 12px 6px;padding:0 12px;background:linear-gradient(135deg,rgba(212,168,90,.15),rgba(60,154,148,.08),var(--bg-card));border:1px solid #2A2A2A;border-radius:14px;}
.announce:before{content:"\f2a1";font-family:"Remix";font-size:16px;line-height:1;margin-right:8px;color:#E3B459;flex-shrink:0;}
.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 8px;padding:6px 12px 10px;margin:0;}
.quick-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-width:0;padding:0;background:transparent;border:0;border-radius:0;}
.quick-icon{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;overflow:visible;background:rgba(212,168,90,.08);border:1px solid #2A2A2A;border-radius:5px;box-shadow:0 3px 8px rgba(212,168,90,.07);}
.quick-icon img{width:56px;height:56px;object-fit:cover;border-radius:5px;}
.quick-icon:empty:before{content:"\ea41";font-family:"Remix";font-size:26px;line-height:1;color:rgba(212,168,90,.85);}
.quick-icon b{position:absolute;right:-4px;top:-3px;min-width:17px;height:16px;color:#fff;font-size:8px;font-weight:600;line-height:16px;padding:0 5px;background:#E94B4B;border-radius:5px;}
.quick-item>span:last-child{display:block;width:100%;height:18px;color:var(--text-secondary);font-size:12px;line-height:18px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.top-card-row{display:grid;grid-template-columns:5fr 3fr;gap:8px;padding:0 12px 8px;}
.continue-card,.metric-card{background:var(--bg-card);border:1px solid #2A2A2A;border-radius:18px;box-shadow:0 3px 8px rgba(0,0,0,.16);}
.continue-card{display:flex;align-items:flex-start;gap:8px;height:116px;text-align:left;padding:12px;color:inherit;}
.continue-icon,.metric-card span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(212,168,90,.15);border-radius:50%;flex-shrink:0;}
.continue-icon:before{content:"\f00a";font-family:"Remix";font-size:17px;line-height:1;color:var(--color-primary);}
.continue-main{display:flex;flex-direction:column;min-width:0;flex:1;}
.continue-main b{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.1;margin-bottom:10px;}
.continue-main em{color:var(--text-secondary);font-size:13px;font-style:normal;line-height:1.1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;}
.continue-main small{color:var(--text-muted);font-size:11px;line-height:1.1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-bottom:14px;}
.progress-line{display:block;width:100%;height:4px;overflow:hidden;background:rgba(255,255,255,.06);border-radius:2px;}
.progress-line i{display:block;width:0;height:100%;background:var(--color-primary);border-radius:2px;}
.progress-text{align-self:flex-end;color:var(--text-muted);font-size:11px;margin-top:auto;}
.metric-stack{display:flex;flex-direction:column;gap:8px;}
.metric-card{display:grid;grid-template-columns:30px 1fr;grid-template-rows:1fr 1fr;column-gap:8px;align-items:center;height:54px;text-align:left;padding:8px 10px;color:inherit;}
.metric-card span{grid-row:1/3;width:30px;height:30px;}
.metric-card span:before{content:"\f186";font-family:"Remix";font-size:16px;line-height:1;color:var(--color-primary);}
.metric-card:nth-child(2) span:before{content:"\ee17";}
.metric-card b{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1;}
.metric-card em{color:var(--text-muted);font-size:11px;font-style:normal;line-height:1;}
.section-head{display:flex;align-items:center;gap:10px;margin:8px 12px 6px;}
.section-head>span{width:4px;height:18px;background:var(--gradient-primary);border-radius:3px;flex-shrink:0;}
.section-head h3{flex:1;color:var(--text-primary);font-size:17px;font-weight:700;}
.text-btn{display:flex;align-items:center;color:var(--text-muted);font-size:13px;background:transparent;border:0;}
.text-btn:after{content:"\ea6e";font-family:"Remix";font-size:14px;line-height:1;margin-left:2px;}
.video-scroll{display:flex;gap:12px;overflow-x:auto;padding:0 12px 14px;scrollbar-width:none;}
.video-scroll::-webkit-scrollbar{display:none;}
.video-wide-card{flex:0 0 280px;width:280px;}
.wide-cover{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--bg-card);border:1px solid #2A2A2A;border-radius:0;box-shadow:0 4px 10px rgba(0,0,0,.24);}
.wide-cover .media-cover{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;border-radius:0;background:#1F1F26;}
.media-cover-placeholder{display:block;background:linear-gradient(135deg,#1F1F26 0%,#2A241B 48%,#3A2A14 100%);}
.play-fab{position:absolute;left:50%;top:50%;display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.28);border-radius:50%;transform:translate(-50%,-50%);}
.play-fab:before{content:"\f00a";font-family:"Remix";font-size:20px;line-height:1;color:#fff;margin-left:2px;}
.duration-badge{position:absolute;right:8px;bottom:8px;color:#fff;font-size:10px;padding:2px 6px;background:rgba(0,0,0,.70);border-radius:4px;}
.vip-badge{position:absolute;left:8px;top:8px;color:#17110A;font-size:10px;font-weight:600;padding:2px 6px;background:var(--gradient-gold);border-radius:4px;}
.video-wide-card h4{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.25;margin-top:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.video-wide-card p{display:flex;gap:8px;color:var(--text-muted);font-size:12px;line-height:1.2;margin-top:4px;}
.novel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;padding:0 12px 14px;}
.novel-grid-card{min-width:0;}
.book-cover{position:relative;width:100%;aspect-ratio:.68;overflow:hidden;background:var(--bg-card);border-radius:4px;}
.book-cover .media-cover{width:100%;height:100%;object-fit:cover;aspect-ratio:auto;border-radius:4px;background:#1F1F26;}
.book-cover .vip-badge{left:5px;top:5px;font-size:8px;padding:2px 5px;border-radius:5px;}
.novel-grid-card h4{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1.1;margin-top:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.novel-grid-card p{color:var(--text-muted);font-size:10px;line-height:1.1;margin-top:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.bottom-nav{position:fixed;left:50%;right:auto;bottom:0;display:flex;width:100%;max-width:430px;height:auto;gap:0;padding:0 0 max(0px,env(safe-area-inset-bottom));background:var(--bg-card);border-top:1px solid rgba(255,255,255,.06);box-shadow:0 -3px 10px rgba(0,0,0,.28);backdrop-filter:none;transform:translateX(-50%);z-index:50;}
.nav-item{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;height:64px;color:var(--text-muted);font-size:10px;background:transparent;border:0;border-radius:0;}
.nav-item em{font-style:normal;font-size:10px;font-weight:400;}
.nav-item.is-active{color:var(--color-primary);background:transparent;}
.nav-ico{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid transparent;border-radius:16px;}
.nav-item.is-active .nav-ico{width:40px;background:rgba(212,168,90,.14);border-color:rgba(212,168,90,.18);box-shadow:0 3px 10px rgba(212,168,90,.10);}
.nav-ico:before{content:"";display:block;font-family:"Remix";font-size:20px;line-height:1;transition:transform .2s ease;}
.nav-ico.heart:before{content:"\ee0a";}
@media (min-width:768px){.mobile-app{padding-bottom:82px;}.home-appbar{height:62px;}.home-tabs{top:62px;}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));}}
/* App首页接口数据展示 */
.tab-pane[data-pane="home"]>.banner-track{display:flex;}
.tab-pane[data-pane="home"]>.announce{display:flex;}
.tab-pane[data-pane="home"]>.quick-grid{display:grid;}
.tab-pane[data-pane="home"]>.section-head{display:flex;}
.tab-pane[data-pane="home"]>.video-scroll{display:flex;}
.tab-pane[data-pane="home"]>.novel-grid{display:grid;}
.tab-pane[data-pane="home"]>.top-card-row{padding:0 12px 8px;}
/* App窄屏安全区 */
.home-appbar{gap:7px;padding:12px 8px 6px;}
.brand-wrap{gap:6px;}
.brand-mark{width:34px;height:34px;}
.brand-mark:before{width:20px;height:20px;border-width:4px;}
.brand-mark:after{left:14px;border-left-width:9px;border-top-width:6px;border-bottom-width:6px;}
.brand-name{font-size:18px;}
.search-pill{height:40px;gap:8px;padding:0 10px;font-size:12px;}
.round-action{width:34px;height:34px;flex-basis:34px;}
.round-action:before{font-size:17px;}
.bottom-nav{box-sizing:border-box;width:min(100vw,430px);overflow:hidden;}
.nav-item{height:64px;}
.nav-ico{width:30px;height:30px;}
.nav-item.is-active .nav-ico{width:38px;}
.nav-ico:before{font-size:20px;}
/* App盒模型修正 */
*,*:before,*:after{box-sizing:border-box;}
html,body{overflow-x:hidden;}
.bottom-nav{left:0;right:0;width:auto;max-width:430px;margin:0 auto;transform:none;}
.tab-pane[data-pane="home"].is-active~.home-tab{display:none;}
.home-tabs .home-tab:not(.is-active):not(.grid-entry){display:none;}
.home-tabs{justify-content:space-between;}
/* 大师级细节打磨 */
.home-appbar{border-bottom:1px solid rgba(255,255,255,.04);}
.brand-mark{box-shadow:0 0 14px rgba(212,168,90,.16);}
.bottom-nav{background:rgba(20,20,25,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.nav-item em{transition:color .18s ease;}
.nav-ico{transition:width .22s ease,background-color .22s ease,box-shadow .22s ease;}
.home-tab{transition:color .18s ease;}
.home-tab.is-active:after{box-shadow:0 0 10px rgba(212,168,90,.5);}
.banner-item{border-radius:14px;}
.banner-item img,.banner-item .media-cover{border-radius:13px;}
.wide-cover,.wide-cover .media-cover{border-radius:12px;}
.book-cover,.book-cover .media-cover,.novel-book-grid .book-cover{border-radius:8px;}
.rank-book-cover,.rank-book-cover .media-cover{border-radius:6px;}
.play-fab{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.duration-badge{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.vip-badge{letter-spacing:.4px;box-shadow:0 2px 8px rgba(0,0,0,.35);}
.section-head>span,.novel-section-title span,.search-section-head span,.mine-section-title span{background:var(--gradient-gold);}
.metric-card b,.mine-ticket-item b,.vip-package-card strong,.record-card strong{font-variant-numeric:tabular-nums;}
.quick-icon{background:linear-gradient(160deg,rgba(212,168,90,.16),rgba(212,168,90,.05));}
.continue-icon,.metric-card span{background:linear-gradient(160deg,rgba(212,168,90,.22),rgba(212,168,90,.08));}
.quick-icon,.mine-menu-ico,.video-nav-icon,.ticket-ico{transition:transform .18s ease;}
.quick-item:active .quick-icon,.mine-menu-item:active .mine-menu-ico,.video-nav-item:active .video-nav-icon{transform:scale(.9);}
.continue-card,.metric-card,.novel-rank-card,.search-result-item{transition:transform .18s ease;}
.continue-card:active,.metric-card:active,.novel-rank-card:active,.search-result-item:active{transform:scale(.97);}
.text-btn{transition:color .18s ease;}
.text-btn:active{color:var(--color-primary);}
/* 氛围与高级细节 */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{-webkit-user-drag:none;}
::selection{color:#17110A;background:rgba(212,168,90,.85);}
.mobile-app{background:radial-gradient(120% 46% at 50% -6%,rgba(212,168,90,.07),transparent 62%),var(--bg-dark);}
.brand-name{background:linear-gradient(120deg,#F5F5F5 30%,#E8C888 72%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.search-pill{box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 3px 8px rgba(0,0,0,.18);}
.search-input:focus,.community-search input:focus,.conversation-search input:focus,.video-comment-input input:focus,.chat-send-row input:focus,.post-comment-bar input:focus,.short-comment-input input:focus{border-color:rgba(212,168,90,.55);box-shadow:0 0 0 3px rgba(212,168,90,.12);}
.media-cover-placeholder{position:relative;overflow:hidden;}
.media-cover-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 32%,rgba(255,255,255,.05) 48%,transparent 64%);animation:shimmer 1.8s ease-in-out infinite;}
@keyframes shimmer{from{transform:translateX(-100%);}to{transform:translateX(100%);}}
.banner-item{box-shadow:0 10px 24px rgba(0,0,0,.35);}
.wide-cover{box-shadow:0 6px 16px rgba(0,0,0,.30);}
.book-cover{box-shadow:0 4px 12px rgba(0,0,0,.32);}
.section-head h3{letter-spacing:.3px;}
.home-tab{letter-spacing:.2px;}
.announce{position:relative;overflow:hidden;}
.announce:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 40%,rgba(212,168,90,.06) 50%,transparent 60%);animation:shimmer 3.2s ease-in-out infinite;pointer-events:none;}
.quick-icon img{border:1px solid rgba(255,255,255,.06);}
.nav-item.is-active em{font-weight:600;}
.mine-user-card{overflow:hidden;}
.mine-user-card:after{content:"";position:absolute;right:-30px;top:-40px;width:140px;height:140px;background:radial-gradient(circle,rgba(212,168,90,.14),transparent 66%);pointer-events:none;}
.mine-vip-card{position:relative;overflow:hidden;}
.quick-img{width:56px;height:56px;object-fit:cover;border-radius:5px;}
.video-nav-img{display:block;width:58px;height:58px;object-fit:cover;border-radius:5px;}
/* 像素级细腻打磨 */
/* 中文小字可读性：8-10px 提升至 9-11px，行高放松 */
.novel-grid-card h4{font-size:13px;line-height:1.3;}
.novel-grid-card p{font-size:11px;line-height:1.35;margin-top:4px;}
.novel-book-grid .novel-grid-card h4{font-size:13px;line-height:1.3;}
.novel-book-grid .novel-grid-card p{font-size:11px;line-height:1.35;}
.novel-book-grid .novel-grid-card small{font-size:11px;}
.video-wide-card h4{font-weight:600;letter-spacing:.2px;}
.rank-book-info p{line-height:1.3;}
.duration-badge{font-size:11px;font-variant-numeric:tabular-nums;}
.quick-icon b{font-size:9px;}
.book-cover .vip-badge{font-size:9px;}
.dating-verified{font-size:9px;}
.favorite-cover em{font-size:10px;}
.search-result-cover span{font-size:10px;}
.book-cover .audio-badge{font-size:10px;}
.video-recommend-cover i{font-size:10px;}
.short-author-row span{font-size:11px;}
.dating-card-info em{font-size:11px;}
.mine-id,.mine-invite{letter-spacing:.2px;}
/* 触控热区与键盘可达性 */
.text-btn{min-height:32px;padding:0 2px 0 6px;}
a,button,label{-webkit-tap-highlight-color:transparent;}
:focus-visible{outline:2px solid rgba(212,168,90,.55);outline-offset:2px;}
/* 横向滚动吸附 */
.video-scroll{scroll-snap-type:x proximity;scroll-padding-left:12px;}
.video-wide-card{scroll-snap-align:start;}
.novel-rank-scroll{scroll-snap-type:x proximity;scroll-padding-left:12px;}
.novel-rank-card{scroll-snap-align:start;}
/* 首页纵向节奏：板块起始 16px，标题与内容 10px */
.tab-pane[data-pane="home"]>.section-head{margin:16px 12px 10px;}
.announce{margin:0 12px 10px;}
/* 底栏图标按压反馈 */
.nav-ico{transition:width .22s ease,background-color .22s ease,box-shadow .22s ease,transform .15s ease;}
.nav-item:active .nav-ico{transform:scale(.88);}
/* 桌面宽屏：画布投影框架，两侧不再是死黑 */
@media (min-width:768px){
body{background:#0A0A0D;}
.app-shell{box-shadow:0 0 0 1px rgba(255,255,255,.05),0 24px 80px rgba(0,0,0,.6);}
}
/* 排版体系（归一后微调）：正文 400 / 强调 600 / 数字与大标题 700 */
.metric-card b,.mine-ticket-item b,.vip-package-card strong,.record-card strong,.vip-pay-summary strong,.order-card strong{font-weight:700;}
.mine-name,.section-head h3,.dating-header h2,.sub-header h2,.favorite-header h2,.history-header h2,.message-header h2,.community-header h2,.vip-header h2,.order-header h2,.record-header h2{font-weight:700;}
/* Flutter首页内容横滑 */
.home-novel-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 12px 14px;scroll-snap-type:x proximity;scroll-padding-left:12px;scrollbar-width:none;}
.home-novel-scroll::-webkit-scrollbar{display:none;}
.home-novel-scroll .novel-grid-card{width:calc((100vw - 44px)/3);max-width:122px;flex:0 0 calc((100vw - 44px)/3);scroll-snap-align:start;}
.home-novel-scroll .book-cover{aspect-ratio:.68;}
.wide-cover-info{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;color:#fff;padding:26px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.78));}
.wide-cover-info b{min-width:0;font-size:14px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.wide-cover-info em{font-size:11px;font-style:normal;white-space:nowrap;}
/* Flutter App 页面样式 */
/* 全局框架 */
html{background:#EFE8DB;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{color:var(--app-ink);font:var(--app-font-body)/1.4 "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;background:#EFE8DB;}
button,input,textarea,select{color:inherit;font-family:inherit;}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid rgba(169,133,63,.42);outline-offset:2px;}
.app-shell{position:relative;left:calc(50vw - 50%);max-width:430px;min-height:100%;margin:0 auto;background:var(--app-page-bg);box-shadow:0 0 0 1px rgba(169,133,63,.08),0 24px 70px rgba(74,56,32,.10);}
.mobile-app{min-height:100vh;padding-bottom:calc(58px + env(safe-area-inset-bottom));background:var(--app-hero-gradient);}
.page-main{padding:0 0 18px;}
.tab-pane{color:var(--app-ink);}
.list-empty{color:var(--app-text-muted);}
.list-empty:before{color:rgba(169,133,63,.34);}

/* 首页顶部 */
.mobile-app.is-tab-home,.mobile-app.is-tab-home>.page-main,.mobile-app.is-tab-home .tab-pane[data-pane="home"]{background:#F5F5F3;}
.home-appbar{position:relative;top:auto;display:flex;align-items:center;gap:10px;height:60px;padding:12px 12px 6px;background:#F5F5F3;border-bottom:0;backdrop-filter:none;z-index:5;}
.brand-wrap{gap:8px;}
.brand-mark{width:36px;height:36px;background:rgba(198,161,91,.13);border:1px solid rgba(169,133,63,.20);}
.brand-mark:before{width:22px;height:22px;border-color:var(--app-gold);}
.brand-mark:after{border-left-color:var(--app-gold);}
.brand-mark span{background:var(--app-gold);}
.is-tab-home .brand-mark{width:36px;height:36px;background:radial-gradient(circle at 23% 78%,#D4A85A 0 1.5px,transparent 1.7px),radial-gradient(circle at 88% 40%,#D4A85A 0 1px,transparent 1.2px);border:0;box-shadow:none;}
.is-tab-home .brand-mark:before{width:28px;height:28px;background:radial-gradient(circle,#FFF 0 31%,#FFF4DA 34%,transparent 36%),radial-gradient(circle,transparent 0 40%,rgba(212,168,90,.58) 42%,rgba(255,255,255,.82) 44%,transparent 46%),linear-gradient(135deg,rgba(255,255,255,.92),#D4A85A 58%,#D4A85A);border:0;border-radius:50%;box-shadow:0 2px 7px rgba(212,168,90,.28);}
.is-tab-home .brand-mark:after{top:13px;left:15px;border-left:8px solid #D4A85A;border-top:5px solid transparent;border-bottom:5px solid transparent;}
.is-tab-home .brand-mark>span{top:2px;right:1px;width:9px;height:9px;background:transparent;border-radius:0;}
.is-tab-home .brand-mark>span:before{content:"";position:absolute;top:0;left:4px;width:1.5px;height:9px;background:#D4A85A;border-radius:2px;}
.is-tab-home .brand-mark>span:after{content:"";position:absolute;top:4px;left:0;width:9px;height:1.5px;background:#D4A85A;border-radius:2px;}
.brand-name{color:#121212;font-size:20px;font-weight:800;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;}
.search-pill{height:42px;gap:10px;color:#A0A4A8;font-size:13px;margin-left:4px;padding:0 14px;background:#FFF;border:1px solid #E6E6E4;border-radius:22px;box-shadow:0 6px 14px rgba(160,164,168,.14);}
.search-ico{color:#A0A4A8;}
.search-ico:before{font-size:20px;}
.round-action{position:relative;width:38px;height:38px;flex-basis:38px;color:#121212;background:transparent;border:0;border-radius:19px;}
.round-action:before{content:"\ef94";font-size:20px;color:#121212;}
.home-message-badge{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;color:#FFF;font-size:10px;font-weight:700;line-height:16px;text-align:center;padding:0 4px;background:var(--app-error);border:1.5px solid var(--app-page-bg);border-radius:9px;}
.home-tabs{position:relative;top:auto;display:flex;align-items:center;justify-content:flex-start;gap:0;height:54px;overflow:hidden;padding:0 0 0 12px;background:#F5F5F3;backdrop-filter:none;z-index:4;}
.home-tab-scroll{display:flex;align-items:center;min-width:0;height:54px;gap:22px;flex:1;padding-right:8px;overflow-x:auto;scrollbar-width:none;}.home-tab-scroll::-webkit-scrollbar{display:none;}
.home-tabs .home-tab:not(.is-active):not(.grid-entry){display:flex;}
.home-tab{height:54px;color:#2A2A2A;font-size:16px;font-weight:500;}
.home-tab.is-active{color:#E3B459;font-weight:700;}
.home-tab.is-active:after{bottom:9px;width:22px;height:3px;background:#E3B459;box-shadow:none;}
.grid-entry{margin-left:0;}
.grid-entry:before{content:"";width:22px;height:22px;color:#E3B459;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='14' y='14' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/22px 22px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Crect x='14' y='14' width='7' height='7' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/22px 22px no-repeat;}
.search-wrap{background:transparent;}
.search-input{color:var(--app-ink);background:var(--app-card);border:1px solid var(--app-card-border);}
.search-btn{color:#5C4118;background:var(--app-gold-gradient);box-shadow:var(--app-gold-shadow);}

/* 首页内容 */
.home-install-banner{display:flex;align-items:center;gap:8px;min-height:60px;color:#FFF;margin:0;padding:6px 10px;background:radial-gradient(circle at 76% 20%,rgba(238,205,130,.18),transparent 34%),linear-gradient(115deg,#211F1B 0%,#2B2720 55%,#392F20 100%);border:0;border-bottom:1px solid rgba(169,133,63,.28);border-radius:0;box-shadow:0 3px 10px rgba(74,56,32,.14);overflow:hidden;}
.home-install-banner[hidden]{display:none;}
.home-install-close{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;color:rgba(255,249,235,.68);cursor:pointer;font-size:20px;line-height:1;padding:0;background:rgba(255,255,255,.07);border:0;border-radius:50%;transition:color .2s,background .2s;}
.home-install-close:hover{color:#FFF9EB;background:rgba(255,255,255,.14);}
.home-install-icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:2px;background:#FFF;border-radius:9px;overflow:hidden;}
.home-install-icon>img{display:block;width:100%;height:100%;border-radius:7px;object-fit:contain;}
.home-install-copy{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;flex:1;min-width:0;}
.home-install-copy>strong{color:#FFF9EB;font-size:13px;font-weight:700;line-height:1.25;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.home-install-copy>small{color:rgba(255,249,235,.68);font-size:10px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.home-install-action{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:34px;color:#4E3713;font-size:12px;font-weight:700;white-space:nowrap;padding:0 12px;background:linear-gradient(135deg,#F3D58D,#D6A94E);border-radius:17px;box-shadow:0 4px 10px rgba(214,169,78,.24);}
.home-install-action:hover{color:#4E3713;filter:brightness(1.04);}
.banner-item{background:var(--app-card);border:1px solid var(--app-card-border);border-radius:10px;box-shadow:0 6px 14px rgba(74,56,32,.10);}
.announce{color:var(--app-text-secondary);background:linear-gradient(135deg,rgba(198,161,91,.13),rgba(58,142,127,.06),var(--app-card));border:1px solid var(--app-card-border);border-radius:14px;}
.announce:before{color:var(--app-gold);}
.quick-icon{background:rgba(198,161,91,.12);border:1px solid var(--app-card-border);box-shadow:0 3px 8px rgba(169,133,63,.07);}
.quick-icon:empty:before{color:var(--app-gold);}
.quick-item>span:last-child{color:var(--app-text-secondary);}
.continue-card,.metric-card{background:var(--app-card);border:1px solid var(--app-card-border);border-radius:18px;box-shadow:var(--app-shadow);}
.continue-icon,.metric-card span{background:rgba(198,161,91,.13);}
.continue-icon:before,.metric-card span:before{color:var(--app-gold);}
.continue-main b,.metric-card b{color:var(--app-ink);}
.continue-main em{color:var(--app-text-secondary);}
.continue-main small,.progress-text,.metric-card em{color:var(--app-text-muted);}
.progress-line{background:var(--app-divider);}
.progress-line i{background:var(--app-gold);}
.top-card-row{grid-template-columns:minmax(0,5fr) minmax(0,3fr);}
.continue-card,.metric-stack,.metric-card{min-width:0;}
.continue-card{display:block;padding:12px;overflow:hidden;}
.continue-main{width:100%;height:100%;}
.continue-head{position:relative;display:block;height:32px;margin-bottom:10px;}
.continue-head .continue-icon{position:absolute;top:0;left:0;}
.continue-head b{position:absolute;top:50%;right:0;left:39px;min-width:0;line-height:1.1;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transform:translateY(-50%);}
.continue-main em,.continue-main small{display:block;width:100%;min-width:0;}
.continue-main small{margin-bottom:0;}
.continue-progress{display:flex;align-items:center;gap:6px;margin-top:auto;}
.continue-progress .progress-line{width:auto;min-width:0;flex:1;}
.continue-progress .progress-text{flex-shrink:0;align-self:auto;margin-top:0;}
.metric-card b,.metric-card em{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.section-head>span,.novel-section-title span,.mine-section-title span{background:var(--app-bar-gradient);}
.section-head h3,.novel-section-title h3,.mine-section-title h3{color:var(--app-ink);}
.text-btn,.novel-section-title button{color:var(--app-text-muted);}
.wide-cover{background:var(--app-card);border:1px solid var(--app-card-border);box-shadow:0 4px 10px rgba(74,56,32,.08);}
.tab-pane[data-pane="home"] .wide-cover>img{display:block;width:100%;max-width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;}
.video-wide-card h4,.novel-grid-card h4{color:var(--app-ink);}
.video-wide-card p,.novel-grid-card p{color:var(--app-text-muted);}
.book-cover{background:var(--app-card);box-shadow:0 3px 8px rgba(74,56,32,.10);}

/* Flutter 首页小说推荐 */
.tab-pane[data-pane="home"]>.novel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;padding:0 12px 14px;}
.tab-pane[data-pane="home"]>.novel-grid .novel-grid-card{display:flex;min-width:0;aspect-ratio:.56;flex-direction:column;}
.tab-pane[data-pane="home"]>.novel-grid .book-cover{position:relative;width:100%;min-height:0;flex:1 1 auto;aspect-ratio:auto;background:var(--app-card);border-radius:4px;box-shadow:none;overflow:hidden;}
.tab-pane[data-pane="home"]>.novel-grid .book-cover>.media-cover{display:block;width:100%;max-width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:4px;}
.tab-pane[data-pane="home"]>.novel-grid .home-cover-left-tags{position:absolute;left:5px;top:5px;display:flex;align-items:center;gap:4px;z-index:2;}
.tab-pane[data-pane="home"]>.novel-grid .home-cover-left-tags .vip-badge,.tab-pane[data-pane="home"]>.novel-grid .home-cover-left-tags .audio-badge{position:static;height:auto;color:#FFF;font-size:8px;font-weight:700;line-height:1;padding:3px 5px;background:var(--app-gold-gradient);border-radius:5px;box-shadow:none;}
.tab-pane[data-pane="home"]>.novel-grid .book-cover>em{position:absolute;right:5px;bottom:auto;top:5px;height:auto;color:#FFF;font-size:8px;font-style:normal;font-weight:700;line-height:1;padding:3px 5px;background:rgba(90,120,180,.92);border-radius:5px;z-index:2;}
.tab-pane[data-pane="home"]>.novel-grid .book-cover>em.is-complete{background:rgba(76,183,130,.92);}
.tab-pane[data-pane="home"]>.novel-grid .novel-grid-card h4{flex:0 0 auto;color:var(--app-ink);font-size:12px;font-weight:600;line-height:1.1;margin-top:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.tab-pane[data-pane="home"]>.novel-grid .novel-grid-card p{flex:0 0 auto;color:var(--app-text-muted);font-size:10px;line-height:1.1;margin-top:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.app-ad-strip{position:relative;display:flex;gap:8px;overflow-x:auto;margin:0 12px 12px;scroll-snap-type:x mandatory;scrollbar-width:none;}
.app-ad-strip:empty{display:none;}
.app-ad-strip::-webkit-scrollbar{display:none;}
.app-ad-strip-item{position:relative;display:block;height:auto;min-height:0;aspect-ratio:5;font-size:0;flex:0 0 100%;scroll-snap-align:start;background:var(--app-card);border:0;border-radius:5px;box-shadow:none;overflow:hidden;}
.app-ad-strip-item:after{content:"";position:absolute;right:0;bottom:0;left:0;height:20px;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.28));pointer-events:none;}
.app-ad-strip-item img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;}
.app-ad-strip-item .media-cover-placeholder{display:block;width:100%;height:100%;aspect-ratio:5;}

/* 底部导航：统一沿用 Flutter BottomTabBar 的图标与选中状态 */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;width:auto;max-width:430px;height:calc(58px + env(safe-area-inset-bottom));gap:0;margin:0 auto;padding:0 0 env(safe-area-inset-bottom);background:var(--app-card);border-top:1px solid #EFECE5;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;z-index:50;}
.nav-item{position:relative;display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:0;height:58px;color:var(--app-text-faint);font-size:10px;background:transparent;border:0;}
.nav-item em{font-size:10px;font-weight:400;line-height:12px;margin-bottom:3px;}
.nav-item.is-active{color:var(--app-gold);background:transparent;}
.nav-item.is-active em{font-weight:700;}
.nav-ico,.nav-item.is-active .nav-ico{width:21px;height:21px;margin-bottom:4px;background:transparent;border:0;border-radius:0;box-shadow:none;}
.nav-ico:before{font-size:21px;}
.nav-ico.home:before{content:"\ee1d";}
.nav-item.is-active .nav-ico.home:before{content:"\ee1c";}
.nav-ico.play:before{content:"\f009";}
.nav-item.is-active .nav-ico.play:before{content:"\f008";}
.nav-ico.movie:before{content:"\ef81";}
.nav-item.is-active .nav-ico.movie:before{content:"\ef80";}
.nav-ico.gossip:before{content:"\ed33";}
.nav-item.is-active .nav-ico.gossip:before{content:"\ed32";}
.nav-ico.book:before{content:"\ead3";}
.nav-item.is-active .nav-ico.book:before{content:"\ead2";}
.nav-ico.user:before{content:"\f256";}
.nav-item.is-active .nav-ico.user:before{content:"\f255";}
.nav-ico.live:before{content:"\f288";}
.nav-item:after{content:"";width:14px;height:3px;background:transparent;border-radius:2px;}
.nav-item.is-active:after{background:var(--app-bar-gradient);}

/* 首页与视频页导航紧凑布局 */
.quick-grid{row-gap:8px;}
.quick-item{justify-content:center;height:86px;}
.app-shell .media-cover-placeholder{position:relative;background:linear-gradient(135deg,rgba(212,168,90,.30),rgba(238,205,130,.20));}.app-shell .media-cover-placeholder:before{content:"";position:absolute;left:50%;top:50%;width:28px;height:22px;border:2px solid rgba(255,255,255,.34);border-radius:4px;transform:translate(-50%,-50%);}.app-shell .media-cover-placeholder:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;background:transparent;border-left:2px solid rgba(255,255,255,.28);border-top:2px solid rgba(255,255,255,.28);animation:none;transform:translate(-45%,0) rotate(45deg);}
/* 首页原生轮播 */
.home-carousel{position:relative;margin-bottom:12px;}
.home-carousel>.app-ad-strip{margin-bottom:0;}
.home-carousel-dots{position:absolute;right:0;bottom:5px;left:0;display:flex;align-items:center;justify-content:center;gap:5px;height:5px;margin:0;padding:0;pointer-events:none;z-index:3;}
.home-carousel-dots>li{display:block;width:5px;height:5px;}
.home-carousel-dots button{display:block;width:5px;height:5px;color:transparent;cursor:pointer;font-size:0;padding:0;background:rgba(255,255,255,.45);border:0;border-radius:50%;pointer-events:auto;}
.home-carousel-dots button.is-active{background:#FFF;}
@media (hover:hover) and (pointer:fine){.home-carousel>.app-ad-strip{cursor:grab;user-select:none;}.home-carousel>.app-ad-strip.is-dragging{cursor:grabbing;}.home-carousel>.app-ad-strip img{pointer-events:none;-webkit-user-drag:none;user-select:none;}}
/* 导航屏外渲染优化 */
@supports (content-visibility:auto){#quickGrid>.quick-item{content-visibility:auto;contain-intrinsic-size:75px 86px;}}
/* 导航失败提示 */
.navigation-status-page{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:24px;background:var(--app-page-bg);}
.navigation-status-card{width:100%;max-width:382px;padding:32px 24px;background:var(--app-card);border:1px solid var(--app-card-border);border-radius:16px;}
.navigation-status-card>h1{color:var(--app-ink);font-size:22px;line-height:1.5;margin:0 0 12px;}
.navigation-status-card>p{color:var(--app-text-secondary);font-size:14px;line-height:1.8;margin:0 0 24px;}
.navigation-status-actions{display:flex;flex-wrap:wrap;gap:12px;}
.navigation-status-actions>a,.navigation-status-actions>button{display:flex;align-items:center;justify-content:center;flex:1;min-height:44px;color:var(--app-text-secondary);font-size:14px;text-decoration:none;padding:0 16px;background:var(--app-page-bg);border:1px solid var(--app-card-border);border-radius:10px;}
.navigation-status-actions>.navigation-status-retry{color:#fff;background:var(--app-bar-gradient);border-color:transparent;}
.navigation-status-actions>button[hidden]{display:none;}
.navigation-status-actions>a:focus-visible,.navigation-status-actions>button:focus-visible{outline:2px solid var(--app-gold);outline-offset:3px;}
/* 桌面与窄屏 */
@media (max-width:374px){.brand-name{font-size:18px;}.home-appbar{gap:6px;padding-right:8px;padding-left:8px;}.search-pill{padding:0 10px;}.dating-fate-photo{width:108px;height:150px;flex-basis:108px;}.dating-fate-main{height:150px;}.mine-page-scroll{padding-right:12px;padding-left:12px;}.invite-hero-main{padding-right:18px;padding-left:18px;}.invite-code{gap:3px;}.invite-code span{flex-basis:29px;width:29px;}.invite-share-grid{gap:8px;}.invite-share-tile{font-size:11px;}}
@media (min-width:768px){body{background:#EFE8DB;}.app-shell{box-shadow:0 0 0 1px rgba(169,133,63,.08),0 24px 70px rgba(74,56,32,.14);}.bottom-nav{max-width:430px;}}
@media (prefers-reduced-motion:reduce){.dating-banner i,.invite-tier-list>article.is-active>i,.novel-audio-player-page.is-playing .novel-audio-disc,.novel-audio-player-page.is-playing .novel-audio-player-aurora>i{animation:none;}.nav-ico,.nav-item{transition:none;}}
/* 统一品牌Logo */
.brand-mark.brand-logo:before,.brand-mark.brand-logo:after,.brand-mark.brand-logo>span{display:none!important;}
.brand-mark.brand-logo>img{display:block;width:100%;height:100%;padding:2px;background:#FFF;border-radius:inherit;object-fit:contain;}

/* 首页轻量SVG图标 */
.home-icon-sprite{position:absolute;width:0;height:0;overflow:hidden;}
.mobile-app.is-tab-home .home-ui-icon{display:block;width:1em;height:1em;fill:currentColor;pointer-events:none;}
.mobile-app.is-tab-home .search-ico:before,.mobile-app.is-tab-home .round-action:before,.mobile-app.is-tab-home .nav-item .nav-ico:before,.mobile-app.is-tab-home .text-btn:after{content:none;}
.mobile-app.is-tab-home .search-ico>.home-ui-icon,.mobile-app.is-tab-home .round-action>.home-ui-icon{width:20px;height:20px;}
.mobile-app.is-tab-home .nav-ico>.home-ui-icon{width:21px;height:21px;}
.mobile-app.is-tab-home .quick-fallback-icon{width:26px;height:26px;color:var(--app-gold);}
.mobile-app.is-tab-home .text-btn-icon{width:14px;height:14px;margin-left:2px;}
