Files
web_hghl_h5/src/app/globals.css
T
谢宇宁andClaude Opus 5.5 61d0a11dfa Initial commit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-26 17:51:31 +07:00

419 lines
12 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@import "tailwindcss";
@import "@heroui/styles";
@theme inline {
--font-sans: var(--font-geist-sans);
--font-mono: var(--font-geist-mono);
}
/* HeroUI 深色主题对齐站点主色(toast / select 等组件共用) */
.dark,
[data-theme="dark"] {
--accent: #f12b9e;
--accent-foreground: #ffffff;
--focus: #f12b9e;
--background: #07060d;
--surface: #171424;
--surface-foreground: #ffffff;
--overlay: #1a1628;
--overlay-foreground: #ffffff;
--muted: #948ca8;
--success: #3dd68c;
--danger: #ff5c6e;
}
body {
background: #07060d;
color: #ffffff;
font-family: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;
}
/* 搜索框:不参与 scroll-padding / 滚动锚定,避免输入时页面跳动 */
.site-search-input {
scroll-margin: 0;
overflow-anchor: none;
}
[data-component="site-header"] form[role="search"] {
scroll-margin: 0;
overflow-anchor: none;
}
/* 深色搜索框:取消浏览器 autocomplete / autofill 灰蓝底 */
.site-search-input:-webkit-autofill,
.site-search-input:-webkit-autofill:hover,
.site-search-input:-webkit-autofill:focus,
.site-search-input:-webkit-autofill:active {
-webkit-text-fill-color: #ffffff !important;
caret-color: #ffffff;
border-color: transparent !important;
/* 延后 UA 写入背景,视觉上保持透明 */
transition: background-color 99999s ease-in-out 0s;
box-shadow: 0 0 0px 1000px transparent inset !important;
-webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
background-color: transparent !important;
background-image: none !important;
}
/* Toast 视觉贴近站点深色浮层 */
.toast-region {
z-index: 80;
}
.toast {
border: 1px solid rgba(255, 255, 255, 0.08);
background: #1a1628;
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}
.toast__title {
color: #f2f2fa;
}
.toast__description {
color: #a3a3b8;
}
.toast--success .toast__title,
.toast--success .toast__indicator {
color: #3dd68c;
}
.toast--danger .toast__title,
.toast--danger .toast__indicator {
color: #ff8fa8;
}
.toast--accent .toast__title,
.toast--accent .toast__indicator {
color: #f12b9e;
}
/*
* PC 缩放区文案:.design-frame / [data-pc-scale] 内
* 字号/行高 × --page-unscale,抵消 page-scale zoom,窗口缩小时视觉大小不变。
*/
:is([data-pc-scale], .design-frame) {
--_u: var(--page-unscale, 1);
}
:is([data-pc-scale], .design-frame) .text-\[10px\] {
font-size: calc(10px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-xs {
font-size: calc(12px * var(--_u)) !important;
line-height: calc(16px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-sm {
font-size: calc(14px * var(--_u)) !important;
line-height: calc(20px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-base {
font-size: calc(16px * var(--_u)) !important;
line-height: calc(24px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-lg {
font-size: calc(18px * var(--_u)) !important;
line-height: calc(28px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-xl {
font-size: calc(20px * var(--_u)) !important;
line-height: calc(28px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-2xl {
font-size: calc(24px * var(--_u)) !important;
line-height: calc(32px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[22px\] {
font-size: calc(22px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[28px\] {
font-size: calc(28px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[29px\] {
font-size: calc(29px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[30px\] {
font-size: calc(30px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[32px\] {
font-size: calc(32px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[34px\] {
font-size: calc(34px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[40px\] {
font-size: calc(40px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .text-\[44px\] {
font-size: calc(44px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-none {
line-height: 1 !important;
}
:is([data-pc-scale], .design-frame) .leading-4 {
line-height: calc(16px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-5 {
line-height: calc(20px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-6 {
line-height: calc(24px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-7 {
line-height: calc(28px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-8 {
line-height: calc(32px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-9 {
line-height: calc(36px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-10 {
line-height: calc(40px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[18px\] {
line-height: calc(18px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[21px\] {
line-height: calc(21px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[22px\] {
line-height: calc(22px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[23px\] {
line-height: calc(23px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[26px\] {
line-height: calc(26px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[30px\] {
line-height: calc(30px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[33px\] {
line-height: calc(33px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[34px\] {
line-height: calc(34px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[42px\] {
line-height: calc(42px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[44px\] {
line-height: calc(44px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[47px\] {
line-height: calc(47px * var(--_u)) !important;
}
:is([data-pc-scale], .design-frame) .leading-\[59px\] {
line-height: calc(59px * var(--_u)) !important;
}
/* PC 卡片文案:字号 × --page-unscale,抵消 design-frame zoom,缩小窗口时视觉大小不变 */
.media-card-title {
font-size: calc(24px * var(--page-unscale, 1));
line-height: calc(32px * var(--page-unscale, 1));
/* 必须 overflow:hidden,否则 truncate 省略号在部分浏览器不生效 */
overflow: hidden;
}
.media-card-title-md {
font-size: calc(20px * var(--page-unscale, 1));
line-height: calc(28px * var(--page-unscale, 1));
overflow: hidden;
}
.media-card-title-lg {
font-size: calc(32px * var(--page-unscale, 1));
line-height: calc(41px * var(--page-unscale, 1));
overflow: hidden;
}
.media-card-desc {
font-size: calc(14px * var(--page-unscale, 1));
line-height: calc(20px * var(--page-unscale, 1));
overflow: hidden;
}
.media-card-desc-md {
font-size: calc(16px * var(--page-unscale, 1));
line-height: calc(22px * var(--page-unscale, 1));
}
.media-card-desc-sm {
font-size: 12px;
line-height: 18px;
}
.media-card-meta {
font-size: calc(14px * var(--page-unscale, 1));
line-height: calc(20px * var(--page-unscale, 1));
}
.media-card-episodes {
font-size: calc(14px * var(--page-unscale, 1));
line-height: calc(20px * var(--page-unscale, 1));
}
/* H5 窄卡:标签 / 热度 12px(H5 无 page-scale) */
.media-card-meta-sm {
font-size: 12px;
line-height: 18px;
}
/*
* 样式 H 封面/榜单文案:× --page-unscale,不参与 design-frame zoom 缩小。
* 卡面需 overflow-hidden + 截断,避免反缩放后长文案撑破。
*/
.style-h-board-title {
font-size: calc(32px * var(--page-unscale, 1));
line-height: calc(42px * var(--page-unscale, 1));
}
.style-h-board-sub {
font-size: calc(16px * var(--page-unscale, 1));
line-height: calc(22px * var(--page-unscale, 1));
}
.style-h-board-item-title {
font-size: calc(24px * var(--page-unscale, 1));
line-height: calc(32px * var(--page-unscale, 1));
}
.style-h-board-item-heat {
font-size: calc(14px * var(--page-unscale, 1));
line-height: calc(20px * var(--page-unscale, 1));
}
/* --page-scale is written by the page-scale script in app/layout.tsx (viewport width / 1920, capped at 1, and 1 below the lg breakpoint), along with its reciprocal --page-unscale. */
.design-frame {
width: 1700px;
margin-inline: auto;
zoom: var(--page-scale, 1);
}
/* Cancels the .design-frame zoom so the element keeps its design size. */
.design-unscaled {
zoom: var(--page-unscale, 1);
}
.design-gutter {
padding-inline: max(24px, 50% - 850px * var(--page-scale, 1));
}
.xg-theme.xgplayer {
background: #000;
}
/* QQ / 夸克 / UC:隐藏原生 media controls,强制走 xgplayer 控件 */
html.is-cn-browser .xg-theme.xgplayer video::-webkit-media-controls {
display: none !important;
}
html.is-cn-browser .xg-theme.xgplayer video::-webkit-media-controls-enclosure {
display: none !important;
}
html.is-cn-browser .xg-theme.xgplayer video::-webkit-media-controls-panel {
display: none !important;
}
html.is-cn-browser .xg-theme.xgplayer video::-webkit-media-controls-start-playback-button {
display: none !important;
-webkit-appearance: none;
}
html.is-cn-browser .xg-theme.xgplayer.xgplayer-is-cssfullscreen {
position: fixed !important;
inset: 0 !important;
width: 100vw !important;
height: 100vh !important;
height: var(--app-vh, 100dvh) !important;
max-width: none !important;
max-height: none !important;
z-index: 200 !important;
border-radius: 0 !important;
}
.xg-theme.xgplayer .xgplayer-loading svg path,
.xg-theme.xgplayer .xgplayer-loading svg .path {
stroke: #f12b9e;
}
.xg-theme.xgplayer .xgplayer-start,
.xg-theme.xgplayer.xgplayer-mobile .xgplayer-start {
width: 72px;
height: 72px;
background: transparent;
transition: transform 0.2s ease, opacity 0.2s ease, filter 0.2s ease;
}
.xg-theme.xgplayer .xgplayer-start:hover {
opacity: 1;
transform: translate(-50%, -50%) scale(1.06);
filter: drop-shadow(0 0 12px rgb(241 43 158 / 0.35));
}
.xg-theme.xgplayer .xgplayer-start:active {
transform: translate(-50%, -50%) scale(0.96);
}
.xg-theme.xgplayer .xgplayer-start xg-start-inner {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
border-radius: 9999px;
background: transparent;
overflow: hidden;
}
.xg-theme.xgplayer .xgplayer-start img,
.xg-theme.xgplayer .xgplayer-start svg {
display: block;
width: 100%;
height: 100%;
object-fit: contain;
pointer-events: none;
}
@media (max-width: 1023px) {
.xg-theme.xgplayer .xgplayer-start,
.xg-theme.xgplayer.xgplayer-mobile .xgplayer-start {
width: 64px;
height: 64px;
}
}
.xg-theme.xgplayer .xgplayer-drag,
.xg-theme.xgplayer .xgplayer-progress-played,
.xg-theme.xgplayer .xgplayer-switch-active {
background: #f12b9e;
}
.xg-theme.xgplayer .xgplayer-playbackrate ul li.selected,
.xg-theme.xgplayer .xgplayer-definition ul li.selected {
color: #f12b9e;
}
@keyframes notice-marquee {
from {
transform: translateX(0);
}
to {
transform: translateX(-50%);
}
}
.notice-marquee-track {
/* duration 由组件按内容宽度写入,保证线速度恒定 */
animation: notice-marquee 12s linear infinite;
}
.ad-icon-marquee-track {
/* duration 由组件按内容宽度写入,保证线速度恒定;从右向左无缝滚动 */
animation: notice-marquee 20s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
.notice-marquee-track,
.ad-icon-marquee-track {
animation: none;
}
}