*{box-sizing:border-box}body{margin:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#f5f6f8;color:#222;font-size:14px;padding-bottom:60px}
#tabbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eee;display:flex;z-index:5}
#tabbar a{flex:1;text-align:center;padding:12px 0;color:#666;text-decoration:none;font-size:13px}
#tabbar a.on{color:#e63d3d;font-weight:700}
.head{background:linear-gradient(135deg,#e63d3d,#b31e1e);color:#fff;padding:20px 16px}
.card{background:#fff;border-radius:10px;margin:10px;padding:14px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.course{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f0f0f0}
.course:last-child{border:0}
.cover{width:90px;height:60px;background:#dfe3ea;border-radius:6px;flex:none;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}
.price{color:#e63d3d;font-weight:700}.free{color:#1a9e4b}
button{background:#e63d3d;color:#fff;border:0;border-radius:20px;padding:10px 22px;font-size:14px;cursor:pointer}
button.ghost{background:#f0f0f0;color:#333}button.block{width:100%;margin-top:10px}
input,select,textarea{border:1px solid #ddd;border-radius:8px;padding:10px;width:100%;margin:6px 0;font-size:14px}
.muted{color:#999;font-size:12px}.row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.q{margin:12px 0;padding:12px;background:#fafbfc;border-radius:8px}
.q label{display:block;padding:6px 0}
.lesson{padding:10px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between}
.badge{font-size:11px;background:#fff2f2;color:#e63d3d;padding:2px 8px;border-radius:10px}
.badge.ok{background:#e8f7ee;color:#1a9e4b}
h3{margin:6px 0}
.sh-search{background:#fff;margin:12px;border-radius:20px;padding:10px 16px;color:#999;font-size:13px}
.sh-banner{display:flex;gap:8px;margin:12px}
.sh-banner img{width:100%;border-radius:10px}
.sh-nav{display:flex;justify-content:space-around;padding:10px 6px;background:#fff;margin:0 12px 12px;border-radius:10px}
.sh-nav>div{text-align:center;font-size:11px;color:#555}
.sh-ic{width:44px;height:44px;border-radius:50%;background:#eef2fa;display:flex;align-items:center;justify-content:center;margin:0 auto 4px;font-size:20px;overflow:hidden}
.sh-ic img{width:100%;height:100%;object-fit:cover}
.sh-notice{background:#fff8e6;margin:12px;padding:10px 14px;border-radius:8px;font-size:13px;color:#b07800}
.sh-title{padding:14px 16px 4px;font-weight:700;font-size:16px}
.sh-tags{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap}
.sh-tags span{background:#eef3ff;color:#2456d6;padding:5px 14px;border-radius:16px;font-size:12.5px}
.sh-float{position:fixed;z-index:60}
.sh-floatbar{position:sticky;bottom:0;background:#2456d6;color:#fff;text-align:center;padding:12px;font-size:14px}
.sh-gzh{display:flex;align-items:center;gap:10px;background:#fff;border-radius:10px;padding:12px;margin:12px}
.sh-gzh img{width:44px;height:44px;border-radius:6px}
.sh-gzh button{margin-left:auto}
.sh-navcell{text-align:center;font-size:11px;color:#555;padding:6px 0;box-sizing:border-box}
.sh-navcard{margin:0 4px;padding:12px 6px;border-radius:10px;background:linear-gradient(135deg,#ffb36b,#ff7e5f);color:#fff;display:flex;flex-direction:column;align-items:center;gap:6px}
.sh-navcard span{color:#fff}
.sh-card{border-radius:12px;padding:12px 8px;margin:12px;background:linear-gradient(135deg,#ffb36b,#ff7e5f)}
.sh-cardhead{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.sh-ava{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:20px}
.sh-vip{font-size:10px;color:#b07800;background:rgba(255,255,255,.6);padding:1px 6px;border-radius:8px}
.sh-up{margin-left:auto;font-size:11px;background:#ff5a3c;color:#fff;padding:3px 10px;border-radius:12px}
.sh-card .sh-nav{background:transparent;margin:0;padding:0}
.sh-searchrow{position:relative;background:transparent}
.sh-ckic{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.sh-ckic img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.sh-scrollx{display:flex;gap:8px;overflow-x:auto;padding:0 12px;scrollbar-width:none}
.sh-scrollx::-webkit-scrollbar{display:none}
.sh-scrollx img{width:100%;height:150px;object-fit:cover;flex-shrink:0}
.sh-scrollx.snap{scroll-snap-type:x mandatory}
.sh-scrollx.snap img{scroll-snap-align:center}
.sh-scrollx:not(.snap) img{width:74%}
.sh-tt{padding:6px 12px}
.sh-ttline{display:flex;align-items:center;gap:8px}
.sh-ttline b{font-size:16px;color:#222}
.sh-more1{margin-left:auto;font-size:12px;color:#999}
.sh-more3{margin-left:auto;font-size:20px;color:#999}
.sh-more2{display:inline-block;margin-top:8px;font-size:12px;color:#666;border:1px solid #ddd;border-radius:12px;padding:2px 12px}
.sh-ttdesc{font-size:12px;color:#888;margin-top:4px;white-space:pre-wrap}
.sh-vdgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px}
.sh-vdrow{display:flex;gap:8px;overflow-x:auto;padding:0 12px}
.sh-vdrow .sh-vd{width:62%;flex-shrink:0}
.sh-vd.big{padding:0 12px}
.sh-vd{border-radius:8px;overflow:hidden}
.sh-vdnm{font-size:12px;color:#333;padding:5px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-vdnm.two{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sh-cb1{padding:0 12px;margin-bottom:8px}
.sh-cb1 img{width:100%;border-radius:8px;display:block}
.sh-cbnm{font-size:13px;color:#333;padding:5px 2px}
.sh-rich{padding:6px 14px;font-size:14px;line-height:1.8;color:#333;word-break:break-word}
.sh-rich img{max-width:100%}
.sh-rich table{width:100%;border-collapse:collapse}
.sh-rich td{border:1px solid #ccc;padding:4px}
.sh-rich video{width:100%}
.sh-plgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px}
.sh-plrow{display:flex;gap:8px;overflow-x:auto;padding:0 12px}
.sh-plrow .sh-plcard{width:45%;flex-shrink:0}
.sh-plcard{background:#fff;border-radius:10px;overflow:hidden;margin-bottom:8px;box-shadow:0 1px 4px rgba(20,30,60,.05)}
.sh-plcv img{width:100%;height:96px;object-fit:cover;display:block}
.sh-plph{height:96px;display:flex;align-items:center;justify-content:center;background:#eef1f6;font-size:26px}
.sh-plcard.one{display:flex;gap:10px;padding:8px;margin:0 12px 8px}
.sh-plcard.one .sh-plcv{width:110px;height:72px;flex-shrink:0;border-radius:8px;overflow:hidden}
.sh-plcard.one .sh-plph{height:72px}
.sh-plinf{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between}
.sh-plnm{font-size:13px;color:#222;padding:6px 8px 0;line-height:1.45}
.sh-plcard.one .sh-plnm{padding:0}
.sh-plnm.one{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-plnm.two{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sh-plbadge{display:inline-block;background:#f0524f;color:#fff;font-size:9px;border-radius:3px;padding:0 4px;margin-right:4px;vertical-align:1px}
.sh-plmeta{display:flex;align-items:center;gap:6px;padding:5px 8px 8px}
.sh-plfree{color:#f0524f;font-size:13px;font-weight:600}
.sh-plprice{color:#f0524f;font-size:14px;font-weight:700}
.sh-plvip{font-size:9px;color:#fff;background:#b8860b;border-radius:3px;padding:1px 4px;font-weight:700}
.sh-plvip.red{background:#e23b3b}
.sh-plvip.dark{background:#333}
.sh-pldata{margin-left:auto;font-size:10px;color:#aaa}
.sh-plempty{text-align:center;color:#aab4c4;font-size:12px;padding:22px 0}
.sh-gt{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 6px}
.sh-gtn{font-size:15px;font-weight:700;color:#222}
.sh-gtd{font-size:11px;color:#999;font-weight:400;margin-left:4px}
.sh-gtmore{font-size:12px;color:#999}
.sh-gg{background:#fff;border-radius:10px;padding:10px 12px;margin:0 12px 8px;box-shadow:0 1px 4px rgba(20,30,60,.05)}
.sh-ggrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px}
.sh-ggrid.three{grid-template-columns:1fr 1fr 1fr}
.sh-ggrid .sh-gg{margin:0}
.sh-ggn{font-size:13px;font-weight:700;color:#333;padding-bottom:5px;border-bottom:1px solid #f2f4f7;margin-bottom:5px}
.sh-ggc{display:flex;justify-content:space-between;font-size:12px;color:#555;padding:3px 0}
.sh-gt{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 6px}
.sh-gtn{font-size:15px;font-weight:700;color:#222}
.sh-gtd{font-size:11px;color:#999;font-weight:400;margin-left:4px}
.sh-gtmore{font-size:12px;color:#999}
.sh-gg{background:#fff;border-radius:10px;padding:10px 12px;margin:0 12px 8px;box-shadow:0 1px 4px rgba(20,30,60,.05)}
.sh-ggrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px}
.sh-ggrid.three{grid-template-columns:1fr 1fr 1fr}
.sh-ggrid .sh-gg{margin:0}
.sh-ggn{font-size:13px;font-weight:700;color:#333;padding-bottom:5px;border-bottom:1px solid #f2f4f7;margin-bottom:5px}
.sh-ggc{display:flex;justify-content:space-between;font-size:12px;color:#555;padding:3px 0}
.sh-plgrid.three{grid-template-columns:1fr 1fr 1fr}
.sh-tnbar{display:flex;gap:16px;align-items:center;padding:10px 14px 0;overflow-x:auto}
.sh-tnbar span{font-size:14px;color:#666;white-space:nowrap;padding-bottom:8px;border-bottom:2px solid transparent;cursor:pointer}
.sh-tnbar span.on{color:#222;font-weight:700;border-color:#f0524f}
.sh-tnmore{margin-left:auto;font-size:12px;color:#999}
.sh-tnsubs{display:flex;gap:8px;padding:10px 12px 2px;overflow-x:auto}
.sh-tnsubs span{font-size:12px;color:#666;background:#f2f4f7;border-radius:13px;padding:4px 12px;cursor:pointer;white-space:nowrap}
.sh-tnsubs span.on{background:#f0524f;color:#fff}
.sh-tnmenu{display:flex;gap:0;background:#fff}
.sh-tnside{width:84px;flex-shrink:0;background:#f7f8fa;padding:6px 0}
.sh-tnside div{font-size:13px;color:#666;padding:11px 4px;text-align:center;cursor:pointer;border-left:3px solid transparent}
.sh-tnside div.on{color:#f0524f;font-weight:700;border-color:#f0524f;background:#fff}
.sh-tnmain{flex:1;min-width:0;padding-top:8px}
.sh-more2{display:inline-block;font-size:12px;color:#f0524f;border:1px solid #f6c1bf;border-radius:13px;padding:4px 14px;margin:8px 0}
.sh-schead{height:96px;border-radius:10px 10px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:18px;margin:0 10px;background-size:cover}
.sh-sctitle{font-size:20px;font-weight:800;letter-spacing:2px;text-shadow:0 1px 6px rgba(0,0,0,.25)}
.sh-scbody{background:#fff;margin:-16px 10px 0;border-radius:10px;padding:10px;position:relative;box-shadow:0 1px 6px rgba(20,30,60,.06)}
.sh-scgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sh-sccard{background:#fff;border:1px solid #f0f2f5;border-radius:8px;overflow:hidden;margin-bottom:8px}
.sh-scgrid .sh-sccard{margin-bottom:0}
.sh-sccv{position:relative;background:#f5f6f8}
.sh-sccv img{width:100%;height:100%;display:block}
.sh-scnm{font-size:13px;font-weight:600;color:#222;padding:6px 8px 0;line-height:1.35}
.sh-scdata{font-size:11px;color:#999;padding:2px 8px 0}
.sh-scp1{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#ff8a3d,#f0524f);color:#fff;border-radius:13px;margin:6px 8px 8px;padding:3px 4px 3px 10px;font-size:12px}
.sh-scp1 span{background:#fff;color:#f0524f;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:700}
.sh-scp2{display:flex;align-items:center;justify-content:space-between;padding:5px 8px 8px}
.sh-scp2 b{font-size:15px;color:#f0524f}
.sh-scb2{background:linear-gradient(90deg,#ff8a3d,#f0524f);color:#fff;font-size:11px;border-radius:10px;padding:3px 9px;font-weight:700}
.sh-scb3{background:#222;color:#ffb84d;font-size:11px;border-radius:10px;padding:3px 9px;font-weight:700}
.sh-scb4{background:linear-gradient(90deg,#c89b5a,#a87c3f);color:#fff;font-size:11px;border-radius:4px;padding:3px 9px;font-weight:700}
.sh-tc1{border:1px solid #eef0f3;border-radius:10px;overflow:hidden;margin:0 10px;background:#fff}
.sh-tchead{height:70px;display:flex;align-items:center;gap:10px;padding:0 14px}
.sh-tcava{width:44px;height:44px;border-radius:50%;background:#dbe7f5;display:flex;align-items:center;justify-content:center;font-size:23px;overflow:hidden;flex-shrink:0}
.sh-tcava img{width:100%;height:100%;object-fit:cover}
.sh-tcname{font-size:15px;font-weight:700;color:#fff}
.sh-tc2 .sh-tcname{color:#222}
.sh-tcbio2{font-size:12px;color:#666;padding:8px 12px 0;line-height:1.5}
.sh-tc2{border:1px solid #f3e3d3;border-radius:10px;padding:12px;background:#fffaf3;margin:0 10px}
.sh-tc2head{display:flex;gap:10px;margin-bottom:6px}
.sh-tc2main{flex:1;min-width:0}
.sh-tcbio{font-size:12px;color:#888;line-height:1.5;margin-top:2px}
.sh-tchot{background:#f0524f;color:#fff;font-size:9px;border-radius:3px;padding:1px 4px;margin-left:5px;vertical-align:2px}
.sh-float{position:fixed;bottom:84px;z-index:60;cursor:pointer}
.sh-float.right{right:12px}
.sh-float.left{left:12px}
.sh-float img{width:64px;height:64px;object-fit:contain}
.sh-float .fx-ic{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.sh-float .fx-emoji{font-size:24px;line-height:1}
.sh-float .fx-lb{font-size:11px;font-weight:700;margin-top:2px}
.sh-float .fx-sub{font-size:9px;background:rgba(255,255,255,.9);color:#e63e36;border-radius:6px;padding:0 5px;margin-top:2px;font-weight:700}
.sh-bfbar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid #eef0f3;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
.sh-bftabs{display:flex}
.sh-bftab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:#888;cursor:pointer}
.sh-bftab.on{color:#2456d6}
.sh-bfic{font-size:20px;line-height:1}
.sh-bfic img{width:23px;height:23px;object-fit:contain}
.sh-bfbtn{width:100%;font-size:15px;font-weight:600;cursor:pointer}
.sh-pdnum{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #f2f4f7;font-size:13px;background:#fff}
.sh-pdno{color:#f0524f;font-weight:700;font-style:italic}
.sh-pdnm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}
.sh-pdpr{color:#f0524f;font-weight:600}
.sh-plcv{position:relative;overflow:hidden}
.sh-plvip.rib1{position:absolute;top:9px;left:-24px;transform:rotate(-45deg);background:linear-gradient(90deg,#57b25e,#3f9e4d);padding:1px 26px;font-size:9px;z-index:2}
.sh-plvip.rib2{position:absolute;top:0;left:0;background:linear-gradient(90deg,#e8b34b,#c9932b);border-radius:0 0 10px 0;padding:2px 9px;font-size:9px;z-index:2}
.sh-qr{margin-left:auto;font-size:20px;color:#333;border:1px solid #e3e7ee;border-radius:4px;padding:2px 5px;line-height:1;background:#fff}
.sh-plstrike{color:#999;font-size:11px;text-decoration:line-through;margin-left:2px}
.sh-gb{background:#fff;border-radius:8px;overflow:hidden}
.sh-gbcv{position:relative;aspect-ratio:3/2;background:#f2f4f8}
.sh-gbcv img{width:100%;height:100%;object-fit:cover;display:block}
.sh-gbcd{position:absolute;left:0;right:0;bottom:0;background:rgba(90,90,90,.55);color:#fff;font-size:11px;padding:3px 8px}
.sh-gbbadge{background:linear-gradient(90deg,#f85032,#e73827);color:#fff;font-size:10px;border-radius:3px;padding:1px 5px}
.sh-gbbadge.tl{position:absolute;top:0;left:0;border-radius:0 0 6px 0;padding:2px 7px}
.sh-gbrow{display:flex;gap:6px;align-items:center;padding:6px 8px 0}
.sh-gbnm{font-size:13px;font-weight:600}
.sh-gbpr{color:#e73827;font-weight:700;padding:2px 8px 8px}
.sh-gbpr s,.sh-gbbar s{color:#999;font-weight:400;font-size:11px}
.sh-gbnm2{font-size:13px;font-weight:600;padding:6px 8px 0}
.sh-gbcd2{display:block;font-size:11px;color:#666;padding:3px 8px 0}
.sh-gbcd2 b{background:#222;color:#fff;border-radius:3px;padding:0 3px;font-weight:600}
.sh-gbbar{margin:6px 8px 8px;background:linear-gradient(90deg,#f85032,#e73827);color:#fff;border-radius:4px;display:flex;justify-content:space-between;align-items:center;padding:5px 8px;font-weight:700}
.sh-gbbuy{background:#fff;color:#e73827;border-radius:10px;padding:1px 9px;font-size:12px}
.sh-gbrow2{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 8px}
.sh-gbpr3{color:#e73827;font-weight:700;line-height:1.25}
.sh-gbpr3 s{color:#999;font-weight:400;font-size:11px}
.sh-gbbuy3{background:#e73827;color:#fff;border-radius:12px;padding:4px 14px;font-size:12px}
/* 优惠券组件 */
.sh-cp{display:flex;gap:8px}
.sh-cp.strip{overflow-x:auto;scrollbar-width:none}
.sh-cp.grid{display:grid;grid-template-columns:1fr 1fr}
.sh-cp.stack{flex-direction:column}
.sh-cpc{border-radius:8px;padding:8px 10px;color:#fff;background:linear-gradient(135deg,#f85032,#e73827);min-width:0}
.sh-cp.strip .sh-cpc{flex:0 0 31%}
.sh-cp.t2 .sh-cpc{background:linear-gradient(135deg,#ffb347,#ff8c1a)}
.sh-cp.t3 .sh-cpc{background:linear-gradient(135deg,#ff416c,#ff4b2b)}
.sh-cp.t4 .sh-cpc{background:linear-gradient(135deg,#f857a6,#ff5858)}
.sh-cp.t5 .sh-cpc{background:#fde8e8;color:#d33}
.sh-cp.t7 .sh-cpc{background:#fff4e5;color:#e67e22}
.sh-cp.t9 .sh-cpc{background:linear-gradient(135deg,#f7971e,#ffd200);color:#7a4a00}
.sh-cp.t10 .sh-cpc{background:#fde8e8;color:#d33}
.sh-cp.t5 .sh-cpbtn,.sh-cp.t7 .sh-cpbtn,.sh-cp.t10 .sh-cpbtn{background:#e73827;color:#fff}
.sh-cptop{display:flex;align-items:center;justify-content:space-between;gap:6px}
.sh-cpamt b{font-size:20px}
.sh-cpbtn{background:#fff;color:#e73827;border-radius:999px;padding:2px 10px;font-size:11px;white-space:nowrap;cursor:pointer}
.sh-cpbtn.got{background:rgba(255,255,255,.35);color:#fff;cursor:default}
.sh-cp.stack .sh-cpc{display:flex;align-items:center;gap:10px}
.sh-cp.stack .sh-cpmid{flex:1;min-width:0}
.sh-cpcond{font-size:10px;opacity:.85;margin-top:2px}
.sh-cpscope{font-size:10px;opacity:.85;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-cpbuy{text-align:right}
.sh-cpprice{font-weight:700;margin-bottom:3px}
.sh-more2{display:inline-block;background:#f5f5f5;border-radius:999px;padding:4px 18px;font-size:12px;color:#666}
.sh-gzh.bg{background:#eef4f8}
.sh-gzh img{width:40px;height:40px;border-radius:50%}
.sh-gzph{width:40px;height:40px;border-radius:50%;background:#dbe7f3;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}
.sh-gzh button{background:#f5722c;color:#fff;border:none;border-radius:999px;padding:5px 12px;margin-left:auto;white-space:nowrap}
.sh-bt{display:flex;background:#fff;border-radius:10px;padding:12px;margin:12px}
.sh-bt.bg{background:#eef4f8}
.sh-btit{flex:1;text-align:center;font-size:13px;color:#333}
.sh-btit i{font-style:normal;margin-right:5px}
.sh-btit + .sh-btit{border-left:1px solid #eee}
.sh-fr{display:flex;flex-wrap:wrap;gap:6px}
.sh-frit{width:calc(33.33% - 4px);aspect-ratio:19/10;background:#f7f8fa;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sh-frit img{max-width:100%;max-height:100%;object-fit:contain}
.sh-chlive{display:inline-flex;flex-direction:column;align-items:center;gap:3px;background:#fff;border:1px solid #e5e9f2;border-radius:8px;padding:8px 12px;font-size:11px;color:#333}
.sh-chico{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#3d7bff,#25c2f2);display:flex;align-items:center;justify-content:center;font-size:14px}
.sh-ar{display:flex;gap:10px;background:#fff;border-radius:10px;padding:10px;margin-bottom:8px;align-items:center}
.sh-arimg{width:76px;height:48px;border-radius:6px;background:#f2f4f8;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;font-size:18px}
.sh-arimg img{width:100%;height:100%;object-fit:cover}
.sh-artt{font-size:13px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sh-ardt{font-size:11px;color:#999;margin-top:3px}
.mn-phone{padding:0 0 12px;min-height:480px}
.mn-head{position:relative;padding:14px 12px 12px;background:linear-gradient(135deg,#2f7df6,#25a9f2);overflow:hidden}
.mn-head.white{background:#fff}
.mn-head.custom{background-color:#1d2440}
.mn-urow{display:flex;align-items:center;gap:10px;position:relative}
.mn-ava{width:46px;height:46px;border-radius:50%;background:#bfe3d8;display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}
.mn-uinfo{display:flex;flex-direction:column;gap:2px;min-width:0}
.mn-uname{font-weight:700;font-size:15px}
.mn-badge{font-size:10px;background:rgba(255,255,255,.35);border-radius:999px;padding:1px 6px;font-weight:400}
.mn-uid{font-size:11px;opacity:.85}
.mn-sign{margin-left:auto;background:rgba(0,0,0,.25);color:#fff;font-size:11px;border-radius:999px;padding:3px 9px;white-space:nowrap}
.mn-vip{margin-top:12px;background:linear-gradient(90deg,#3a3f4a,#23262e);color:#f3cd8b;border-radius:10px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;position:relative}
.mn-vipbtn{background:#f3cd8b;color:#4a3205;border-radius:999px;padding:3px 10px;font-size:11px}
.mn-head.s2 .mn-uraw{background:#fff;border-radius:12px;padding:26px 12px 12px;margin-top:22px;position:relative}
.mn-head.s2 .mn-ava{position:absolute;top:-20px;left:12px;width:52px;height:52px;border:2px solid #fff}
.mn-head.s2 .mn-urow{flex-direction:column;align-items:flex-start;gap:2px}
.mn-head.s2 .mn-uname,.mn-head.s2 .mn-uid{color:#333 !important}
.mn-head.s2 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#999}
.mn-head.s2 .mn-vip{margin-top:10px}
.mn-head.s3 .mn-vip{background:linear-gradient(90deg,#ffe9e4,#ffd9ec);color:#8a5a2b}
.mn-head.s3 .mn-vipbtn{background:none;color:#8a5a2b;font-size:14px}
.mn-head.s4 .mn-uid{display:inline;margin-left:6px}
.mn-head.s4 .mn-uinfo{display:block}
.mn-head.s4 .mn-vip{width:58%;margin-left:auto;background:linear-gradient(120deg,#f7e3b8,#eed9a4);color:#7a5a17;transform:rotate(-2deg)}
.mn-head.s4 .mn-vipbtn{background:#7a5a17;color:#ffe9b0}
.mn-head.s5 .mn-uraw{background:#fff;border-radius:12px;padding:14px 12px 0;margin:6px 2px 0}
.mn-head.s5 .mn-urow{flex-direction:column;text-align:center;gap:4px}
.mn-head.s5 .mn-ava{width:64px;height:64px;font-size:30px}
.mn-head.s5 .mn-uname,.mn-head.s5 .mn-uid{color:#333 !important}
.mn-head.s5 .mn-uinfo{align-items:center}
.mn-head.s5 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#999;margin:0}
.mn-head.s5 .mn-vip{background:linear-gradient(90deg,#7b4fd0,#5a2ea6);color:#ffe9a8;border-radius:0 0 12px 12px;margin:10px -12px 0}
.mn-head.s6 .mn-uid{display:inline;margin-left:6px}
.mn-head.s6 .mn-uinfo{display:block}
.mn-head.s6 .mn-vip{width:58%;margin-left:auto;background:linear-gradient(120deg,#f3e2c2,#e8d3a8);color:#7a5a17;transform:rotate(-2deg)}
.mn-head.s6 .mn-vipbtn{background:#7a5a17;color:#ffe9b0}
.mn-stats{display:flex;background:#fff;margin:10px 10px 0;border-radius:10px;padding:12px 4px}
.mn-stats span{flex:1;text-align:center;display:flex;flex-direction:column}
.mn-stats b{font-size:15px}
.mn-stats i{font-style:normal;font-size:11px;color:#999}
.mn-card{background:#fff;margin:10px;border-radius:10px;padding:12px}
.mn-ct{font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center}
.mn-more{font-size:11px;color:#999;font-weight:400}
.mn-orow{display:flex;margin-top:10px}
.mn-orow span{flex:1;text-align:center;font-size:11px;color:#555;display:flex;flex-direction:column;gap:4px}
.mn-orow i{font-style:normal;font-size:17px}
.mn-grid{display:flex;flex-wrap:wrap;margin-top:8px}
.mn-git{width:25%;text-align:center;font-size:11px;color:#555;padding:7px 0;display:flex;flex-direction:column;gap:4px}
.mn-git span{font-size:19px}
.mn-wrap{padding-bottom:14px}.mn-git{text-decoration:none}
.mn-gic{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;background:#eef4ff}
.mn-gic.line{background:#fff;border:1.5px solid #c9d4e6;filter:grayscale(.25)}
.mn-git .mn-gic{margin:0 auto}
.mn-list{display:flex;flex-direction:column}
.mn-lirow{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #f2f4f8;font-size:13px;color:#333;text-decoration:none}
.mn-lirow i{font-style:normal;margin-left:auto;color:#bbb}
.mn-lic{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:#eef4ff}
.mn-lic.line{background:#fff;border:1.5px solid #c9d4e6;filter:grayscale(.25)}
#tabbar a{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0 9px}
#tabbar a i{font-style:normal;font-size:11px}
#tabbar a img{width:21px;height:21px;object-fit:contain}
#tabbar a .tb-emoji{font-size:19px;line-height:1.1}
#tabbar a .tb-on{display:none}
#tabbar a.on .tb-on{display:block}
#tabbar a.on .tb-off{display:none}
body.nv-hastop{padding-top:40px}
.nv-h5top{position:fixed;top:0;left:0;right:0;height:40px;background:#fff;border-bottom:1px solid #eef1f7;display:flex;align-items:center;justify-content:space-between;padding:0 12px;z-index:6;font-size:14px}
.nv-h5top a{color:#333;text-decoration:none;margin-left:14px}
.nv-h5top .nv-tm a:first-child{margin-left:0}
.nv-h5top .nv-tl{color:#333;font-size:13px}
.nv-h5float{position:fixed;right:12px;bottom:78px;z-index:7;display:flex;flex-direction:column;align-items:center;gap:8px}
.nv-fbtn{width:46px;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#666}
.nv-fbtn span,.nv-fbtn img{width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(20,30,60,.18);display:flex;align-items:center;justify-content:center;font-size:19px;object-fit:cover}
.nv-fbtn i{font-style:normal;font-size:9px;margin-top:2px;background:rgba(255,255,255,.85);padding:0 4px;border-radius:6px}
.nv-fkids{display:none;flex-direction:column;gap:8px;align-items:center}
.nv-h5float.open .nv-fkids{display:flex}
.nv-qr{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:50;display:flex;align-items:center;justify-content:center}
.nv-qrbox{background:#fff;border-radius:12px;padding:18px;text-align:center;font-size:13px;color:#333}
.nv-qrbox img{width:180px;height:180px;object-fit:contain}
.pm-poster{position:relative;width:100%;aspect-ratio:640/1136;background-size:cover;background-position:center;overflow:hidden;border-radius:10px}
.pm-sys-tag{position:absolute;top:6%;left:0;right:0;text-align:center;font-size:11px;letter-spacing:2px;opacity:.85}
.pm-sys-title{position:absolute;top:13%;left:0;right:0;text-align:center;font-size:24px;font-weight:800}
.pm-sys-deco{position:absolute;top:36%;left:0;right:0;text-align:center;font-size:64px}
.pm-sys-foot{position:absolute;left:7%;right:7%;bottom:5%;display:flex;justify-content:space-between;align-items:flex-end;font-size:11px;line-height:1.7}
.pm-qr{width:56px;height:56px;background:#fff}
.pm-layer{position:absolute}
.pm-layer .pm-qr{width:100%;height:auto;aspect-ratio:1}
.pm-ava{width:100%;aspect-ratio:1;border-radius:50%;background:#dbe7f5;display:flex;align-items:center;justify-content:center;font-size:20px;overflow:hidden}
.pm-ava img{width:100%;height:100%;object-fit:cover}
.pm-txt{white-space:pre-wrap;word-break:break-all}
.pm-thumbs2{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pm-th2{cursor:pointer}
.pm-th2 .pm-poster{border-radius:6px}
.pm-th2 .pm-sys-title{font-size:10px;top:11%}
.pm-th2 .pm-sys-deco{font-size:22px}
.pm-th2 .pm-sys-tag{font-size:6px}
.pm-th2 .pm-sys-foot{font-size:6px;line-height:1.4}
.pm-th2 .pm-qr{width:18px;height:18px}
.pm-th2 .pm-layer .pm-qr{width:100%}
.pm-full{position:fixed;inset:0;background:rgba(10,14,22,.88);z-index:60;display:flex;align-items:center;justify-content:center;padding:18px}
.pm-fullbox{width:min(340px,92vw)}
.pm-fulltip{color:#cfd8e6;text-align:center;font-size:12px;margin:10px 0}
.vp-count-t{text-align:center;color:#e54545;font-weight:800;font-size:17px;padding:4px 0 8px}
.vp-digits{display:flex;gap:3px;justify-content:center}
.vp-digit{background:#22252b;color:#f5a623;font-weight:800;font-size:18px;border-radius:4px;padding:3px 4px;min-width:20px;text-align:center}
.vp-content img{max-width:100%}
.vp-card{text-align:center}
.vp-ava{width:54px;height:54px;border-radius:50%;background:#dbe7f5;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:25px;overflow:hidden}
.vp-ava img{width:100%;height:100%;object-fit:cover}
.vp-nick{color:#999;font-size:12px;margin:5px 0 10px}
.vp-title{color:#2456d6;font-weight:700;font-size:15px}
.vp-sub{color:#999;font-size:12px;margin:6px 0 12px}
.vp-btn{background:#2456d6;color:#fff;border:0;border-radius:6px;padding:9px 38px;font-size:14px}
.vp-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef1f7;margin-top:14px;padding-top:9px;text-align:left}
.vp-bar-p{font-size:13px;font-weight:700}
.vp-bar-p em{font-style:normal;color:#2456d6;font-weight:400;font-size:11px}
.vp-bar-t{font-size:12px;color:#2456d6}
.gd-entry2{background:#fff7ec;border:1px solid #ffd9a8;color:#8a5a12;border-radius:8px;padding:9px 12px;margin-top:12px;font-size:13px}
.gd-tip2{background:#fff7ec;border:1px solid #ffd9a8;color:#7a5410;border-radius:8px;padding:8px 10px;margin-top:10px;font-size:12px;line-height:1.6}
.gd-orow{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;border-bottom:1px solid #f0f2f6;font-size:14px}
.gd-favbar{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fff7ec;border-bottom:1px solid #ffd9a8;color:#7a5410;font-size:12px;padding:9px 12px;line-height:1.6}
.gd-favbar button{flex:none;padding:4px 12px;font-size:12px}
.gsec{margin-bottom:14px}
.gsec .gbanner{width:100%;height:130px;object-fit:cover;border-radius:10px;margin-bottom:6px}
.gsec h3{margin:8px 2px;font-size:16px}
.gsec.lv2 h3{font-size:14px;color:#444}
.gsec.lv3 h3{font-size:13px;color:#666}
.gsec.lv2,.gsec.lv3{margin-left:10px}
.crow{display:flex;gap:10px;align-items:center;background:#fff;border-radius:10px;padding:9px;margin-bottom:8px;cursor:pointer}
.crow img{width:86px;height:56px;object-fit:cover;border-radius:6px}
.crow .cph{width:86px;height:56px;background:#eef2f9;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:24px}
.crow .cinfo{display:flex;flex-direction:column;gap:5px}
.gwrap{display:flex;gap:10px;align-items:flex-start}
.grail{width:86px;flex:none;background:#f6f8fb;border-radius:10px;padding:6px 0;display:flex;flex-direction:column}
.grail a{padding:9px 8px;font-size:13px;color:#555;cursor:pointer;border-left:3px solid transparent}
.grail a.on{color:#2456d6;background:#fff;font-weight:600;border-left-color:#2456d6}
.gmain{flex:1;min-width:0}
.gtiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gtile{background:#fff;border-radius:10px;padding:8px;text-align:center;cursor:pointer}
.gtile img{width:100%;height:64px;object-fit:cover;border-radius:6px}
.gtile .gtph{display:flex;height:64px;background:#e8eefc;border-radius:6px;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#2456d6}
.gtile span{display:block;margin-top:5px;font-size:13px}
.ggrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.ccard{background:#fff;border-radius:10px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:5px}
.ccard img{width:100%;height:86px;object-fit:cover;border-radius:6px}
.ccard .cph{height:86px;background:#eef2f9;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:24px}
.ccard b{font-size:13px;line-height:1.35}
.cimgw{position:relative;display:block;flex:none}
.crow .cimgw img{width:86px;height:56px;object-fit:cover;border-radius:6px;display:block}
.gvip{position:absolute;top:3px;right:3px;background:linear-gradient(90deg,#f6c453,#e8a013);color:#5b3a00;font-size:9px;font-weight:700;border-radius:3px;padding:1px 4px}
.gtbar{margin-bottom:10px;font-size:13px}
.gtbar select{border:1px solid #dfe4ee;border-radius:6px;padding:4px 6px}
.ptmq{overflow:hidden;background:#fff7e6;border-bottom:1px solid #f3e2a7;padding:6px 0;white-space:nowrap}
.ptmq span{display:inline-block;padding-left:100%;animation:ptmq 16s linear infinite;color:#a86e12;font-size:12px}
@keyframes ptmq{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.ptwm{position:fixed;inset:0;pointer-events:none;z-index:60;display:grid;grid-template-columns:repeat(3,1fr);gap:34px 8px;padding:20px 6px;overflow:hidden}
.ptwm span{transform:rotate(-24deg);font-size:13px;color:#8a93a6;white-space:nowrap}

/* 店铺文章（内容创作） */
.ar-card{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px rgba(20,30,60,.06)}
.ar-cover{width:100%;border-radius:8px;margin-bottom:8px}
.ar-ctt{font-size:16px;font-weight:600;color:#1d2739}
.ar-meta{color:#98a2b8;font-size:12px;margin-top:6px}
.ar-body{line-height:1.9;color:#333;font-size:15px}
.ar-body img{max-width:100%}
.ar-like{background:#fff;border:1px solid #f3b6c2;color:#e63d6e;border-radius:999px;padding:8px 22px;font-size:15px}
.ar-like.on{background:#e63d6e;color:#fff}

/* 邀请卡/赠送/已购轮播/评价TAB（全局设置接线） */
.iv-card{background:#fff;border-radius:12px;padding:16px;text-align:center}
.iv-card img{width:100%;border-radius:8px}
.iv-qr{width:150px;height:150px;margin:10px auto}
.iv-qr svg{width:100%;height:100%}
.iv-earn{background:#fff4e5;color:#e06e4c;border-radius:8px;padding:8px;font-size:13px;margin-top:8px}
.iv-link{word-break:break-all;font-size:12px;color:#2456d6;background:#f2f5fa;border-radius:8px;padding:8px}
.buy-toast{position:fixed;top:56px;left:12px;z-index:40;opacity:0;transition:opacity .4s;pointer-events:none}
.bt-pill{background:rgba(20,20,20,.8);color:#fff;border-radius:16px;padding:6px 14px;font-size:12px}
.ctabs{display:flex;gap:0;background:#fff;border-radius:10px;margin:10px 0;overflow:hidden}
.ctabs button{flex:1;background:#fff;border:none;padding:10px;font-size:14px;color:#8a94a6}
.ctabs button.on{color:#2456d6;font-weight:700;box-shadow:inset 0 -2px 0 #2456d6}

/* 版权保护 023 */
.ptmq.fixed{overflow:visible;text-align:center}
.ptmq .ptmq-f{display:inline-block;padding-left:0;animation:none}
.pt-copy{font-size:11px;color:#a86e12;background:#fff7e6;border-bottom:1px solid #f3e2a7;padding:5px 10px;text-align:center}
.eb-frame{position:relative;margin-top:12px}

/* ================= 024：课程运营/收藏/预告/个人中心DIY ================= */
.c-stats{display:flex;gap:14px;align-items:center;margin:8px 0 4px;font-size:13px;color:#5a6678}
.c-stat-btn{background:#f2f5fb;border:1px solid #e3e7ee;border-radius:14px;padding:3px 12px;font-size:13px;color:#5a6678;cursor:pointer}
.c-stat-btn.on{background:#fff0f0;border-color:#f3c2c2;color:#e5453c}
.hero-card{position:relative;overflow:hidden;cursor:pointer;padding:0}
.hero-card img{width:100%;height:150px;object-fit:cover;display:block}
.hero-badge{position:absolute;top:10px;left:10px;background:#e5453c;color:#fff;font-size:11px;padding:2px 9px;border-radius:9px;z-index:2}
.hero-info{display:flex;justify-content:space-between;align-items:center;padding:10px 12px 4px}
.hero-go{display:block;padding:0 12px 10px;color:#2456d6;font-size:13px}
.fav-thumb{width:52px;height:36px;object-fit:cover;border-radius:5px;vertical-align:middle;margin-right:8px}
.cform-row{margin:10px 0}
.cform-row label{display:block;font-size:13px;color:#3c4658;margin-bottom:5px}
.cform-row input,.cform-row select,.cform-row textarea{width:100%;box-sizing:border-box}
.cform-radio{display:inline-block;margin-right:12px;font-size:14px}
.cform-radio input{width:auto}
.lesson-body{line-height:1.8;word-break:break-word}
.lesson-body img{max-width:100%;border-radius:6px}
.pv-poster{min-height:92vh;background:linear-gradient(160deg,#2b4a7a,#101c30);background-size:cover;background-position:center;border-radius:0 0 14px 14px}
.pv-shade{min-height:92vh;background:rgba(10,16,28,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 22px;color:#fff;box-sizing:border-box}
.pv-tag{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);border-radius:11px;padding:2px 10px;font-size:12px;margin:2px}
.pv-poster h2{margin:16px 0 8px;font-size:24px;line-height:1.4}
.pv-time{font-size:15px;opacity:.95}
.pv-price{font-size:22px;color:#ffd34d;font-weight:700;margin:10px 0 18px}
.pv-qr{width:150px;height:150px;background:#fff;padding:8px;border-radius:10px}
.pv-tip{margin-top:10px;font-size:12px;opacity:.85}
.pv-peek{margin-top:22px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.55)}
.mm-head{background:linear-gradient(135deg,#2456d6,#173a8f);border-radius:0 0 16px 16px;padding:18px 14px 12px;margin:-10px -10px 10px;color:#fff}
.mm-head.s2{background:#fff;color:#26303c;box-shadow:0 2px 10px rgba(20,30,60,.08)}
.mm-head.s3{background:linear-gradient(135deg,#f7789b,#e5453c)}
.mm-head.s4{background:linear-gradient(135deg,#c9a86a,#a5823f)}
.mm-head.s5{background:linear-gradient(135deg,#7a5af8,#4a2fb8);text-align:center}
.mm-head.s6{background:#454f61}
.mm-urow{display:flex;align-items:center;gap:10px}
.mm-ava{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;flex:none}
.mm-ava img{width:100%;height:100%;object-fit:cover}
.mm-uinfo{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.mm-uname{font-size:16px;font-weight:600}
.mm-badge{background:rgba(0,0,0,.28);font-size:11px;border-radius:8px;padding:1px 7px;font-weight:400}
.mm-uid{font-size:12px;opacity:.85}
.mm-sign{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);color:inherit;border-radius:14px;padding:5px 12px;font-size:13px}
.mm-vip{margin-top:12px;background:linear-gradient(90deg,#2b2b33,#45403a);border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;color:#f3d9a4;font-size:13px;cursor:pointer}
.mm-vipbtn{background:#f3d9a4;color:#4a3410;border-radius:11px;padding:2px 10px;font-size:12px}
.mm-stats{display:flex;padding:12px 4px}
.mm-stats a{flex:1;text-align:center;color:#26303c;text-decoration:none}
.mm-stats b{display:block;font-size:17px}
.mm-stats i{font-style:normal;font-size:12px;color:#8a94a6}
.mm-ct{font-weight:600;margin-bottom:8px}
.mm-more{float:right;font-weight:400;font-size:12px;color:#8a94a6;text-decoration:none}
.mm-orow{display:flex;justify-content:space-between}
.mm-orow span{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:#3c4658}
.mm-orow i{font-style:normal;font-size:20px}
.mm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 4px}
.mm-git{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;color:#3c4658;text-decoration:none}
.mm-gic{width:44px;height:44px;border-radius:12px;background:#eef3ff;display:flex;align-items:center;justify-content:center;font-size:21px}
.mm-gic.line{background:#fff;border:1px solid #dfe4ee}
.mm-lirow{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid #f0f2f7;color:#3c4658;text-decoration:none;font-size:14px}
.mm-lirow:last-child{border-bottom:none}
.mm-lirow i{margin-left:auto;font-style:normal;color:#b6bfcc}
.mm-lic{width:34px;height:34px;border-radius:9px;background:#eef3ff;display:flex;align-items:center;justify-content:center;font-size:17px;flex:none}
.mm-lic.line{background:#fff;border:1px solid #dfe4ee}

/* ===== 025：详情块/讲师/图文模式/解锁 ===== */
.blk-text{white-space:pre-wrap;line-height:1.8;margin:8px 0}
.blk-rich{line-height:1.8;margin:8px 0}
.blk-rich img{max-width:100%}
.blk-img{margin:10px 0}
.blk-img img{width:100%;border-radius:8px}
.blk-img figcaption,.gm-gallery figcaption{text-align:center;color:#8a93a6;font-size:12px;margin-top:4px}
.blk-media{width:100%;margin:8px 0;border-radius:8px}
.blk-course{cursor:pointer}
.gm-gallery{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.gm-gallery figure{flex:0 0 86%;scroll-snap-align:center;margin:0}
.gm-gallery img{width:100%;border-radius:8px}
.gm-article .blk-text,.gm-article .blk-rich{font-size:17px;line-height:2;color:#222}
.inst-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #f2f4f8}
.inst-row:last-child{border-bottom:none}
.inst-ava{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none}
.inst-ph{display:flex;align-items:center;justify-content:center;background:#eef1f7;font-size:20px}
.inst-info{flex:1;min-width:0}
.inst-bio{margin:4px 0 0;font-size:12px;line-height:1.6}
.unlock-box input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #dfe4ee;border-radius:8px;margin-bottom:8px}

/* ===== v2.5.0-026 H5 ===== */
.pn-item{padding:10px 0;border-bottom:1px solid #f0f2f6}
.pq{padding:10px 0;border-bottom:1px solid #f0f2f6}
.pq-opt{display:block;padding:8px 10px;margin:6px 0;background:#f7f9fc;border-radius:8px}
.cat-v .lesson{display:block}
.cat-h .lesson{display:inline-flex;margin:0 6px 6px 0;background:#f7f9fc;border-radius:14px;padding:4px 10px}
.unlock-box input{width:100%;padding:10px;border:1px solid #d5dae3;border-radius:8px;margin-bottom:8px}

/* v2.5.0-029 H5 直播 */
.lv29-card{display:flex;gap:10px;cursor:pointer}
.lv29-cov{position:relative;width:120px;height:80px;border-radius:8px;background:#eef1f6;display:flex;align-items:center;justify-content:center;font-size:26px;overflow:hidden;flex:none}
.lv29-cov img{width:100%;height:100%;object-fit:cover}
.lv29-badge{position:absolute;left:0;top:0;font-size:11px;color:#fff;padding:2px 7px;border-bottom-right-radius:8px;background:#64748b}
.lv29-badge.living{background:#e5484d}
.lv29-badge.ended{background:#475569}
.lv29-h{font-weight:700;margin:14px 2px 6px}
.lv29-free{color:#16a34a;font-weight:600}
.lv29-livebox{text-align:center;padding:18px 10px;font-size:18px;font-weight:600}
.lv29-tiprow{display:flex;gap:8px;flex-wrap:wrap}

/* v2.5.0-030 直播间升级 */
.lv30-htabs{display:flex;gap:4px;margin:12px 0 4px;border-bottom:2px solid #eef1f6}
.lv30-htabs a{padding:8px 16px;color:#5b6b84}
.lv30-htabs a.on{color:#2456d6;font-weight:600;border-bottom:2px solid #2456d6;margin-bottom:-2px}
.lv30-gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0}
.lv30-gift{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;background:#fff;border:1px solid #eef1f6;border-radius:10px;font-size:13px}
.lv30-on{border-color:#2456d6!important;color:#2456d6!important}
.lv30-bar{height:8px;background:#eef1f6;border-radius:99px;overflow:hidden;margin:8px 0}
.lv30-bar i{display:block;height:100%;background:linear-gradient(90deg,#ffb03a,#ff7847)}
.lv30-ov{position:fixed;inset:0;background:rgba(10,16,28,.55);z-index:99;display:flex;align-items:center;justify-content:center}
.lv30-pop{background:#fff;border-radius:14px;padding:22px 20px;text-align:center;max-width:86vw;max-height:86vh;overflow:auto}

/* v2.5.0-031 邀请卡/侧边栏引流 */
.lv31-posterh5{width:230px;min-height:340px;border-radius:12px;padding:16px;display:flex;flex-direction:column;color:#fff;box-shadow:0 4px 18px rgba(20,30,60,.25)}
.lv31-posterh5 svg{width:66px;height:66px}
.lv31-word{border:1px solid #ffd9a8;background:#fffaf3;border-radius:8px;padding:9px 11px;margin:7px 0;font-size:13px;text-align:left;cursor:pointer}
.lv31-word span{float:right;color:#e07b1f;font-size:12px}
.lv31-side{position:fixed;right:10px;top:44%;z-index:60;width:52px;height:52px;border-radius:50%;background:#07c160;color:#fff;border:none;box-shadow:0 4px 14px rgba(7,193,96,.45);font-size:19px;line-height:1.1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lv31-side span{font-size:10px}

/* v2.5.0-032 带货氛围/弹幕 */
.lv32-dm{background:#fff7ec;border:1px solid #ffe1b8;border-radius:8px;padding:6px 10px;font-size:12px;color:#8a5a12;margin-bottom:8px;line-height:1.7}
.lv32-badge{font-size:11px;border-radius:9px;padding:1px 7px}
.lv32-warn{background:#ffe9e9;color:#d33;font-weight:700}
.lv32-low{background:#fff1e0;color:#e07b1f}
.lv32-hot{background:#ff5a3c;color:#fff;font-weight:700}
.lv32-pre{background:#eef3ff;color:#2456d6}
.lv32-out{background:#eceff4;color:#8a97ad}

/* v2.5.0-047 开屏广告弹窗 */
.sp47-ov{position:fixed;inset:0;background:rgba(10,16,30,.55);z-index:999;display:flex;align-items:center;justify-content:center}
.sp47-img{position:relative;width:78vw;max-width:320px}
.sp47-img img{width:100%;border-radius:14px;display:block}
.sp47-x{position:absolute;top:-14px;right:-10px;width:30px;height:30px;border-radius:50%;background:#fff;color:#333;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.sp47-gift{position:relative;width:78vw;max-width:300px;background:linear-gradient(160deg,#e63d3d,#c81e1e);color:#fff;border-radius:16px;padding:22px 18px;text-align:center}
.sp47-gift b{font-size:19px}
.sp47-cp{background:#fff;color:#c81e1e;border-radius:8px;margin:10px 0;padding:9px;display:flex;gap:10px;align-items:center;text-align:left}
.sp47-cp b{font-size:20px}
.sp47-get{background:#ffd76e;border:none;border-radius:20px;padding:10px 34px;font-weight:700;font-size:15px;margin-top:6px}

/* 095：会员页四区块高度（750 设计稿 @2x）+ 数字方框平铺铺满 */
.vp-digits{display:flex;gap:4px;justify-content:center;padding:0 12px 14px}
.vp-digit{flex:1;min-width:0;font-size:20px;padding:6px 0}
.vp-count-t{padding:14px 0 8px}
.vp-content{min-height:250px}
.vp-card{min-height:300px;display:flex;flex-direction:column}
.vp-card .vp-bar{margin-top:auto}

/* 122：全站文字去下划线 */
a,a:hover,a:active,a:focus,u,ins{text-decoration:none !important}
