/* 绿果TV · PC 网页版 v3 —— Apple TV 网页的质感：
 * 全幅主视觉 + 横向货架 + 浮动玻璃导航；配色与 TV 版一致（浅 #F2F2F7/#2DB35A，深 #0D1110/#C6ED92）。
 * 动效原则：一切位移用弹簧或 ease-out，时长 .35~.7s；进入错落、退出干脆；尊重「减少动态效果」。 */
:root{--gut:56px;--g:20px;--n:6;--nav:68px;--hero:clamp(560px,86vh,900px);--r-card:14px}
@media (max-width:1366px){:root{--gut:44px;--n:5}}
@media (min-width:1680px){:root{--n:7}}
@media (min-width:2000px){:root{--n:8}}
body{min-height:100vh;overflow-x:hidden}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes up{from{opacity:0;transform:translateY(18px)}}
@keyframes pop{from{opacity:0;transform:scale(.94)}}
.rise{animation:up .7s var(--ease) backwards;animation-delay:calc(var(--i,0) * 45ms)}

/* ============================================================ 导航 */
#nav{position:fixed;left:0;right:0;top:0;z-index:50;height:var(--nav);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--gut);color:var(--text);transition:color .4s var(--ease)}
#navbg{position:fixed;left:0;right:0;top:0;height:calc(var(--nav) + 24px);z-index:49;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--bg) 82%,transparent) 30%,color-mix(in srgb,var(--bg) 40%,transparent) 70%,transparent);backdrop-filter:blur(26px) saturate(1.8);-webkit-backdrop-filter:blur(26px) saturate(1.8);-webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent);opacity:0;transition:opacity .45s var(--ease)}
#navbg.on{opacity:1}
/* 叠在主视觉上：白字，无底 */
#nav.over{color:#fff}
#nav.over .brand b{color:#c6ed92}
.brand{justify-self:start;display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;letter-spacing:.3px}
.brand img{width:32px;height:32px;border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.brand b{color:var(--primary-text);font-weight:800;transition:color .4s}
#tabs{position:relative;display:flex;padding:4px;border-radius:99px;background:var(--glass);backdrop-filter:blur(28px) saturate(1.9);-webkit-backdrop-filter:blur(28px) saturate(1.9);box-shadow:var(--shadow-1),inset 0 0 0 .5px var(--glass-edge),inset 0 1px 0 var(--glass-line);transition:background .4s,box-shadow .4s}
#nav.over #tabs{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.16)}
#tabs a{position:relative;z-index:1;height:36px;padding:0 20px;display:grid;place-items:center;border-radius:99px;font-size:15px;font-weight:600;color:inherit;opacity:.72;transition:opacity .25s,color .3s}
#tabs a:hover{opacity:1}
#tabs a.on{opacity:1;color:var(--text)}
#nav.over #tabs a.on{color:#111}
#tabs .hl{position:absolute;left:0;top:4px;height:36px;width:0;border-radius:99px;background:var(--surface);box-shadow:0 2px 10px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04);opacity:0;transition:transform .6s var(--ease-spring),width .45s var(--ease),opacity .25s,background .3s}
:root[data-theme=dark] #tabs .hl{background:var(--surface-3)}
#nav.over #tabs .hl{background:#fff}
#tabs .hl.show{opacity:1}
.tools{justify-self:end;display:flex;align-items:center;gap:10px}
.nbtn{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:19px;color:inherit;background:var(--glass);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);box-shadow:var(--shadow-1),inset 0 0 0 .5px var(--glass-edge),inset 0 1px 0 var(--glass-line);transition:transform .45s var(--ease-spring),background .2s}
#nav.over .nbtn{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.22)}
.nbtn:hover{transform:scale(1.08)}
.nbtn:active{transform:scale(.9);transition-duration:.1s}
.nbtn.on{background:var(--primary)!important;color:var(--primary-ink)}
.acct{position:relative;overflow:hidden;font-size:15px;font-weight:700}
.acct .im{z-index:1}.acct .im.fail{display:none}
.acct em{font-style:normal}

/* ============================================================ 页面与通用 */
#view{min-height:100vh}
.page{padding-bottom:110px;overflow-x:clip}
.ph{padding:calc(var(--nav) + 34px) var(--gut) 8px}
.lt{font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.03em}
.ph p{margin-top:8px;color:var(--text-3);font-size:15.5px}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:110px 20px;color:var(--text-3);font-size:15px}
.empty i{display:grid;place-items:center;width:84px;height:84px;margin-bottom:20px;border-radius:26px;background:var(--fill-2);font-size:38px;color:var(--text-3)}
.empty b{font-size:21px;font-weight:700;color:var(--text);margin-bottom:6px}
.empty .btn{margin-top:24px}
.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 16px;border-radius:99px;background:var(--fill-2);font-size:14px;font-weight:500;color:var(--text-2);white-space:nowrap;flex:none;transition:background .2s,color .2s,transform .35s var(--ease-spring)}
.chip:hover{background:var(--fill)}
.chip:active{transform:scale(.93)}
.chip.on{background:var(--text);color:var(--bg);font-weight:600}
.chip .icon{font-size:13px}
.seg{position:relative;display:inline-flex;padding:4px;border-radius:99px;background:var(--fill)}
.seg button{position:relative;z-index:1;flex:none;height:34px;padding:0 18px;border-radius:99px;font-size:14.5px;font-weight:600;color:var(--text-2);white-space:nowrap;transition:color .25s}
.seg button.on{color:var(--text)}
.seg .th{position:absolute;left:0;top:4px;bottom:4px;width:0;border-radius:99px;background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.12);opacity:0;transition:transform .55s var(--ease-spring),width .45s var(--ease),opacity .2s}
:root[data-theme=dark] .seg .th{background:var(--surface-3)}
.seg .th.show{opacity:1}
mark{background:none;color:var(--primary-text);font-weight:700}

/* 海报卡 */
.card{position:relative;display:block;width:100%;text-align:left;-webkit-user-select:none;user-select:none;outline:0}
.poster{position:relative;aspect-ratio:3/4;border-radius:var(--r-card);overflow:hidden;background:var(--skeleton);box-shadow:0 1px 2px rgba(0,0,0,.08),0 8px 24px -8px rgba(0,0,0,.18);transform:translateZ(0);transition:transform .55s var(--ease-spring),box-shadow .55s var(--ease)}
.poster::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 .5px rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 26%,transparent 62%,rgba(0,0,0,.28));pointer-events:none}
.card .t{margin-top:12px;font-size:14.5px;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .s{margin-top:2px;font-size:12.5px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{position:absolute;right:8px;bottom:8px;z-index:2;padding:2px 8px;border-radius:99px;background:rgba(0,0,0,.42);color:#fff;font-size:11.5px;font-weight:600;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media (hover:hover){
  .card:hover .poster{transform:scale(1.045) translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.08),0 24px 44px -12px rgba(0,0,0,.38)}
  .card:hover .im img.on{transform:scale(1.04)}
}
.card:active .poster{transform:scale(.97);transition-duration:.15s}
.card:focus-visible .poster{outline:3px solid var(--primary);outline-offset:3px}
.card.sk{pointer-events:none}
.card.sk .poster{box-shadow:none}
.card.sk .poster::after{display:none}
.card.sk .t{height:14px;margin-top:14px;border-radius:7px;width:76%}
.card.sk .s{height:11px;margin-top:9px;border-radius:6px;width:48%}
.x{position:absolute;right:8px;top:8px;z-index:3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:14px;color:#fff;background:rgba(0,0,0,.45);backdrop-filter:blur(12px);opacity:0;transform:scale(.8);transition:opacity .2s,transform .35s var(--ease-spring),background .2s}
.card:hover .x{opacity:1;transform:none}
.x:hover{background:var(--danger)}

/* ============================================================ 主视觉（首页 / 详情共用） */
.hero{position:relative;height:var(--hero);overflow:hidden;color:#fff;isolation:isolate;background:#0d1110;-webkit-mask-image:linear-gradient(#000 calc(100% - 160px),transparent);mask-image:linear-gradient(#000 calc(100% - 160px),transparent)}
.hero .skel{position:absolute;background:rgba(255,255,255,.1);border-radius:12px}
.hero .skel::after{background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.12) 45%,transparent 70%);background-size:300vw 100%;background-attachment:fixed}
.hs{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s var(--ease),visibility 0s 1.1s}
.hs.on{opacity:1;visibility:visible;transition-delay:0s}
.hs .bg{position:absolute;inset:-90px;z-index:-3;filter:blur(70px) saturate(1.7) brightness(.6);transform:scale(1.15)}
.hs .bg .im,.hs .art .im{background:none}
.hs .art{position:absolute;right:0;top:0;bottom:0;width:calc(var(--hero) * .8);z-index:-2;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 20%,#000 46%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 20%,#000 46%)}
.hs .art .im img{object-position:center 20%}
.hs.on .art .im img.on{animation:kb 14s linear both}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.12)}}
.hs .scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,7,.8) 0%,rgba(5,8,7,.52) 34%,rgba(5,8,7,.06) 64%,transparent),linear-gradient(0deg,rgba(5,8,7,.55),transparent 45%),linear-gradient(180deg,rgba(5,8,7,.5),transparent 24%)}
.hs .txt{position:absolute;left:var(--gut);bottom:190px;width:min(620px,46vw)}
.hs .txt>*{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform 1s var(--ease)}
.hs.on .txt>*{opacity:1;transform:none}
.hs.on .txt>:nth-child(2){transition-delay:.08s}.hs.on .txt>:nth-child(3){transition-delay:.16s}.hs.on .txt>:nth-child(4){transition-delay:.24s}.hs.on .txt>:nth-child(5){transition-delay:.32s}
.kick{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:1.5px;color:rgba(255,255,255,.85)}
.kick i{width:7px;height:7px;border-radius:50%;background:#c6ed92;box-shadow:0 0 12px #c6ed92}
.hs .ttl{margin-top:14px;font-size:clamp(36px,4vw,60px);line-height:1.08;font-weight:800;letter-spacing:-.035em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 4px 30px rgba(0,0,0,.3)}
.meta{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:14.5px;font-weight:600;color:rgba(255,255,255,.85)}
.meta .dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.5)}
.meta .star{color:#ffd666}
.meta .pill{height:22px;padding:0 8px;border-radius:6px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;background:rgba(255,255,255,.2)}
.hs .intro{margin-top:14px;font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.78);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.acts{margin-top:28px;display:flex;align-items:center;gap:12px}
.bplay{display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 30px 0 24px;border-radius:99px;background:#fff;color:#0d1110;font-size:16.5px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.28);transition:transform .45s var(--ease-spring),box-shadow .3s}
.bplay .icon{font-size:20px}
.bplay:hover{transform:scale(1.04);box-shadow:0 14px 40px rgba(0,0,0,.36)}
.bplay:active{transform:scale(.95);transition-duration:.1s}
.bglass{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;min-width:52px;padding:0 22px;border-radius:99px;color:#fff;font-size:15.5px;font-weight:600;background:rgba(255,255,255,.16);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.26),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .45s var(--ease-spring),background .2s}
.bglass.round{padding:0;width:52px}
.bglass .icon{font-size:20px;transition:transform .45s var(--ease-spring),color .2s}
.bglass:hover{background:rgba(255,255,255,.26);transform:scale(1.05)}
.bglass:active{transform:scale(.93);transition-duration:.1s}
.bglass.faved .icon{color:#ff6b70;transform:scale(1.1)}
.hnav{position:absolute;right:var(--gut);bottom:196px;z-index:3;display:flex;align-items:center;gap:6px}
.hnav button{display:flex;align-items:center;height:22px}
.hnav i{position:relative;display:block;width:8px;height:8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.35);transition:width .7s var(--ease),background .3s}
.hnav button:hover i{background:rgba(255,255,255,.6)}
.hnav .on i{width:40px}
.hnav .on i::after{content:"";position:absolute;inset:0;background:#fff;transform-origin:left;animation:fillx 8s linear forwards}
.hero.hold .hnav .on i::after{animation-play-state:paused}
@keyframes fillx{from{transform:scaleX(0)}}
.hero{--sy:0}
.hero .hs .txt{translate:0 calc(var(--sy) * .3px);opacity:calc(1 - var(--sy) / 560)}
.hero .hs .art{translate:0 calc(var(--sy) * .16px)}
.hero .hnav{opacity:calc(1 - var(--sy) / 400)}
.shelves{position:relative;z-index:2}
.hero+.shelves{margin-top:-128px}
:root[data-theme=light] .hero+.shelves{margin-top:-52px}
:root[data-theme=light] .dhero+.dsec{margin-top:-40px}

/* ============================================================ 货架 */
.shelf{position:relative;margin-top:46px}
.shelf:first-child{margin-top:0}
.sh{display:flex;align-items:baseline;gap:14px;padding:0 var(--gut);margin-bottom:14px}
.sh h2{font-size:22px;font-weight:700;letter-spacing:-.02em}
.sh .more{display:inline-flex;align-items:center;gap:2px;font-size:14.5px;font-weight:600;color:var(--primary-text);transition:gap .35s var(--ease)}
.sh .more:hover{gap:6px}
.sh .more .icon{font-size:14px}
.row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--n) - 1) * var(--g)) / var(--n));gap:var(--g);overflow-x:auto;overflow-y:hidden;padding:12px var(--gut) 40px;margin:-12px 0 -40px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;overscroll-behavior-x:contain}
.row::-webkit-scrollbar{display:none}
.row>*{scroll-snap-align:start}
.row.wide{--n:4}
@media (min-width:1680px){.row.wide{--n:5}}
.row.top{--n:5}
@media (min-width:1680px){.row.top{--n:6}}
.row.eps{--n:8}
@media (max-width:1366px){.row.eps{--n:7}.row.wide{--n:3}.row.top{--n:4}}
.arr{position:absolute;top:50%;z-index:5;width:46px;height:46px;margin-top:-6px;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--text);background:var(--glass-strong);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);box-shadow:var(--shadow-2),inset 0 0 0 .5px var(--glass-edge);opacity:0;transform:scale(.8);transition:opacity .25s,transform .45s var(--ease-spring)}
.arr.l{left:calc(var(--gut) - 23px)}.arr.r{right:calc(var(--gut) - 23px)}
.shelf:hover .arr:not(.off){opacity:1;transform:none}
.arr:hover{transform:scale(1.1)!important}
.arr:active{transform:scale(.9)!important}
.arr.off{pointer-events:none}

/* Top 榜：大号描边数字 + 海报 */
.topc{position:relative;display:flex;align-items:stretch;width:100%;text-align:left}
.topc .num{flex:none;display:flex;align-items:flex-end;padding-bottom:49px;width:46%;margin-right:-12%;font-size:clamp(120px,10.5vw,190px);line-height:.76;font-weight:800;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:2.5px var(--text-4);transition:-webkit-text-stroke-color .3s,transform .6s var(--ease-spring);user-select:none;font-variant-numeric:lining-nums}
.topc .card{flex:1;min-width:0}
.topc .card .t{margin-top:12px}
.topc:hover .num{-webkit-text-stroke-color:var(--primary);transform:translateX(-6px)}
.topc.sk .num{-webkit-text-stroke-color:var(--fill-3)}

/* 继续观看：横版卡（模糊封面底 + 竖海报 + 进度） */
.cw{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;text-align:left;color:#fff;background:#1a1f1d;isolation:isolate;box-shadow:0 1px 2px rgba(0,0,0,.08),0 10px 28px -10px rgba(0,0,0,.3);transition:transform .55s var(--ease-spring),box-shadow .5s var(--ease)}
.cw .bgx{position:absolute;inset:-30px;z-index:-2;filter:blur(28px) saturate(1.6) brightness(.68);transform:scale(1.2)}
.cw .bgx .im{background:none}
.cw .pp{position:absolute;left:14px;top:14px;bottom:14px;aspect-ratio:3/4;border-radius:10px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.4)}
.cw .info{position:absolute;right:16px;top:16px;bottom:16px;left:calc(14px + (100% * 9 / 16 - 28px) * .75 + 16px);display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.cw b{font-size:15.5px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.cw .info>span{margin-top:4px;font-size:12.5px;color:rgba(255,255,255,.75)}
.cw .pb{margin-top:10px;height:4px;border-radius:99px;background:rgba(255,255,255,.28);overflow:hidden}
.cw .pb i{display:block;height:100%;background:#fff;border-radius:99px}
.cw .go{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:15px;color:#0d1110;background:#fff;opacity:0;transform:scale(.7);transition:opacity .25s,transform .5s var(--ease-spring)}
.cw .go .icon{margin-left:2px}
@media (hover:hover){.cw:hover{transform:scale(1.035) translateY(-3px);box-shadow:0 26px 50px -14px rgba(0,0,0,.45)}.cw:hover .go{opacity:1;transform:none}}
.cw:active{transform:scale(.97);transition-duration:.15s}
.cw.sk{background:var(--skeleton);box-shadow:none}
.cw .del{position:absolute;right:58px;top:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:15px;color:#fff;background:rgba(0,0,0,.35);backdrop-filter:blur(12px);opacity:0;transform:scale(.7);transition:opacity .25s,transform .5s var(--ease-spring),background .2s}
.cw:hover .del{opacity:1;transform:none}
.cw .del:hover{background:var(--danger)}

/* 网格 */
.grid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:34px var(--g);padding:0 var(--gut)}
.sentinel{height:1px}
.sk-tail{animation:up .4s var(--ease) both}

/* ============================================================ 榜单 */
.bar2{position:sticky;top:var(--nav);z-index:20;padding:12px var(--gut);margin-top:12px}
.bar2::before{content:"";position:absolute;inset:-14px 0 -6px;z-index:-1;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(26px) saturate(1.8);-webkit-backdrop-filter:blur(26px) saturate(1.8);-webkit-mask-image:linear-gradient(transparent,#000 14px,#000 calc(100% - 12px),transparent);mask-image:linear-gradient(transparent,#000 14px,#000 calc(100% - 12px),transparent);opacity:0;transition:opacity .3s}
.bar2.stuck::before{opacity:1}
.bar2 .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}
.bar2 .seg.sk{background:none;gap:8px}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--g);padding:14px var(--gut) 0}
.pod{position:relative;display:flex;align-items:flex-end;gap:22px;padding:22px;border-radius:26px;overflow:hidden;color:#fff;text-align:left;isolation:isolate;min-height:250px;background:#1a1f1d;box-shadow:0 14px 40px -16px rgba(0,0,0,.45);transition:transform .55s var(--ease-spring),box-shadow .5s var(--ease)}
.pod .bgx{position:absolute;inset:-40px;z-index:-2;filter:blur(40px) saturate(1.7) brightness(.6);transform:scale(1.2)}
.pod .bgx .im{background:none}
.pod::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 60%)}
.pod .poster{flex:none;width:136px;box-shadow:0 16px 36px rgba(0,0,0,.4)}
.pod .pi{min-width:0;padding-bottom:4px}
.pod .no{font-size:64px;line-height:.9;font-weight:800;letter-spacing:-.05em;background:linear-gradient(170deg,#fff,rgba(255,255,255,.45));-webkit-background-clip:text;background-clip:text;color:transparent}
.pod b{margin-top:10px;font-size:18px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pod .pi>span{display:block;margin-top:6px;font-size:13px;color:rgba(255,255,255,.72)}
@media (hover:hover){.pod:hover{transform:translateY(-5px) scale(1.015);box-shadow:0 30px 60px -20px rgba(0,0,0,.55)}}
.pod:active{transform:scale(.98);transition-duration:.15s}
.pod.sk{background:var(--skeleton);box-shadow:none}
.pod.sk .poster{box-shadow:none;background:var(--fill)}
.chart{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;padding:24px var(--gut) 0}
.cr{display:flex;align-items:center;gap:18px;padding:8px 12px;margin:0 -12px;border-radius:16px;text-align:left;transition:background .2s}
.cr:hover{background:var(--fill-2)}
.cr:active{background:var(--fill)}
.cr .rn{flex:none;width:30px;text-align:center;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-3)}
.cr .poster{flex:none;width:58px;border-radius:10px;box-shadow:0 4px 12px -4px rgba(0,0,0,.25)}
.cr .ri{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 -.5px 0 var(--sep)}
.cr b{font-size:15.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr .ri>span{margin-top:3px;font-size:13px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr .go{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:var(--primary-ink);background:var(--primary);opacity:0;transform:scale(.7);transition:opacity .2s,transform .45s var(--ease-spring)}
.cr .go .icon{margin-left:2px}
.cr:hover .go{opacity:1;transform:none}
.cr.sk{pointer-events:none}
.cr.sk .poster{box-shadow:none}
.cr.sk .ri{gap:10px}

/* ============================================================ 分类 */
.filters{padding:4px var(--gut) 0;display:flex;flex-direction:column;gap:12px}
.frow{display:flex;align-items:center;gap:16px;min-width:0}
.frow h4{flex:none;width:64px;font-size:13.5px;font-weight:600;color:var(--text-3)}
.fchips{flex:1;min-width:0;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 40px 2px 2px;margin:-2px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 50px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 50px),transparent)}
.fchips::-webkit-scrollbar{display:none}
.res{display:flex;align-items:baseline;gap:10px;padding:30px var(--gut) 18px;font-size:14px;color:var(--text-3)}
.res b{color:var(--text);font-size:20px;font-weight:700;letter-spacing:-.01em}

/* ============================================================ 搜索 */
.sbox{position:relative;margin:calc(var(--nav) + 30px) var(--gut) 0;display:flex;align-items:center;gap:16px;height:72px;padding:0 22px 0 26px;border-radius:24px;background:var(--surface);box-shadow:var(--shadow-1),var(--ring);transition:box-shadow .3s}
.sbox:focus-within{box-shadow:0 0 0 4px var(--primary-soft),0 0 0 1px var(--primary),var(--shadow-2)}
.sbox>.icon{font-size:26px;color:var(--text-3);transition:color .2s}
.sbox:focus-within>.icon{color:var(--primary-text)}
.sbox input{flex:1;min-width:0;height:100%;border:0;background:none;outline:0;font-size:26px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.sbox input::placeholder{color:var(--text-4);font-weight:500}
.sbox .clr{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:14px;background:var(--fill);color:var(--text-2);opacity:0;transform:scale(.6);pointer-events:none;transition:opacity .2s,transform .4s var(--ease-spring)}
.sbox.has .clr{opacity:1;transform:none;pointer-events:auto}
.sugs{display:flex;gap:8px;padding:16px var(--gut) 0;min-height:50px;overflow-x:auto;scrollbar-width:none}
.sugs .chip .icon{color:var(--text-3)}
.ssec{padding:26px var(--gut) 0}
.ssec h3{font-size:14px;font-weight:600;color:var(--text-3);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between}
.ssec h3 button{color:var(--primary-text);font-size:13.5px;font-weight:500}
.rchips{display:flex;flex-wrap:wrap;gap:8px}
.hotl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}

/* ============================================================ 详情 */
.dhero .hs{opacity:1;visibility:visible}
.dhero .art{view-transition-name:cover}
.dsec{margin-top:44px}
.dhero+.dsec{margin-top:-104px;position:relative;z-index:2}
.rng{display:flex;gap:8px;padding:0 var(--gut);margin:-2px 0 18px;overflow-x:auto;scrollbar-width:none}
.ep{position:relative;display:block;width:100%;text-align:left}
.ep .th{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:var(--skeleton);box-shadow:0 1px 2px rgba(0,0,0,.08),0 8px 22px -8px rgba(0,0,0,.25);transition:transform .55s var(--ease-spring),box-shadow .5s}
.ep .th::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 55%,rgba(0,0,0,.6))}
.ep .no{position:absolute;left:12px;bottom:10px;z-index:2;color:#fff;font-size:15px;font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.ep .du{position:absolute;right:10px;bottom:11px;z-index:2;color:rgba(255,255,255,.85);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
.ep .pl{position:absolute;left:50%;top:50%;z-index:2;width:50px;height:50px;margin:-25px;border-radius:50%;display:grid;place-items:center;font-size:20px;color:#fff;background:rgba(255,255,255,.22);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.3);opacity:0;transform:scale(.7);transition:opacity .25s,transform .5s var(--ease-spring)}
.ep .pl .icon{margin-left:3px}
@media (hover:hover){.ep:hover .th{transform:scale(1.04) translateY(-4px);box-shadow:0 26px 44px -14px rgba(0,0,0,.45)}.ep:hover .pl{opacity:1;transform:none}}
.ep:active .th{transform:scale(.96);transition-duration:.15s}
.ep.cur .th{box-shadow:0 0 0 3px var(--primary),0 14px 30px -10px rgba(0,0,0,.35)}
.ep.seen .th::before{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;z-index:3;background:var(--primary)}
.ep.sk{pointer-events:none}
.ep.sk .th{box-shadow:none}
.ep.sk .th::after{display:none}
.about{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;padding:0 var(--gut)}
.about .intro{font-size:15.5px;line-height:1.85;color:var(--text-2)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:12px 22px;font-size:14.5px;align-content:start}
.facts dt{color:var(--text-3)}
.facts dd{font-weight:600}
.cast{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.cast span{height:32px;padding:0 14px;display:inline-flex;align-items:center;border-radius:99px;background:var(--fill-2);font-size:14px;font-weight:500}

/* ============================================================ 我的 */
.me{display:flex;align-items:center;gap:24px;margin:calc(var(--nav) + 26px) var(--gut) 0;padding:30px 34px;border-radius:30px;position:relative;overflow:hidden;isolation:isolate;color:#fff;min-height:170px;background:#1a1f1d}
.me .bgx{position:absolute;inset:-40px;z-index:-1;filter:blur(40px) saturate(1.6) brightness(.6);transform:scale(1.2)}
.me .bgx .im{background:none}
.me .av{position:relative;flex:none;width:88px;height:88px;border-radius:50%;overflow:hidden;display:grid;place-items:center;font-size:34px;font-weight:700;background:rgba(255,255,255,.18);box-shadow:0 0 0 3px rgba(255,255,255,.3)}
.me .av em{font-style:normal}
.me .av .im{z-index:1}.me .av .im.fail{display:none}
.me h2{font-size:28px;font-weight:800;letter-spacing:-.02em}
.me p{margin-top:4px;font-size:14.5px;color:rgba(255,255,255,.72)}
.me .stats{margin-left:auto;display:flex;gap:48px;text-align:center}
.me .stats b{display:block;font-size:34px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.me .stats span{font-size:13px;color:rgba(255,255,255,.7)}
.me .bglass{height:42px;font-size:14px;padding:0 18px}

/* ============================================================ 设置 */
.set{max-width:760px;margin:0 auto;padding:0 var(--gut)}
.set .ph{padding-left:0;padding-right:0}
.sgroup{margin-top:28px}
.sgroup>h3{font-size:13px;color:var(--text-3);font-weight:600;margin:0 0 10px 18px}
.slist{background:var(--surface);border-radius:22px;box-shadow:var(--shadow-1),var(--ring);overflow:hidden}
.srw{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:10px 20px}
.srw+.srw::before{content:"";position:absolute;left:20px;right:0;top:0;height:.5px;background:var(--sep)}
.srw b{font-weight:500;font-size:15.5px}.srw small{display:block;color:var(--text-3);font-size:13px;margin-top:2px}
.sw{position:relative;width:52px;height:32px;border-radius:99px;background:var(--fill-3);transition:background .35s;flex:none}
.sw::after{content:"";position:absolute;left:2px;top:2px;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.28);transition:transform .5s var(--ease-spring),width .2s}
.sw.on{background:var(--primary)}.sw.on::after{transform:translateX(20px)}.sw:active::after{width:34px}.sw.on:active::after{transform:translateX(14px)}
input[type=range]{-webkit-appearance:none;appearance:none;width:200px;height:6px;border-radius:99px;background:linear-gradient(90deg,var(--primary) var(--p,50%),var(--fill-3) var(--p,50%));outline:0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:pointer;transition:transform .25s var(--ease-spring)}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18)}
select{height:34px;padding:0 12px;border-radius:10px;border:0;background:var(--fill);font-weight:600;outline:0;cursor:pointer}
.kbds{display:grid;grid-template-columns:1fr 1fr;gap:2px 34px;padding:12px 20px 16px;font-size:14px;color:var(--text-2)}
.kbds div{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:34px}
.kbds kbd{min-width:26px;padding:2px 9px;border-radius:8px;background:var(--bg);font:600 12.5px var(--font);text-align:center;box-shadow:0 0 0 .5px var(--sep),0 1px 0 var(--sep)}

/* ============================================================ 账号菜单 */
.menu{position:fixed;right:var(--gut);top:calc(var(--nav) - 6px);z-index:90;width:250px;padding:6px;border-radius:20px;background:var(--glass-strong);backdrop-filter:blur(40px) saturate(1.9);-webkit-backdrop-filter:blur(40px) saturate(1.9);box-shadow:var(--shadow-3),inset 0 0 0 .5px var(--glass-edge);transform-origin:top right;animation:pop .45s var(--ease-spring) both}
.menu .mh{padding:12px 12px 10px}
.menu .mh b{display:block;font-size:15px}
.menu .mh span{font-size:12.5px;color:var(--text-3)}
.menu a,.menu button{display:flex;align-items:center;gap:11px;width:100%;height:40px;padding:0 12px;border-radius:12px;font-size:14.5px;font-weight:500}
.menu a:hover,.menu button:hover{background:var(--fill)}
.menu .icon{font-size:17px;color:var(--text-3)}
.menu .danger,.menu .danger .icon{color:var(--danger)}
.menu hr{border:0;height:.5px;background:var(--sep);margin:5px 10px}

/* ============================================================ 转场 */
::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-group(cover){animation-duration:.7s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(cover),::view-transition-new(cover){height:100%;object-fit:cover;overflow:hidden}

/* ============================================================ 播放器 */
#player{position:fixed;inset:0;z-index:300;background:#000;color:#fff;overflow:hidden;--ar:.5625;animation:pIn .6s var(--ease) both}
@keyframes pIn{from{opacity:0;transform:scale(1.03)}}
#player.out{animation:pOut .3s var(--ease) both}
@keyframes pOut{to{opacity:0}}
#player.idle{cursor:none}
.amb{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.amb i,.amb canvas{position:absolute;left:-15%;top:-15%;width:130%;height:130%;background-size:cover;background-position:center;filter:blur(90px) saturate(1.9);transition:opacity 1.6s var(--ease)}
.amb i{opacity:.6}
.amb canvas{opacity:0}
#player.live .amb canvas{opacity:.85}
#player.live .amb i{opacity:.12}
.amb b{position:absolute;inset:0;background:radial-gradient(90% 100% at 50% 50%,rgba(0,0,0,.15),rgba(0,0,0,.7))}
.stage{position:absolute;top:0;bottom:0;left:50%;translate:-50% 0;max-width:100%;aspect-ratio:var(--ar);transition:left .6s var(--ease)}
#player.dock-on .stage{left:calc((100% - 396px) / 2)}
.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;box-shadow:0 0 140px rgba(0,0,0,.7)}
.dml{position:absolute;left:0;right:0;top:84px;bottom:130px;z-index:4;pointer-events:none;overflow:hidden;transition:right .6s var(--ease)}
#player.dock-on .dml{right:396px}
.dm{position:absolute;left:0;white-space:nowrap;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.6);will-change:transform}
.ui{position:absolute;inset:0;z-index:6;pointer-events:none;transition:opacity .5s var(--ease)}
#player.idle:not(.paused) .ui{opacity:0}
.ui .shade{position:absolute;left:0;right:0;pointer-events:none}
.ui .shade.t{top:0;height:160px;background:linear-gradient(rgba(0,0,0,.55),transparent)}
.ui .shade.b{bottom:0;height:230px;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.ptop{position:absolute;left:28px;top:24px;right:28px;display:flex;align-items:center;gap:16px}
.ptop .title{min-width:0;margin-right:auto}
.ptop .title b{display:block;font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.ptop .title small{font-size:13.5px;opacity:.72}
#player .ui button,#player .ui .prog,#player .ui input{pointer-events:auto}
#player.idle:not(.paused) .ui button,#player.idle:not(.paused) .ui .prog,#player.idle:not(.paused) .ui input{pointer-events:none}
.cbtn{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:21px;color:#fff;background:rgba(255,255,255,.14);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.14);transition:transform .45s var(--ease-spring),background .25s,color .2s,opacity .2s}
.cbtn:hover{background:rgba(255,255,255,.26);transform:scale(1.08)}
.cbtn:active{transform:scale(.88);transition-duration:.1s}
.cbtn.plain{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;width:42px;height:42px;font-size:20px;opacity:.88}
.cbtn.plain:hover{background:rgba(255,255,255,.14);opacity:1}
.cbtn.on{color:#c6ed92;opacity:1}
.cbtn.lbl{width:auto;min-width:42px;padding:0 12px;border-radius:99px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.cbtn.pill{width:auto;padding:0 18px 0 14px;gap:8px;display:inline-flex;align-items:center;border-radius:99px;font-size:14.5px;font-weight:600}
.cbtn.pill .icon{font-size:19px}
.mid{position:absolute;left:50%;top:50%;translate:-50% -50%;display:flex;align-items:center;gap:44px;transition:left .6s var(--ease),opacity .4s}
#player.dock-on .mid{left:calc((100% - 396px) / 2)}
.mid .cbtn{width:64px;height:64px;font-size:27px}
.mid .cbtn.big{width:96px;height:96px;font-size:42px;background:rgba(255,255,255,.2)}
.mid .cbtn.big .play{margin-left:7px}
.mid .skip{position:relative}
.mid .skip small{position:absolute;left:50%;top:50%;translate:-50% -42%;font-size:10px;font-weight:800}
#player:not(.ready) .mid{opacity:0;pointer-events:none}
.pbot{position:absolute;left:36px;right:36px;bottom:26px;transition:right .6s var(--ease)}
#player.dock-on .pbot{right:420px}
.prog{position:relative;height:26px;display:flex;align-items:center;cursor:pointer;touch-action:none}
.prog .r2{position:relative;width:100%;height:5px;border-radius:99px;background:rgba(255,255,255,.24);transition:height .25s var(--ease)}
.prog:hover .r2,.prog.drag .r2{height:9px}
.prog .buf,.prog .fill{position:absolute;left:0;top:0;bottom:0;border-radius:99px}
.prog .buf{background:rgba(255,255,255,.3)}
.prog .fill{background:#fff}
.prog .knob{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.5);transform:scale(0);transition:transform .35s var(--ease-spring)}
.prog:hover .knob,.prog.drag .knob{transform:scale(1)}
.prog .tip{position:absolute;bottom:32px;padding:5px 10px;border-radius:10px;background:rgba(40,40,40,.82);backdrop-filter:blur(16px);font-size:13px;font-weight:700;transform:translateX(-50%);opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap;font-variant-numeric:tabular-nums}
.prog:hover .tip,.prog.drag .tip{opacity:1}
.ctrl{display:flex;align-items:center;gap:4px;margin-top:6px}
.ctrl .time{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600;opacity:.85;margin:0 12px 0 6px}
.ctrl .sp{flex:1}
.vol{display:flex;align-items:center}
.vol input{width:0;opacity:0;margin:0;transition:width .45s var(--ease),opacity .3s,margin .45s var(--ease);background:linear-gradient(90deg,#fff var(--p,100%),rgba(255,255,255,.25) var(--p,100%))}
.vol:hover input,.vol input:focus{width:90px;opacity:1;margin:0 8px 0 4px}
.vol input::-webkit-slider-thumb{width:16px;height:16px}
.pmenu{position:absolute;min-width:160px;padding:6px;border-radius:20px;background:rgba(40,42,41,.72);backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 0 0 .5px rgba(255,255,255,.14);z-index:9;transform-origin:bottom right;animation:pop .4s var(--ease-spring) both}
.pmenu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;height:40px;padding:0 14px;border-radius:13px;font-size:14.5px;font-weight:600;color:#fff;transition:background .2s}
.pmenu button:hover{background:rgba(255,255,255,.14)}
.pmenu button.on{color:#c6ed92}
.flash{position:absolute;left:50%;top:50%;z-index:5;width:96px;height:96px;margin:-48px;border-radius:50%;background:rgba(20,20,20,.35);backdrop-filter:blur(18px);display:grid;place-items:center;font-size:40px;pointer-events:none;opacity:0}
.flash.go{animation:flash .6s var(--ease) both}
@keyframes flash{0%{opacity:0;transform:scale(.7)}30%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}
.pload{position:absolute;left:50%;top:50%;z-index:5;translate:-50% -50%;display:flex;flex-direction:column;align-items:center;gap:14px;pointer-events:none;transition:opacity .5s var(--ease),left .6s var(--ease)}
#player.dock-on .pload{left:calc((100% - 396px) / 2)}
.pload i{width:50px;height:50px;border-radius:50%;border:3px solid rgba(255,255,255,.18);border-top-color:#fff;animation:spin .9s linear infinite}
.pload span{font-size:13px;font-weight:600;opacity:.75}
.pload.hide{opacity:0}
.perr{position:absolute;inset:0;z-index:9;display:grid;place-items:center;text-align:center;background:rgba(0,0,0,.55);backdrop-filter:blur(24px)}
.perr .box{max-width:440px;padding:32px 32px 28px;border-radius:30px;background:rgba(40,42,41,.6);box-shadow:inset 0 0 0 .5px rgba(255,255,255,.14);animation:pop .5s var(--ease-spring) both}
.perr h3{font-size:21px;margin-bottom:8px}.perr p{opacity:.75;margin-bottom:22px;line-height:1.65;font-size:14.5px}
.perr .bplay{height:46px;font-size:15px}
.upnext{position:absolute;right:36px;bottom:124px;z-index:8;display:flex;align-items:center;gap:14px;padding:12px 12px 12px 12px;border-radius:24px;background:rgba(40,42,41,.66);backdrop-filter:blur(36px);-webkit-backdrop-filter:blur(36px);box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 0 0 .5px rgba(255,255,255,.14);animation:pop .5s var(--ease-spring) both;transition:right .6s var(--ease)}
#player.dock-on .upnext{right:420px}
.upnext .ring{width:42px;height:42px}.upnext svg.r{width:42px;height:42px;transform:rotate(-90deg)}
.upnext circle{fill:none;stroke-width:4}.upnext .bg2{stroke:rgba(255,255,255,.2)}
.upnext .fg{stroke:#fff;stroke-linecap:round;stroke-dasharray:126;stroke-dashoffset:126;animation:cd 3s linear forwards}
@keyframes cd{to{stroke-dashoffset:0}}
.upnext b{font-size:14.5px}
.upnext .cbtn{width:auto;height:34px;padding:0 14px;border-radius:99px;font-size:13.5px;font-weight:600}
.dock{position:absolute;top:16px;right:16px;bottom:16px;z-index:7;width:364px;display:flex;flex-direction:column;border-radius:30px;overflow:hidden;background:rgba(32,34,33,.55);backdrop-filter:blur(44px) saturate(1.9);-webkit-backdrop-filter:blur(44px) saturate(1.9);box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 0 0 .5px rgba(255,255,255,.14),inset 0 1px 0 rgba(255,255,255,.1);opacity:0;transform:translateX(40px) scale(.98);pointer-events:none;transition:opacity .4s var(--ease),transform .65s var(--ease)}
#player.dock-on .dock{opacity:1;transform:none;pointer-events:auto}
.dock .dh{display:flex;align-items:center;justify-content:space-between;padding:16px 14px 10px 18px}
.dseg{position:relative;display:flex;padding:3px;border-radius:99px;background:rgba(255,255,255,.08)}
.dseg i{position:absolute;left:0;top:3px;bottom:3px;border-radius:99px;background:rgba(255,255,255,.2);transition:transform .55s var(--ease-spring),width .45s var(--ease)}
.dock .dtab{position:relative;z-index:1;height:32px;padding:0 20px;border-radius:99px;font-weight:600;font-size:14px;color:rgba(255,255,255,.6);transition:color .2s}
.dock .dtab.on{color:#fff}
.dock .db{flex:1;overflow:auto;padding:4px 16px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.dock .rng{padding:0;margin:4px 0 12px}
.dock .rng .chip{height:30px;padding:0 12px;font-size:13px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.8)}
.dock .rng .chip.on{background:#fff;color:#0d1110}
.deps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.deps .ep .th{border-radius:12px;box-shadow:none;background:rgba(255,255,255,.08)}
.deps .ep .no{font-size:13.5px;left:9px;bottom:8px}
.deps .ep .du{font-size:11px;right:8px;bottom:9px}
.deps .ep.cur .th{box-shadow:0 0 0 2.5px #fff}
.deps .ep:hover .th{transform:scale(1.03)}
.cm{display:flex;gap:12px;padding:12px 0}
.cm .ca{position:relative;flex:none;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);overflow:hidden;display:grid;place-items:center;font-size:14px;font-weight:700}
.cm .ca .im.fail{display:none}
.cm .cn{font-size:12.5px;color:rgba(255,255,255,.55);font-weight:600}
.cm .cx{margin-top:2px;font-size:14px;line-height:1.6;word-break:break-word}
.cmmore{display:block;width:100%;height:40px;margin-top:8px;border-radius:99px;background:rgba(255,255,255,.1);font-weight:600;font-size:14px}
.cmempty{padding:60px 0;text-align:center;color:rgba(255,255,255,.45);font-size:14px}

@media (max-width:1200px){.podium{grid-template-columns:1fr}.chart,.hotl{grid-template-columns:1fr}.about{grid-template-columns:1fr}}
::view-transition-old(cover):only-child{animation-duration:.28s}
::view-transition-new(cover):only-child{animation-duration:.35s}
