*{box-sizing:border-box}body{margin:0;font-size:14px}
#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:#0066cc;font-weight:600}
.head{background:#fff;color:#1d1d1f;padding:20px 16px}
.course{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.course:last-child{border:0}
.cover{width:90px;height:60px;background:#dfe3ea;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;color:#8e8e93;font-size:12px}
.price{color:#1d1d1f;font-weight:600}.free{color:#34c759}
button{background:#0066cc;color:#fff;border:0;border-radius:999px;padding:10px 22px;font-size:14px;cursor:pointer}
button.ghost{background:#f5f5f7;color:#1d1d1f;border:1px solid rgba(0,0,0,.08)}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:#8e8e93;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 rgba(0,0,0,.08);display:flex;justify-content:space-between}
.badge{font-size:11px;background:rgba(0,102,204,.12);color:#0066cc;padding:2px 8px;border-radius:11px}
.badge.ok{background:#e8f7ee;color:#34c759}
h3{margin:6px 0}
.sh-search{background:#fff;margin:12px;border-radius:999px;padding:10px 16px;color:#8e8e93;font-size:13px}
.sh-banner{display:flex;gap:8px;margin:12px}
.sh-banner img{width:100%;border-radius:11px}
.sh-nav{display:flex;justify-content:space-around;padding:10px 6px;background:#fff;margin:0 12px 12px;border-radius:11px}
.sh-nav>div{text-align:center;font-size:11px;color:#555}
.sh-ic{width:44px;height:44px;border-radius:50%;background:rgba(0,102,204,.08);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:17px}
.sh-tags{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap}
.sh-tags span{background:rgba(0,102,204,.10);color:#0066cc;padding:5px 14px;border-radius:999px;font-size:12px}
.sh-float{position:fixed;z-index:60}
.sh-floatbar{position:sticky;bottom:0;background:#0066cc;color:#fff;text-align:center;padding:12px;font-size:14px}
.sh-gzh{display:flex;align-items:center;gap:10px;background:#fff;border-radius:11px;padding:12px;margin:12px}
.sh-gzh img{width:44px;height:44px;border-radius:8px}
.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:11px;background:#1d1d1f;color:#fff;display:flex;flex-direction:column;align-items:center;gap:6px}
.sh-navcard span{color:#fff}
.sh-card{border-radius:18px;padding:12px 8px;margin:12px;background:#1d1d1f}
.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:#0066cc;color:#fff;padding:3px 10px;border-radius:11px}
.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:17px;color:#1d1d1f}
.sh-more1{margin-left:auto;font-size:12px;color:#8e8e93}
.sh-more3{margin-left:auto;font-size:20px;color:#8e8e93}
.sh-more2{display:inline-block;margin-top:8px;font-size:12px;color:#666;border:1px solid #ddd;border-radius:999px;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:1px solid rgba(0,0,0,.08);border-radius:18px;overflow:hidden;margin-bottom:8px}
.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:#1d1d1f;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:#ff3b30;color:#fff;font-size:10px;border-radius:4px;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:#34c759;font-size:13px;font-weight:600}
.sh-plprice{color:#1d1d1f;font-size:14px;font-weight:700}
.sh-plvip{font-size:10px;color:#fff;background:#b8860b;border-radius:4px;padding:1px 4px;font-weight:700}
.sh-plvip.red{background:#ff3b30}
.sh-plvip.dark{background:#333}
.sh-pldata{margin-left:auto;font-size:10px;color:#aaa}
.sh-plempty{text-align:center;color:#86868b;font-size:13px;padding:30px 0}
.kp-empty{padding:34px 16px;text-align:center;color:#86868b;font-size:13px}
.sh-gt{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 6px}
.sh-gtn{font-size:14px;font-weight:700;color:#1d1d1f}
.sh-gtd{font-size:11px;color:#8e8e93;font-weight:400;margin-left:4px}
.sh-gtmore{font-size:12px;color:#8e8e93}
.sh-gg{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:10px 12px;margin:0 12px 8px}
.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:14px;font-weight:700;color:#1d1d1f}
.sh-gtd{font-size:11px;color:#8e8e93;font-weight:400;margin-left:4px}
.sh-gtmore{font-size:12px;color:#8e8e93}
.sh-gg{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:10px 12px;margin:0 12px 8px}
.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:#0066cc;font-weight:700;border-color:#0066cc}
.sh-tnmore{margin-left:auto;font-size:12px;color:#8e8e93}
.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:999px;padding:4px 12px;cursor:pointer;white-space:nowrap}
.sh-tnsubs span.on{background:#0066cc;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:#0066cc;font-weight:700;border-color:#0066cc;background:#fff}
.sh-tnmain{flex:1;min-width:0;padding-top:8px}
.sh-more2{display:inline-block;font-size:12px;color:#0066cc;border:1px solid rgba(0,102,204,.30);border-radius:999px;padding:4px 14px;margin:8px 0}
.sh-schead{height:96px;border-radius:18px 18px 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;border:1px solid rgba(0,0,0,.08);margin:-16px 10px 0;border-radius:18px;padding:10px;position:relative}
.sh-scgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sh-sccard{background:#fff;border:1px solid rgba(0,0,0,.08);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:#8e8e93;padding:2px 8px 0}
.sh-scp1{display:flex;align-items:center;justify-content:space-between;background:#0066cc;color:#fff;border-radius:11px;margin:6px 8px 8px;padding:3px 4px 3px 10px;font-size:12px}
.sh-scp1 span{background:#fff;color:#0066cc;border-radius:11px;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:14px;color:#1d1d1f}
.sh-scb2{background:#0066cc;color:#fff;font-size:11px;border-radius:11px;padding:3px 9px;font-weight:700}
.sh-scb3{background:#1d1d1f;color:#ffb84d;font-size:11px;border-radius:11px;padding:3px 9px;font-weight:700}
.sh-scb4{background:#c89b5a;color:#fff;font-size:11px;border-radius:4px;padding:3px 9px;font-weight:700}
.sh-tc1{border:1px solid rgba(0,0,0,.08);border-radius:11px;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:#e9e9ee;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:14px;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:11px;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:rgba(0,102,204,.12);color:#0066cc;font-size:10px;border-radius:4px;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:11px;color:#fff}
.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:10px;background:rgba(255,255,255,.9);color:#e63e36;border-radius:8px;padding:0 5px;margin-top:2px;font-weight:700}
.sh-bfbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid rgba(0,0,0,.08);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:#0066cc}
.sh-bfic{font-size:20px;line-height:1}
.sh-bfic img{width:23px;height:23px;object-fit:contain}
.sh-bfbtn{width:100%;font-size:14px;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:#1d1d1f;font-weight:700;font-style:italic}
.sh-pdnm{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#333}
.sh-pdpr{color:#1d1d1f;font-weight:600}
.sh-plcv{position:relative;overflow:hidden}
.sh-plvip.rib1{position:absolute;top:9px;left:-24px;transform:rotate(-45deg);background:#34c759;padding:1px 26px;font-size:10px;z-index:2}
.sh-plvip.rib2{position:absolute;top:0;left:0;background:#c9932b;border-radius:0 0 11px 0;padding:2px 9px;font-size:10px;z-index:2}
.sh-qr{margin-left:auto;font-size:20px;color:#333;border:1px solid rgba(0,0,0,.08);border-radius:4px;padding:2px 5px;line-height:1;background:#fff}
.sh-plstrike{color:#8e8e93;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:#0066cc;color:#fff;font-size:10px;border-radius:4px;padding:1px 5px}
.sh-gbbadge.tl{position:absolute;top:0;left:0;border-radius:0 0 8px 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:#1d1d1f;font-weight:700;padding:2px 8px 8px}
.sh-gbpr s,.sh-gbbar s{color:#8e8e93;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:#1d1d1f;color:#fff;border-radius:4px;padding:0 3px;font-weight:600}
.sh-gbbar{margin:6px 8px 8px;background:#0066cc;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:#0066cc;border-radius:11px;padding:1px 9px;font-size:12px}
.sh-gbrow2{display:flex;justify-content:space-between;align-items:center;padding:4px 8px 8px}
.sh-gbpr3{color:#1d1d1f;font-weight:700;line-height:1.25}
.sh-gbpr3 s{color:#8e8e93;font-weight:400;font-size:11px}
.sh-gbbuy3{background:#0066cc;color:#fff;border-radius:11px;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:#0066cc;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:#0066cc;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:#e9e9ee;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 auto}
.sh-gzh button{background:#0066cc;color:#fff;border:none;border-radius:999px;padding:5px 12px;margin-left:auto;white-space:nowrap}
.sh-bt{display:flex;background:#fff;border-radius:18px;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:8px;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 rgba(0,0,0,.08);border-radius:8px;padding:8px 12px;font-size:11px;color:#333}
.sh-chico{width:30px;height:30px;border-radius:50%;background:#0066cc;display:flex;align-items:center;justify-content:center;font-size:14px}
.sh-ar{display:flex;gap:10px;background:#fff;border-radius:18px;padding:10px;margin-bottom:8px;align-items:center}
.sh-arimg{width:76px;height:48px;border-radius:8px;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:#8e8e93;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;color:#fff}
.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;overflow:hidden}
.mn-ava img{width:100%;height:100%;object-fit:cover}
.mn-uinfo{display:flex;flex-wrap:wrap;align-items:center;column-gap:6px;row-gap:2px;flex:1;min-width:0}
.mn-uname{font-weight:700;font-size:14px}
.mn-badge{font-size:10px;background:linear-gradient(180deg,#fdf6e3,#f5e7c8);color:#5b4a2f;border-radius:999px;padding:1px 6px;font-weight:400;white-space:nowrap}
.mn-uid{font-size:11px;opacity:.85;flex-basis:100%}
.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;border:0;display:inline-flex;align-items:center;gap:3px}
.mn-vip{margin-top:12px;background:linear-gradient(90deg,#3a3f4a,#23262e);color:#f3cd8b;border-radius:11px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;position:relative;overflow:hidden}
.mn-vipbtn{background:#f3cd8b;color:#4a3205;border-radius:999px;padding:3px 10px;font-size:11px;white-space:nowrap}
.mn-head.s1{overflow:visible;margin-bottom:22px}
.mn-head.s1 .mn-sign{position:absolute;top:-2px;right:0;background:none;padding:0;flex-direction:column;gap:1px;font-size:10px;margin:0}
.mn-head.s1 .mn-vip{margin-bottom:-22px;z-index:2;border-radius:10px 10px 50% 50%/10px 10px 16px 16px;padding-bottom:13px}
.mn-head.s2 .mn-uraw{background:#fff;border-radius:18px;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{padding-bottom:0}
.mn-head.s2 .mn-urow{flex-direction:column;align-items:flex-start;gap:2px}
.mn-head.s2 .mn-uinfo{margin-left:64px;min-height:32px}
.mn-head.s2 .mn-uname,.mn-head.s2 .mn-uid{color:#333 !important}
.mn-head.s2 .mn-badge{background:#eef1f5;color:#8a94a6}
.mn-head.s2 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#8e8e93;flex-direction:column;gap:1px;font-size:10px;padding:0;margin:0}
.mn-head.s2 .mn-vip{margin-top:10px}
.mn-head.s3{overflow:visible;margin-bottom:22px}
.mn-head.s3 .mn-uname{flex-basis:100%}
.mn-head.s3 .mn-uid{flex-basis:auto}
.mn-head.s3 .mn-sign{position:absolute;top:-2px;right:0;background:none;padding:0;font-size:0;margin:0}
.mn-head.s3 .mn-vip{background:linear-gradient(90deg,#ffe9e4,#ffd9ec);color:#8a5a2b;margin-bottom:-22px;z-index:2}
.mn-head.s3 .mn-vip::before{content:"VIP";position:absolute;left:8px;top:50%;transform:translateY(-54%) skewX(-10deg);font-size:32px;font-weight:800;color:rgba(190,120,60,.16);letter-spacing:1px;pointer-events:none}
.mn-head.s3 .mn-vipbtn{background:#8a5a2b;color:#ffe9e4;font-size:0;width:24px;height:24px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center}
.mn-head.s3 .mn-vipbtn::after{content:"›";font-size:14px;line-height:1}
.mn-head.s4 .mn-uname{flex-basis:100%}
.mn-head.s4 .mn-uid{flex-basis:auto}
.mn-head.s4 .mn-sign{align-self:flex-start}
.mn-head.s5{padding-bottom:0}
.mn-head.s5 .mn-uraw{background:#fff;border-radius:18px;padding:14px 12px 0;margin:6px 2px 0}
.mn-head.s5 .mn-uname{flex-basis:100%}
.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-badge{background:#eef1f5;color:#8a94a6}
.mn-head.s5 .mn-uinfo{align-items:center;justify-content:center}
.mn-head.s5 .mn-uid{flex-basis:auto}
.mn-head.s5 .mn-sign{position:absolute;top:8px;right:10px;background:none;color:#8e8e93;margin:0;flex-direction:column;gap:1px;font-size:10px;padding:0}
.mn-head.s5 .mn-vip{background:linear-gradient(90deg,#7b4fd0,#5a2ea6);color:#ffe9a8;border-radius:0 0 18px 18px;margin:10px -12px 0}
.mn-head.s5 .mn-vipbtn{background:rgba(255,255,255,.85);color:#5a2ea6}
.mn-head.s6 .mn-uinfo{display:grid;grid-template-columns:auto 1fr;align-items:center}
.mn-head.s6 .mn-uname{grid-area:1/1}
.mn-head.s6 .mn-uid{flex-basis:auto;grid-area:1/2}
.mn-head.s6 .mn-badge{grid-area:2/1/2/3;justify-self:start}
.mn-head.s6 .mn-sign{align-self:flex-start}
.mn-head.s6 .mn-vip{width:52%;margin-left:auto;background:linear-gradient(120deg,#f7e3b8,#eed9a4);color:#7a5a17;transform:rotate(-2deg)}
.mn-head.s6 .mn-vipbtn{background:#7a5a17;color:#ffe9b0}
.mn-page{margin:-10px;padding:0 0 12px}
.mn-sections{padding:10px 10px 0}
.mn-stats{display:flex;background:#fff;margin:10px 10px 0;border-radius:18px;padding:12px 4px}
.mn-stats span{flex:1;text-align:center;display:flex;flex-direction:column}
.mn-stats b{font-size:14px}
.mn-stats i{font-style:normal;font-size:11px;color:#8e8e93}
.mn-card{background:#fff;margin:10px;border-radius:18px;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:#8e8e93;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:11px;display:inline-flex;align-items:center;justify-content:center;font-size:19px;background:rgba(0,102,204,.08)}
.mn-gic.line{background:#fff;border:1.5px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);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:17px;background:rgba(0,102,204,.08)}
.mn-lic.line{background:#fff;border:1.5px solid rgba(0,0,0,.08);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 rgba(0,0,0,.08);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;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;font-size:19px;object-fit:cover}
.nv-fbtn i{font-style:normal;font-size:10px;margin-top:2px;background:rgba(255,255,255,.85);padding:0 4px;border-radius:8px}
.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:300;display:flex;align-items:center;justify-content:center}
.nv-qrbox{background:#fff;border-radius:18px;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:#e9e9ee;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:#e9e9ee;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:#8e8e93;font-size:12px;margin:5px 0 10px}
.vp-title{color:#0066cc;font-weight:700;font-size:14px}
.vp-sub{color:#8e8e93;font-size:12px;margin:6px 0 12px}
.vp-btn{background:#0066cc;color:#fff;border:0;border-radius:999px;padding:9px 38px;font-size:14px}
.vp-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.08);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:#0066cc;font-weight:400;font-size:11px}
.vp-bar-t{font-size:12px;color:#0066cc}
.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 rgba(0,0,0,.08);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:11px;margin-bottom:6px}
.gsec h3{margin:8px 2px;font-size:17px}
.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:18px;padding:9px;margin-bottom:8px;cursor:pointer}
.crow img{width:86px;height:56px;object-fit:cover;border-radius:8px}
.crow .cph{width:86px;height:56px;background:#eef2f9;border-radius:8px;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:11px;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:#0066cc;background:#fff;font-weight:600;border-left-color:#0066cc}
.gmain{flex:1;min-width:0}
.gtiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gtile{background:#fff;border-radius:11px;padding:8px;text-align:center;cursor:pointer}
.gtile img{width:100%;height:64px;object-fit:cover;border-radius:8px}
.gtile .gtph{display:flex;height:64px;background:rgba(0,102,204,.10);border-radius:8px;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#0066cc}
.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:11px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:5px}
.ccard img{width:100%;height:86px;object-fit:cover;border-radius:8px}
.ccard .cph{height:86px;background:#eef2f9;border-radius:8px;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:8px;display:block}
.gvip{position:absolute;top:3px;right:3px;background:#e8a013;color:#5b3a00;font-size:10px;font-weight:700;border-radius:4px;padding:1px 4px}
.gtbar{margin-bottom:10px;font-size:13px}
.gtbar select{border:1px solid rgba(0,0,0,.08);border-radius:8px;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:18px;padding:14px;margin-bottom:12px;border:1px solid rgba(0,0,0,.08)}
.ar-cover{width:100%;border-radius:8px;margin-bottom:8px}
.ar-ctt{font-size:17px;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:14px}
.ar-body img{max-width:100%}
.ar-like{background:#fff;border:1px solid #f3b6c2;color:#e63d6e;border-radius:999px;padding:8px 22px;font-size:14px}
.ar-like.on{background:#e63d6e;color:#fff}

/* 邀请卡/赠送/已购轮播/评价TAB（全局设置接线） */
.iv-card{background:#fff;border-radius:18px;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:rgba(0,102,204,.08);color:#0066cc;border-radius:8px;padding:8px;font-size:13px;margin-top:8px}
.iv-link{word-break:break-all;font-size:12px;color:#0066cc;background:rgba(0,102,204,.08);border-radius:8px;padding:8px}
.buy-toast{position:fixed;top:56px;left:12px;z-index:400;opacity:0;transition:opacity .4s;pointer-events:none}
.bt-pill{background:rgba(20,20,20,.8);color:#fff;border-radius:999px;padding:6px 14px;font-size:12px}
.ctabs{display:flex;gap:0;background:#fff;border-radius:11px;margin:10px 0;overflow:hidden}
.ctabs button{flex:1;background:#fff;border:none;padding:10px;font-size:14px;color:#8a94a6}
.ctabs button.on{color:#0066cc;font-weight:700;box-shadow:inset 0 -2px 0 #0066cc}

/* 版权保护 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 rgba(0,0,0,.08);border-radius:11px;padding:3px 12px;font-size:13px;color:#5a6678;cursor:pointer}
.c-stat-btn.on{background:rgba(0,102,204,.10);border-color:rgba(0,102,204,.30);color:#0066cc}
.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:#0066cc;color:#fff;font-size:11px;padding:2px 9px;border-radius:999px;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:#0066cc;font-size:13px}
.fav-thumb{width:52px;height:36px;object-fit:cover;border-radius:8px;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:8px}
.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:14px;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:11px}
.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:#0066cc;border-radius:0 0 16px 16px;padding:18px 14px 12px;margin:-10px -10px 10px;color:#fff}
.mm-head.s2{background:#fff;color:#26303c;border:1px solid rgba(0,0,0,.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:17px;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:11px;padding:5px 12px;font-size:13px}
.mm-vip{margin-top:12px;background:linear-gradient(90deg,#2b2b33,#45403a);border-radius:11px;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:11px;background:rgba(0,102,204,.08);display:flex;align-items:center;justify-content:center;font-size:21px}
.mm-gic.line{background:#fff;border:1px solid rgba(0,0,0,.08)}
.mm-lirow{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid rgba(0,0,0,.08);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:11px;background:rgba(0,102,204,.08);display:flex;align-items:center;justify-content:center;font-size:17px;flex:none}
.mm-lic.line{background:#fff;border:1px solid rgba(0,0,0,.08)}

/* ===== 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 rgba(0,0,0,.08);border-radius:8px;margin-bottom:8px}

/* ===== v2.5.0-026 H5 ===== */
.pn-item{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.pq{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.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:999px;padding:4px 10px}
.unlock-box input{width:100%;padding:10px;border:1px solid rgba(0,0,0,.08);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:#ff3b30}
.lv29-badge.ended{background:#475569}
.lv29-badge.replay{background:#0066cc}
.lv29-h{font-weight:700;margin:14px 2px 6px}
.lv29-free{color:#34c759;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 rgba(0,0,0,.08)}
.lv30-htabs a{padding:8px 16px;color:#5b6b84}
.lv30-htabs a.on{color:#0066cc;font-weight:600;border-bottom:2px solid #0066cc;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 rgba(0,0,0,.08);border-radius:11px;font-size:13px}
.lv30-on{border-color:#0066cc!important;color:#0066cc!important}
.lv30-bar{height:8px;background:#eef1f6;border-radius:999px;overflow:hidden;margin:8px 0}
.lv30-bar i{display:block;height:100%;background:#0066cc}
.lv30-ov{position:fixed;inset:0;background:rgba(10,16,28,.55);z-index:300;display:flex;align-items:center;justify-content:center}
.lv30-pop{background:#fff;border-radius:18px;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;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:999px;padding:1px 7px}
.lv32-warn{background:#ffe9e9;color:#ff3b30;font-weight:700}
.lv32-low{background:#fff1e0;color:#e07b1f}
.lv32-hot{background:#ff3b30;color:#fff;font-weight:700}
.lv32-pre{background:rgba(0,102,204,.10);color:#0066cc}
.lv32-out{background:#eceff4;color:#8a97ad}

/* v2.5.0-047 开屏广告弹窗 */
.sp47-ov{position:fixed;inset:0;background:rgba(10,16,30,.55);z-index:300;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}
.sp47-gift{position:relative;width:78vw;max-width:300px;background:linear-gradient(160deg,#0066cc,#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:999px;padding:10px 34px;font-weight:700;font-size:14px;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}

/* ================= v2.5.0-185 H5 苹果风主题层（iOS HIG） ================= */
body{background:#f5f5f7;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;padding-bottom:calc(72px + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased}
::selection{background:rgba(0,102,204,.22)}
/* 底部 Tab 栏：毛玻璃 + 图标字形 */
#tabbar{background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom)}
body.no-tabbar{padding-bottom:16px}
#tabbar a{padding:7px 0 6px;color:#8e8e93;font-size:11px;line-height:1.25}
#tabbar a::before{display:block;font-size:21px;line-height:1.15;font-weight:400}
#tabbar a[href="#/home"]::before{content:"⌂"}
#tabbar a[href="#/courses"]::before{content:"▦"}
#tabbar a[href="#/live"]::before{content:"◉"}
#tabbar a[href="#/exam"]::before{content:"✎"}
#tabbar a[href="#/me"]::before{content:"☺"}
#tabbar a.on{color:#0066cc;font-weight:600}
/* 头部：白底深字 */
.head{background:#fff;color:#1d1d1f;padding:22px 18px 16px}
.head .muted{color:#6e6e73}
/* 卡片与列表 */
.card{background:#fff;border-radius:18px;margin:12px;padding:16px;border:1px solid rgba(0,0,0,.08)}
.course{border-bottom:1px solid rgba(0,0,0,.06);padding:12px 0}
.cover{border-radius:8px;background:#e9e9ee;color:#8e8e93}
.lesson{border-bottom:1px solid rgba(0,0,0,.06);padding:12px 10px}
.row{padding:10px 0}
h3{font-size:17px;font-weight:600;letter-spacing:-.374px;color:#1d1d1f}
/* 价格与徽标 */
.price{color:#1d1d1f;font-weight:600}
.free{color:#34c759;font-weight:600}
.badge{background:rgba(0,102,204,.12);color:#0066cc;border-radius:999px;padding:2px 9px;font-weight:500}
.badge.ok{background:rgba(52,199,89,.14);color:#248a3d}
/* 按钮 */
button{background:#0066cc;border-radius:999px;padding:11px 22px;font-weight:400;letter-spacing:.01em}
button.ghost{background:#f5f5f7;color:#1d1d1f;border:1px solid rgba(0,0,0,.08)}
button.block{border-radius:999px}
/* 表单：填充式 */
input,select,textarea{border:1px solid transparent;background:#f5f5f7;border-radius:11px;padding:11px 12px;color:#1d1d1f}
input:focus,select:focus,textarea:focus{outline:none;background:#fff;border-color:#0071e3}
::placeholder{color:#aeaeb2}
.muted{color:#8e8e93}
/* 首页组件 */
.sh-search{background:#e9e9ee;color:#8e8e93;border-radius:999px;padding:11px 16px}
.sh-banner img{border-radius:18px}
.sh-nav{border-radius:18px;border:1px solid rgba(0,0,0,.08)}
.sh-ic{background:rgba(0,102,204,.10);color:#0066cc}
.sh-notice{background:rgba(0,102,204,.08);color:#0066cc;border-radius:11px}
.sh-title{font-size:17px;font-weight:600;letter-spacing:-.374px;color:#1d1d1f;padding:16px 16px 4px}
.sh-tags span{background:#e9e9ee;color:#1d1d1f;border-radius:999px}
.sh-gzh{border-radius:18px;border:1px solid rgba(0,0,0,.08)}
.sh-gzh img{border-radius:11px}
.sh-card{background:#1d1d1f;border-radius:18px}
.sh-navcard{background:#1d1d1f;border-radius:11px}
.sh-floatbar{background:#0066cc}
.q{background:#f5f5f7;border-radius:11px}
/* 通用组件圆角提升 */
.ccard,.ar-card,.iv-card,.lv29-card,.hero-card,.cform-row{border-radius:18px}
.gtile,.gtile img,.blk-img img,.sh-scrollx img{border-radius:11px}
.bt-pill{border-radius:999px}
.buy-toast{border-radius:11px}

/* ================= v2.5.0-192 苹果风图标库 ================= */
#tabbar.nv-custom a::before{display:none}
#tabbar a .tb-ic{display:flex;align-items:center;justify-content:center}
#tabbar a .tb-ic svg{width:23px;height:23px}
.mm-gic svg,.mm-lic svg{width:21px;height:21px}
.mm-orow i svg{width:21px;height:21px;vertical-align:-5px}
/* 193：顶部条/个人中心头部 SVG 对齐 */
.nv-h5top svg,.mm-sign svg,.mm-vip svg{vertical-align:-2px}

/* ================= v2.5.0-195 H5 首次进入登录门页 ================= */
body.gated #tabbar{display:none}
body.gated{padding-bottom:0}
.gate{min-height:100vh;background:#fff;display:flex;flex-direction:column;align-items:center;padding:14vh 34px 42px;box-sizing:border-box}
.gate-logo{width:86px;height:86px;border-radius:22px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0066cc;color:#fff;flex:none}
.gate-logo img{width:100%;height:100%;object-fit:cover}
.gate-name{font-size:22px;font-weight:700;color:#1d1d1f;margin-top:20px;text-align:center}
.gate-sub{font-size:14px;color:#9a9aa0;margin-top:8px;text-align:center}
.gate-wx{margin-top:13vh;width:100%;max-width:340px;height:52px;border:0;border-radius:26px;background:#0066cc;color:#fff;font-size:17px;font-weight:600;cursor:pointer}
.gate-agr{margin-top:18px;font-size:13px;color:#9a9aa0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
.gate-agr a{color:#0066cc}
.gate-ck{width:19px;height:19px;border-radius:50%;border:1.5px solid #c7c7cc;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;flex:none;cursor:pointer;background:#fff}
.gate-ck.on{background:#0066cc;border-color:#0066cc}
.gate-alt{margin-top:auto;width:100%;max-width:340px;display:flex;justify-content:space-around;padding-top:52px}
.gate-alt>span{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:14px;color:#55565b;cursor:pointer}
.gate-cir{width:58px;height:58px;border-radius:50%;background:#f5f5f7;display:flex;align-items:center;justify-content:center;color:#3a3a3c}

/* ================= v2.5.0-196 门页全屏覆盖层 ================= */
.gate{position:fixed;inset:0;z-index:60;overflow-y:auto;min-height:0}

/* ================= v2.5.0-198 H5 交互优化：Toast/模态/反馈 ================= */
#h5Toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translate(-50%,16px);background:rgba(28,28,30,.92);color:#fff;font-size:14px;line-height:1.45;padding:10px 18px;border-radius:999px;max-width:82vw;text-align:center;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;z-index:400}
#h5Toast.show{opacity:1;transform:translate(-50%,0)}
.h5sh-ov{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.h5sh-card{background:#fff;border-radius:18px;width:100%;max-width:320px;padding:20px 18px 14px;border:1px solid rgba(0,0,0,.08);box-sizing:border-box}
.h5sh-msg{font-size:14px;color:#1d1d1f;line-height:1.55;text-align:center;padding:2px 0 6px}
.h5sh-title{font-size:14px;font-weight:600;color:#1d1d1f;text-align:center;margin-bottom:12px}
.h5sh-input{width:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.08);border-radius:11px;padding:11px 12px;font-size:14px;outline:none;background:#f8f8fa}
.h5sh-input:focus{border-color:#0071e3;background:#fff}
.h5sh-opts{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto}
.h5sh-opt{border:1px solid rgba(0,0,0,.08);background:#f8f8fa;border-radius:11px;padding:11px 12px;font-size:14px;color:#1d1d1f;text-align:left}
.h5sh-btns{display:flex;gap:10px;margin-top:16px}
.h5sh-btns button{flex:1;height:42px;border-radius:999px;border:0;font-size:14px;cursor:pointer}
.h5sh-cancel{background:#f5f5f7;color:#3a3a3c}
.h5sh-ok{background:#0066cc;color:#fff;font-weight:600}
.h5-err{text-align:center;padding:56px 24px}
.h5-err-ic{color:#c7c7cc;display:flex;justify-content:center}
.h5-err p{font-size:14px;margin:12px 0 18px;color:#6e6e73}
.h5-err button{background:#0066cc;color:#fff;border:0;border-radius:999px;padding:10px 26px;font-size:14px}
.page-in{animation:kpPageIn .24s ease both}
@keyframes kpPageIn{from{opacity:.35}to{opacity:1}}
body{-webkit-tap-highlight-color:transparent}
#tabbar a:active{opacity:.55}
button:active{transform:scale(.95)}
.crow,.gtile,.ccard,.hero-card,.blk-course,.lv29-card,.course244,.lesson244,.pm-th2,.mn-vip{transition:transform .12s ease}
.crow:active,.gtile:active,.ccard:active,.hero-card:active,.blk-course:active,.lv29-card:active,.course244:active,.lesson244:active,.pm-th2:active,.mn-vip:active{transform:scale(.98)}
#tabbar a,.mm-git,.sh-nav>div,.nv-fbtn,.sh-tnbar span,.sh-tnsubs span,.sh-tnside div,.sh-bftab,.sh-bfbtn,.sh-cpbtn,.c-stat-btn,.like-pill,.rp-pill,.gate-wx,.gate-ck,.gate-alt>span,.grail a,.sp47-x,.sh-float{transition:transform .12s ease}
#tabbar a:active,.mm-git:active,.sh-nav>div:active,.nv-fbtn:active,.sh-tnbar span:active,.sh-tnsubs span:active,.sh-tnside div:active,.sh-bftab:active,.sh-bfbtn:active,.sh-cpbtn:active,.c-stat-btn:active,.like-pill:active,.rp-pill:active,.gate-wx:active,.gate-ck:active,.gate-alt>span:active,.grail a:active,.sp47-x:active,.sh-float:active{transform:scale(.95)}
.bt-ava{display:inline-flex;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.30);color:#fff;align-items:center;justify-content:center;font-size:11px;vertical-align:-4px;margin-right:1px}
.c-stats svg{vertical-align:-2px}
.sh-plempty svg{vertical-align:-4px}
.sh-btit i{display:inline-flex;font-style:normal;vertical-align:-3px}
.gate-lock svg{vertical-align:-2px}
.fx-emoji{display:inline-flex}
.course:active{opacity:.75}
/* 202 会员专享锁定条 */
.gate-lock{background:#fff7e8;border:1px solid #ffd591;color:#a05a00;border-radius:11px;padding:9px 12px;font-size:13px;text-align:center;margin:8px 0}

/* ===== 207 轮播指示器（自动轮播+滑动，mpInitCarousels207 驱动） ===== */
.sh-car{position:relative}
.sh-dots{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:5px;pointer-events:none}
.sh-dots.r{justify-content:flex-end;padding-right:12px}
.sh-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}
.sh-dots i.on{background:#fff}
.sh-bars{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:center;gap:4px;pointer-events:none}
.sh-bars i{width:18px;height:3px;border-radius:2px;background:rgba(255,255,255,.55)}
.sh-bars i.on{background:#fff}
.sh-num{position:absolute;right:10px;bottom:8px;background:rgba(0,0,0,.45);color:#fff;font-size:11px;padding:2px 8px;border-radius:11px;pointer-events:none}

/* ===== 209 轮播轨道去内距：图片恰好铺满组件宽，两边不再露缝/探头 ===== */
.sh-car .sh-scrollx{padding:0;gap:0}
.sh-car .sh-scrollx img{flex:0 0 100%;scroll-snap-align:start}

/* ===== 212 搜索框浅蓝底（主题蓝 #0066cc 的浅色调，用户点选） ===== */
.sh-search{background:rgba(0,102,204,.08)}

/* ===== 213 样式2 数字角标改右上角（对原站：3/3 在轮播右上） ===== */
.sh-num{top:8px;bottom:auto}

/* ===== 214 样式3 露边排列：主图 93% 宽，下一张在右侧露条 ===== */
.sh-car.peek .sh-scrollx{gap:8px}
.sh-car.peek .sh-scrollx img{flex:0 0 93%}

/* ===== 215 样式4 中线翻转：绕水平中线 rotateX 翻页 ===== */
.sh-flip{position:relative;height:150px;perspective:700px}
.sh-fslide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:rotateX(92deg);transform-origin:center center;transition:transform .45s ease,opacity .45s ease;pointer-events:none}
.sh-fslide.on{opacity:1;transform:rotateX(0deg);pointer-events:auto;z-index:2}
.sh-fslide.out{transform:rotateX(-92deg);opacity:0;z-index:1}

/* ===== 219 图文导航改固定网格：一行 N 个换行排布（原 flex 不换行，8 个挤成一排、点按/滑动交互都不对） ===== */
.sh-nav{flex-wrap:wrap;justify-content:flex-start}
.sh-navcell{flex:none}

/* ===== 222 图片广告（轮播图）高度改 300px（原 150，用户指定） ===== */
.sh-scrollx img{height:300px}
.sh-flip{height:300px}

/* ===== 223 图片广告（轮播图）高度改 200px（222 的 300 再改，用户指定） ===== */
.sh-scrollx img{height:200px}
.sh-flip{height:200px}

/* ===== 224 图片广告默认高度恢复 150（默认模式）；自定义高度走组件内联样式 ===== */
.sh-scrollx img{height:150px}
.sh-flip{height:150px}

/* ===== 244 原站H5对齐：列表页签/详情四页签/播放条/音频播放器/海报模板 ===== */
.cl-search{display:flex;gap:8px;margin-bottom:10px}
.cl-search input{flex:1;padding:9px 12px;border:1px solid rgba(0,0,0,.08);border-radius:8px;font-size:14px}
.cl-search button{background:#0066cc;color:#fff;border:0;border-radius:999px;padding:9px 18px;font-size:14px;cursor:pointer}
.cl-tabs{display:flex;gap:18px;border-bottom:1px solid rgba(0,0,0,.08);margin-bottom:6px}
.cl-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 2px;font-size:14px;color:#5a6678;cursor:pointer}
.cl-tabs button.on{color:#0066cc;border-bottom-color:#0066cc;font-weight:600}
.course244{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08);cursor:pointer}
.course244:last-child{border:0}
.c244-cover{position:relative;width:110px;height:70px;flex:none;border-radius:8px;overflow:hidden;background:#eef2f7;display:flex;align-items:center;justify-content:center;color:#8a94a6;font-size:13px}
.c244-cover img{width:100%;height:100%;object-fit:cover}
.c244-cover i.c244-badge{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:11px;color:#fff;background:rgba(0,0,0,.55);border-radius:4px;padding:1px 6px}
.c244-info b{display:block;font-size:14px}
.cl-more{text-align:center;color:#8e8e93;font-size:12px;padding:12px 0 4px}
.sh-foot{display:flex;justify-content:center;gap:10px;padding:14px 0;color:#8a94a6;font-size:13px}
.sh-foot a{color:#8a94a6;text-decoration:none}
.c244-head .c244-cover{width:100%;height:auto;aspect-ratio:16/9;border-radius:11px;margin-bottom:10px}
.c244-head .c244-cover img{position:absolute;inset:0}
.c244-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;border:0;font-size:20px;cursor:pointer;pointer-events:none}
.c244-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.like-pill{background:#f2f5fb;border:1px solid rgba(0,0,0,.08);border-radius:11px;padding:3px 12px;font-size:13px;color:#5a6678;cursor:pointer}
.like-pill.on{background:#fff0f0;border-color:#f3c2c2;color:#e5453c}
.c244-tabs{display:flex;gap:22px;border-bottom:1px solid rgba(0,0,0,.08);margin:4px 0 12px;background:#fff;padding:0 4px}
.c244-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 2px;font-size:14px;color:#333;cursor:pointer}
.c244-tabs button.on{color:#0066cc;border-bottom-color:#0066cc;font-weight:600}
.lesson244{padding:11px 2px;border-bottom:1px solid rgba(0,0,0,.08);display:flex;justify-content:space-between;gap:10px;cursor:pointer}
.lesson244:last-child{border:0}
.lesson244.playing{color:#ff3b30}
.playing-tag{color:#ff3b30;font-size:12px}
.h5-empty{text-align:center;padding:30px 0;color:#8e8e93}
.h5-empty-ic{font-size:34px;opacity:.6;margin-bottom:6px}
.cmt-box{margin-top:12px}
.cmt-box textarea{width:100%;min-height:70px;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:9px;font-size:14px;box-sizing:border-box}
.cmt-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.cmt-foot button{background:#0066cc;color:#fff;border:0;border-radius:999px;padding:7px 20px;font-size:14px;cursor:pointer}
.cmt-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.cmt-item:last-child{border:0}
.cmt-av{width:34px;height:34px;flex:none;border-radius:50%;background:rgba(0,102,204,.08);color:#0066cc;display:flex;align-items:center;justify-content:center;font-size:14px}
.cmt-main{flex:1}
.cmt-acts{display:flex;gap:12px;margin-top:4px}
.cmt-acts button{background:none;border:0;color:#8a94a6;font-size:12px;padding:0;cursor:pointer}
.pl-bar{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.pl-bar button{background:#f2f5fb;border:1px solid rgba(0,0,0,.08);border-radius:18px;padding:6px 14px;font-size:13px;cursor:pointer}
.au-player{margin-top:12px;background:#fafbfc;border:1px solid rgba(0,0,0,.08);border-radius:11px;padding:14px}
.au-top{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.au-top img{width:52px;height:52px;border-radius:8px;object-fit:cover}
.au-progress{height:6px;background:#e9e9ee;border-radius:4px;cursor:pointer;margin-bottom:6px;overflow:hidden}
.au-progress i{display:block;height:100%;width:0;background:#0066cc;border-radius:4px;position:static;padding:0}
.au-times{display:flex;justify-content:space-between;color:#8a94a6;font-size:12px;margin-bottom:10px}
.au-row{display:flex;gap:8px;margin-bottom:10px}
.au-row button{flex:1;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:7px 0;font-size:13px;cursor:pointer}
.au-ctl{display:flex;gap:6px;align-items:center;justify-content:space-between}
.au-ctl button{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:50%;width:40px;height:40px;font-size:12px;cursor:pointer}
.au-ctl button.au-big{width:56px;height:56px;font-size:20px;background:#0066cc;border-color:#0066cc;color:#fff}
.iv-frame-0{border:4px solid #d42b2b}
.iv-frame-1{border:4px solid #f6a5c0;background:#fff7f9}
.iv-frame-2{border:4px solid #1d3a6e;background:#f2f6ff}
.iv-thumbs{display:flex;gap:8px;justify-content:center;margin:10px 0}
.iv-thumbs button{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}
.iv-thumbs button.on{border-color:#0066cc;color:#0066cc}
.share-guide{text-align:center;color:#fff}
.sg-arrow{font-size:40px;text-align:right;margin-bottom:10px}
.iv-rec{border:1px dashed #e3e7ee;border-radius:8px;padding:14px;margin:10px 0;text-align:center}
/* v2.5.0-249：投诉建议理由药丸 + 消息中心行（原站 messageIndex 配色：系统蓝/推送蓝紫/评论粉/收益橙） */
.rp-pills{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.rp-pill{border:1px solid rgba(0,0,0,.08);background:#fff;color:#333;border-radius:18px;padding:6px 14px;font-size:13px;cursor:pointer}
.rp-pill.on{border-color:#0066cc;color:#0066cc;background:rgba(0,102,204,.08)}
.rp-ta{width:100%;min-height:110px;border:1px solid rgba(0,0,0,.08);border-radius:11px;padding:10px;font-size:14px;box-sizing:border-box}
.rp-input{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:11px;padding:10px;font-size:14px;box-sizing:border-box}
button:disabled{opacity:.45}
.msg-ico{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;color:#fff;flex:none}
.msg-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:18px;margin:10px;padding:14px;color:#1d1d1f;text-decoration:none}
/* v2.5.0-250：设置开关（原站 personalMessageSetting 开关样式，开启态橙色） */
.sw{width:46px;height:26px;border-radius:11px;background:#ddd;position:relative;flex:none;cursor:pointer;transition:background .2s}
.sw:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s;border:1px solid rgba(0,0,0,.08)}
.sw.on{background:#34c759}
.sw.on:after{left:22px}

/* 258 自定义播放器（原站排版） */
.kp-player{position:relative;background:#000}
.kp-bar{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:20px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
.kp-loading{position:absolute;inset:0;z-index:6;display:none;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:rgba(0,0,0,.35);color:#fff;font-size:13px;pointer-events:none}
.kp-loading i{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;animation:kpSpin .8s linear infinite}
@keyframes kpSpin{to{transform:rotate(360deg)}}
.kp-prog{height:4px;background:rgba(255,255,255,.35);border-radius:2px;cursor:pointer;margin-bottom:8px;overflow:hidden}
.kp-prog i{display:block;height:100%;width:0;background:#0066cc;border-radius:2px;position:static;padding:0}
.kp-row{display:flex;align-items:center;gap:10px}
.kp-row button{border:0;background:none;color:#fff;font-size:14px;cursor:pointer;padding:2px 4px}
.kp-row .kp-time{font-size:12px;opacity:.9;margin-right:auto;white-space:nowrap}
.kp-pills{position:absolute;right:8px;top:8px;z-index:6;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.kp-pills button{border:0;border-radius:18px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;padding:4px 10px;cursor:pointer}
.c244-cover .au-player{width:100%}
.kp-player:fullscreen,.c244-cover:fullscreen{display:flex;flex-direction:column;height:100%;background:#000;aspect-ratio:auto!important}
.kp-player:fullscreen video,.c244-cover:fullscreen video{flex:1;min-height:0;width:100%;height:auto;position:static!important;object-fit:contain}

/* ===== lvA：H5 直播间苹果风（仅直播间详情页 .page.lvA 内生效） ===== */
.page.lvA{background:#f5f5f7}
.page.lvA .card{border-radius:18px;border:1px solid rgba(0,0,0,.08)}
.lvA-topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:10px 4px;margin:-6px -4px 0}
.lvA-topbar .lvA-tbtn{border:0;background:none;color:#0066cc;font-size:14px;padding:8px;cursor:pointer}
.lvA-host{display:flex;align-items:center;gap:12px}
.lvA-host .lvA-av{width:44px;height:44px;flex:none;border-radius:50%;background:#5ac8fa;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;overflow:hidden}
.lvA-host .lvA-av img{width:100%;height:100%;object-fit:cover}
.lvA-pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:#f5f5f7;color:#8e8e93}
.lvA-pill.live{background:#ff3b30;color:#fff}
.lvA-player{position:relative;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:16/9}
.lvA-player img,.lvA-player video{width:100%;height:100%;display:block;object-fit:cover}
.lvA-player video{object-fit:contain}
.lvA-center{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center}
.lvA-playbig{width:68px;height:68px;border-radius:50%;background:rgba(255,255,255,.92);color:#0066cc;font-size:26px;border:0;cursor:pointer}
.lvA-bluebtn{background:#0066cc;color:#fff;border:0;border-radius:999px;padding:12px 28px;font-size:17px;font-weight:600;cursor:pointer}
.lvA-bluebtn:disabled{background:rgba(0,102,204,.25);box-shadow:none}
.lvA-livebadge{position:absolute;top:10px;left:10px;background:#ff3b30;color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:8px;letter-spacing:.5px}
.lvA-ctl{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.65));display:flex;align-items:center;gap:10px;color:#fff}
.lvA-ctl button{border:0;background:none;color:#fff;font-size:18px;padding:4px;cursor:pointer}
.lvA-ctl .lvA-prog{flex:1;height:4px;background:rgba(255,255,255,.35);border-radius:999px;position:relative;cursor:pointer}
.lvA-ctl .lvA-prog i{position:absolute;left:0;top:0;bottom:0;background:#fff;border-radius:999px}
.lvA-ctl .lvA-tm{font-size:12px;color:rgba(255,255,255,.9);min-width:44px;text-align:center}
.lvA-tabs{display:flex;gap:4px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin:14px 0 4px;padding:0 2px}
.lvA-tabs::-webkit-scrollbar{display:none}
.lvA-tabs a{flex:none;white-space:nowrap;padding:10px 14px;color:#8e8e93;font-size:14px;text-decoration:none;border-bottom:2.5px solid transparent}
.lvA-tabs a.on{color:#0066cc;font-weight:600;border-bottom-color:#0066cc}
.lvA-actbtn{flex:1;border:0;background:#fff;border-radius:11px;padding:11px 0;font-size:14px;color:#1c1c1e;cursor:pointer;border:1px solid rgba(0,0,0,.08)}
.lvA-gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}
.lvA-gift{border:0;background:#f5f5f7;border-radius:11px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}
.lvA-gift:active{background:#e5e5ea}
.lvA-gift .lvA-ge{font-size:28px;line-height:1}
.lvA-gift .lvA-gn{font-size:13px;color:#1c1c1e}
.lvA-gift .lvA-gp{font-size:13px;color:#8e8e93}
.lvA-pills{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.lvA-pillbtn{border:0;background:#f5f5f7;color:#1c1c1e;border-radius:999px;padding:9px 16px;font-size:14px;cursor:pointer}
.lvA-pillbtn.on{background:#0066cc;color:#fff}
.lvA-bbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(0,0,0,.06);padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
.lvA-bbar .lvA-brow{display:flex;gap:8px;align-items:center}
.lvA-bbar input{flex:1;border:0;background:#f5f5f7;border-radius:999px;padding:11px 16px;outline:none;font-size:14px}
.lvA-cbtn{width:36px;height:36px;flex:none;border:0;border-radius:50%;background:#f5f5f7;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lvA-send{border:0;background:none;color:#0066cc;font-size:14px;font-weight:600;padding:8px 4px;cursor:pointer}
.lvA-msg{display:flex;gap:10px;padding:10px 0}
.lvA-msg .lvA-mav{width:36px;height:36px;flex:none;border-radius:50%;background:#5ac8fa;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}
.lvA-msg .lvA-bub{background:#f5f5f7;border-radius:18px;padding:10px 12px;max-width:82%}
.lvA-msg .lvA-bub p{margin:4px 0;font-size:14px;line-height:1.5}
.lvA-rank .lvA-selfrow{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;background:#f5f5f7;border-radius:11px}
.lvA-listrow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.lvA-listrow:last-child{border-bottom:0}
.lvA-blue{color:#0066cc}
.lvA-h{font-size:17px;font-weight:700;margin:6px 0}
.lvA-input{width:100%;border:0;background:#f5f5f7;border-radius:11px;padding:11px 12px;font-size:14px;outline:none;box-sizing:border-box}
.lvA .lv30-bar i{background:#0066cc}

/* 327 游客模式顶部提示条（按原站视频的三层图层）：条子 sticky 钉在顶部，普通内容从它下层滑过；
   横幅（.sh-car）单独提到条子之上，滑过顶部时把条子盖住，过去后条子再露出来 */
#kpGuestStrip{position:sticky;top:0;height:42px;z-index:30;display:flex;align-items:center;gap:10px;padding:0 12px;background:#d80a09;color:#fff;font-size:14px}
#kpGuestStrip .kgs-tx{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#kpGuestStrip .kgs-btn{background:#fff;color:#d80a09;border:0;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600;flex:none}
body.nv-hastop #kpGuestStrip{top:40px}
body.kp-guest-strip .sh-car{z-index:31}
body.kp-guest-strip #app.page-in{animation-fill-mode:backwards}/* 入场动画 both 填充会让 #app 常驻成图层、把横幅 z 值关在里面；改 backwards 播完即释放 */
