:root{
  --page:#fffdfb;
  --surface:#fff;
  --text:#232323;
  --muted:#747474;
  --line:#e6e2df;
  --accent:#087bd3;
  --accent-dark:#066ab7;
  --danger:#d81e3a;
  --glass:rgba(10,10,10,.5);
  --header-h:71px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scrollbar-gutter:stable}
body{margin:0;min-width:320px;background:var(--page);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;letter-spacing:0}
button,input{font:inherit;letter-spacing:0}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(8,123,211,.3);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:80;height:var(--header-h);display:grid;grid-template-columns:1fr minmax(300px,802px) 1fr;align-items:center;padding:0 42px;background:rgba(255,255,255,.97);border-bottom:1px solid #ece9e6;backdrop-filter:blur(15px)}
.top-search{grid-column:2;height:48px;display:grid;grid-template-columns:minmax(0,1fr) 70px;border:1px solid #dedede;border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 2px 7px rgba(35,35,35,.12)}
.top-search input{min-width:0;border:0;outline:0;padding:0 16px;color:#333;background:transparent;font-size:14px}
.top-search input::placeholder{color:#747474}
.top-search button{border:0;background:var(--accent);color:#fff;display:grid;place-items:center}
.top-search button:hover{background:var(--accent-dark)}
.search-icon{display:block;width:17px;height:17px;border:1.8px solid currentColor;border-radius:50%;position:relative}
.search-icon:after{content:"";position:absolute;width:7px;height:1.8px;background:currentColor;right:-5px;bottom:-3px;rotate:45deg;border-radius:2px}
.brand-mobile{display:none}
.autoplay-switch{justify-self:end;height:36px;border:1px solid #dedede;border-radius:18px;background:#fff;color:#5c5c5c;padding:0 12px 0 8px;display:flex;align-items:center;gap:7px}
.autoplay-switch span{width:27px;height:16px;border-radius:9px;background:#aaa;position:relative;transition:background .16s ease}
.autoplay-switch span:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:translate .16s ease}
.autoplay-switch.is-on span{background:var(--accent)}
.autoplay-switch.is-on span:after{translate:11px 0}
.autoplay-switch b{font-size:12px}
.page-layout{width:100%;display:grid;grid-template-columns:262px minmax(640px,928px) 300px;column-gap:clamp(40px,8.25vw,158px);align-items:start;padding:24px 42px 72px;margin:0 auto}
.left-rail,.right-rail{position:sticky;top:95px;align-self:start}
.left-rail{display:grid;gap:12px;max-width:200px}
.side-brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;margin-bottom:4px}
.side-brand span,.brand-mobile span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--danger);color:#fff;font-size:16px;font-weight:900}
.side-brand strong{font-size:18px}
.side-search{height:44px;border:1px solid #dedad7;border-radius:12px;background:#f2efed;color:#333;display:flex;align-items:center;gap:15px;padding:0 13px;text-align:left}
.side-search .search-icon{width:16px;height:16px}
.side-search b{font-weight:500}
.category-list{display:grid}
.category-button{position:relative;width:100%;height:56px;border:0;background:transparent;color:#4b4b4b;display:flex;align-items:center;gap:14px;padding:0 12px;text-align:left}
.category-button:hover{color:#111}
.category-button.is-active{color:#161616;font-weight:750}
.category-button.is-active:before{content:"";position:absolute;left:0;top:18px;width:2px;height:20px;border-radius:2px;background:#222}
.category-count{margin-left:auto;color:var(--danger);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.nav-icon{width:21px;height:21px;display:grid;place-items:center;color:currentColor;flex:none}
.nav-icon svg{display:block;width:20px;height:20px}
.catalog-count{margin:4px 12px;color:#999;font-size:12px}
.catalog-count b{color:#666}
.feed{min-width:0;display:grid;gap:54px}
.feed-loading{display:grid;gap:14px}
.skeleton-video{aspect-ratio:16/9;border-radius:30px;background:linear-gradient(100deg,#eee9e5 20%,#f8f5f2 40%,#eee9e5 60%);background-size:200% 100%;animation:skeleton 1.4s infinite}
.skeleton-line{height:14px;width:56%;border-radius:6px;background:#ece8e5}.skeleton-line.wide{width:82%}
.feed-loading p{color:#8a8682;margin:0}
@keyframes skeleton{to{background-position:-200% 0}}
.feed-empty{min-height:340px;display:grid;place-content:center;text-align:center;color:#777;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.feed-empty strong{font-size:20px;color:#333;margin-bottom:6px}
.video-post{min-width:0;content-visibility:auto;contain-intrinsic-size:auto 670px}
.player{position:relative;aspect-ratio:16/9;background:#171717;border-radius:30px;overflow:hidden;isolation:isolate;outline:0;box-shadow:0 1px 2px rgba(35,35,35,.06)}
.player:focus-visible{box-shadow:0 0 0 3px rgba(8,123,211,.32)}
.player video{width:100%;height:100%;display:block;object-fit:cover;background:#171717}
.video-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:rgba(255,255,255,.72);background:#1b1b1b;z-index:-1}
.video-placeholder b{font-size:18px;color:#fff}
.player-state{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:8;display:none;padding:8px 13px;border-radius:16px;background:rgba(0,0,0,.58);color:#fff;backdrop-filter:blur(10px);font-size:12px}
.player.is-loading .player-state{display:block}
.player.has-error .player-state{display:grid;gap:8px;text-align:center;border-radius:8px}
.player-state button{height:32px;border:1px solid rgba(255,255,255,.35);border-radius:5px;background:rgba(255,255,255,.1);color:#fff}
.center-play,.control-button{border:0;color:#fff;display:grid;place-items:center;background:transparent}
.center-play{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:7;width:48px;height:48px;border-radius:50%;background:linear-gradient(145deg,rgba(45,45,45,.56),rgba(0,0,0,.43));border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 28px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.19);backdrop-filter:blur(12px) saturate(130%);transition:opacity .16s ease,scale .14s ease,background .14s ease}
.center-play:hover{scale:1.04}.center-play:active{scale:.97}.center-play svg{width:22px;height:22px;margin-left:2px}
.player.is-playing .center-play{opacity:0;pointer-events:none}
.player.is-playing.controls-visible .center-play{opacity:0}
.player-gradient{position:absolute;inset:auto 0 0;height:88px;z-index:4;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.11) 28%,rgba(0,0,0,.66));opacity:0;transition:opacity .2s ease;pointer-events:none}
.player-controls{position:absolute;left:0;right:0;bottom:0;z-index:6;height:70px;padding:24px 14px 7px;display:grid;grid-template-columns:40px 40px 40px minmax(84px,1fr) 40px 40px 40px;gap:2px;align-items:end;opacity:0;translate:0 6px;pointer-events:none;transition:opacity .2s ease,translate .2s ease}
.player.controls-visible .player-gradient,.player.controls-visible .player-controls,.player.is-paused .player-gradient,.player.is-paused .player-controls{opacity:1;translate:0 0;pointer-events:auto}
.timeline{position:absolute;left:18px;right:18px;top:11px;height:15px;border:0;background:transparent;padding:0;touch-action:none;cursor:pointer}
.timeline:before{content:"";position:absolute;left:0;right:0;top:5px;height:4px;border-radius:3px;background:rgba(255,255,255,.68)}
.timeline-buffer,.timeline-played{position:absolute;left:0;top:5px;height:4px;border-radius:3px;pointer-events:none}
.timeline-buffer{width:0;background:rgba(255,255,255,.62)}
.timeline-played{width:0;background:#fff}
.timeline-played:after{content:"";position:absolute;right:-5px;top:-3px;width:10px;height:10px;border-radius:50%;background:#fff;opacity:1;box-shadow:0 1px 3px rgba(0,0,0,.26)}
.timeline:hover:before,.timeline:hover .timeline-buffer,.timeline:hover .timeline-played,.timeline.is-seeking:before,.timeline.is-seeking .timeline-buffer,.timeline.is-seeking .timeline-played{height:6px;top:4px}
.timeline:hover .timeline-played:after,.timeline.is-seeking .timeline-played:after{opacity:1}
.timeline-tooltip{position:absolute;top:-27px;translate:-50% 0;display:none;min-width:42px;padding:3px 6px;border-radius:4px;background:rgba(0,0,0,.76);color:#fff;text-align:center;font-size:11px}
.timeline:hover .timeline-tooltip,.timeline.is-seeking .timeline-tooltip{display:block}
.control-button{width:40px;height:39px;border-radius:50%;transition:background .14s ease,scale .12s ease}
.control-button:hover{background:rgba(255,255,255,.13)}.control-button:active{scale:.94}.control-button svg{width:21px;height:21px}.control-button.back svg,.control-button.fwd svg{width:22px;height:22px}.control-button.mute[aria-label="取消静音"]{color:rgba(255,255,255,.58)}
.time-display{align-self:center;color:#fff;font-size:14px;font-variant-numeric:tabular-nums;text-shadow:0 1px 5px rgba(0,0,0,.68);white-space:nowrap;padding-left:3px}
.speed-menu,.volume-popover{position:absolute;right:92px;bottom:50px;display:none;background:rgba(0,0,0,.72);color:#fff;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(14px);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.speed-menu.is-open{display:grid}.speed-menu{width:90px;padding:5px;border-radius:8px}
.speed-menu button{height:31px;border:0;border-radius:4px;background:transparent;color:#fff}.speed-menu button:hover,.speed-menu button.is-active{background:rgba(255,255,255,.14)}
.volume-popover{right:17px;bottom:48px;width:30px;height:95px;border-radius:15px;place-items:center;padding:9px 0 8px}
.volume-popover.is-open{display:grid}
.volume-popover output{font-size:9px;line-height:10px}
.volume-popover input{appearance:none;writing-mode:vertical-lr;direction:rtl;width:3px;height:51px;border-radius:3px;background:rgba(255,255,255,.42);accent-color:#fff;cursor:pointer}
.post-info{padding:14px 16px 0}
.post-meta{display:flex;align-items:center;gap:6px;color:#777;font-size:12px;min-height:20px}
.source-mark{width:17px;height:17px;display:grid;place-items:center;border-radius:4px;background:var(--danger);color:#fff;font-size:10px;font-weight:900}
.post-age{margin-left:auto}
.post-title{margin:7px 0 8px;font-size:20px;line-height:1.35;font-weight:700;color:#292929;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-tags{display:flex;align-items:center;gap:6px;margin-bottom:4px;flex-wrap:wrap}
.post-tag{border:1px solid #e2dedb;border-radius:4px;padding:2px 6px;color:#777;font-size:11px;background:rgba(255,255,255,.6)}
.engagement{display:flex;align-items:center;min-height:42px;gap:3px}
.engagement button{height:40px;min-width:40px;border:0;background:transparent;color:#333;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:5px;padding:0 6px}
.engagement button:hover{background:#f1eeec}.engagement button:active{scale:.96}.engagement button.is-active{color:var(--danger)}
.engagement svg{width:20px;height:20px}.engagement .share{margin-left:auto}.engagement .share svg{width:17px;height:17px}
.engagement .practice{margin-left:8px;color:#25634f;font-weight:650}
.engagement .download{height:32px;min-width:67px;margin-left:5px;padding:0 11px 0 9px;border-radius:999px;background:#ff9800;color:#fff;font-weight:700;box-shadow:0 2px 5px rgba(214,113,0,.18)}
.engagement .download:hover{background:#f08d00;color:#fff}.engagement .download:active{background:#e98400;scale:.96}
.engagement .download svg{width:14px;height:14px;stroke-width:1.8}
.safety-note{display:none;margin:7px 0 0;padding:10px 12px;border-left:3px solid #d69b30;background:#fff7e8;color:#665329;font-size:12px}
.video-post.show-safety .safety-note{display:block}
.right-rail{width:300px;display:grid;gap:50px}
.promotion{border-radius:5px;overflow:hidden;background:#f0f0f0;border:1px solid #e1e1e1}
.promotion-visual{height:148px;padding:20px;background:#153653;color:#fff;display:grid;align-content:center;gap:7px;position:relative;overflow:hidden}
.promotion-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.42);opacity:.82}
.promotion-visual span{position:relative;z-index:1;font-size:12px;color:#bdeaf3}.promotion-visual strong{position:relative;z-index:1;font-size:21px;line-height:1.2;max-width:210px}
.promotion h2{margin:10px 14px 5px;font-size:17px;line-height:1.3}.promotion p{margin:0;padding:0 14px 12px;color:#777;font-size:11px}.promotion p span{border:1px solid #bbb;padding:1px 4px;margin-right:5px}
.trending{padding:28px;border:1px solid #e3dfdc;border-radius:32px;background:rgba(255,255,255,.78);box-shadow:0 3px 8px rgba(64,52,45,.08)}
.trending h2{font-size:17px;margin:0 0 14px}
.trending-item{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:12px;padding:11px 0;text-decoration:none;color:#333;border-top:1px solid #efedeb}.trending-item:first-child{border-top:0}
.trending-item small{display:block;color:#999;margin-bottom:5px}.trending-item strong{font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trending-item img{width:64px;height:64px;border-radius:14px;object-fit:cover;background:#ddd}
.medical-note{padding:0 4px;color:#767676}.medical-note b{color:#444}.medical-note p{margin:6px 0 0;font-size:12px}
.mobile-categories{display:none}
.practice-banner{position:fixed;left:50%;bottom:18px;translate:-50% 0;z-index:90;width:min(92vw,620px);min-height:54px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(22,32,28,.9);color:#fff;backdrop-filter:blur(16px);box-shadow:0 16px 40px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 10px 8px 16px}
.practice-banner[hidden]{display:none}.practice-banner span{display:grid;min-width:0}.practice-banner b{font-size:12px;color:#92d4b5}.practice-banner em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practice-banner button{height:36px;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:rgba(255,255,255,.1);color:#fff;padding:0 12px}
.toast{position:fixed;left:50%;bottom:22px;translate:-50% 10px;z-index:100;max-width:min(90vw,420px);padding:9px 14px;border-radius:20px;background:rgba(20,20,20,.88);color:#fff;opacity:0;pointer-events:none;transition:opacity .16s ease,translate .16s ease;text-align:center}.toast.is-visible{opacity:1;translate:-50% 0}
body.modal-open{overflow:hidden}
.wechat-download-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.wechat-download-modal[hidden]{display:none}
.wechat-download-backdrop{position:absolute;inset:0;background:rgba(20,20,20,.48);opacity:0;transition:opacity .18s ease}
.wechat-download-dialog{position:relative;width:min(92vw,390px);padding:24px;border-radius:8px;background:#fff;color:var(--text);box-shadow:0 24px 70px rgba(25,25,25,.26);opacity:0;translate:0 12px;transition:opacity .18s ease,translate .18s ease}
.wechat-download-modal.is-visible .wechat-download-backdrop,.wechat-download-modal.is-visible .wechat-download-dialog{opacity:1}
.wechat-download-modal.is-visible .wechat-download-dialog{translate:0 0}
.wechat-download-close{position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;border-radius:5px;background:transparent;color:#666;font-size:28px;line-height:1}
.wechat-download-close:hover{background:#f1eeec}
.wechat-guide-visual{height:116px;margin:-4px 28px 18px 0;border:1px solid #e5e1de;border-radius:8px;background:#faf9f8;position:relative;overflow:hidden}
.wechat-guide-menu{position:absolute;right:12px;top:8px;color:#222;font-size:22px;font-weight:700;line-height:1}
.wechat-guide-line{position:absolute;right:28px;top:34px;width:1px;height:29px;background:var(--danger)}
.wechat-guide-line:after{content:"";position:absolute;left:-4px;bottom:-1px;width:7px;height:7px;border-right:1.5px solid var(--danger);border-bottom:1.5px solid var(--danger);rotate:45deg}
.wechat-guide-browser{position:absolute;right:12px;bottom:14px;min-width:132px;padding:8px 12px;border:1px solid #dedad7;border-radius:5px;background:#fff;color:#333;font-weight:650;text-align:center;box-shadow:0 3px 10px rgba(35,35,35,.08)}
.wechat-download-dialog h2{margin:0 0 8px;font-size:20px;line-height:1.35}
.wechat-download-dialog p{margin:0;color:#666;line-height:1.7}
.wechat-download-confirm{width:100%;height:44px;margin-top:20px;border:0;border-radius:5px;background:#262626;color:#fff;font-weight:700}
.wechat-download-confirm:hover{background:#111}.wechat-download-confirm:active{scale:.98}
@media(max-width:1599px){
  .site-header{grid-template-columns:72px minmax(320px,756px) 1fr;padding:0 24px;gap:clamp(24px,2.5vw,32px)}.top-search{width:min(100%,756px)}
  .page-layout{grid-template-columns:72px minmax(500px,756px) 300px;column-gap:clamp(24px,2.5vw,32px);padding-left:24px;padding-right:24px}
  .left-rail{max-width:72px}.side-brand strong,.side-search b,.category-button b,.catalog-count{display:none}.side-brand{justify-content:center}.side-search,.category-button{justify-content:center;padding:0}.category-button.is-active:before{left:-8px}.category-button .category-count{position:absolute;right:3px;top:9px;margin:0;font-size:10px}
  .right-rail{width:300px}
}
@media(max-width:900px){
  .site-header{grid-template-columns:96px minmax(0,1fr) 120px;padding:0 24px;gap:22px}.top-search{width:min(100%,560px)}
  .page-layout{grid-template-columns:72px minmax(0,1fr);column-gap:24px;padding:24px 24px 64px}.right-rail{display:none}
  .feed{width:min(100%,756px);justify-self:center}
}
@media(max-width:639px){
  :root{--header-h:64px}
  html{scrollbar-gutter:auto}.site-header{grid-template-columns:auto minmax(0,1fr) auto;height:64px;padding:0 16px;gap:10px}.brand-mobile{display:flex;align-items:center;text-decoration:none}.brand-mobile span{width:34px;height:34px}.brand-mobile b{display:none}
  .top-search{grid-column:2;height:44px;grid-template-columns:minmax(0,1fr) 46px;border-radius:22px}.top-search input{padding:0 12px}.autoplay-switch{width:40px;height:40px;padding:0;justify-content:center}.autoplay-switch span{width:24px}.autoplay-switch.is-on span:after{translate:8px 0}.autoplay-switch b{display:none}
  .mobile-categories{position:sticky;top:64px;z-index:70;height:48px;display:flex;align-items:center;gap:8px;overflow:auto;padding:0 16px;background:rgba(255,253,251,.97);border-bottom:1px solid #ebe7e4;scrollbar-width:none}.mobile-categories::-webkit-scrollbar{display:none}.mobile-categories button{height:30px;flex:none;border:1px solid #dfdbd8;border-radius:15px;background:#fff;color:#555;padding:0 12px}.mobile-categories button.is-active{background:#252525;color:#fff;border-color:#252525}.mobile-categories .category-count{display:inline;margin-left:5px;color:var(--danger)}.mobile-categories button.is-active .category-count{color:#ff5a5f}
  .page-layout{display:block;padding:18px 0 60px}.left-rail,.right-rail{display:none}.feed{width:100%;gap:40px}
  .video-post{contain-intrinsic-size:auto 430px}.player{border-radius:0}.post-info{padding:12px 16px 0}.post-title{font-size:18px}.post-tags{flex-wrap:nowrap;overflow:hidden}.engagement{min-height:44px}.engagement button{min-width:44px;height:44px}.engagement .practice{font-size:12px;margin-left:0}.engagement .download{height:32px;min-width:67px;font-size:12px}
  .player-controls{grid-template-columns:38px 38px 38px minmax(72px,1fr) 38px 38px 38px;gap:0;height:64px;padding:23px 10px 5px}.control-button{width:38px;height:36px}.control-button svg{width:20px;height:20px}.control-button.back svg,.control-button.fwd svg{width:22px;height:22px}.time-display{font-size:13px;padding-left:1px}.timeline{left:20px;right:20px;top:10px}.speed-menu{right:82px}.volume-popover{display:none!important}
}
@media(max-width:430px){
  .site-header{padding:0 12px}.brand-mobile{display:none}.site-header{grid-template-columns:minmax(0,1fr) 40px}.top-search{grid-column:1}.player{margin:0 18px;border-radius:24px}.post-info{padding-left:18px;padding-right:18px}.feed{gap:38px}.engagement .practice span{display:none}.wechat-download-modal{align-items:end;padding:0}.wechat-download-dialog{width:100%;max-width:none;border-radius:8px 8px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));translate:0 24px}.wechat-guide-visual{margin-right:30px}
}
@media(max-width:350px){.player{margin-left:10px;margin-right:10px}.player-controls{grid-template-columns:32px 32px 32px minmax(58px,1fr) 32px 32px 32px;padding-left:8px;padding-right:8px}.control-button{width:32px}.engagement button{min-width:36px;padding-left:4px;padding-right:4px}.engagement .download{min-width:67px;padding:0 11px 0 9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
