/* Auto-extracted from index.html */ .page-shell { width: min(1800px, calc(100% - 120px)); max-width: none; position: relative; flex-direction: column; justify-content: flex-start; align-items: flex-start; display: flex; margin: 0 auto; padding: 36px 0; gap: 36px; box-sizing: border-box; } .home-page-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; } /* Figma mobile homepage (40094:457099). */ @media (max-width: 767px) { :root { --home-h5-gutter: clamp(14px, 4.266667vw, 18px); --home-h5-section-gap: clamp(16px, 4.8vw, 20px); } body.home-page { padding-top: calc(48px + env(safe-area-inset-top, 0px)); background: #0F0F0F; } .home-page .page-shell { padding: 12px var(--home-h5-gutter) var(--home-h5-section-gap); gap: var(--home-h5-section-gap); background: #0F0F0F; } .home-page .hero-image { object-fit: cover; object-position: center; } .home-page .hero-swiper .swiper-pagination.hero-dots { right: 32px; bottom: 16px; align-items: center; } .home-page .hero-dots .hero-dot, .home-page .hero-dot { margin: 0; border-radius: 99px; opacity: 0.6; transition: width 240ms ease, opacity 240ms ease, background-color 240ms ease; } .home-page .hero-dots .hero-dot--active, .home-page .hero-dot--active { opacity: 1; } .home-page .section-title, .home-page .ranking-title { gap: 6px; } .home-page .poster-cover-img, .home-page .ranking-cover-img { object-fit: cover; object-position: center; } .home-page .poster-card, .home-page .ranking-card { height: auto; min-height: 0; } .home-page .poster-card-body, .home-page .ranking-card-body { height: 80px; min-height: 80px; box-sizing: border-box; } .home-page .topic-section .section-heading { gap: 0; } .home-page .floating-action { display: none; } } /* PC layout — Figma 1920 design: side padding 60, content 1800, 5 cards/row. */ @media (min-width: 1024px) { body.home-page { padding-top: 90px; } body.home-page .page-shell { min-height: 0; padding: 0 60px 36px; gap: 36px; align-items: stretch; box-sizing: border-box; } body.home-page .page-shell.page-shell--no-hero { padding-top: 40px; } /* Figma 1920×710 full-bleed hero, scaled by viewport width. */ body.home-page .hero-section { --hero-s: calc(100vw / 1920px); width: 100vw; max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); align-self: stretch; height: calc(710px * var(--hero-s)); } body.home-page .hero-banner, body.home-page .hero-swiper { width: 100%; height: 100%; border-radius: 0; border: 0; outline: none; overflow: hidden; } body.home-page .hero-banner, body.home-page .hero-card, body.home-page .hero-image { height: 100%; max-height: none; aspect-ratio: auto; } body.home-page .hero-image { width: calc(1923 / 1920 * 100%); left: calc(-2 / 1920 * 100%); object-fit: cover; object-position: center; } body.home-page .hero-overlay { top: auto; bottom: 0; left: 0; width: 100%; height: 100%; background: linear-gradient( 90deg, rgba(0, 0, 0, 0.66) 0%, rgba(0, 0, 0, 0.52) 38%, rgba(0, 0, 0, 0.2) 66%, rgba(0, 0, 0, 0.04) 100% ), linear-gradient( 180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.16) 28%, rgba(0, 0, 0, 0.58) 62%, rgba(0, 0, 0, 0.9) 86%, #0f0f0f 100% ); } body.home-page .hero-info { left: calc(184px * var(--hero-s)); top: calc(343px * var(--hero-s)); bottom: auto; width: calc(787px * var(--hero-s)); max-width: calc(100% - 520px * var(--hero-s)); gap: calc(16px * var(--hero-s)); } body.home-page .hero-kicker { padding: calc(4px * var(--hero-s)) calc(12px * var(--hero-s)); color: #ec237f; background: rgba(255, 74, 74, 0.08); border-radius: 999px; font-size: calc(18px * var(--hero-s)); line-height: calc(24px * var(--hero-s)); font-weight: 400; } body.home-page .hero-title { color: #fff; font-size: calc(36px * var(--hero-s)); line-height: 1.28; font-weight: 400; } body.home-page .hero-tags { gap: calc(7px * var(--hero-s)); } body.home-page .hero-tag { padding: calc(5px * var(--hero-s)) calc(10px * var(--hero-s)); border-radius: calc(5px * var(--hero-s)); background: rgba(24, 24, 24, 0.6); } body.home-page .hero-tag-text { color: #fff; font-size: calc(16px * var(--hero-s)); line-height: 1.375; font-weight: 400; } body.home-page .hero-summary { width: 100%; max-width: none; color: #fff; font-size: calc(18px * var(--hero-s)); line-height: 1.55; opacity: 1; font-weight: 400; } body.home-page .hero-play-button { width: calc(142px * var(--hero-s)); height: calc(43px * var(--hero-s)); gap: calc(8px * var(--hero-s)); background: #ec237f; box-shadow: 0 calc(6.925px * var(--hero-s)) calc(17.313px * var(--hero-s)) rgba(241, 43, 158, 0.22); border-radius: calc(9px * var(--hero-s)); } body.home-page .hero-play-icon { display: none; } body.home-page .hero-play-text, body.home-page .hero-play-button .text-white-xs { color: #fff; font-size: calc(18px * var(--hero-s)); line-height: calc(18px * var(--hero-s)); font-weight: 400; } body.home-page .hero-thumbs { left: auto; right: calc(184px * var(--hero-s)); top: calc(488px * var(--hero-s)); bottom: auto; gap: calc(14px * var(--hero-s)); transform: none; justify-content: center; align-items: center; } body.home-page .hero-thumb { width: calc(100px * var(--hero-s)); height: calc(140px * var(--hero-s)); border-radius: calc(12px * var(--hero-s)); border: 0; transform: none; transition: width 0.28s ease, height 0.28s ease, border-radius 0.28s ease; will-change: width, height; } body.home-page .hero-thumb.is-active { width: calc(116px * var(--hero-s)); height: calc(162px * var(--hero-s)); transform: none; z-index: 1; } body.home-page .hero-thumb-img, body.home-page .hero-thumb-overlay { border-radius: inherit; } body.home-page .hero-thumb-overlay { background: #000; opacity: 0.5; } body.home-page .hero-thumb.is-active .hero-thumb-overlay { opacity: 0; } body.home-page .hero-thumb-nav, body.home-page .hero-thumb-nav img { width: calc(26px * var(--hero-s)); height: calc(26px * var(--hero-s)); } body.home-page .hero-thumb-prev img { transform: none; } body.home-page .home-announcement, body.home-page .square-promo, body.home-page .home-ad-row, body.home-page .content-section { width: 100%; max-width: 1800px; margin-left: auto; margin-right: auto; } body.home-page .home-announcement { height: 48px; gap: 7px; margin-top: 0; margin-bottom: 0; } body.home-page .home-announcement-label { width: 69px; min-width: 69px; height: 48px; } body.home-page .home-announcement-label picture { display: block; width: 100%; height: 100%; } body.home-page .home-announcement-content { padding: 10px 18px; border-radius: 9px; font-size: 18px; line-height: 24px; } body.home-page .content-section, body.home-page .ranking-section { gap: 24px; } body.home-page .section-heading { gap: 12px; } body.home-page .section-title { gap: 8px; font-size: 24px; line-height: 32px; } body.home-page .section-title::before { width: 6px; height: 24px; border-radius: 3px; } body.home-page .section-subtitle { font-size: 16px; line-height: 22px; } body.home-page .ghost-action-button { padding: 8px 14px; gap: 4px; border-radius: 16px; } body.home-page .ghost-action-text { font-size: 12px; line-height: 18px; } body.home-page .chevron-icon-img { width: 14px; height: 14px; } body.home-page .card-grid, body.home-page .ranking-list { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 18px; row-gap: 20px; } body.home-page .poster-card, body.home-page .ranking-card { min-height: 0; border-radius: 21px; } body.home-page .poster-card-body, body.home-page .ranking-card-body { min-height: 123px; padding: 14px 12px; gap: 7px; } body.home-page .poster-card-title, body.home-page .ranking-card-title { min-height: 26px; font-size: 19px; line-height: 26px; } body.home-page .poster-card-subtitle, body.home-page .ranking-card-subtitle { min-height: 23px; font-size: 16px; line-height: 23px; } body.home-page .card-grid .poster-card-tags { height: 29px; } body.home-page .poster-card-episode { font-size: 16px; line-height: 23px; } body.home-page .poster-card-tag, body.home-page .ranking-card-tag { padding: 2px 9px; border-radius: 10px; font-size: 16px; line-height: 23px; } body.home-page .episode-badge, body.home-page .ranking-episode-badge { right: 9px; bottom: 12px; min-height: 26px; height: auto; padding: 4px 9px; border-radius: 7px; } body.home-page .episode-badge .text-white-xs, body.home-page .ranking-episode-badge .text-white-xs { font-size: 19px; line-height: 26px; } body.home-page .topic-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } body.home-page .topic-card { border-radius: 21px; aspect-ratio: 435 / 245; } body.home-page .topic-card-copy { left: 28px; right: 28px; bottom: 14px; gap: 9px; } body.home-page .topic-card-label { padding: 5px 9px; border-radius: 7px; color: #FADC44; background: rgba(0, 0, 0, 0.6); font-size: 16px; line-height: 23px; font-weight: 500; } body.home-page .topic-card-title { font-size: 21px; line-height: 28px; } body.home-page .topic-section .section-title { gap: 12px; } body.home-page .topic-section .section-title::before { width: 8px; height: 22px; border-radius: 6px; } body.home-page .topic-section .ghost-action-button { padding: 4px 4px 4px 10px; background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.05); border-radius: 999px; } body.home-page .topic-section .ghost-action-text { font-size: 12px; line-height: 18px; color: rgba(255, 255, 255, 0.55); } body.home-page .topic-section .chevron-icon-img { width: 16px; height: 16px; } body.home-page .download-fab, body.home-page .floating-action { right: max(60px, calc((100vw - 1800px) / 2)); } } /* Homepage redesign — Figma frames 40001:93695 (desktop) and 40094:457099 (mobile). */ .home-page { background: #0F0F0F; color: #FFFFFF; padding-top: 90px; } .home-page .page-shell { width: 100%; max-width: none; margin: 0; padding: 0 0 36px; gap: 36px; align-items: center; box-sizing: border-box; } @media (min-width: 768px) and (max-width: 1023px) { .home-page .page-shell { padding: 24px 40px 36px; gap: 28px; align-items: stretch; } .home-page .page-shell.page-shell--no-hero { padding-top: 24px; } .home-page .hero-section, .home-page .home-announcement, .home-page .square-promo, .home-page .home-ad-row, .home-page .content-section { width: 100%; max-width: none; } .home-page .hero-banner { border-radius: 24px; overflow: hidden; outline: 1px solid #494949; outline-offset: -1px; } .home-page .hero-swiper { border-radius: 24px; border: 0; } .home-page .hero-info { left: 40px; top: auto; bottom: 36px; width: min(520px, 55%); } .home-page .hero-thumbs { right: 40px; bottom: 28px; } } @media (min-width: 768px) { .home-page .page-shell.page-shell--no-hero { padding-top: 36px; } } .home-page .hero-section { width: 100%; align-self: stretch; background: transparent; } .home-page .hero-banner, .home-page .hero-card, .home-page .hero-image, .home-page .hero-overlay { width: 100%; height: clamp(320px, 36.98vw, 710px); } .home-page .hero-swiper { border: 0; border-radius: 0; } .home-page .hero-overlay { background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.08) 62%, #0F0F0F 100%); } .home-page .hero-info { left: 70px; top: 48.3%; bottom: auto; width: min(628px, 46vw); gap: 16px; } .home-page .hero-kicker { padding: 4px 12px; color: #EC237F; background: rgba(255, 74, 74, 0.08); border-radius: 999px; font-size: 18px; line-height: 24px; } .home-page .hero-title { font-size: 36px; line-height: 46px; font-weight: 600; } .home-page .hero-tag { padding: 5px 10px; } .home-page .hero-tag-text { font-size: 16px; line-height: 22px; } .home-page .hero-summary { font-size: 18px; line-height: 28px; opacity: 1; -webkit-line-clamp: 2; } .home-page .hero-play-button { width: 142px; height: 43px; background: #EC237F; box-shadow: 0 7px 17px rgba(241, 43, 158, 0.22); border-radius: 9px; } .home-page .hero-play-icon { width: 20px; height: 20px; filter: invert(1); } .home-page .hero-play-button .hero-play-text, .home-page .hero-play-button .text-white-xs { color: #FFFFFF; font-size: 18px; line-height: 18px; } .home-page .hero-swiper .swiper-pagination.hero-dots { display: none !important; } .home-page .hero-thumbs { position: absolute; right: 70px; bottom: 40px; z-index: 4; display: flex; align-items: center; gap: 11px; } .home-page .hero-thumb { width: 100px; height: 140px; border-radius: 12px; border: 0; transform: scale(1); transform-origin: center; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.25s ease; will-change: transform; } .home-page .hero-thumb.is-active { width: 100px; height: 140px; transform: scaleX(1.16) scaleY(1.157143); z-index: 1; } .home-page .hero-thumb-img, .home-page .hero-thumb-overlay { border-radius: 12px; } .home-page .hero-thumb-nav { width: 26px; height: 26px; padding: 0; border: 0; background: transparent; display: grid; place-items: center; cursor: pointer; } .home-page .hero-thumb-nav img { width: 26px; height: 26px; } .home-page .hero-thumb-prev img { transform: rotate(180deg); } .home-page .home-announcement, .home-page .square-promo, .home-page .home-ad-row, .home-page .content-section { width: 100%; max-width: 1800px; flex-shrink: 0; margin: 0 auto; } .home-page .home-announcement { height: 48px; display: flex; align-items: stretch; gap: 7px; overflow: hidden; } .home-page .home-announcement-label { width: 69px; min-width: 69px; height: 48px; } .home-page .home-announcement-label img { display: block; width: 100%; height: 100%; } .home-page .home-announcement-content { min-width: 0; flex: 1 1 auto; display: flex; align-items: center; padding: 10px 18px; color: #FFFFFF; background: rgba(255, 74, 74, 0.08); border: 1px solid rgba(255, 74, 74, 0.08); border-radius: 9px; font-size: 18px; line-height: 24px; white-space: nowrap; overflow: hidden; } .home-page .home-announcement-marquee { display: flex; width: max-content; will-change: transform; animation: home-announcement-marquee 30s linear infinite; } .home-page .home-announcement-copy { display: block; flex: 0 0 auto; padding-right: 80px; } .home-page .home-announcement-separator { margin: 0 16px; color: rgba(255, 255, 255, 0.45); } .home-page .home-announcement:hover .home-announcement-marquee { animation-play-state: paused; } @keyframes home-announcement-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } } .home-page .content-section, .home-page .ranking-section { padding: 0; gap: 24px; align-items: stretch; background: transparent; } .home-page .topic-section { background: transparent; } .home-page .topic-section .section-title::before { width: 8px; height: 22px; border-radius: 6px; } .home-page .section-header { overflow: visible; } .home-page .section-heading { gap: 12px; } .home-page .section-title { display: flex; align-items: center; gap: 12px; color: #FFFFFF; font-size: 24px; line-height: 32px; font-weight: 600; } .home-page .section-title::before { content: ""; width: 6px; height: 24px; flex: 0 0 auto; background: #EC237F; border-radius: 3px; } .home-page .section-subtitle { color: rgba(255, 255, 255, 0.55); font-size: 16px; line-height: 22px; } .home-page .ghost-action-button { padding: 8px 14px; background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.1); border-radius: 16px; } .home-page .ghost-action-text { color: rgba(255, 255, 255, 0.6); font-size: 12px; line-height: 18px; } .home-page .card-grid, .home-page .ranking-list { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 18px; row-gap: 20px; } .home-page .card-grid > .poster-card:nth-child(n + 11) { display: none; } .home-page .poster-card, .home-page .ranking-card { min-height: 0; border-radius: 21px; } .home-page .poster-cover, .home-page .ranking-cover { height: auto; padding: 0; aspect-ratio: 5 / 7; } .home-page .poster-card-body, .home-page .ranking-card-body { min-height: 105px; padding: 12px 10px; gap: 6px; background: rgba(255, 255, 255, 0.05); } .home-page .poster-card-title, .home-page .ranking-card-title { min-height: 22px; color: #FFFFFF; font-size: 16px; line-height: 22px; font-weight: 600; } .home-page .poster-card-subtitle, .home-page .ranking-card-subtitle { min-height: 20px; color: rgba(255, 255, 255, 0.55); font-size: 14px; line-height: 20px; } /* 集数占了标签行右侧:放不下的标签整颗换行并被隐藏,而不是每颗都截成省略号 */ .home-page .card-grid .poster-card-tags { flex-wrap: wrap; height: 26px; } .home-page .poster-card-episode { flex-shrink: 0; margin-left: 8px; color: rgba(255, 255, 255, 0.55); font-size: 14px; line-height: 20px; white-space: nowrap; } .home-page .poster-card-tag, .home-page .ranking-card-tag { width: max-content; max-width: 100%; padding: 2px 8px; color: #EC237F; background: rgba(255, 74, 74, 0.08); border: 1px solid rgba(255, 74, 74, 0.08); border-radius: 9px; font-size: 14px; line-height: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .home-page .poster-like-badge, .home-page .poster-card-heat, .home-page .ranking-card-heat { display: none; } .home-page .episode-badge, .home-page .ranking-episode-badge { right: 8px; bottom: 12px; min-height: 28px; height: 28px; padding: 3px 8px; border-radius: 6px; } .home-page .episode-badge .text-white-xs, .home-page .ranking-episode-badge .text-white-xs { color: #FFFFFF; font-size: 16px; line-height: 22px; } .home-page .topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } .home-page .topic-card { position: relative; aspect-ratio: 373 / 210; overflow: hidden; border-radius: 18px; color: #FFFFFF; text-decoration: none; } .home-page .topic-card:nth-child(n + 5) { display: none; } .home-page .topic-card-image, .home-page .topic-card-overlay { position: absolute; inset: 0; width: 100%; height: 100%; } .home-page .topic-card-image { object-fit: cover; } .home-page .topic-card-overlay { background: linear-gradient(180deg, transparent 40%, rgba(0, 0, 0, 0.72) 100%); } .home-page .topic-card-copy { position: absolute; left: 24px; right: 24px; bottom: 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; } .home-page .topic-card-label { padding: 4px 8px; color: #EC237F; background: rgba(0, 0, 0, 0.6); border-radius: 6px; font-size: 14px; line-height: 20px; } .home-page .topic-card-title { max-width: 100%; font-size: 18px; line-height: 24px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .home-page .download-fab { right: max(60px, calc((100vw - 1800px) / 2)); bottom: 138px; background: #EC237F; } .home-page .download-fab-text { color: #FFFFFF; } .home-page .floating-action { right: max(60px, calc((100vw - 1800px) / 2)); bottom: 60px; background: #EC237F; } @media (min-width: 1024px) and (max-width: 1279px) { .home-page .hero-thumbs { transform: none; } } @media (min-width: 768px) and (max-width: 1023px) { .home-page .hero-thumbs { transform: scale(0.85); transform-origin: right bottom; } } /* Keep 5 columns on wide PC; only drop below tablet landscape. */ @media (min-width: 768px) and (max-width: 1023px) { .home-page .card-grid, .home-page .ranking-list { grid-template-columns: repeat(4, minmax(0, 1fr)); } .home-page .hero-thumbs { display: none; } .home-page .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 767px) { body.home-page { padding-top: 48px; padding-bottom: 0 !important; } .home-page .page-shell { width: 100%; max-width: none; padding: 12px 16px 24px; gap: 18px; align-items: stretch; } .home-page .hero-section { width: 100%; } .home-page .hero-banner, .home-page .hero-card, .home-page .hero-image, .home-page .hero-overlay { width: 100%; height: auto; aspect-ratio: 343 / 154; } .home-page .hero-swiper { border: 0; border-radius: 12px; } .home-page .hero-info, .home-page .hero-thumbs { display: none !important; } .home-page .hero-overlay { display: none; } .home-page .hero-swiper .swiper-pagination.hero-dots { left: auto; right: 32px; bottom: 16px; width: auto; padding: 0; display: flex !important; gap: 6px; } .home-page .hero-dots .hero-dot, .home-page .hero-dot { width: 6px; height: 6px; background: #FFFFFF; opacity: 0.3; } .home-page .hero-dots .hero-dot--active, .home-page .hero-dot--active { width: 24px; height: 6px; background: #EC237F; opacity: 1; } .home-page .home-announcement, .home-page .square-promo, .home-page .home-ad-row, .home-page .content-section { width: 100%; max-width: none; margin: 0; } .home-page .home-announcement { height: 28px; gap: 7px; } .home-page .home-announcement-label { width: 40px; min-width: 40px; height: 28px; } .home-page .home-announcement-content { padding: 4px 10px; border-radius: 6px; font-size: 12px; line-height: 18px; } .home-page .home-announcement-marquee { animation-duration: 22s; } .home-page .home-announcement-copy { padding-right: 40px; } .home-page .content-section, .home-page .ranking-section { padding: 0; gap: 12px; border: 0; background: transparent; } .home-page .section-header { align-items: flex-start; } .home-page .section-heading { flex-direction: column; align-items: flex-start; gap: 6px; } .home-page .section-title, .home-page .ranking-title { gap: 4px; font-size: 16px; line-height: 22px; font-weight: 600; } .home-page .section-title::before, .home-page .ranking-title::before { width: 4px; height: 14px; background: #EC237F; border-radius: 3px; } .home-page .section-subtitle { display: block; color: rgba(255, 255, 255, 0.55); font-size: 12px; line-height: 18px; } .home-page .ghost-action-button { padding: 4px 4px 4px 10px; gap: 0; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.05); border-radius: 999px; } .home-page .ghost-action-text { font-size: 0; line-height: 16px; } .home-page .ghost-action-text::after { content: "更多"; color: rgba(255, 255, 255, 0.55); font-size: 10px; line-height: 16px; } .home-page .chevron-icon-img { width: 16px; height: 16px; opacity: 0.55; filter: none; } .home-page .card-grid, .home-page .ranking-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 7px; row-gap: 12px; } .home-page .poster-card, .home-page .ranking-card { min-height: 0; border-radius: 0; } .home-page .poster-cover, .home-page .ranking-cover { height: auto; padding: 0; aspect-ratio: 3 / 4; border-radius: 12px; } .home-page .poster-card-body, .home-page .ranking-card-body { min-height: 80px; padding: 8px 0; gap: 4px; background: transparent; } .home-page .poster-card-title, .home-page .ranking-card-title { min-height: 20px; font-family: PingFang SC, sans-serif; font-size: 14px; line-height: 20px; font-weight: 400; white-space: nowrap; display: block; overflow: hidden; text-overflow: ellipsis; } .home-page .poster-card-subtitle, .home-page .ranking-card-subtitle { min-height: 18px; font-size: 12px; line-height: 18px; white-space: nowrap; display: block; } .home-page .poster-card-tag, .home-page .ranking-card-tag { padding: 2px 8px; font-size: 12px; line-height: 18px; } .home-page .card-grid .poster-card-tags { height: 24px; } .home-page .poster-card-episode { font-size: 12px; line-height: 18px; } .home-page .episode-badge, .home-page .ranking-episode-badge { right: 8px; bottom: 4px; min-height: 26px; height: 26px; padding: 3px 8px; } .home-page .episode-badge .text-white-xs, .home-page .ranking-episode-badge .text-white-xs { font-size: 12px; line-height: 18px; } .home-page .poster-corner-badges { top: 8px; right: 8px; } .home-page .poster-corner-badges .hot-badge-large, .home-page .poster-corner-badges .community-badge, .home-page .poster-corner-badges .free-badge-large { padding: 4px 8px; border-radius: 6px; } .home-page .ranking-badge, .home-page .rank-bg-gold, .home-page .rank-bg-silver, .home-page .rank-bg-bronze, .home-page .rank-bg-dark { width: 34px; height: 28px; } .home-page .rank-text { width: 34px; height: 28px; font-size: 14px; line-height: 20px; } .home-page .topic-grid { grid-template-columns: 1fr; gap: 20px; } .home-page .topic-card { aspect-ratio: 343 / 194; border-radius: 18px; } .home-page .topic-card-copy { left: 12px; right: 12px; bottom: 10px; gap: 6px; } .home-page .topic-card-label { font-size: 12px; line-height: 18px; } .home-page .topic-card-title { font-size: 16px; line-height: 22px; } .home-page .h5-tabbar, .home-page .download-fab { display: none !important; } .home-page .floating-action { width: 36px; height: 36px; right: 32px; bottom: 32px; background: rgba(255, 255, 255, 0.1); } } @media (prefers-reduced-motion: reduce) { .home-page .home-announcement-marquee { animation: none; } .home-page .home-announcement-copy[aria-hidden="true"] { display: none; } } /* Mobile homepage hero — Figma 40726:77145 / title overlay 40726:77159. */ @media (max-width: 767px) { body.home-page .page-shell { padding-top: 0; } body.home-page .hero-section { width: calc(100% + 32px); margin-top: 0; margin-left: -16px; overflow: hidden; } body.home-page .hero-banner, body.home-page .hero-swiper { width: 100%; height: auto; aspect-ratio: 375 / 138.67; border: 0; border-radius: 0; } body.home-page .hero-swiper .swiper-slide, body.home-page .hero-card, body.home-page .hero-image { width: 100%; height: 100%; aspect-ratio: auto; } body.home-page .hero-image { inset: 0; object-fit: cover; object-position: center; } body.home-page .hero-overlay { display: block; top: auto; right: 0; bottom: 0; left: 0; width: 100%; height: 36.057%; aspect-ratio: auto; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000 100%); } body.home-page .hero-info { display: flex !important; top: auto; right: auto; bottom: 7%; left: 14px; width: calc(100% - 116px); max-width: none; gap: 0; z-index: 3; } body.home-page .hero-kicker, body.home-page .hero-play-button { display: none; } body.home-page .hero-title { display: block; width: 100%; color: #fff; font-family: "PingFang SC", sans-serif; font-size: 16px; font-weight: 600; line-height: 22px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } body.home-page .hero-swiper .swiper-pagination.hero-dots { top: auto; right: 14px; bottom: 8.41%; left: auto; width: auto; padding: 0; gap: 4px; z-index: 4; } body.home-page .hero-dots .hero-dot, body.home-page .hero-dot { width: 4px; height: 4px; margin: 0 !important; background: rgba(255, 255, 255, 0.6); border-radius: 3px; opacity: 0.3; } body.home-page .hero-dots .hero-dot--active, body.home-page .hero-dot--active { width: 12px; height: 4px; background: #ec237f; border-radius: 3px; opacity: 1; } } /* PC homepage hero — Figma 40635:135284 / banner 40726:15774. */ @media (min-width: 1024px) { body.home-page .hero-section { --hero-s: calc(100vw / 1920px); width: 100vw; height: calc(710px * var(--hero-s)); max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); overflow: hidden; background: #0f0f0f; } body.home-page .hero-banner, body.home-page .hero-swiper, body.home-page .hero-swiper .swiper-slide, body.home-page .hero-card, body.home-page .hero-image, body.home-page .hero-overlay { width: 100%; height: 100%; max-height: none; border: 0; border-radius: 0; } body.home-page .hero-image { left: calc(-2px * var(--hero-s)); width: calc(1923 / 1920 * 100%); object-fit: cover; object-position: center; } body.home-page .hero-overlay { inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 60%, #000 100%) left bottom / 100% calc(206px * var(--hero-s)) no-repeat, radial-gradient(ellipse 76% 72% at 0% 100%, rgba(0, 0, 0, 0.56) 0%, rgba(0, 0, 0, 0.26) 56%, rgba(0, 0, 0, 0) 100%); } body.home-page .hero-info { top: auto; right: auto; bottom: calc(65px * var(--hero-s)); left: calc(184px * var(--hero-s)); width: calc(787px * var(--hero-s)); max-width: calc(100% - 1100px * var(--hero-s)); gap: calc(16px * var(--hero-s)); } body.home-page .hero-kicker { padding: calc(4px * var(--hero-s)) calc(12px * var(--hero-s)); color: #fff; background: #ec237f; border-radius: 999px; font-size: calc(18px * var(--hero-s)); line-height: calc(24px * var(--hero-s)); font-weight: 400; white-space: nowrap; } body.home-page .hero-title { display: block; width: 100%; color: #fff; font-size: calc(36px * var(--hero-s)); line-height: calc(46px * var(--hero-s)); font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: keep-all; } body.home-page .hero-play-button { width: auto; height: auto; min-width: 0; min-height: 0; padding: calc(14px * var(--hero-s)) calc(24px * var(--hero-s)); gap: calc(8px * var(--hero-s)); color: #fff; background: rgba(255, 255, 255, 0.2); border-radius: calc(49px * var(--hero-s)); box-shadow: none; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); } body.home-page .hero-play-icon { display: block; width: calc(29px * var(--hero-s)); height: calc(32px * var(--hero-s)); margin: calc(7px * var(--hero-s)) calc(8.5px * var(--hero-s)); flex: 0 0 auto; object-fit: contain; filter: none; } body.home-page .hero-play-text, body.home-page .hero-play-button .text-white-xs { color: #fff; font-size: calc(28px * var(--hero-s)); line-height: calc(40px * var(--hero-s)); font-weight: 400; white-space: nowrap; } body.home-page .hero-thumbs { top: auto; right: calc(218px * var(--hero-s)); bottom: calc(60px * var(--hero-s)); left: auto; gap: calc(14px * var(--hero-s)); transform: none; align-items: center; } body.home-page .hero-thumb { width: calc(100px * var(--hero-s)); height: calc(140px * var(--hero-s)); flex: 0 0 auto; border: 0; border-radius: calc(12px * var(--hero-s)); transform: scale(1); transform-origin: center; transition: transform 300ms cubic-bezier(0.22, 1, 0.36, 1); will-change: transform; } body.home-page .hero-thumb.is-active { width: calc(100px * var(--hero-s)); height: calc(140px * var(--hero-s)); transform: scaleX(1.16) scaleY(1.157143); z-index: 1; } body.home-page .hero-thumb-img, body.home-page .hero-thumb-overlay { border-radius: inherit; } body.home-page .hero-thumb-overlay { background: #000; opacity: 0.5; } body.home-page .hero-thumb.is-active .hero-thumb-overlay { opacity: 0; } body.home-page .hero-thumb-nav, body.home-page .hero-thumb-nav img { width: calc(26px * var(--hero-s)); height: calc(26px * var(--hero-s)); flex: 0 0 auto; } body.home-page .hero-thumb-prev img { transform: none; } body.home-page .hero-swiper .swiper-pagination.hero-dots { display: none !important; } } .hero-section { align-self: stretch; height: auto; padding: 0; background: #0A0A0A; overflow: hidden; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 32px; display: flex; } .hero-banner { width: 100%; height: 343px; position: relative; } .hero-swiper { width: 100%; height: 100%; border-radius: 26px; overflow: hidden; border: 1px solid #3A3A3A; } .hero-swiper .swiper-slide { height: 100%; } .hero-card { width: 100%; height: 100%; position: relative; overflow: hidden; display: block; text-decoration: none; color: inherit; cursor: pointer; } .hero-image { width: 100%; height: 100%; left: 0; top: 0; position: absolute; object-fit: cover; } .hero-overlay { width: 100%; height: 100%; left: 0; top: 0; position: absolute; background: linear-gradient(180deg, rgba(5.10, 6.38, 15.30, 0.18) 0%, rgba(5.10, 5.10, 12.75, 0.35) 55%, rgba(3.82, 5.10, 12.75, 0.95) 100%); pointer-events: none; } .hero-info { width: 414px; left: 102px; bottom: 42px; position: absolute; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 16px; display: flex; z-index: 2; } .hero-title { align-self: stretch; color: white; font-size: 22px; font-family: PingFang SC; font-weight: 400; line-height: 28px; word-wrap: break-word; } .hero-summary { align-self: stretch; opacity: 0.6; color: white; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; text-overflow: ellipsis; } .hero-play-button { width: 142px; height: 43px; background: #EC237F; box-shadow: 0 7px 17px rgba(250, 220, 68, 0.28); overflow: hidden; border-radius: 9px; justify-content: center; align-items: center; gap: 8px; display: flex; text-decoration: none; position: relative; left: auto; top: auto; z-index: 2; } .hero-play-icon { width: 20px; height: 20px; } .hero-play-text { color: #fff; font-size: 12px; font-family: PingFang SC, sans-serif; font-weight: 400; line-height: 18px; word-wrap: break-word; } .text-white-xs { color: #181818; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .hero-thumbs { display: none; } .hero-thumb { width: 87px; height: 126px; padding: 0; position: relative; overflow: hidden; border-radius: 9px; border: 1px solid rgba(255, 255, 255, 0.12); cursor: pointer; background: transparent; flex-shrink: 0; transition: width 0.25s ease, height 0.25s ease, border-color 0.25s ease; } .hero-thumb.is-active { width: 95px; height: 137px; border: none; } .hero-thumb-img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 9px; } .hero-thumb-overlay { inset: 0; position: absolute; background: rgba(0, 0, 0, 0.52); border-radius: 9px; pointer-events: none; transition: opacity 0.25s ease; } .hero-thumb.is-active .hero-thumb-overlay { opacity: 0; } .hero-thumb:hover:not(.is-active) .hero-thumb-overlay { background: rgba(0, 0, 0, 0.35); } .hero-tags { position: relative; left: auto; top: auto; overflow: hidden; justify-content: flex-start; align-items: flex-start; gap: 7px; display: flex; flex-wrap: wrap; z-index: 2; } .hero-tag { padding: 5px 10px; background: rgba(24, 24, 24, 0.60); overflow: hidden; border-radius: 5px; justify-content: flex-start; align-items: flex-start; display: flex; } .hero-tag-text { color: white; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .content-section { align-self: stretch; padding: 0; background: #0A0A0A; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 24px; display: flex; } .section-header { width: 100%; overflow: hidden; justify-content: space-between; align-items: center; display: flex; } .section-heading { overflow: hidden; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 4px; display: flex; } .section-title { color: white; font-size: 22px; font-family: PingFang SC; font-weight: 400; line-height: 28px; word-wrap: break-word; } .section-subtitle { color: #8A8A8A; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .flex-spacer { flex: 1 1 0; height: 9px; position: relative; } .ghost-action-button { padding: 8px 14px; background: #181818; overflow: hidden; border-radius: 16px; border: 1px solid #2A2A2A; justify-content: flex-start; align-items: center; gap: 4px; display: flex; text-decoration: none; color: inherit; cursor: pointer; } .ghost-action-text { color: #F5F5F5; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; display: inline-flex; align-items: center; } .chevron-icon { width: 14px; height: 14px; position: relative; overflow: hidden; } .chevron-icon-stroke { width: 3px; height: 6px; left: 6px; top: 4px; position: absolute; border: 2px solid #8F8F9F; } .chevron-icon-img { width: 14px; height: 14px; display: block; } .card-grid { width: 100%; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); justify-content: stretch; align-items: stretch; gap: 14px 16px; } .card-row { display: contents; } .poster-card { width: 100%; min-width: 0; background: transparent; overflow: hidden; border-radius: 14px; flex-direction: column; justify-content: flex-start; align-items: stretch; display: flex; text-decoration: none; color: inherit; cursor: pointer; } .poster-cover { align-self: stretch; height: auto; aspect-ratio: 3 / 4; position: relative; overflow: hidden; } .poster-cover-img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; display: block; } .poster-like-badge { height: 24px; padding: 5px 7px; left: 8px; right: auto; top: auto; bottom: 8px; position: absolute; overflow: hidden; justify-content: center; align-items: center; gap: 4px; display: inline-flex; box-sizing: border-box; z-index: 2; } .poster-like-badge-icon { width: 14px; height: 14px; display: block; object-fit: contain; flex-shrink: 0; filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.55)); } .poster-like-badge-count { color: rgba(255, 255, 255, 0.92); font-size: 11px; font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 400; line-height: 14px; white-space: nowrap; text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.55); } .episode-badge { height: 28px; padding: 4px 8px; left: auto; right: 8px; top: auto; bottom: 8px; position: absolute; background: rgba(0, 0, 0, 0.60); border-radius: 8px; justify-content: center; align-items: center; display: flex; font-size: 12px; color: #fff; } .episode-badge .text-white-xs, .episode-badge-shifted .text-white-xs, .ranking-episode-badge .text-white-xs { color: #fff; } .poster-card-body { align-self: stretch; flex: 1 1 auto; padding: 8px 10px; background: rgba(255, 255, 255, 0.05); overflow: hidden; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 4px; display: flex; box-sizing: border-box; } .poster-card-title { align-self: stretch; min-height: 20px; color: #F5F5F5; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; word-wrap: break-word; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .poster-card-subtitle { align-self: stretch; min-height: 18px; color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .poster-card-meta { align-self: stretch; margin-top: auto; overflow: hidden; justify-content: space-between; align-items: center; display: flex; } .poster-card-tags { display: flex; min-width: 0; align-items: center; gap: 6px; overflow: hidden; } .poster-card-tags .poster-card-tag { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .poster-card-tag { color: #8A8A8A; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .poster-card-heat { color: #808080; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .free-badge-large { padding: 4px 8px; left: 132px; top: 8px; position: absolute; background: #10B981; border-radius: 8px; justify-content: center; align-items: center; display: flex; } .poster-corner-badges { position: absolute; top: 12px; right: 12px; z-index: 2; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } .poster-flag-badge { display: block; width: 56px; height: 34px; object-fit: contain; flex-shrink: 0; } .poster-corner-badges .free-badge-large, .poster-corner-badges .hot-badge-large, .poster-corner-badges .community-badge, .poster-corner-badges .ranking-hot-badge, .poster-corner-badges .ranking-free-badge, .poster-corner-badges .poster-flag-badge { position: static; left: auto; top: auto; } .episode-badge-shifted { height: 28px; padding: 4px 8px; left: 131px; top: 204px; position: absolute; background: rgba(0, 0, 0, 0.60); border-radius: 8px; justify-content: center; align-items: center; display: flex; } .hot-badge-large { padding: 4px 8px; left: 132px; top: 8px; position: absolute; background: linear-gradient(90deg, #FF5A5F 0%, #D9152F 100%); border-radius: 8px; justify-content: center; align-items: center; display: inline-flex; box-sizing: border-box; } .hot-badge-large .text-white-xs { color: white; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .ranking-section { align-self: stretch; padding: 0; background: #0A0A0A; flex-direction: column; justify-content: center; align-items: center; gap: 24px; display: flex; } .ranking-main { width: 100%; max-width: 100%; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 14px; display: flex; } .ranking-header { align-self: stretch; height: 30px; overflow: hidden; justify-content: space-between; align-items: center; display: flex; } .ranking-title { width: 160px; height: 30px; color: white; font-size: 22px; font-family: PingFang SC; font-weight: 400; line-height: 28px; word-wrap: break-word; } .ranking-more { justify-content: flex-start; align-items: center; gap: 4px; display: flex; text-decoration: none; color: inherit; } .ranking-more-text { color: #808080; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .ranking-list { align-self: stretch; width: 100%; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); justify-content: stretch; align-items: stretch; gap: 14px 16px; } .ranking-card { width: 100%; min-width: 0; background: transparent; overflow: hidden; border-radius: 14px; flex-direction: column; justify-content: flex-start; align-items: stretch; display: flex; text-decoration: none; color: inherit; flex-shrink: 0; } .section-empty { width: 100%; grid-column: 1 / -1; padding: 32px 16px; color: rgba(255, 255, 255, 0.45); font-size: 14px; text-align: center; } .ranking-cover { align-self: stretch; height: auto; aspect-ratio: 3 / 4; position: relative; overflow: hidden; } .ranking-cover-img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; } .ranking-hot-badge { padding: 4px 8px; left: auto; right: 8px; top: 8px; position: absolute; z-index: 2; background: linear-gradient(90deg, #FF5A5F 0%, #D9152F 100%); border-radius: 8px; justify-content: center; align-items: center; display: flex; } .ranking-episode-badge { height: 28px; padding: 4px 8px; left: auto; right: 8px; top: auto; bottom: 8px; position: absolute; z-index: 2; background: rgba(0, 0, 0, 0.60); border-radius: 8px; justify-content: center; align-items: center; display: flex; box-sizing: border-box; } .ranking-badge { width: 43px; height: 34px; left: 0; bottom: 0; top: auto; position: absolute; z-index: 2; } .rank-bg-gold, .rank-bg-silver, .rank-bg-bronze, .rank-bg-dark { width: 43px; height: 34px; left: 0; top: 0; position: absolute; background-repeat: no-repeat; background-position: center; background-size: 100% 100%; } .rank-bg-gold { background-image: url("/static/images/r_1.png"); } .rank-bg-silver { background-image: url("/static/images/r_2.png"); } .rank-bg-bronze { background-image: url("/static/images/r_3.png"); } .rank-bg-dark { background-image: url("/static/images/r_4.png"); } .rank-text { width: 43px; height: 35px; left: 0; top: 0; position: absolute; text-align: center; justify-content: center; display: flex; flex-direction: column; color: white; font-size: 18px; font-family: PingFang SC; font-weight: 400; line-height: 24px; word-wrap: break-word; } .ranking-card-body { align-self: stretch; flex: 1 1 auto; padding: 8px 10px; background: rgba(255, 255, 255, 0.05); overflow: hidden; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 4px; display: flex; box-sizing: border-box; } .ranking-card-title { align-self: stretch; min-height: 20px; color: #F5F5F5; font-size: 14px; font-family: PingFang SC; font-weight: 400; line-height: 20px; word-wrap: break-word; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .ranking-card-subtitle { align-self: stretch; color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .ranking-card-meta { align-self: stretch; overflow: hidden; justify-content: space-between; align-items: center; display: flex; } .ranking-card-tag { color: #8A8A8A; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; flex-shrink: 0; } .ranking-card-heat { color: #808080; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; flex-shrink: 0; } .rank-spacer { flex: 1 1 0; height: 8px; position: relative; min-width: 4px; } .ranking-free-badge { padding: 4px 8px; left: auto; right: 8px; top: 8px; position: absolute; z-index: 2; background: #10B981; border-radius: 8px; justify-content: center; align-items: center; display: flex; } .sidebar-column { display: none; } .sidebar-pc { display: none; } .sidebar-h5 { display: none; } .sidebar-item { align-self: stretch; overflow: hidden; justify-content: flex-start; align-items: center; gap: 11px; display: flex; text-decoration: none; color: inherit; } .sidebar-cover { width: 114px; height: 151px; border-radius: 7px; object-fit: cover; flex-shrink: 0; display: block; } .sidebar-content { flex: 1 1 0; min-width: 0; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 6px; display: flex; } .sidebar-title { align-self: stretch; color: white; font-size: 16px; font-family: PingFang SC; font-weight: 400; line-height: 22px; word-wrap: break-word; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .sidebar-summary { align-self: stretch; color: #8A8A8A; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .sidebar-meta { align-self: stretch; color: #8A8A8A; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .sidebar-list { align-self: stretch; max-height: 391px; min-height: 0; overflow-x: hidden; overflow-y: auto; flex-direction: column; justify-content: flex-start; align-items: center; display: flex; -webkit-overflow-scrolling: touch; } .sidebar-list-item { align-self: stretch; height: 24px; flex-shrink: 0; overflow: hidden; justify-content: space-between; align-items: center; display: flex; text-decoration: none; color: inherit; } .sidebar-list-title { width: 196px; height: 18px; color: white; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; flex-shrink: 0; } .sidebar-list-meta { color: #A3A3A3; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; flex-shrink: 0; white-space: nowrap; } .latest-section { align-self: stretch; padding: 0; background: #0A0A0A; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 24px; display: flex; } .community-badge { padding: 4px 8px; left: 132px; top: 8px; position: absolute; background: linear-gradient(90deg, #6AA9FF 0%, #3568FF 100%); border-radius: 8px; justify-content: center; align-items: center; display: inline-flex; box-sizing: border-box; } .community-badge .text-white-xs { color: white; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } .legacy-footer-layout { align-self: stretch; height: 160px; background: #0A0A0A; overflow: hidden; justify-content: flex-start; align-items: center; gap: 20px; display: flex; } .legacy-footer-spacer { width: 520px; height: 9px; position: relative; } .footer-meta-text { color: #615970; font-size: 12px; font-family: PingFang SC; font-weight: 400; line-height: 18px; word-wrap: break-word; } /* —— H5 —— */ .hero-swiper .swiper-pagination.hero-dots { width: auto; left: auto; right: 60px; top: auto; bottom: 30px; position: absolute; overflow: visible; justify-content: flex-end; align-items: center; gap: 6px; display: flex !important; z-index: 3; padding: 0; transform: none; } .hero-dots .hero-dot, .hero-dot { width: 12px; height: 12px; background: white; opacity: 0.3; border-radius: 9999px; flex-shrink: 0; margin: 0 !important; } .hero-dots .hero-dot--active, .hero-dot--active { width: 36px; height: 12px; opacity: 1; border-radius: 6px; background: white; } @media (max-width: 767px) { .page-shell { width: 100%; max-width: 100%; padding: 12px 16px; box-sizing: border-box; gap: 18px; align-items: stretch; } /* Hero banner */ .hero-section { height: auto; padding: 0; background: transparent; gap: 0; } .hero-banner { width: 100%; height: 146px; } .hero-swiper { border-radius: 7.69px; border: 0.3px solid #3A3A3A; overflow: hidden; } /* H5:Swiper 未初始化前只展示首帧,避免多 slide 占位与布局抖动 */ .hero-swiper.hero-swiper--h5-pending .swiper-wrapper { display: block; } .hero-swiper.hero-swiper--h5-pending .swiper-slide:not(:first-child) { display: none; } .hero-swiper.hero-swiper--h5-pending .hero-dots { display: none; } .hero-card { width: 100%; height: 146px; } .hero-image { width: 100%; height: 146px; left: 0; top: 0; object-fit: cover; } .hero-overlay { width: 100%; height: 146px; left: 0; top: 0; } /* H5 轮播也要显示标题/标签/介绍/播放按钮(此前这里把它们隐藏了) */ .hero-thumbs { display: none !important; } .hero-info { display: flex !important; left: 18px; top: 27px; right: auto; bottom: auto; width: 207px; gap: 6px; z-index: 2; } .hero-title { font-size: 12px; line-height: 18px; } .hero-tags { gap: 3.5px; } .hero-tag { padding-left: 5px; padding-right: 5px; padding-top: 2.5px; padding-bottom: 2.5px; border-radius: 2.5px; background: rgba(24, 24, 24, 0.6); } .hero-tag-text { font-size: 8px; line-height: 9px; } .hero-summary { opacity: 0.6; font-size: 10px; line-height: 16px; } .hero-play-button { width: 71px; height: 22px; border-radius: 4.5px; box-shadow: none; gap: 4px; } .hero-play-icon { display: block; width: 12px; height: 12px; object-fit: contain; } .hero-play-button .hero-play-text, .hero-play-button .text-white-xs { color: #fff; font-size: 10px; line-height: 16px; } .hero-swiper .swiper-pagination.hero-dots { width: 100%; padding: 0 16px; left: 0; right: auto; top: auto; bottom: 12px; position: absolute; overflow: visible; justify-content: flex-end; align-items: center; gap: 6px; display: inline-flex !important; box-sizing: border-box; z-index: 2; transform: none; } .hero-dots .hero-dot, .hero-dot { width: 6px; height: 6px; background: white; border-radius: 9999px; flex-shrink: 0; opacity: 1; margin: 0 !important; } .hero-dots .hero-dot--active, .hero-dot--active { width: 18px; height: 6px; background: white; border-radius: 4px; opacity: 1; } /* Sections */ .content-section, .latest-section { padding: 0; background: transparent; gap: 18px; width: 100%; } .content-section { padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, 0.10); } .content-section::after, .latest-section::before { content: none; } .section-header, .ranking-header { width: 100%; height: auto; align-items: center; overflow: visible; } .section-heading { flex-direction: row; align-items: center; gap: 4px; } .section-subtitle { display: none; } .section-title, .ranking-title { width: auto; height: auto; font-size: 18px; line-height: 24px; display: inline-flex; align-items: center; gap: 4px; } .section-title::before, .ranking-title::before { content: ""; width: 6px; height: 16px; background: #EC237F; border-radius: 3px; flex-shrink: 0; } .flex-spacer { display: none; } .ghost-action-button { padding: 0; background: transparent; border: none; border: none; border-radius: 0; gap: 2px; } .ghost-action-text { font-size: 0; color: white; line-height: 18px; } .ghost-action-text::after { content: "更多"; font-size: 12px; font-family: PingFang SC, sans-serif; font-weight: 400; line-height: 18px; color: white; } .ranking-more-text { color: white; } .chevron-icon-img { width: 18px; height: 18px; opacity: 1; filter: brightness(0) invert(1); } /* Poster grids → 2 columns */ .card-grid { width: 100%; display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; gap: 7px; } .card-row { display: contents; } .poster-card { width: 100%; border-radius: 6px; flex-shrink: 1; } .poster-cover { height: 0; padding-bottom: 133.33%; } .poster-cover-img { position: absolute; inset: 0; } .episode-badge, .episode-badge-shifted { left: auto; right: 8px; top: auto; bottom: 8px; height: auto; min-height: 28px; } .free-badge-large, .hot-badge-large { left: auto; right: 8px; top: 8px; } .poster-corner-badges { top: 8px; right: 8px; } .poster-flag-badge { width: 40px; height: 26px; } .community-badge { left: auto; right: 8px; top: 8px; padding: 4px 8px; border-radius: 8px; } .poster-card-title { font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; -webkit-line-clamp: unset; -webkit-box-orient: unset; } .poster-card-tag, .poster-card-subtitle { color: #A3A3A3; } .poster-card-heat { color: #D4D4D4; } /* Ranking + updates stack */ .ranking-section { flex-direction: column; padding: 0; background: transparent; gap: 18px; width: 100%; border: none; flex-wrap: nowrap; } .ranking-main { width: 100%; display: flex; flex-direction: column; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, 0.10); max-width: none; } .ranking-main > .ranking-header { grid-column: auto; } .ranking-list { display: grid; grid-template-columns: 1fr 1fr; justify-content: stretch; gap: 7px; width: 100%; } .ranking-card { width: 100%; border-radius: 6px; } .ranking-cover { height: 0; padding-bottom: 133.33%; } .ranking-episode-badge { left: auto; right: 8px; top: auto; bottom: 8px; } .ranking-hot-badge, .ranking-free-badge { left: auto; right: 8px; top: 8px; } .ranking-corner-badges { top: 8px; right: 8px; } .ranking-badge { top: auto; bottom: 0; left: 0; } .ranking-card-title { font-size: 14px; line-height: 20px; font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 700; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .ranking-card-body { padding: 8px 10px; gap: 4px; } .ranking-card-tag, .ranking-card-subtitle { color: #A3A3A3; } .ranking-card-heat { color: #D4D4D4; } .ranking-more { text-decoration: none; gap: 2px; } /* 今日更新 list */ .sidebar-column { width: 100%; gap: 16px; border-top: none; border-bottom: 1px solid rgba(255, 255, 255, 0.10); padding-top: 0; padding-bottom: 18px; overflow: visible; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; } .update-grid-pc, .sidebar-pc { display: none; } .sidebar-h5 { align-self: stretch; overflow: hidden; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 16px; display: inline-flex; width: 100%; } .sidebar-item { align-self: stretch; align-items: center; gap: 11px; width: 100%; } .sidebar-cover { width: 114px; height: 151px; border-radius: 7px; flex-shrink: 0; object-fit: cover; } .sidebar-content { width: auto; flex: 1 1 0; min-width: 0; max-width: none; gap: 11px; } .sidebar-title { font-size: 16px; font-family: "Noto Sans SC", "PingFang SC", sans-serif; font-weight: 700; line-height: 22px; color: white; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: unset; } .sidebar-summary { color: #A3A3A3; font-size: 12px; line-height: 18px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .sidebar-meta { color: #A3A3A3; } .latest-section { gap: 18px; padding-top: 0; } .latest-section .card-grid { width: 100%; grid-template-columns: 1fr 1fr; justify-content: stretch; gap: 7px; } .latest-section .poster-card { width: 100%; flex: 1 1 auto; border-radius: 6px; } } /* Keep the Figma homepage overrides last; index.css also contains legacy H5 rules. */ @media (max-width: 767px) { body.home-page { padding-top: calc(48px + env(safe-area-inset-top, 0px)); padding-bottom: 0 !important; } .home-page .page-shell { padding: 12px var(--home-h5-gutter) var(--home-h5-section-gap); gap: var(--home-h5-section-gap); } .home-page .section-title, .home-page .ranking-title { gap: 6px; } .home-page .poster-card-body, .home-page .ranking-card-body { height: 80px; min-height: 80px; } } /* Shared list-card hover treatment, adapted from the reference card interaction. */ @keyframes site-card-shine { 0% { left: -60%; opacity: 0; } 12% { opacity: 1; } 100% { left: 120%; opacity: 0; } } body.site-shell .poster-card, body.site-shell .topic-card, body.site-shell .theme-index-card { transition: transform 320ms cubic-bezier(0.2, 0.7, 0.3, 1), box-shadow 320ms ease; } body.site-shell .poster-cover-img, body.site-shell .topic-card-image, body.site-shell .theme-index-card > img { transition: transform 400ms ease; } body.site-shell .poster-cover::before, body.site-shell .topic-card::before, body.site-shell .theme-index-card::before { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; z-index: 4; pointer-events: none; opacity: 0; background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%); transform: skewX(-18deg); } @media (hover: hover) and (pointer: fine) { body.site-shell .poster-card:hover, body.site-shell .topic-card:hover, body.site-shell .theme-index-card:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 24px rgba(236, 35, 127, 0.3); } body.site-shell .poster-card:hover .poster-cover-img, body.site-shell .topic-card:hover .topic-card-image, body.site-shell .theme-index-card:hover > img { transform: scale(1.08); } body.site-shell .poster-card:hover .poster-cover::before, body.site-shell .topic-card:hover::before, body.site-shell .theme-index-card:hover::before { animation: site-card-shine 850ms ease forwards; } } body.site-shell .poster-card:focus-visible, body.site-shell .topic-card:focus-visible, body.site-shell .theme-index-card:focus-visible { transform: translateY(-6px); outline: none; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 24px rgba(236, 35, 127, 0.3); } body.site-shell .poster-card:focus-visible .poster-cover-img, body.site-shell .topic-card:focus-visible .topic-card-image, body.site-shell .theme-index-card:focus-visible > img { transform: scale(1.08); } @media (prefers-reduced-motion: reduce) { body.site-shell .poster-card, body.site-shell .topic-card, body.site-shell .theme-index-card, body.site-shell .poster-cover-img, body.site-shell .topic-card-image, body.site-shell .theme-index-card > img { transition-duration: 0.01ms; } body.site-shell .poster-card:hover, body.site-shell .topic-card:hover, body.site-shell .theme-index-card:hover, body.site-shell .poster-card:focus-visible, body.site-shell .topic-card:focus-visible, body.site-shell .theme-index-card:focus-visible, body.site-shell .poster-card:hover .poster-cover-img, body.site-shell .topic-card:hover .topic-card-image, body.site-shell .theme-index-card:hover > img, body.site-shell .poster-card:focus-visible .poster-cover-img, body.site-shell .topic-card:focus-visible .topic-card-image, body.site-shell .theme-index-card:focus-visible > img { transform: none; } body.site-shell .poster-card:hover .poster-cover::before, body.site-shell .topic-card:hover::before, body.site-shell .theme-index-card:hover::before { animation: none; } } /* 跑马灯里的官方地址链接 */ .home-page .home-announcement-link { color: #EC237F; text-decoration: none; } .home-page .home-announcement-link:hover { text-decoration: underline; }