Initial commit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
谢宇宁
2026-09-29 11:47:47 +07:00
co-authored by Claude Opus 5.5
commit 0fbdba5ccf
622 changed files with 72105 additions and 0 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2
View File
File diff suppressed because one or more lines are too long
+298
View File
@@ -0,0 +1,298 @@
function imgEncrypt(buffer) {
var bytes = new Uint8Array(buffer);
var encoder = new TextEncoder();
var KEY = encoder.encode('2019ysapp7527');
for (var i = 0; i < Math.min(100, bytes.length); i++) {
bytes[i] ^= KEY[i % KEY.length];
}
var mime = 'image/jpeg';
if (bytes[0] === 0x47 && bytes[1] === 0x49 && bytes[2] === 0x46 && bytes[3] === 0x38) {
mime = 'image/gif';
} else if (bytes[0] === 0x89 && bytes[1] === 0x50 && bytes[2] === 0x4e && bytes[3] === 0x47) {
mime = 'image/png';
} else if (
bytes[0] === 0x52 && bytes[1] === 0x49 && bytes[2] === 0x46 && bytes[3] === 0x46 &&
bytes[8] === 0x57 && bytes[9] === 0x45 && bytes[10] === 0x42 && bytes[11] === 0x50
) {
mime = 'image/webp';
}
var blob = new Blob([bytes], {
type: mime,
});
return URL.createObjectURL(blob);
}
var IMG_PLACEHOLDER = '/static/images/placeholder.png?v=2';
var lazyImageObserver = null;
var decryptedURLCache = Object.create(null);
var decryptInflight = Object.create(null);
var decryptQueue = [];
var decryptActive = 0;
// H5 弱网降低并发,优先完成 LCP 主图;PC 保持 4
var DECRYPT_CONCURRENCY =
window.matchMedia && window.matchMedia("(max-width: 767px)").matches ? 2 : 4;
function shouldDecryptImage(url) {
if (!url) return false;
var u = String(url).trim();
if (!u) return false;
if (u.indexOf('data:') === 0 || u.indexOf('blob:') === 0) return false;
if (u.indexOf('/static/') === 0) return false;
if (u.indexOf('placehold.co') >= 0) return false;
return true;
}
function applyImageResult(dom, type, url) {
if (!dom || !url) return;
if (type === 'bgImg') {
dom.style.setProperty('background-image', 'url("' + url + '")');
} else if (type === 'coverVar') {
dom.style.setProperty('--cover', 'url("' + url + '")');
} else {
dom.src = url;
}
}
function applyPlaceholder(dom, type, fallback) {
var url = fallback || IMG_PLACEHOLDER;
applyImageResult(dom, type, url);
if (dom && dom.setAttribute) {
dom.setAttribute('data-decrypt-failed', '1');
}
}
function fetchDecrypt(url, priority) {
if (decryptedURLCache[url]) {
return Promise.resolve(decryptedURLCache[url]);
}
if (decryptInflight[url]) {
return decryptInflight[url];
}
decryptInflight[url] = new Promise(function (resolve, reject) {
var run = function () {
decryptActive += 1;
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function () {
decryptActive -= 1;
pumpDecryptQueue();
if (xhr.status !== 200) {
reject(xhr.status);
return;
}
try {
var buffer = xhr.response;
if (!buffer || !buffer.byteLength) {
reject('empty');
return;
}
var blobUrl = imgEncrypt(buffer);
if (!blobUrl) {
reject('decrypt');
return;
}
decryptedURLCache[url] = blobUrl;
resolve(blobUrl);
} catch (err) {
reject(err || 'decrypt');
}
};
xhr.onerror = function () {
decryptActive -= 1;
pumpDecryptQueue();
reject('network');
};
xhr.send();
};
if (decryptActive < DECRYPT_CONCURRENCY) {
run();
} else if (priority) {
decryptQueue.unshift(run);
} else {
decryptQueue.push(run);
}
});
decryptInflight[url].then(
function () { delete decryptInflight[url]; },
function () { delete decryptInflight[url]; }
);
return decryptInflight[url];
}
function pumpDecryptQueue() {
while (decryptActive < DECRYPT_CONCURRENCY && decryptQueue.length) {
var next = decryptQueue.shift();
if (typeof next === 'function') next();
}
}
function isAvatarLazyNode(node) {
if (!node || !node.classList) return false;
return (
node.classList.contains('user-chip__avatar') ||
node.classList.contains('user-menu__avatar') ||
node.classList.contains('drawer__avatar') ||
node.classList.contains('play-composer__avatar-img') ||
node.classList.contains('play-comment__avatar')
);
}
function processImage(url, dom, type, fallback) {
if (!url || !dom) {
return Promise.resolve('');
}
var placeholder = fallback || IMG_PLACEHOLDER;
if (!shouldDecryptImage(url)) {
applyImageResult(dom, type, url);
if (dom.tagName === 'IMG') {
dom.onerror = function () {
dom.onerror = null;
applyPlaceholder(dom, type, placeholder);
};
}
return Promise.resolve(url);
}
var priority =
!!dom &&
(dom.getAttribute('fetchpriority') === 'high' ||
dom.getAttribute('data-lazy-eager') === '1' ||
isAvatarLazyNode(dom));
return fetchDecrypt(url, priority)
.then(function (blobUrl) {
applyImageResult(dom, type, blobUrl);
if (dom.tagName === 'IMG') {
dom.onerror = function () {
dom.onerror = null;
applyPlaceholder(dom, type, placeholder);
};
}
return blobUrl;
})
.catch(function () {
applyPlaceholder(dom, type, placeholder);
return '';
});
}
function loadLazyNode(node) {
if (!node || node.getAttribute('data-decrypted') === '1') {
return;
}
var src = node.getAttribute('data-src');
var isCoverVar =
node.classList &&
(node.classList.contains('card__cover') ||
node.classList.contains('series-card__cover') ||
node.classList.contains('series-list-card__cover') ||
node.classList.contains('rank-card__cover') ||
node.classList.contains('play-player'));
if (!src) {
if (isCoverVar) {
applyPlaceholder(node, 'coverVar');
node.setAttribute('data-decrypted', '1');
}
return;
}
node.setAttribute('data-decrypted', '1');
if (isCoverVar) {
if (!node.style.getPropertyValue('--cover')) {
applyPlaceholder(node, 'coverVar');
}
processImage(src, node, 'coverVar');
return;
}
if (node.tagName === 'IMG') {
if (!node.getAttribute('src')) {
node.src = IMG_PLACEHOLDER;
}
processImage(src, node, 'img', node.getAttribute('data-fallback'));
return;
}
if (node.classList && node.classList.contains('blog-background')) {
processImage(src, node, 'bgImg');
}
}
function getLazyImageObserver() {
if (lazyImageObserver) {
return lazyImageObserver;
}
if (!('IntersectionObserver' in window)) {
return null;
}
lazyImageObserver = new IntersectionObserver(
function (entries) {
entries.forEach(function (entry) {
if (!entry.isIntersecting) {
return;
}
var node = entry.target;
lazyImageObserver.unobserve(node);
loadLazyNode(node);
});
},
{
rootMargin: '180px 0px',
threshold: 0.01,
}
);
return lazyImageObserver;
}
function observeLazyNode(node, eager) {
if (!node || node.getAttribute('data-decrypted') === '1') {
return;
}
if (
eager ||
node.getAttribute('fetchpriority') === 'high' ||
node.getAttribute('data-lazy-eager') === '1'
) {
loadLazyNode(node);
return;
}
var observer = getLazyImageObserver();
if (!observer) {
loadLazyNode(node);
return;
}
observer.observe(node);
}
function initLazyImages(root, options) {
root = root || document;
options = options || {};
var eager = !!options.eager;
root.querySelectorAll('img[data-src]:not([data-decrypted]):not([data-hero-poster])').forEach(function (img) {
observeLazyNode(img, eager);
});
root.querySelectorAll('.blog-background.lazy[data-src]:not([data-decrypted])').forEach(function (node) {
observeLazyNode(node, eager);
});
root.querySelectorAll('.card__cover.lazy[data-src]:not([data-decrypted]), .series-card__cover.lazy[data-src]:not([data-decrypted]), .series-list-card__cover.lazy[data-src]:not([data-decrypted]), .rank-card__cover.lazy[data-src]:not([data-decrypted]), .search-card__cover.lazy[data-src]:not([data-decrypted]), .play-player.lazy[data-src]:not([data-decrypted])').forEach(function (node) {
observeLazyNode(node, eager);
});
}
document.addEventListener('DOMContentLoaded', function () {
initLazyImages();
});
window.initLazyImages = initLazyImages;
window.__lazyLoadImages = initLazyImages;
window.loadLazyNode = loadLazyNode;
window.processImage = processImage;
window.imgEncrypt = imgEncrypt;
window.shouldDecryptImage = shouldDecryptImage;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+452
View File
@@ -0,0 +1,452 @@
/* About page: mobile frame 375 × 1779 in Figma. */
@media (max-width: 768px) {
body.about-page {
overflow-x: hidden;
padding-top: 0;
background: #0b0b0d;
}
.about-page .site-header {
display: none;
}
.about-page .page-subheader {
display: flex;
background: #0b0b0d;
border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.about-main {
width: 100%;
padding-top: 56px;
}
.about-intro,
.about-story,
.about-features,
.about-app {
width: 100%;
box-sizing: border-box;
}
.about-intro {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
padding: 24px 16px 8px;
}
.about-intro__heading {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
width: 100%;
padding: 0;
}
.about-kicker,
.about-app__kicker {
display: inline-flex;
align-items: center;
gap: 10px;
min-height: 18px;
margin: 0;
color: #ff4a7b;
font-size: 13px;
font-weight: 500;
line-height: 18px;
letter-spacing: .12em;
}
.about-kicker__bar {
display: block;
width: 18px;
height: 2px;
flex: none;
background: #ec237f;
}
.about-intro__title {
margin: 0;
color: #f2f2f4;
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.about-intro__subtitle {
margin: 0;
color: #a1a1aa;
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.about-story {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 12px;
padding: 0;
}
.about-story__visual {
order: -1;
overflow: hidden;
width: 100%;
height: auto;
aspect-ratio: 343 / 220;
margin-bottom: 4px;
border: 1px solid rgba(255, 255, 255, .07);
border-radius: 12px;
box-sizing: border-box;
}
.about-story__visual img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.about-story__copy {
display: contents;
}
.about-story__paragraph {
margin: 0;
color: #a1a1aa;
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.about-story__paragraph--desktop {
display: none;
}
.about-story__paragraph--mobile {
display: block;
}
.about-story__slogan {
margin: 0;
color: #ff4a7b;
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.about-story__tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.about-story__tag {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 30px;
padding: 0 12px;
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 999px;
box-sizing: border-box;
color: #a1a1aa;
font-size: 12px;
line-height: 18px;
}
.about-features {
display: flex;
flex-direction: column;
gap: 10px;
padding: 12px 16px 8px;
}
.about-features__heading {
display: flex;
align-items: baseline;
gap: 10px;
min-height: 0;
margin-bottom: 0;
}
.about-features__title {
margin: 0;
color: #f2f2f4;
font-size: 18px;
font-weight: 600;
line-height: 26px;
}
.about-features__subtitle {
color: #7c7c86;
font-size: 12px;
line-height: 18px;
}
.about-features__grid {
display: flex;
flex-direction: column;
gap: 10px;
}
.about-feature {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 14px;
min-width: 0;
min-height: 0;
padding: 16px;
border: 1px solid rgba(255, 255, 255, .07);
border-radius: 12px;
box-sizing: border-box;
background: #1b1b1f;
}
.about-feature__number {
flex: none;
background: linear-gradient(180deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
font-family: Inter, Arial, sans-serif;
font-size: 40px;
font-weight: 700;
line-height: 40px;
letter-spacing: -.03em;
}
.about-feature__copy {
display: flex;
flex: 1;
flex-direction: column;
gap: 4px;
min-width: 0;
}
.about-feature__title {
margin: 0;
color: #f2f2f4;
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.about-feature__description {
margin: 0;
color: #a1a1aa;
font-size: 13px;
font-weight: 400;
line-height: 20px;
}
.about-app {
padding: 8px 16px 24px;
}
.about-app__card {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 12px;
min-height: 0;
padding: 20px;
border: 1px solid rgba(255, 255, 255, .07);
border-radius: 16px;
box-sizing: border-box;
background: linear-gradient(135deg, #2a0d22 15%, #150a17 57%, #141417 85%);
}
.about-app__copy {
display: contents;
}
.about-app__title {
margin: 0;
color: #f2f2f4;
font-size: 18px;
font-weight: 600;
line-height: 26px;
}
.about-app__desc-desktop,
.about-app__note-desktop,
.about-app__qr,
.about-app__button--android {
display: none;
}
.about-app__desc-mobile {
display: block;
margin: 0;
color: #a1a1aa;
font-size: 13px;
line-height: 20px;
}
.about-app__actions {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
width: 100%;
flex: 0 0 auto;
}
.about-app__button {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
height: 48px;
padding: 0 22px;
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 999px;
box-sizing: border-box;
background: rgba(11, 11, 13, .72);
color: #f2f2f4;
font-size: 15px;
font-weight: 500;
line-height: 22px;
text-decoration: none;
}
.about-app__button.is-primary {
border-color: transparent;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
}
.about-app__button.about-app__button--android {
display: none;
}
.about-app__button-label-desktop {
display: none;
}
.about-app__button-label-mobile {
display: inline;
}
.about-app__button img,
.about-app__button .icon {
width: 20px;
height: 20px;
}
.about-app__recommendation {
position: absolute;
top: -8px;
right: -5px;
height: 20px;
padding: 0 7px;
border-radius: 999px;
background: #fff;
color: #ff4a7b;
font-size: 11px;
font-weight: 500;
line-height: 20px;
}
.about-app__note-mobile {
display: block;
margin: 0;
color: #7c7c86;
font-size: 11px;
line-height: 16px;
}
/* Reuse the common footer and arrange its existing links like the mobile frame. */
.about-page .site-footer {
background: #141417;
}
.about-page .site-footer__inner {
padding: 32px 16px 28px;
gap: 18px;
}
.about-page .site-footer__brand {
gap: 18px;
}
.about-page .site-footer__links {
flex-wrap: wrap;
gap: 12px 16px;
}
.about-page .footer-col {
flex-wrap: nowrap;
}
.about-page .footer-col:first-child,
.about-page .footer-col:nth-child(2) a:last-child,
.about-page .footer-col:nth-child(3) a:last-child {
display: none;
}
.about-page .footer-download {
display: flex;
flex-basis: 100%;
justify-content: center;
padding: 0;
border: 0;
background: none;
}
.about-page .footer-download .qr-box,
.about-page .footer-download__copy strong,
.about-page .footer-download__copy p,
.about-page .footer-download__copy .icon {
display: none;
}
.about-page .footer-download .btn {
height: 20px;
padding: 0;
color: #a1a1aa;
background: none;
font-size: 13px;
line-height: 20px;
}
.about-page .site-footer__rule {
display: none;
}
.about-page .site-footer__legal {
flex-direction: column;
justify-content: flex-start;
align-items: center;
gap: 0;
}
.about-page .site-footer__legal p:first-child {
order: 2;
width: 100%;
padding-top: 16px;
margin-top: 16px;
border-top: 1px solid rgba(255, 255, 255, .07);
}
.about-page .site-footer__legal p:last-child {
order: 1;
}
.about-page .site-footer__adult,
.about-page .site-footer__rights {
display: none;
}
.about-page .site-footer__mobile-adult {
display: inline;
}
}
+415
View File
@@ -0,0 +1,415 @@
/* 关于我们:1440px 桌面稿。各区块限制在公共 1200px 内容宽度内。 */
.about-page {
min-height: 100vh;
padding-top: 72px;
background: var(--bg);
}
.about-page .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.about-page .site-header__login {
display: inline-flex;
align-items: center;
justify-content: center;
height: 40px;
padding-inline: 16px;
border-radius: 999px;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.about-main {
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
}
.about-intro {
display: block;
}
.about-intro__heading {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
padding: 64px 0 16px;
}
.about-kicker,
.about-app__kicker {
display: inline-flex;
align-items: center;
gap: 10px;
min-height: 18px;
margin: 0;
color: var(--accent-hot);
font-size: 13px;
font-weight: 500;
line-height: 18px;
letter-spacing: .12em;
}
.about-kicker__bar {
width: 18px;
height: 2px;
flex: 0 0 18px;
background: var(--accent);
}
.about-intro__title {
max-width: 900px;
margin: 0;
color: var(--text);
font-size: 40px;
font-weight: 600;
line-height: 50px;
letter-spacing: -.01em;
}
.about-intro__subtitle {
margin: 0;
color: var(--text-muted);
font-size: 18px;
font-weight: 400;
line-height: 30px;
}
.about-story {
display: grid;
grid-template-columns: minmax(0, 624fr) minmax(0, 520fr);
align-items: start;
gap: 56px;
padding: 24px 0;
}
.about-story__copy {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
min-width: 0;
}
.about-story__paragraph {
width: 100%;
margin: 0;
color: var(--text-muted);
font-size: 16px;
font-weight: 400;
line-height: 26px;
}
.about-story__paragraph--mobile {
display: none;
}
.about-story__slogan {
margin: 0;
color: var(--accent-hot);
font-size: 18px;
font-weight: 600;
line-height: 26px;
}
.about-story__tags {
display: flex;
flex-wrap: wrap;
gap: 10px;
width: 100%;
}
.about-story__tag {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 34px;
padding-inline: 14px;
border: 1px solid var(--line);
border-radius: 999px;
color: var(--text-muted);
font-size: 13px;
font-weight: 400;
line-height: 20px;
white-space: nowrap;
}
.about-story__visual {
width: 100%;
aspect-ratio: 13 / 9;
overflow: hidden;
border: 1px solid var(--line-soft);
border-radius: 20px;
background: var(--bg-panel);
}
.about-story__visual > img {
width: 100%;
height: 100%;
object-fit: cover;
}
.about-features {
padding: 24px 0 16px;
}
.about-features__heading {
display: flex;
align-items: center;
gap: 14px;
min-height: 30px;
margin-bottom: 24px;
}
.about-features__title {
margin: 0;
color: var(--text);
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.about-features__subtitle {
margin: 0;
color: var(--text-dim);
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.about-features__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}
.about-feature {
display: flex;
flex-direction: column;
gap: 12px;
min-width: 0;
min-height: 192px;
padding: 28px;
border: 1px solid var(--line-soft);
border-radius: 16px;
background: var(--bg-panel);
}
.about-feature__number {
display: block;
width: fit-content;
background: linear-gradient(180deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
background-clip: text;
color: transparent;
font-family: Inter, var(--font);
font-size: 40px;
font-weight: 700;
line-height: 40px;
letter-spacing: -.03em;
-webkit-background-clip: text;
}
.about-feature__title {
margin: 0;
color: var(--text);
font-size: 20px;
font-weight: 600;
line-height: 28px;
}
.about-feature__copy {
display: flex;
flex-direction: column;
gap: 12px;
}
.about-feature__description {
margin: 0;
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.about-app {
padding: 16px 0 48px;
}
.about-app__card {
display: flex;
align-items: center;
gap: 20px;
min-height: 216px;
padding: 28px 32px;
border: 1px solid var(--line-soft);
border-radius: 20px;
background: linear-gradient(90deg, #2a0d22 0%, #150a17 60%, #141417 100%);
}
.about-app__copy {
display: flex;
flex: 1 1 auto;
flex-direction: column;
align-items: flex-start;
gap: 8px;
min-width: 0;
}
.about-app__title {
margin: 0;
color: var(--text);
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.about-app__desc-desktop,
.about-app__desc-mobile,
.about-app__note-desktop,
.about-app__note-mobile {
margin: 0;
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.about-app__note-desktop,
.about-app__note-mobile {
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.about-app__desc-mobile,
.about-app__note-mobile,
.about-app__button-label-mobile {
display: none;
}
.about-app__qr {
width: 108px;
height: 108px;
flex: 0 0 108px;
padding: 6px;
border-radius: 12px;
background: #fff;
}
.about-app__qr > img {
width: 96px;
height: 96px;
object-fit: contain;
}
.about-app__actions {
display: flex;
flex: 0 0 220px;
flex-direction: column;
gap: 8px;
width: 220px;
}
.about-app__button {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
height: 48px;
padding-inline: 22px;
border: 1px solid rgba(255, 255, 255, .24);
border-radius: 999px;
color: var(--text);
font-size: 15px;
font-weight: 500;
line-height: 22px;
white-space: nowrap;
}
.about-app__button.is-primary {
border-color: transparent;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
}
.about-app__button img,
.about-app__button svg {
width: 20px;
height: 20px;
flex: 0 0 20px;
}
.about-app__recommendation {
position: absolute;
top: -8px;
right: -5px;
display: inline-flex;
align-items: center;
justify-content: center;
height: 20px;
padding-inline: 7px;
border-radius: 999px;
background: #fff;
color: var(--accent-hot);
font-size: 11px;
font-weight: 500;
line-height: 14px;
}
.about-app__button:hover {
filter: brightness(1.1);
}
.about-app__button:focus-visible,
.about-page .site-header__login:focus-visible {
outline: 2px solid var(--accent-hot);
outline-offset: 3px;
}
/* 页尾内容沿用公共组件,桌面稿的两段法律文案分列两端。 */
.about-page .site-footer__legal {
flex-direction: row;
justify-content: space-between;
gap: 24px;
}
@media (min-width: 769px) {
.about-page .site-footer__rule {
margin-top: 8px;
}
}
@media (min-width: 769px) and (max-width: 1199px) {
.about-page .site-header {
height: 72px;
padding-block: 0;
flex-wrap: nowrap;
}
.about-page .site-header__left,
.about-page .site-header__right {
width: auto;
}
.about-page .site-header .search {
width: min(260px, 30vw);
}
.about-story {
gap: clamp(24px, 4vw, 56px);
}
}
@media (min-width: 769px) and (max-width: 1100px) {
.about-page .site-header .nav {
display: none;
}
}
+72
View File
@@ -0,0 +1,72 @@
/* 与「我的收藏」一致的账户列表空状态。 */
/* 空态时仍保持与个人中心同宽的主栏,避免筛选条贴到视口左缘。 */
.account-empty {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
width: 100%;
padding: 96px 16px;
font-size: 14px;
line-height: 22px;
text-align: center;
}
.account-empty[hidden] { display: none !important; }
.account-empty__icon {
display: flex;
align-items: center;
justify-content: center;
width: 96px;
height: 96px;
flex: 0 0 96px;
border: 1px solid var(--line);
border-radius: 50%;
background: #1b1b1f;
}
.account-empty__icon img { width: 40px; height: 40px; }
.account-empty__title {
margin: 0;
color: var(--text);
font-size: 20px;
font-weight: 600;
line-height: 28px;
}
.account-empty__description {
margin: 0;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.account-empty__description-mobile { display: none; }
.account-empty__action {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 147px;
height: 48px;
border-radius: 999px;
background: linear-gradient(105deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
color: #fff;
font-size: 14px;
font-weight: 600;
line-height: 20px;
white-space: nowrap;
}
.account-empty__action img { width: 20px; height: 20px; }
.account-empty__action:focus-visible { outline: 2px solid var(--accent-hot); outline-offset: 3px; }
@media (max-width: 768px) {
.account-empty { padding: 48px 16px; }
.account-empty__description-desktop { display: none; }
.account-empty__description-mobile { display: inline; }
}
+2
View File
@@ -0,0 +1,2 @@
/* 兼容旧缓存:请使用 promo.css。夸克会拦截 ads.css / .ads / .ad-slot */
@import url("./promo.css?v=1");
+772
View File
@@ -0,0 +1,772 @@
/* 全局变量与公共样式 */
:root {
--bg: #0b0b0d;
--bg-elevated: #141417;
--bg-panel: #1b1b1f;
--text: #f2f2f4;
--text-muted: #a1a1aa;
--text-dim: #7c7c86;
--accent: #ec237f;
--accent-hot: #ff4a7b;
--accent-deep: #93226f;
--gold: #e9c977;
--line: rgba(255, 255, 255, 0.12);
--line-soft: rgba(255, 255, 255, 0.07);
--page-width: 1200px;
--hero-width: 1440px;
--h5-gutter: 16px;
--radius-sm: 8px;
--radius-md: 12px;
--radius-lg: 16px;
--radius-xl: 20px;
--font: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
--scrollbar-size: 8px;
--scrollbar-track: #0a0a0a;
--scrollbar-thumb: #3a3a3a;
--scrollbar-thumb-hover: #4a4a4a;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
min-height: 100%;
background: #0b0b0d;
color: var(--text);
font-family: var(--font);
overflow-x: hidden;
scrollbar-width: thin;
scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}
/* 公共滚动条 */
::-webkit-scrollbar {
width: var(--scrollbar-size);
height: var(--scrollbar-size);
}
::-webkit-scrollbar-track {
background: var(--scrollbar-track);
}
::-webkit-scrollbar-thumb {
background: var(--scrollbar-thumb);
border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--scrollbar-thumb-hover);
}
/* 横滑 / 纵滑区域 */
.scroll-x,
.scroll-y,
[data-scroll="x"],
[data-scroll="y"] {
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
}
.scroll-x {
overflow-x: auto;
overflow-y: hidden;
}
.scroll-y {
overflow-x: hidden;
overflow-y: auto;
}
/* 隐藏滚动条但仍可滚动 */
.scroll-hidden {
scrollbar-width: none;
}
.scroll-hidden::-webkit-scrollbar {
display: none;
}
a {
color: inherit;
text-decoration: none;
}
button {
font: inherit;
color: inherit;
background: none;
border: 0;
padding: 0;
cursor: pointer;
}
img {
display: block;
max-width: 100%;
}
/* Page shell — 整体居中 */
.page {
width: min(100%, var(--page-width));
margin: 0 auto;
background: var(--bg);
overflow: hidden;
display: flex;
flex-direction: column;
}
.icon {
width: 18px;
height: 18px;
flex-shrink: 0;
object-fit: contain;
}
.icon--sm {
width: 16px;
height: 16px;
}
/* Buttons */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
height: 40px;
padding: 0 16px;
border-radius: 999px;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
transition: opacity 0.2s ease, transform 0.2s ease;
}
.btn:hover {
opacity: 0.92;
}
.btn--primary {
color: #fff;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.btn--ghost {
color: var(--text);
background: rgba(11, 11, 13, 0.72);
border: 1px solid var(--line);
}
.btn--outline {
color: var(--text);
border: 1px solid rgba(255, 255, 255, 0.24);
}
.btn--lg {
height: 56px;
padding: 0 28px;
font-size: 16px;
line-height: 24px;
}
.btn--sm {
height: 36px;
padding: 0 12px;
}
.btn--icon {
width: 56px;
height: 56px;
padding: 0;
background: rgba(11, 11, 13, 0.72);
border: 1px solid var(--line);
}
.btn--icon .icon {
width: 22px;
height: 22px;
}
/* Tags / badges */
.tag {
display: inline-flex;
align-items: center;
height: 22px;
padding: 0 8px;
border-radius: 999px;
font-size: 11px;
font-weight: 500;
line-height: 14px;
}
.tag--dark {
background: rgba(11, 11, 13, 0.72);
border: 1px solid var(--line);
}
.badge {
position: absolute;
top: 4px;
right: 4px;
z-index: 1;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 36px;
height: 20px;
padding: 0 8px;
border-radius: 6px;
font-size: 11px;
font-weight: 500;
line-height: 14px;
}
.badge--hot {
color: #fff;
background: var(--accent-deep);
}
.badge--original {
color: #3a2a0a;
background: linear-gradient(135deg, #fadc44 0%, #f9c24e 100%);
}
.badge--fire {
color: #fff;
background: linear-gradient(135deg, #f04050 0%, #d01030 100%);
}
.badge--new {
color: #fff;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.badge--exclusive {
color: #fff;
background: rgba(0, 0, 0, 0.6);
}
.breadcrumb {
display: inline-flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
}
.breadcrumb__item,
.breadcrumb__sep {
color: var(--text-dim);
font-size: 13px;
font-weight: 400;
line-height: 20px;
}
.breadcrumb__item.is-current {
color: var(--text);
}
.breadcrumb__sep {
width: 14px;
height: 14px;
opacity: 0.9;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
margin: 0;
color: var(--accent-hot);
font-size: 13px;
font-weight: 500;
line-height: 18px;
letter-spacing: 1.56px;
}
.eyebrow__bar {
width: 18px;
height: 2px;
background: var(--accent);
}
/* Brand */
.brand {
display: inline-flex;
align-items: center;
}
.brand__logo {
width: 148px;
height: 36px;
object-fit: contain;
}
.brand__logo--lg {
width: 181px;
height: 44px;
}
/* 端适配显隐:默认桌面可见,H5 隐藏;.only-h5 默认隐藏 */
.only-h5 {
display: none !important;
}
@media (max-width: 768px) {
.only-pc {
display: none !important;
}
.only-h5 {
display: flex !important;
}
img.only-h5 {
display: block !important;
}
}
/* H5 子页顶栏:返回 / 标题 / 搜索或分享 */
.page-subheader {
position: fixed;
top: 0;
left: 0;
z-index: 100;
box-sizing: border-box;
width: 100%;
height: 56px;
padding: 0 12px;
align-items: center;
justify-content: space-between;
background: var(--bg);
border-bottom: 1px solid var(--line-soft);
}
.page-subheader__btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 999px;
flex-shrink: 0;
color: var(--text);
background: transparent;
border: 0;
padding: 0;
cursor: pointer;
}
.page-subheader__btn .icon {
width: 22px;
height: 22px;
}
.page-subheader__title {
flex: 1 1 0;
margin: 0;
text-align: center;
color: var(--text);
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.page-subheader--overlay {
background: transparent;
border-bottom-color: transparent;
}
/* Section block */
.block {
padding: 24px 0 8px;
}
.block__head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.block__titles {
display: flex;
align-items: baseline;
gap: 12px;
}
.block__title {
margin: 0;
font-size: 24px;
font-weight: 600;
line-height: 32px;
}
.block__subtitle {
margin: 0;
color: var(--text-muted);
font-size: 14px;
line-height: 20px;
}
.block__more {
display: inline-flex;
align-items: center;
gap: 4px;
color: var(--text-muted);
font-size: 14px;
line-height: 20px;
}
.block__more:hover {
color: var(--text);
}
.tabs {
display: inline-flex;
align-items: center;
gap: 20px;
margin-left: 8px;
}
.tabs__item {
position: relative;
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
padding-bottom: 6px;
}
.tabs__item::after {
content: "";
position: absolute;
left: 50%;
bottom: 0;
width: 16px;
height: 2px;
background: var(--accent);
transform: translateX(-50%);
opacity: 0;
}
.tabs__item.is-active {
color: var(--text);
}
.tabs__item.is-active::after {
opacity: 1;
}
/* Grids & cards */
.grid {
display: grid;
gap: 20px 16px;
}
.grid--6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
.card {
min-width: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.card__cover {
position: relative;
overflow: hidden;
aspect-ratio: 186 / 248;
border-radius: var(--radius-md);
border: 1px solid transparent;
box-shadow: inset 0 0 0 1px var(--line-soft);
isolation: isolate;
background-color: #141417;
background-image:
linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.55) 100%),
var(--cover);
background-position: center, center;
background-size: cover, cover;
background-repeat: no-repeat, no-repeat;
background-clip: padding-box;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* Figma HGW/封面卡:遮罩、播放按钮与文案 */
.card__cover {
transition:
box-shadow 180ms ease,
border-color 180ms ease;
}
.card__cover::before {
position: absolute;
inset: 0;
z-index: 3;
border-radius: inherit;
background: rgba(0, 0, 0, 0.6);
content: "";
opacity: 0;
pointer-events: none;
transition: opacity 180ms ease;
}
.card__cover::after {
position: absolute;
top: 50%;
left: 50%;
z-index: 4;
box-sizing: border-box;
width: 100px;
height: 76px;
padding-top: 54px;
background:
url("../images/play.svg") center 13px / 18px 18px no-repeat,
radial-gradient(
circle at 50% 22px,
rgba(11, 11, 13, 0.72) 0 21px,
rgba(255, 255, 255, 0.24) 21px 22px,
transparent 22px
);
color: #f2f2f4;
content: "立即播放";
font-size: 12px;
font-weight: 500;
line-height: 16px;
text-align: center;
opacity: 0;
pointer-events: none;
transform: translate(-50%, calc(-50% + 6px));
transition:
opacity 180ms ease,
transform 180ms ease;
}
.card__cover:focus-visible {
box-shadow: inset 0 0 0 1px rgba(236, 35, 127, 0.45);
}
.card__cover:focus-visible::before,
.card__cover:focus-visible::after {
opacity: 1;
}
.card__cover:focus-visible::after {
transform: translate(-50%, -50%);
}
/* 触屏设备不模拟悬浮,避免首次点击只显示遮罩 */
@media (hover: hover) and (pointer: fine) {
.card__cover:hover {
box-shadow: inset 0 0 0 1px rgba(236, 35, 127, 0.45);
}
.card__cover:hover::before,
.card__cover:hover::after {
opacity: 1;
}
.card__cover:hover::after {
transform: translate(-50%, -50%);
}
}
.card__progress {
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 3px;
background: rgba(255, 255, 255, 0.18);
}
.card__progress::after {
content: "";
display: block;
width: var(--p, 0%);
height: 100%;
background: var(--accent-hot);
}
.card__ep {
position: absolute;
left: 10px;
bottom: 10px;
z-index: 1;
color: var(--text);
font-size: 12px;
font-weight: 500;
line-height: 16px;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.card__title {
margin: 0;
font-size: 15px;
font-weight: 500;
line-height: 22px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.card__meta {
margin: 0;
color: var(--text-muted);
font-size: 13px;
line-height: 18px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.card__meta a {
color: inherit;
text-decoration: none;
}
.card__meta a:hover {
color: var(--text);
}
.qr-box {
padding: 6px;
background: #fff;
border-radius: var(--radius-md);
}
.qr-box img,
.qr-box canvas {
width: 96px;
height: 96px;
object-fit: cover;
display: block;
}
/* Shared responsive */
@media (max-width: 1280px) {
.grid--6 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
@media (max-width: 768px) {
.page {
width: 100%;
}
.block {
padding: 16px var(--h5-gutter) 8px;
}
.block__head {
margin-bottom: 14px;
}
.block__titles {
gap: 10px;
}
.block__title {
font-size: 18px;
line-height: 26px;
}
.block__subtitle {
font-size: 12px;
line-height: 18px;
color: var(--text-dim);
}
.block__more {
font-size: 13px;
}
.block__more .icon--sm {
width: 14px;
height: 14px;
}
.grid {
gap: 8px;
}
.grid--6 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.card {
gap: 6px;
}
.card__cover {
aspect-ratio: 109 / 145;
border-radius: var(--radius-sm);
}
.card__title {
font-size: 14px;
font-weight: 600;
line-height: 20px;
}
.card__meta {
font-size: 11px;
line-height: 16px;
}
.card__ep {
left: 10px;
bottom: 10px;
font-size: 11px;
line-height: 14px;
}
.card__progress {
left: 10px;
right: 10px;
bottom: 6px;
width: auto;
border-radius: 999px;
overflow: hidden;
}
.btn--lg {
height: 48px;
padding: 0 22px;
font-size: 15px;
line-height: 22px;
}
.btn--icon {
width: 48px;
height: 48px;
}
.btn--icon .icon {
width: 20px;
height: 20px;
}
}
/* 可访问性文本:在不改变视觉布局时保留页面语义标题。 */
.visually-hidden {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
+223
View File
@@ -0,0 +1,223 @@
.dialog-ad-mask {
position: fixed;
inset: 0;
z-index: 1900;
padding: 24px;
display: none;
align-items: center;
justify-content: center;
overflow-y: auto;
background: rgba(0, 0, 0, 0.7);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
box-sizing: border-box;
}
.dialog-ad-mask.is-open {
display: flex;
}
.dialog-ad-panel {
width: 640px;
max-width: calc(100vw - 48px);
margin: auto;
}
.dialog-ad-panel[hidden] {
display: none;
}
.dialog-ad-card {
position: relative;
display: flex;
flex-direction: column;
overflow: hidden;
background: #141417;
border-radius: 20px;
outline: 1px solid rgba(255, 255, 255, 0.12);
outline-offset: -1px;
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}
.dialog-ad-cover {
position: relative;
width: 100%;
height: 400px;
overflow: hidden;
background: #232328;
}
.dialog-ad-media {
display: block;
width: 100%;
height: 100%;
}
.dialog-ad-image {
width: 100%;
height: 100%;
display: block;
object-fit: cover;
}
.dialog-ad-tag {
position: absolute;
top: 12px;
left: 12px;
z-index: 1;
height: 22px;
padding: 0 8px;
color: #f2f2f4;
background: rgba(0, 0, 0, 0.6);
border: 0;
}
.dialog-ad-close {
position: absolute;
top: 16px;
right: 16px;
z-index: 2;
box-sizing: border-box;
width: 32px;
height: 32px;
padding: 0;
display: inline-flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.6);
border: 0;
border-radius: 999px;
cursor: pointer;
transition: opacity 180ms ease, transform 180ms ease;
}
.dialog-ad-close img {
width: 18px;
height: 18px;
display: block;
}
.dialog-ad-close:hover,
.dialog-ad-close:focus-visible {
opacity: 0.85;
transform: scale(1.06);
}
.dialog-ad-foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 16px 20px;
}
.dialog-ad-copy {
min-width: 0;
display: flex;
flex-direction: column;
gap: 2px;
}
.dialog-ad-title {
margin: 0;
color: #f2f2f4;
font-size: 16px;
font-weight: 600;
line-height: 22px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.dialog-ad-desc {
margin: 0;
color: #7c7c86;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.dialog-ad-cta {
flex-shrink: 0;
box-sizing: border-box;
height: 40px;
padding: 0 16px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
color: #fff;
font-size: 14px;
font-weight: 500;
line-height: 20px;
text-decoration: none;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
border-radius: 999px;
}
.dialog-ad-cta__icon {
width: 18px;
height: 18px;
display: block;
}
.dialog-ad-cta:hover {
filter: brightness(1.05);
}
@media (max-width: 767px) {
.dialog-ad-mask {
padding: 24px;
-webkit-backdrop-filter: blur(2px);
backdrop-filter: blur(2px);
}
.dialog-ad-panel {
width: 327px;
max-width: calc(100vw - 48px);
}
.dialog-ad-cover {
height: 204px;
}
.dialog-ad-tag {
top: 10px;
left: 10px;
height: 20px;
padding: 0 6px;
}
.dialog-ad-foot {
flex-direction: column;
align-items: stretch;
gap: 10px;
padding: 16px;
}
.dialog-ad-copy {
display: contents;
}
.dialog-ad-title {
font-size: 15px;
line-height: 21px;
white-space: normal;
}
.dialog-ad-desc {
font-size: 11px;
line-height: 16px;
}
.dialog-ad-cta {
align-self: stretch;
width: 100%;
}
}
@media (prefers-reduced-motion: reduce) {
.dialog-ad-close {
transition: none;
}
}
+155
View File
@@ -0,0 +1,155 @@
/* 下载 App 弹窗 */
.download-pop {
position: fixed;
inset: 0;
z-index: 290;
display: none;
align-items: center;
justify-content: center;
padding: 24px;
}
.download-pop.is-open {
display: flex;
}
.download-pop__mask {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.7);
}
.download-pop__panel {
position: relative;
z-index: 1;
width: 480px;
max-width: 100%;
padding: 32px 36px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px;
background: #141417;
border-radius: 20px;
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
outline: 1px solid rgba(255, 255, 255, 0.12);
outline-offset: -1px;
overflow: hidden;
}
.download-pop__close {
position: absolute;
top: 16px;
right: 16px;
width: 32px;
height: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.04);
border-radius: 999px;
}
.download-pop__close .icon {
width: 18px;
height: 18px;
}
.download-pop__copy {
align-self: stretch;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
padding-right: 24px;
}
.download-pop__title {
margin: 0;
color: #f2f2f4;
font-size: 28px;
font-weight: 600;
line-height: 38px;
}
.download-pop__desc {
margin: 0;
align-self: stretch;
color: #a1a1aa;
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.download-pop__download {
align-self: stretch;
height: 56px;
padding: 0 28px;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
border-radius: 999px;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
color: #fff;
font-size: 16px;
font-weight: 500;
line-height: 24px;
white-space: nowrap;
}
.download-pop__download-icon {
width: 22px;
height: 22px;
flex-shrink: 0;
object-fit: contain;
filter: brightness(0) invert(1);
}
.download-pop__close:focus-visible,
.download-pop__download:focus-visible {
outline: 2px solid #fff;
outline-offset: 2px;
}
@media (max-width: 768px) {
.download-pop {
align-items: flex-end;
padding: 0;
}
.download-pop__panel {
width: 100%;
max-width: none;
padding: 24px 20px calc(24px + env(safe-area-inset-bottom, 0px));
gap: 20px;
border-radius: 20px 20px 0 0;
box-shadow: none;
}
.download-pop__close {
top: 12px;
right: 12px;
}
.download-pop__copy {
padding-right: 28px;
gap: 6px;
}
.download-pop__title {
font-size: 22px;
line-height: 30px;
}
.download-pop__desc {
font-size: 13px;
line-height: 20px;
}
.download-pop__download {
height: 52px;
font-size: 15px;
}
}
+142
View File
@@ -0,0 +1,142 @@
/* 18+ 年龄确认弹窗 */
html.eighteen-ok .eighteen {
display: none !important;
}
.eighteen {
position: fixed;
inset: 0;
z-index: 300;
display: none;
align-items: center;
justify-content: center;
padding: 24px;
}
.eighteen.is-open {
display: flex;
}
.eighteen__mask {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.7);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
.eighteen__dialog {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
width: min(100%, 480px);
padding: 32px;
background: #141417;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}
.eighteen__badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
border-radius: 999px;
background: rgba(236, 35, 127, 0.1);
border: 1px solid rgba(236, 35, 127, 0.3);
color: var(--accent-hot);
font-family: Inter, var(--font);
font-size: 20px;
font-weight: 600;
line-height: 26px;
}
.eighteen__title {
margin: 0;
text-align: center;
color: var(--text);
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.eighteen__desc {
margin: 0;
align-self: stretch;
text-align: center;
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.eighteen__enter {
align-self: stretch;
height: 52px;
padding: 0 28px;
font-size: 16px;
line-height: 24px;
}
.eighteen__exit {
text-align: center;
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
line-height: 22px;
cursor: pointer;
}
.eighteen__exit:hover {
color: var(--text);
}
body.eighteen-locked {
overflow: hidden;
}
@media (max-width: 768px) {
.eighteen {
padding: 24px;
}
.eighteen__dialog {
width: min(100%, 327px);
padding: 24px;
gap: 16px;
border-radius: 20px;
}
.eighteen__badge {
width: 56px;
height: 56px;
}
.eighteen__title {
font-size: 20px;
line-height: 28px;
}
.eighteen__desc {
font-size: 13px;
line-height: 20px;
}
.eighteen__enter {
height: 48px;
padding: 0 22px;
font-size: 15px;
line-height: 22px;
}
.eighteen__exit {
font-size: 13px;
line-height: 20px;
}
}
+266
View File
@@ -0,0 +1,266 @@
/* 我的收藏 H5:以 Figma 375px 画板为基准。 */
@media (max-width: 768px) {
.favorites-main {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
max-width: none;
min-width: 0;
margin: 0;
padding: 12px var(--profile-gutter, 16px) 20px;
}
.favorites-main.is-empty {
width: 100%;
gap: 0;
padding: 12px 0 20px;
}
.favorites-main.is-empty .favorites-toolbar {
width: 100%;
padding-inline: var(--profile-gutter, 16px);
}
.favorites-main.is-empty .favorites-recommendations {
width: auto;
margin-top: 8px;
padding: 0 var(--profile-gutter, 16px) 24px;
}
.favorites-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
width: 100%;
min-width: 0;
min-height: 30px;
}
.favorites-filters {
display: flex;
flex: 1 1 auto;
flex-wrap: nowrap;
align-items: center;
gap: clamp(6px, 2.666667vw, 10px);
min-width: 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.favorites-filters::-webkit-scrollbar {
display: none;
}
.favorites-filter {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
height: 30px;
padding: 0 clamp(11px, 4.266667vw, 16px);
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 999px;
background: transparent;
color: #a1a1aa;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.favorites-filter.is-active {
border-color: rgba(236, 35, 127, .3);
background: rgba(236, 35, 127, .1);
color: #ff4a7b;
}
.favorites-manage {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
height: 30px;
padding: 0;
border: 0;
background: none;
color: #a1a1aa;
font-size: 12px;
font-weight: 400;
line-height: 18px;
white-space: nowrap;
}
.favorites-manage svg,
.favorites-manage img {
display: none;
}
.favorites-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px var(--profile-card-gap, 8px);
width: 100%;
min-width: 0;
}
.favorites-card {
position: relative;
display: flex;
flex-direction: column;
gap: 6px;
min-width: 0;
}
.favorites-card .profile-card__cover {
width: 100%;
aspect-ratio: 109 / 145;
border-radius: 8px;
}
.favorites-card .profile-card__title {
overflow: hidden;
font-size: 14px;
font-weight: 600;
line-height: 20px;
text-overflow: ellipsis;
white-space: nowrap;
}
.favorites-card .profile-card__meta {
overflow: hidden;
font-size: 11px;
line-height: 16px;
text-overflow: ellipsis;
white-space: nowrap;
}
.favorites-card__desktop-meta {
display: none;
}
.favorites-card__mobile-meta {
display: inline;
}
.favorites-card__remove {
display: none;
}
.favorites-page.is-managing .favorites-card__remove {
position: absolute;
top: 6px;
left: 6px;
z-index: 3;
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
padding: 0;
border: 1px solid rgba(255, 255, 255, .5);
border-radius: 50%;
background: rgba(11, 11, 13, .8);
color: #f2f2f4;
}
.favorites-card .profile-card__episodes {
bottom: 10px;
left: 10px;
font-size: 11px;
line-height: 14px;
}
.favorites-card .profile-card__badge {
top: 4px;
right: 4px;
min-width: 30px;
height: 20px;
padding: 0 5px;
}
.favorites-load-more {
display: inline-flex;
align-items: center;
justify-content: center;
width: 100%;
height: 40px;
padding: 0 16px;
border: 1px solid rgba(255, 255, 255, .24);
border-radius: 999px;
background: transparent;
color: #f2f2f4;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.favorites-pagination {
display: none;
}
.favorites-empty {
gap: 16px;
padding: 48px 16px;
}
.favorites-empty__description-desktop,
.favorites-recommendations__more-desktop {
display: none;
}
.favorites-empty__description-mobile,
.favorites-recommendations__more-mobile {
display: inline;
}
.favorites-recommendations {
width: 100%;
padding: 0 var(--profile-gutter, 16px) 20px;
}
.favorites-recommendations__head {
height: 26px;
margin-bottom: 14px;
}
.favorites-recommendations__head h2 {
font-size: 18px;
line-height: 26px;
}
.favorites-recommendations__head a {
font-size: 12px;
line-height: 18px;
}
.favorites-recommendations__head a img {
width: 14px;
height: 14px;
}
.favorites-recommendations__grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px var(--profile-card-gap, 8px);
}
.favorites-card[hidden],
.favorites-empty[hidden],
.favorites-load-more[hidden] {
display: none !important;
}
}
@media (max-width: 359px) {
.favorites-filters {
flex-wrap: nowrap;
gap: 6px;
}
.favorites-filter {
padding-inline: 8px;
font-size: 12px;
}
}
+352
View File
@@ -0,0 +1,352 @@
/* 我的收藏:1440px 桌面稿,公共个人页头与封面卡复用 profile.css。 */
.favorites-page [hidden] {
display: none !important;
}
.favorites-main {
display: flex;
flex-direction: column;
gap: 24px;
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
padding: 24px 0 40px;
}
.favorites-main.is-empty {
width: 100%;
max-width: none;
gap: 24px;
margin: 0;
padding: 24px 0 40px;
}
.favorites-main.is-empty .favorites-toolbar {
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
}
.favorites-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 36px;
}
.favorites-filters {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 10px;
min-width: 0;
}
.favorites-filter,
.favorites-manage {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
height: 36px;
border: 1px solid var(--line);
border-radius: 999px;
background: transparent;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.favorites-filter {
padding-inline: 16px;
color: var(--text-muted);
}
.favorites-filter.is-active {
border-color: rgba(236, 35, 127, .3);
background: rgba(236, 35, 127, .1);
color: var(--accent-hot);
}
.favorites-manage {
gap: 6px;
padding-inline: 12px;
border-color: rgba(255, 255, 255, .24);
color: var(--text);
cursor: pointer;
}
.favorites-manage img,
.favorites-manage svg {
display: block;
width: 16px;
height: 16px;
flex: 0 0 16px;
}
.favorites-filter:hover,
.favorites-manage:hover {
border-color: rgba(255, 255, 255, .36);
color: var(--text);
}
.favorites-filter:focus-visible,
.favorites-manage:focus-visible,
.favorites-pagination button:focus-visible {
outline: 2px solid var(--accent-hot);
outline-offset: 3px;
}
.favorites-grid {
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 32px 24px;
min-width: 0;
}
.favorites-grid .favorites-card {
min-width: 0;
}
.favorites-card__mobile-meta,
.favorites-card__remove {
display: none;
}
.favorites-card__media {
position: relative;
min-width: 0;
}
.favorites-page.is-managing .favorites-card__remove {
position: absolute;
top: 6px;
left: 6px;
z-index: 3;
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
border: 1px solid rgba(255, 255, 255, .4);
border-radius: 50%;
background: rgba(11, 11, 13, .78);
color: #fff;
font-size: 18px;
line-height: 1;
}
.favorites-card__remove img {
display: block;
width: 14px;
height: 14px;
}
.favorites-page.is-managing .favorites-manage {
border-color: rgba(236, 35, 127, .3);
background: rgba(236, 35, 127, .1);
color: var(--accent-hot);
}
.favorites-load-more {
display: none;
}
.favorites-pagination,
.favorites-pagination__pages {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}
.favorites-pagination {
min-height: 36px;
}
.favorites-pagination button {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 36px;
width: 36px;
height: 36px;
border: 1px solid var(--line-soft);
border-radius: 8px;
background: var(--bg-elevated);
color: var(--text-muted);
font-family: Inter, var(--font);
font-size: 16px;
font-weight: 600;
line-height: 20px;
}
.favorites-pagination button.is-active {
border-color: transparent;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
}
.favorites-pagination button:not(:disabled):not(.is-active):hover {
border-color: rgba(255, 255, 255, .24);
color: var(--text);
}
.favorites-pagination button:disabled {
cursor: default;
opacity: .45;
}
.favorites-pagination button img,
.favorites-pagination button svg {
display: block;
width: 16px;
height: 16px;
}
.favorites-pagination > .favorites-pagination__button:first-child img {
transform: rotate(180deg);
}
.favorites-pagination__total {
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.favorites-empty {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
width: 100%;
padding: 96px 16px;
font-size: 14px;
line-height: 22px;
text-align: center;
}
.favorites-main.is-empty:has(.favorites-recommendations) .favorites-empty {
padding-bottom: 40px;
}
.favorites-main.is-empty .favorites-recommendations {
padding-top: 8px;
}
.favorites-filter-empty {
margin: 0;
padding: 56px 16px;
color: var(--text-dim);
font-size: 14px;
line-height: 22px;
text-align: center;
}
.favorites-empty__icon {
display: flex;
align-items: center;
justify-content: center;
width: 96px;
height: 96px;
flex: 0 0 96px;
border: 1px solid var(--line);
border-radius: 50%;
background: #1b1b1f;
}
.favorites-empty__icon img {
width: 40px;
height: 40px;
}
.favorites-empty__title {
margin: 0;
color: var(--text);
font-size: 20px;
font-weight: 600;
line-height: 28px;
}
.favorites-empty__description {
margin: 0;
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.favorites-empty__description-mobile,
.favorites-recommendations__more-mobile {
display: none;
}
.favorites-empty__action {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 147px;
height: 48px;
border-radius: 999px;
background: linear-gradient(105deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
color: #fff;
font-size: 14px;
font-weight: 600;
line-height: 20px;
white-space: nowrap;
}
.favorites-empty__action img {
width: 20px;
height: 20px;
}
.favorites-empty__action:focus-visible,
.favorites-recommendations__head a:focus-visible {
outline: 2px solid var(--accent-hot);
outline-offset: 3px;
}
.favorites-recommendations {
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
padding-bottom: 40px;
}
.favorites-recommendations__head {
display: flex;
align-items: center;
justify-content: space-between;
height: 32px;
margin-bottom: 18px;
}
.favorites-recommendations__head h2 {
margin: 0;
color: var(--text);
font-size: 20px;
font-weight: 600;
line-height: 28px;
}
.favorites-recommendations__head a {
display: inline-flex;
align-items: center;
gap: 4px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.favorites-recommendations__head a img {
width: 16px;
height: 16px;
}
.favorites-recommendations__grid {
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 24px;
}
+667
View File
@@ -0,0 +1,667 @@
/* PC 意见反馈页 */
body.page-feedback .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.feedback-page {
padding-top: 72px;
}
.feedback-hero {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
padding: 48px 0 8px;
}
.feedback-hero__title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 36px;
}
.feedback-hero__desc {
margin: 0;
color: var(--text-muted);
font-size: 15px;
line-height: 24px;
}
.feedback-layout {
display: flex;
align-items: flex-start;
gap: 40px;
padding: 24px 0 48px;
}
.feedback-form {
flex: 1 1 0;
min-width: 0;
max-width: 784px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 24px;
background: #141417;
border: 1px solid var(--line-soft);
border-radius: var(--radius-lg);
}
.feedback-form__field {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.feedback-form__field:has(.feedback-form__types) {
gap: 10px;
}
.feedback-form__label {
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.feedback-form__types {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.feedback-type {
height: 36px;
padding: 0 16px;
display: inline-flex;
align-items: center;
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
border: 1px solid var(--line);
border-radius: 999px;
cursor: pointer;
}
.feedback-type input {
position: absolute;
opacity: 0;
pointer-events: none;
}
.feedback-type.is-active,
.feedback-type:has(input:checked) {
color: #ff4a7b;
background: rgba(236, 35, 127, 0.1);
border-color: rgba(236, 35, 127, 0.3);
}
.feedback-form__textarea-wrap {
align-self: stretch;
height: 160px;
min-height: 160px;
padding: 14px 16px;
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 12px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid var(--line);
border-radius: var(--radius-md);
}
.feedback-form__textarea-wrap:focus-within {
border-color: rgba(236, 35, 127, 0.45);
}
.feedback-form__textarea {
flex: 1 1 auto;
width: 100%;
min-height: 0;
padding: 0;
border: 0;
outline: none;
resize: none;
background: transparent;
color: var(--text);
font: inherit;
font-size: 15px;
line-height: 24px;
}
.feedback-form__textarea::placeholder {
color: var(--text-dim);
}
.feedback-form__count {
align-self: stretch;
text-align: right;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.feedback-uploads {
display: flex;
flex-wrap: wrap;
gap: 12px;
width: min(100%, 384px);
}
.feedback-upload {
width: 120px;
height: 120px;
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 6px;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
background: rgba(255, 255, 255, 0.06);
border: 1px dashed var(--line);
border-radius: var(--radius-md);
cursor: pointer;
overflow: hidden;
position: relative;
}
.feedback-upload--placeholder {
cursor: default;
}
.feedback-upload--preview {
border-style: solid;
}
.feedback-upload--preview.is-uploading {
opacity: 0.65;
}
.feedback-upload--preview.is-error {
border-color: rgba(236, 35, 127, 0.7);
}
.feedback-upload .icon {
width: 22px;
height: 22px;
}
.feedback-upload--preview img {
width: 100%;
height: 100%;
object-fit: cover;
}
.feedback-upload__remove {
position: absolute;
top: 6px;
right: 6px;
width: 22px;
height: 22px;
display: inline-flex;
align-items: center;
justify-content: center;
background: rgba(11, 11, 13, 0.72);
border: 1px solid var(--line);
border-radius: 999px;
}
.feedback-upload__remove .icon {
width: 12px;
height: 12px;
}
.feedback-form__control {
align-self: stretch;
height: 48px;
padding: 0 16px;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid var(--line);
border-radius: var(--radius-md);
}
.feedback-form__control:focus-within {
border-color: rgba(236, 35, 127, 0.45);
}
.feedback-form__control > .icon {
width: 18px;
height: 18px;
flex-shrink: 0;
}
.feedback-form__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
border: 0;
outline: none;
background: transparent;
color: var(--text);
font: inherit;
font-size: 15px;
line-height: 24px;
}
.feedback-form__input::placeholder {
color: var(--text-dim);
}
.feedback-form__foot {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 16px;
}
.feedback-form__submit {
height: 48px;
padding: 0 22px;
font-size: 15px;
line-height: 22px;
}
.feedback-form__submit.is-loading,
.feedback-form__submit:disabled {
opacity: 0.72;
cursor: wait;
}
.feedback-form__submit .icon {
width: 20px;
height: 20px;
}
.feedback-form__hint {
margin: 0;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.feedback-aside {
width: 376px;
flex-shrink: 0;
display: flex;
flex-direction: column;
gap: 16px;
}
.feedback-aside__card {
padding: 24px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
background: #141417;
border: 1px solid var(--line-soft);
border-radius: var(--radius-lg);
}
.feedback-aside__card--muted {
gap: 10px;
background: #1b1b1f;
}
.feedback-aside__title {
margin: 0;
color: var(--text);
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.feedback-aside__link,
.feedback-aside__row {
margin: 0;
align-self: stretch;
display: flex;
align-items: center;
gap: 8px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.feedback-aside__link .icon,
.feedback-aside__row .icon {
width: 16px;
height: 16px;
flex-shrink: 0;
}
.feedback-aside__row a {
color: inherit;
}
.feedback-aside__link {
color: var(--text-muted);
font-weight: 400;
}
.feedback-aside__row a:hover,
.feedback-aside__link:hover {
color: var(--text);
}
@media (min-width: 769px) {
.page-feedback .feedback-form {
min-height: 690px;
}
.page-feedback .site-footer__legal {
flex-direction: row;
justify-content: space-between;
gap: 24px;
}
.page-feedback .site-footer__rule {
margin-top: 8px;
}
}
@media (min-width: 769px) and (max-width: 1199px) {
.page-feedback .site-header {
height: 72px;
padding: 0 24px;
flex-wrap: nowrap;
gap: 16px;
}
.page-feedback .site-header__left,
.page-feedback .site-header__right {
width: auto;
min-width: 0;
gap: 12px;
}
.page-feedback .site-header .search {
width: min(260px, 30vw);
}
.page-feedback .site-header .nav {
display: none;
}
}
@media (min-width: 769px) and (max-width: 900px) {
.page-feedback .site-header .search {
display: none;
}
.page-feedback .feedback-page {
width: calc(100% - 32px);
}
.page-feedback .feedback-layout {
flex-direction: column;
gap: 16px;
}
.page-feedback .feedback-form,
.page-feedback .feedback-aside {
width: 100%;
max-width: none;
}
}
@media (min-width: 901px) and (max-width: 1023px) {
.page-feedback .site-footer__inner {
padding: 32px 16px 24px;
gap: 24px;
}
.page-feedback .site-footer__top {
flex-direction: column;
align-items: center;
gap: 28px;
}
.page-feedback .site-footer__brand {
align-items: center;
text-align: center;
}
.page-feedback .site-footer__links {
width: 100%;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 28px 12px;
}
.page-feedback .footer-download {
grid-column: 1 / -1;
justify-self: center;
max-width: 100%;
}
.page-feedback .site-footer__legal {
flex-direction: column;
align-items: center;
text-align: center;
gap: 8px;
}
}
@media (max-width: 768px) {
body.page-feedback .site-header {
display: none !important;
}
.page-feedback .page-subheader {
display: flex;
}
.feedback-page {
padding-top: 56px;
}
.feedback-hero {
gap: 8px;
padding: 20px var(--h5-gutter) 4px;
}
.feedback-hero__title {
font-size: 22px;
line-height: 30px;
}
.feedback-hero__desc {
font-size: 13px;
line-height: 20px;
}
.feedback-layout {
flex-direction: column;
gap: 18px;
padding: 12px var(--h5-gutter) 20px;
}
.feedback-form {
width: 100%;
max-width: none;
padding: 0;
gap: 18px;
background: transparent;
border: 0;
border-radius: 0;
}
.feedback-form__field:has(.feedback-form__types) {
gap: 8px;
}
.feedback-type {
height: 32px;
}
.feedback-form__textarea-wrap {
height: 140px;
min-height: 140px;
box-sizing: border-box;
}
.feedback-form__textarea {
min-height: 0;
}
.feedback-uploads {
gap: 10px;
}
.feedback-upload {
width: min(96px, calc((100% - 20px) / 3));
height: 96px;
gap: 4px;
font-size: 11px;
line-height: 16px;
border-radius: var(--radius-sm);
}
.feedback-upload .icon {
width: 20px;
height: 20px;
}
.feedback-form__foot {
flex-direction: column;
align-items: stretch;
gap: 18px;
}
.feedback-form__submit {
width: 100%;
box-sizing: border-box;
}
.feedback-form__hint {
text-align: center;
font-size: 11px;
line-height: 16px;
}
.feedback-aside {
width: 100%;
gap: 0;
}
.feedback-aside__card--muted {
padding: 16px;
gap: 8px;
border-radius: var(--radius-md);
}
.feedback-aside__card--muted .feedback-aside__title {
font-size: 15px;
line-height: 21px;
}
.feedback-aside__card--muted .feedback-aside__row {
font-size: 13px;
line-height: 20px;
}
.feedback-aside__card--muted .feedback-aside__row .icon {
width: 14px;
height: 14px;
}
/* Feedback uses the compact footer arrangement shown in the mobile design. */
.page-feedback .site-footer {
background: #141417;
}
.page-feedback .site-footer__inner {
padding: 32px 16px 28px;
gap: 18px;
}
.page-feedback .site-footer__brand {
gap: 18px;
}
.page-feedback .site-footer__links {
flex-wrap: wrap;
gap: 12px 16px;
}
.page-feedback .footer-col {
flex-wrap: nowrap;
}
.page-feedback .footer-col:first-child,
.page-feedback .footer-col:nth-child(2) a:last-child,
.page-feedback .footer-col:nth-child(3) a:last-child {
display: none;
}
.page-feedback .footer-download {
display: flex;
flex-basis: 100%;
justify-content: center;
padding: 0;
border: 0;
background: none;
}
.page-feedback .footer-download .qr-box,
.page-feedback .footer-download__copy strong,
.page-feedback .footer-download__copy p,
.page-feedback .footer-download__copy .icon {
display: none;
}
.page-feedback .footer-download .btn {
height: 20px;
padding: 0;
color: #a1a1aa;
background: none;
font-size: 13px;
line-height: 20px;
}
.page-feedback .site-footer__rule {
display: none;
}
.page-feedback .site-footer__legal {
flex-direction: column;
justify-content: flex-start;
align-items: center;
gap: 0;
}
.page-feedback .site-footer__legal p:first-child {
order: 2;
width: 100%;
padding-top: 16px;
margin-top: 16px;
border-top: 1px solid rgba(255, 255, 255, .07);
}
.page-feedback .site-footer__legal p:last-child {
order: 1;
}
.page-feedback .site-footer__adult,
.page-feedback .site-footer__rights {
display: none;
}
.page-feedback .site-footer__mobile-adult {
display: inline;
}
}
+257
View File
@@ -0,0 +1,257 @@
/* 公共页脚 */
.site-footer {
width: 100%;
background: var(--bg-elevated);
border-top: 1px solid var(--line-soft);
}
.site-footer__inner {
width: min(100%, var(--page-width));
margin: 0 auto;
padding: 56px 0 32px;
display: flex;
flex-direction: column;
gap: 28px;
}
.site-footer__top {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 40px;
}
.site-footer__brand {
display: flex;
flex-direction: column;
gap: 16px;
}
.social {
display: flex;
gap: 10px;
}
.social__item {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 999px;
border: 1px solid var(--line);
}
.social__item:hover {
background: rgba(255, 255, 255, 0.06);
}
.site-footer__links {
display: flex;
align-items: flex-start;
gap: 72px;
}
.footer-col {
display: flex;
flex-direction: column;
gap: 12px;
}
.footer-col h3 {
margin: 0;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.footer-col a {
color: var(--text-muted);
font-size: 14px;
line-height: 20px;
}
.footer-col a:hover {
color: var(--text);
}
.footer-download {
display: flex;
align-items: center;
gap: 14px;
padding: 16px;
border-radius: var(--radius-lg);
background: var(--bg-panel);
border: 1px solid var(--line-soft);
}
.footer-download .qr-box img {
width: 84px;
height: 84px;
}
.footer-download__copy {
display: flex;
flex-direction: column;
gap: 6px;
}
.footer-download__copy strong {
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.footer-download__copy p {
margin: 0;
color: var(--text-dim);
font-size: 13px;
line-height: 18px;
}
.site-footer__rule {
width: 100%;
height: 1px;
margin: 0;
border: 0;
background: var(--line-soft);
}
.site-footer__legal {
display: flex;
flex-direction: column;
gap: 8px;
}
.site-footer__legal p {
margin: 0;
color: var(--text-dim);
font-size: 13px;
line-height: 20px;
}
.site-footer__mobile-adult {
display: none;
}
@media (max-width: 1280px) {
.site-footer__links {
gap: 40px;
}
}
@media (max-width: 900px) {
.site-footer__inner {
padding: 32px 16px 24px;
gap: 24px;
}
.site-footer__top {
flex-direction: column;
align-items: center;
gap: 28px;
}
.site-footer__brand {
align-items: center;
text-align: center;
}
.site-footer__links {
width: 100%;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 28px 12px;
}
.footer-col {
min-width: 0;
}
.footer-download {
grid-column: 1 / -1;
justify-self: center;
max-width: 100%;
}
.site-footer__legal {
text-align: center;
}
.site-footer__legal p {
font-size: 12px;
line-height: 18px;
}
}
@media (max-width: 768px) {
.site-footer__inner {
padding: 32px var(--h5-gutter) 24px;
gap: 18px;
align-items: center;
text-align: center;
}
.site-footer__top {
gap: 18px;
}
.site-footer__brand {
gap: 12px;
}
.site-footer__brand .brand__logo {
width: 140px;
height: 34px;
}
.site-footer__brand .block__subtitle {
font-size: 13px;
line-height: 20px;
}
.social__item {
width: 36px;
height: 36px;
}
.social__item .icon {
width: 15px;
height: 15px;
}
.site-footer__links {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
gap: 16px;
}
.footer-col h3,
.footer-download {
display: none;
}
.footer-col {
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
gap: 16px;
}
.footer-col a {
font-size: 13px;
}
.site-footer__legal {
align-items: center;
}
.site-footer__legal p {
font-size: 11px;
line-height: 16px;
text-align: center;
}
}
File diff suppressed because it is too large Load Diff
+449
View File
@@ -0,0 +1,449 @@
/* 常见问题:桌面 1440 × 1193,移动 375 × 1257。 */
.help-page {
min-height: 100vh;
padding-top: 72px;
background: var(--bg);
}
.help-page .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.help-page .site-header__login {
display: inline-flex;
align-items: center;
justify-content: center;
height: 40px;
padding-inline: 16px;
border-radius: 999px;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.help-main {
width: min(calc(100% - 48px), var(--page-width));
margin: 0 auto;
}
.help-heading {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
padding: 48px 0 8px;
}
.help-kicker {
display: inline-flex;
align-items: center;
gap: 10px;
margin: 0;
color: var(--accent-hot);
font-size: 13px;
font-weight: 500;
line-height: 18px;
letter-spacing: .12em;
}
.help-kicker span {
width: 18px;
height: 2px;
flex: none;
background: var(--accent);
}
.help-heading h1 {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 36px;
letter-spacing: -.01em;
}
.help-heading__intro {
margin: 0;
color: var(--text-muted);
font-size: 15px;
line-height: 24px;
}
.help-content {
display: grid;
grid-template-columns: minmax(0, 784px) minmax(0, 376px);
gap: 40px;
padding: 24px 0 48px;
}
.help-faq,
.help-aside {
min-width: 0;
}
.help-faq__item {
padding: 20px 0;
border-bottom: 1px solid var(--line-soft);
}
.help-faq__item:last-child {
border-bottom: 0;
}
.help-faq__item summary {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
color: var(--text-muted);
font-size: 16px;
font-weight: 600;
line-height: 22px;
list-style: none;
cursor: pointer;
}
.help-faq__item summary::-webkit-details-marker {
display: none;
}
.help-faq__item[open] summary {
color: var(--text);
}
.help-faq__item summary:focus-visible {
outline: 2px solid var(--accent-hot);
outline-offset: 4px;
}
.help-faq__chevron {
display: block;
width: 18px;
height: 18px;
flex: 0 0 18px;
background: url('/static/images/chevron-right.svg') center / 18px no-repeat;
opacity: .75;
transform: rotate(90deg);
}
.help-faq__item[open] .help-faq__chevron {
transform: rotate(-90deg);
}
.help-faq__item p {
margin: 12px 0 0;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.help-aside {
display: flex;
flex-direction: column;
gap: 16px;
}
.help-contact,
.help-app {
display: flex;
flex-direction: column;
align-items: flex-start;
border: 1px solid var(--line-soft);
border-radius: 16px;
}
.help-contact {
gap: 14px;
padding: 24px;
background: var(--bg-elevated);
}
.help-contact h2,
.help-app h2 {
margin: 0;
color: var(--text);
font-size: 18px;
font-weight: 600;
line-height: 26px;
}
.help-contact p,
.help-app p {
margin: 0;
color: var(--text-muted);
font-size: 13px;
line-height: 20px;
}
.help-contact__button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 100%;
height: 48px;
border-radius: 999px;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
font-size: 15px;
font-weight: 500;
line-height: 22px;
}
.help-contact__button img {
width: 20px;
height: 20px;
}
.help-contact__email {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--accent-hot);
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.help-contact__email img,
.help-app a img {
width: 16px;
height: 16px;
}
.help-app {
gap: 12px;
padding: 24px;
background: var(--bg-panel);
}
.help-app a {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
height: 40px;
padding: 0 16px;
border: 1px solid var(--line);
border-radius: 999px;
color: var(--text);
font-size: 14px;
line-height: 20px;
}
.help-contact__button:hover,
.help-app a:hover {
filter: brightness(1.1);
}
.help-contact__button:focus-visible,
.help-app a:focus-visible,
.help-contact__email:focus-visible {
outline: 2px solid var(--accent-hot);
outline-offset: 3px;
}
.help-page .site-footer__legal {
flex-direction: row;
justify-content: space-between;
gap: 24px;
}
@media (min-width: 769px) {
.help-page .site-footer__rule {
margin-top: 8px;
}
}
@media (min-width: 769px) and (max-width: 1199px) {
.help-page .site-header {
height: 72px;
padding-block: 0;
flex-wrap: nowrap;
}
.help-page .site-header__left,
.help-page .site-header__right {
width: auto;
}
.help-page .site-header .search {
width: min(260px, 30vw);
}
}
@media (min-width: 769px) and (max-width: 1100px) {
.help-page .site-header .nav {
display: none;
}
}
@media (max-width: 768px) {
.help-page {
padding-top: 0;
}
.help-page .site-header {
display: none;
}
.help-page .page-subheader {
display: flex;
}
.help-main {
width: 100%;
padding-top: 56px;
}
.help-heading {
gap: 8px;
padding: 20px 16px 4px;
}
.help-heading h1 {
font-size: 22px;
line-height: 30px;
}
.help-heading__intro {
font-size: 13px;
line-height: 20px;
}
.help-content {
display: flex;
flex-direction: column;
gap: 16px;
padding: 4px 16px 20px;
}
.help-faq__item summary {
font-size: 16px;
line-height: 22px;
}
.help-faq__item p {
font-size: 14px;
line-height: 22px;
}
.help-aside {
display: block;
}
.help-contact {
gap: 10px;
padding: 18px;
border-radius: 12px;
}
.help-contact h2 {
font-size: 16px;
line-height: 22px;
}
.help-contact__button {
height: 40px;
font-size: 14px;
line-height: 20px;
}
.help-contact__button img {
width: 18px;
height: 18px;
}
.help-contact p {
font-size: 12px;
line-height: 18px;
}
.help-contact__email,
.help-app {
display: none;
}
.help-page .site-footer__inner {
padding: 32px 16px 28px;
gap: 18px;
}
.help-page .site-footer__brand {
gap: 18px;
}
.help-page .site-footer__links {
flex-wrap: wrap;
gap: 12px 16px;
}
.help-page .footer-col {
flex-wrap: nowrap;
}
.help-page .footer-col:first-child,
.help-page .footer-col:nth-child(2) a:last-child,
.help-page .footer-col:nth-child(3) a:last-child {
display: none;
}
.help-page .footer-download {
display: flex;
flex-basis: 100%;
justify-content: center;
padding: 0;
border: 0;
background: none;
}
.help-page .footer-download .qr-box,
.help-page .footer-download__copy strong,
.help-page .footer-download__copy p,
.help-page .footer-download__copy .icon {
display: none;
}
.help-page .footer-download .btn {
height: 20px;
padding: 0;
color: var(--text-muted);
background: none;
font-size: 13px;
line-height: 20px;
}
.help-page .site-footer__rule {
display: none;
}
.help-page .site-footer__legal {
flex-direction: column;
align-items: center;
gap: 0;
}
.help-page .site-footer__legal p:first-child {
order: 2;
width: 100%;
padding-top: 16px;
margin-top: 16px;
border-top: 1px solid var(--line-soft);
}
.help-page .site-footer__legal p:last-child {
order: 1;
}
.help-page .site-footer__adult,
.help-page .site-footer__rights {
display: none;
}
.help-page .site-footer__mobile-adult {
display: inline;
}
}
+256
View File
@@ -0,0 +1,256 @@
/* 观看历史 H5:对齐 Figma 375px 画板。 */
@media (max-width: 768px) {
.history-main {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
max-width: none;
margin: 0;
padding: 12px 16px 20px;
}
.history-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
min-width: 0;
min-height: 30px;
}
.history-filters {
display: flex;
flex: 1 1 auto;
align-items: center;
gap: 10px;
min-width: 0;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.history-filters::-webkit-scrollbar { display: none; }
.history-filter {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
height: 30px;
padding: 0 16px;
border: 1px solid rgba(255, 255, 255, .12);
border-radius: 999px;
background: transparent;
color: #a1a1aa;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
cursor: pointer;
}
.history-filter.is-active {
border-color: rgba(236, 35, 127, .3);
background: rgba(236, 35, 127, .1);
color: #ff4a7b;
}
.history-clear {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
height: auto;
padding: 0;
border: 0;
background: transparent;
color: #a1a1aa;
font-size: 12px;
font-weight: 400;
line-height: 18px;
white-space: nowrap;
cursor: pointer;
}
.history-clear img,
.history-clear__desktop { display: none; }
.history-clear__mobile { display: inline; }
.history-group,
.history-list {
display: flex;
flex-direction: column;
width: 100%;
min-width: 0;
}
.history-group__title {
margin: 0;
color: #7c7c86;
font-size: 12px;
font-weight: 500;
line-height: 16px;
}
.history-item {
display: flex;
align-items: center;
gap: 12px;
width: 100%;
min-width: 0;
padding: 12px 0;
border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.history-item__cover {
display: block;
flex: 0 0 48px;
width: 48px;
height: 64px;
overflow: hidden;
border-radius: 6px;
background: #141417;
}
.history-item__image {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.history-item__body {
display: flex;
flex: 1 1 0;
flex-direction: column;
align-items: flex-start;
gap: 5px;
min-width: 0;
}
.history-item__title {
display: block;
align-self: stretch;
overflow: hidden;
margin: 0;
color: #f2f2f4;
font-size: 15px;
font-weight: 600;
line-height: 21px;
text-overflow: ellipsis;
white-space: nowrap;
}
.history-item__title a {
color: inherit;
text-decoration: none;
}
.history-item__details {
display: block;
align-self: stretch;
overflow: hidden;
color: #7c7c86;
font-size: 11px;
font-weight: 400;
line-height: 16px;
text-overflow: ellipsis;
white-space: nowrap;
}
.history-item__episodes,
.history-item__mobile-time {
display: inline;
}
.history-item__mobile-time::before {
content: " ";
white-space: pre;
}
.history-item__genre,
.history-item__time,
.history-item__resume-desktop {
display: none;
}
.history-item__progress {
display: block;
width: 140px;
max-width: 100%;
height: 3px;
overflow: hidden;
border-radius: 999px;
background: rgba(255, 255, 255, .12);
}
.history-item__progress-fill {
display: block;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.history-item__resume {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
gap: 8px;
width: auto;
min-width: 0;
height: 32px;
padding: 0 12px;
border: 1px solid rgba(255, 255, 255, .24);
border-radius: 999px;
background: transparent;
color: #f2f2f4;
font-size: 14px;
font-weight: 500;
line-height: 20px;
text-decoration: none;
white-space: nowrap;
}
.history-item__resume svg,
.history-item__resume img {
flex: 0 0 16px;
width: 16px;
height: 16px;
}
.history-item__resume-mobile {
display: inline;
}
.history-item__remove {
display: inline-flex;
flex: 0 0 14px;
align-items: center;
justify-content: center;
width: 14px;
height: 14px;
padding: 0;
border: 0;
background: transparent;
color: #7c7c86;
cursor: pointer;
}
.history-item__remove svg,
.history-item__remove img {
display: block;
width: 14px;
height: 14px;
}
.history-main .account-pagination {
margin-top: 4px;
}
.history-empty,
.history-main .account-empty {
padding: 48px 0;
}
}
+256
View File
@@ -0,0 +1,256 @@
/* 观看历史:1440px Figma 桌面画板,沿用个人中心公共页头与页签。 */
.history-page [hidden] { display: none !important; }
.history-main {
display: flex;
flex-direction: column;
gap: 24px;
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
padding: 24px 0 40px;
}
.history-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 36px;
}
.history-filters {
display: flex;
align-items: center;
gap: 10px;
}
.history-filter,
.history-clear,
.history-item__resume {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
height: 36px;
padding: 0;
border: 1px solid var(--line);
border-radius: 999px;
background: transparent;
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
cursor: pointer;
}
.history-filter {
padding-inline: 16px;
}
.history-filter.is-active {
border-color: rgba(236, 35, 127, .3);
background: rgba(236, 35, 127, .1);
color: var(--accent-hot);
}
.history-clear {
gap: 6px;
padding-inline: 12px;
border-color: rgba(255, 255, 255, .24);
color: var(--text);
}
.history-clear__mobile { display: none; }
.history-clear svg,
.history-clear img,
.history-item__resume svg,
.history-item__resume img,
.history-item__remove svg,
.history-item__remove img {
display: block;
width: 16px;
height: 16px;
flex: 0 0 16px;
}
.history-filter:hover,
.history-clear:hover,
.history-item__resume:hover,
.history-item__remove:hover {
border-color: rgba(255, 255, 255, .36);
color: var(--text);
}
.history-filter:focus-visible,
.history-clear:focus-visible,
.history-item__resume:focus-visible,
.history-item__remove:focus-visible {
outline: 2px solid var(--accent-hot);
outline-offset: 3px;
}
.history-group {
min-width: 0;
}
.history-group__title {
margin: 0;
color: var(--text-dim);
font-size: 12px;
font-weight: 500;
line-height: 16px;
}
.history-list {
margin: 0;
padding: 0;
list-style: none;
}
.history-item {
display: grid;
grid-template-columns: 56px minmax(0, 1fr) 120px 106px 16px;
align-items: center;
gap: 16px;
min-width: 0;
min-height: 104px;
padding-block: 14px;
border-bottom: 1px solid var(--line-soft);
}
.history-item__cover {
display: block;
width: 56px;
height: 75px;
overflow: hidden;
border-radius: 6px;
background: var(--bg-panel);
}
.history-item__image {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.history-item__body {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
min-width: 0;
}
.history-item__title {
display: block;
max-width: 100%;
margin: 0;
overflow: hidden;
color: var(--text);
font-size: 16px;
font-weight: 600;
line-height: 22px;
text-overflow: ellipsis;
white-space: nowrap;
}
.history-item__title a {
color: inherit;
text-decoration: none;
}
.history-item__title a:hover {
color: var(--accent-hot);
}
.history-item__details {
display: flex;
align-items: center;
gap: 8px;
max-width: 100%;
overflow: hidden;
color: #a1a1aa;
font-size: 13px;
font-weight: 400;
line-height: 20px;
white-space: nowrap;
}
.history-item__episodes,
.history-item__genre {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.history-item__episodes {
flex: 0 0 auto;
}
.history-item__progress {
display: block;
width: 240px;
max-width: 100%;
height: 3px;
overflow: hidden;
border-radius: 999px;
background: var(--line);
}
.history-item__progress-fill {
display: block;
width: var(--progress, 0%);
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.history-item__time {
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.history-item__mobile-time,
.history-item__resume-mobile {
display: none;
}
.history-item__resume {
gap: 8px;
width: 106px;
padding-inline: 12px;
border-color: rgba(255, 255, 255, .24);
color: var(--text);
text-decoration: none;
}
.history-item__remove {
display: inline-flex;
align-items: center;
justify-content: center;
width: 16px;
height: 36px;
padding: 0;
border: 0;
background: transparent;
color: var(--text-dim);
cursor: pointer;
}
.history-group + .history-group {
margin-top: 0;
}
.history-main.is-empty {
gap: 24px;
padding: 24px 0 40px;
}
.history-main.is-empty .account-empty {
padding-block: 72px;
}
File diff suppressed because it is too large Load Diff
+478
View File
@@ -0,0 +1,478 @@
/* Shared layout for the static terms and privacy pages. */
.legal-page {
min-height: 100vh;
padding-top: 72px;
background: var(--bg);
}
/* overflow-x:hidden on html/body breaks position:sticky; clip keeps horizontal containment */
html:has(body.legal-page),
body.legal-page {
overflow-x: clip;
}
.legal-page .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.legal-page .site-header__login {
display: inline-flex;
align-items: center;
justify-content: center;
height: 40px;
padding: 0 16px;
border-radius: 999px;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.legal-main {
width: 100%;
}
.legal-hero,
.legal-layout {
width: min(calc(100% - 48px), 1200px);
margin: 0 auto;
}
.legal-hero {
display: flex;
flex-direction: column;
gap: 12px;
padding: 48px 0 8px;
}
.legal-kicker {
display: inline-flex;
align-items: center;
gap: 10px;
height: 18px;
margin: 0;
color: var(--accent-hot);
font-size: 13px;
font-weight: 500;
line-height: 18px;
letter-spacing: .12em;
}
.legal-kicker > span {
display: block;
width: 18px;
height: 2px;
flex: none;
background: var(--accent);
}
.legal-title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 36px;
letter-spacing: -.01em;
}
.legal-dates,
.legal-intro {
margin: 0;
color: var(--text-muted);
font-size: 15px;
font-weight: 400;
line-height: 24px;
}
.legal-layout {
position: relative;
display: grid;
grid-template-columns: 280px minmax(0, 1fr);
align-items: start;
gap: 40px;
padding: 24px 0 48px;
}
.legal-toc-slot {
position: relative;
min-width: 0;
align-self: start;
}
.legal-toc {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
max-height: calc(100vh - 104px);
overflow-y: auto;
padding: 12px;
border: 1px solid var(--line-soft);
border-radius: 12px;
background: var(--bg-elevated);
}
.legal-toc.is-fixed {
position: fixed;
z-index: 20;
}
.legal-toc__label {
color: var(--text-dim);
font-size: 12px;
font-weight: 500;
line-height: 16px;
}
.legal-toc__list {
display: flex;
flex-direction: column;
gap: 2px;
}
.legal-toc__item {
display: flex;
align-items: center;
gap: 10px;
width: 100%;
height: 40px;
padding: 0 10px;
border-radius: 8px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
white-space: nowrap;
}
.legal-toc__item > span:first-child {
color: var(--text-dim);
font-family: Inter, var(--font);
font-size: 12px;
font-weight: 500;
line-height: 16px;
letter-spacing: .06em;
}
.legal-toc__item.is-active {
background: rgba(236, 35, 127, .1);
color: var(--accent-hot);
}
.legal-toc__item.is-active > span:first-child {
color: var(--accent-hot);
}
.legal-content {
display: flex;
flex-direction: column;
gap: 32px;
min-width: 0;
}
.legal-section {
display: flex;
flex-direction: column;
gap: 10px;
scroll-margin-top: 88px;
}
.legal-section__title {
margin: 0;
color: var(--text);
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.legal-section__paragraph {
margin: 0;
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.legal-section__paragraph a,
.legal-section__meta a {
color: var(--accent-hot);
}
.legal-section__meta {
margin: 0;
display: inline-flex;
flex-wrap: wrap;
align-items: center;
align-content: center;
gap: 8px;
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
@media (min-width: 769px) {
.legal-page .site-footer__legal {
flex-direction: row;
justify-content: space-between;
gap: 24px;
}
.legal-page .site-footer__rule {
margin-top: 8px;
}
}
@media (min-width: 769px) and (max-width: 1199px) {
.legal-page .site-header {
height: 72px;
padding-block: 0;
flex-wrap: nowrap;
}
.legal-page .site-header__left,
.legal-page .site-header__right {
width: auto;
}
.legal-page .site-header .search {
width: min(260px, 30vw);
}
}
@media (min-width: 769px) and (max-width: 1100px) {
.legal-page .site-header .nav {
display: none;
}
}
@media (max-width: 768px) {
.legal-page {
padding-top: 0;
}
.legal-page .site-header {
display: none;
}
.legal-page .page-subheader {
display: flex;
background: var(--bg);
border-bottom: 1px solid var(--line-soft);
}
.legal-main {
padding-top: 56px;
}
.legal-hero,
.legal-layout {
width: 100%;
}
.legal-hero {
gap: 8px;
padding: 20px 16px 4px;
}
.legal-kicker {
letter-spacing: 1.56px;
}
.legal-title {
font-size: 22px;
line-height: 30px;
letter-spacing: 0;
}
.legal-dates,
.legal-intro {
font-size: 13px;
line-height: 20px;
}
.legal-layout {
display: flex;
flex-direction: column;
gap: 0;
padding: 0;
}
.legal-toc {
position: static;
top: auto;
left: auto;
z-index: auto;
display: block;
width: 100% !important;
max-height: none;
overflow: visible;
padding: 8px 0 0;
border: 0;
border-radius: 0;
background: transparent;
}
.legal-toc.is-fixed {
position: static;
}
.legal-toc-slot {
height: auto !important;
}
.legal-toc__label {
display: none;
}
.legal-toc__list {
display: flex;
flex-direction: row;
gap: 8px;
width: 100%;
padding: 0 16px;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: none;
-webkit-overflow-scrolling: touch;
}
.legal-toc__list::-webkit-scrollbar {
display: none;
}
.legal-toc__item {
width: auto;
height: 30px;
flex: none;
gap: 6px;
padding: 0 14px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 999px;
background: transparent;
color: var(--text-muted);
font-size: 13px;
font-weight: 400;
line-height: 20px;
}
.legal-toc__item > span:first-child {
color: inherit;
font-family: var(--font);
font-size: inherit;
font-weight: inherit;
line-height: inherit;
letter-spacing: 0;
}
.legal-toc__item.is-active {
background: rgba(236, 35, 127, 0.1);
border-color: rgba(236, 35, 127, 0.3);
color: var(--accent-hot);
}
.legal-content {
width: 100%;
gap: 20px;
padding: 12px 16px 20px;
}
.legal-section {
gap: 8px;
scroll-margin-top: 72px;
}
.legal-section__title {
font-size: 16px;
line-height: 22px;
}
.legal-section__paragraph,
.legal-section__meta {
font-size: 13px;
line-height: 20px;
}
.legal-page .site-footer__inner {
padding: 32px 16px 24px;
gap: 18px;
}
.legal-page .site-footer__brand {
gap: 12px;
}
.legal-page .site-footer__links {
flex-wrap: wrap;
justify-content: center;
gap: 12px 16px;
}
.legal-page .footer-col {
flex-wrap: nowrap;
}
/* H5:隐藏浏览栏与「联系我们」,保留条款含 2257 / DMCA,下载改为文字链 */
.legal-page .footer-col:first-child,
.legal-page .footer-col[aria-label="帮助"] a[href*="CustomerServiceHost"],
.legal-page .footer-col[aria-label="帮助"] a:last-child {
display: none;
}
.legal-page .footer-download {
display: flex;
flex-basis: auto;
justify-content: center;
padding: 0;
border: 0;
background: none;
}
.legal-page .footer-download .qr-box,
.legal-page .footer-download__copy strong,
.legal-page .footer-download__copy p,
.legal-page .footer-download__copy .icon {
display: none;
}
.legal-page .footer-download .btn {
height: 20px;
padding: 0;
color: var(--text-muted);
background: none;
font-size: 13px;
line-height: 20px;
}
.legal-page .site-footer__rule {
display: none;
}
.legal-page .site-footer__legal {
flex-direction: column;
align-items: center;
gap: 0;
}
.legal-page .site-footer__legal p:first-child {
order: 2;
width: 100%;
padding-top: 16px;
margin-top: 16px;
border-top: 1px solid var(--line-soft);
}
.legal-page .site-footer__legal p:last-child {
order: 1;
}
.legal-page .site-footer__adult,
.legal-page .site-footer__rights {
display: none;
}
.legal-page .site-footer__mobile-adult {
display: inline;
}
}
+246
View File
@@ -0,0 +1,246 @@
/* 短剧列表页 */
body.page-list .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.list-page {
padding-top: 72px;
}
.list-hero {
display: flex;
flex-direction: column;
gap: 20px;
padding: 36px 0 8px;
}
.list-hero__intro {
display: flex;
flex-direction: column;
gap: 8px;
}
.list-hero__eyebrow {
margin: 0;
}
.list-hero__title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 36px;
}
.list-hero__desc {
margin: 0;
color: var(--text-muted);
font-size: 15px;
font-weight: 400;
line-height: 24px;
}
.list-filters {
display: flex;
flex-direction: column;
gap: 12px;
padding-bottom: 4px;
}
.filter-row {
display: flex;
align-items: flex-start;
gap: 16px;
}
.filter-row__label {
flex-shrink: 0;
width: 56px;
color: var(--text-dim);
font-size: 14px;
font-weight: 400;
line-height: 36px;
}
.filter-row__options {
display: flex;
flex: 1 1 0;
flex-wrap: wrap;
gap: 10px;
min-width: 0;
}
.filter-chip {
display: inline-flex;
align-items: center;
justify-content: center;
height: 36px;
padding: 0 16px;
border-radius: 999px;
border: 1px solid var(--line);
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
background: transparent;
}
.filter-chip.is-active,
.filter-chip:hover {
color: var(--accent-hot);
background: rgba(236, 35, 127, 0.1);
border-color: rgba(236, 35, 127, 0.3);
}
.list-body {
display: flex;
flex-direction: column;
gap: 28px;
padding: 20px 0 24px;
}
.list-count {
display: none;
margin: 0;
color: var(--text-dim);
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.grid--list {
display: flex;
flex-wrap: wrap;
gap: 24px;
align-content: flex-start;
}
.card--list {
width: 180px;
gap: 10px;
}
.card--list .card__cover {
display: block;
aspect-ratio: 180 / 240;
height: 240px;
}
.card--list .card__title {
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.card--list .card__meta {
font-size: 13px;
line-height: 20px;
}
.card--list .card__ep {
bottom: 10px;
}
.list-promo,
.list-mid-promo {
flex: 0 0 100%;
width: 100%;
padding: 0;
}
.list-bottom-promo {
padding-bottom: 24px;
}
@media (max-width: 768px) {
.list-page {
padding-top: 56px;
}
.list-hero {
padding: 16px var(--h5-gutter) 8px;
gap: 12px;
}
.list-hero__title {
font-size: 22px;
line-height: 30px;
}
.list-hero__desc {
font-size: 13px;
line-height: 20px;
}
.list-filters {
gap: 8px;
padding: 0;
}
.filter-row {
flex-direction: column;
gap: 8px;
}
.filter-row__options {
flex: none;
width: 100%;
flex-wrap: nowrap;
overflow-x: auto;
scrollbar-width: none;
gap: 8px;
padding: 0 var(--h5-gutter);
}
.filter-row__options::-webkit-scrollbar {
display: none;
}
.filter-chip {
flex-shrink: 0;
height: 32px;
padding: 0 14px;
font-size: 13px;
font-weight: 400;
border-color: rgba(255, 255, 255, 0.12);
}
.list-body {
padding: 14px var(--h5-gutter) 20px;
gap: 14px;
}
.list-count {
display: block;
}
.list-body:has(.list-count) .pagination__total {
display: none;
}
.grid--list {
gap: 14px 8px;
}
.card--list {
width: calc((100% - 16px) / 3);
gap: 6px;
}
.card--list .card__cover {
height: auto;
aspect-ratio: 109 / 145;
}
.card--list .card__title {
font-size: 14px;
line-height: 20px;
}
.card--list .card__meta {
font-size: 11px;
line-height: 16px;
}
}
+283
View File
@@ -0,0 +1,283 @@
/* H5 登录页 */
body.page-login {
min-height: 100vh;
background: var(--bg);
}
.page-login .page-subheader {
display: flex;
border-bottom: 0;
}
.login-page {
min-height: 100vh;
padding: 56px 0 32px;
box-sizing: border-box;
}
.login-page__inner {
width: 100%;
max-width: 440px;
margin: 0 auto;
padding: 24px var(--h5-gutter);
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
box-sizing: border-box;
}
.login-page__brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.login-page__logo {
width: 64px;
height: 64px;
border-radius: 12px;
object-fit: cover;
box-shadow: 0 8px 24px rgba(236, 35, 127, 0.4);
}
.login-page__content {
align-self: stretch;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 18px;
}
.login-page__intro {
align-self: stretch;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
}
.login-page__title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 38px;
}
.login-page__desc {
margin: 0;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.login-page__form {
align-self: stretch;
display: flex;
flex-direction: column;
gap: 16px;
}
.login-page__field {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.login-page__label {
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.login-page__control {
align-self: stretch;
height: 48px;
padding: 0 16px;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid transparent;
border-radius: 12px;
outline: 1px solid transparent;
outline-offset: -1px;
}
.login-page__control:focus-within {
outline-color: rgba(236, 35, 127, 0.45);
}
.login-page__field.is-error .login-page__control {
outline-color: #ff5a5f;
}
.login-page__error {
display: inline-flex;
align-items: center;
gap: 6px;
color: #ff5a5f;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.login-page__error[hidden] {
display: none !important;
}
.login-page__error-icon {
width: 14px;
height: 14px;
flex-shrink: 0;
}
.login-page__control > .icon {
width: 18px;
height: 18px;
flex-shrink: 0;
}
.login-page__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
border: 0;
outline: none;
background: transparent;
color: var(--text);
font: inherit;
font-size: 15px;
line-height: 24px;
}
.login-page__input::placeholder {
color: var(--text-dim);
}
.login-page__toggle {
width: 18px;
height: 18px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--text-dim);
}
.login-page__toggle .icon {
width: 18px;
height: 18px;
}
.login-page__meta {
align-self: stretch;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.login-page__remember {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--text-muted);
font-size: 13px;
line-height: 20px;
cursor: pointer;
}
.login-page__checkbox {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}
.login-page__check {
width: 18px;
height: 18px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 4px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid var(--line);
}
.login-page__checkbox:checked + .login-page__check {
border-color: transparent;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.login-page__checkbox:checked + .login-page__check::after {
content: "";
width: 10px;
height: 6px;
border-left: 1.5px solid #fff;
border-bottom: 1.5px solid #fff;
transform: translateY(-1px) rotate(-45deg);
}
.login-page__forgot {
color: #ff4a7b;
font-size: 13px;
line-height: 20px;
}
.login-page__submit {
align-self: stretch;
height: 52px;
padding: 0 28px;
font-size: 16px;
line-height: 24px;
}
.login-page__switch {
margin: 0;
align-self: stretch;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.login-page__switch a {
color: #ff4a7b;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.login-page__rule {
align-self: stretch;
height: 1px;
background: var(--line-soft);
}
.login-page__legal {
margin: 0;
align-self: stretch;
text-align: center;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.login-page__legal a {
color: inherit;
text-decoration: underline;
text-underline-offset: 2px;
}
+308
View File
@@ -0,0 +1,308 @@
/* PC 登录弹窗 */
.login-pop {
position: fixed;
inset: 0;
z-index: 290;
display: none;
align-items: center;
justify-content: center;
padding: 24px;
}
.login-pop.is-open {
display: flex;
}
.login-pop__mask {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.7);
}
.login-pop__panel {
position: relative;
z-index: 1;
width: 440px;
max-width: 100%;
padding: 32px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
background: #141417;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
overflow: hidden;
}
.login-pop__close {
position: absolute;
top: 16px;
right: 16px;
width: 32px;
height: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.04);
border-radius: 999px;
}
.login-pop__close .icon {
width: 18px;
height: 18px;
}
.login-pop__intro {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
padding-right: 40px;
}
.login-pop__title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 38px;
}
.login-pop__desc {
margin: 0;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.login-pop__form {
align-self: stretch;
display: flex;
flex-direction: column;
gap: 16px;
}
.login-pop__field {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.login-pop__label {
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.login-pop__control {
align-self: stretch;
height: 48px;
padding: 0 16px;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid transparent;
border-radius: 12px;
outline: 1px solid transparent;
outline-offset: -1px;
}
.login-pop__control:focus-within {
outline-color: rgba(236, 35, 127, 0.45);
}
.login-pop__field.is-error .login-pop__control {
outline-color: #ff5a5f;
}
.login-pop__error {
display: inline-flex;
align-items: center;
gap: 6px;
color: #ff5a5f;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.login-pop__error[hidden] {
display: none !important;
}
.login-pop__error-icon {
width: 14px;
height: 14px;
flex-shrink: 0;
}
.login-pop__control > .icon {
width: 18px;
height: 18px;
flex-shrink: 0;
color: var(--text-dim);
}
.login-pop__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
border: 0;
outline: none;
background: transparent;
color: var(--text);
font: inherit;
font-size: 15px;
line-height: 24px;
}
.login-pop__input::placeholder {
color: var(--text-dim);
}
.login-pop__toggle {
width: 18px;
height: 18px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--text-dim);
}
.login-pop__toggle .icon {
width: 18px;
height: 18px;
}
.login-pop__meta {
align-self: stretch;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.login-pop__remember {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--text-muted);
font-size: 13px;
line-height: 20px;
cursor: pointer;
}
.login-pop__checkbox {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}
.login-pop__check {
width: 18px;
height: 18px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 4px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid var(--line);
}
.login-pop__checkbox:checked + .login-pop__check {
border-color: transparent;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.login-pop__checkbox:checked + .login-pop__check::after {
content: "";
width: 10px;
height: 6px;
border-left: 1.5px solid #fff;
border-bottom: 1.5px solid #fff;
transform: translateY(-1px) rotate(-45deg);
}
.login-pop__submit {
align-self: stretch;
height: 52px;
padding: 0 28px;
font-size: 16px;
line-height: 24px;
}
.login-pop__submit.is-loading,
.login-pop__submit:disabled {
opacity: 0.72;
cursor: wait;
}
.login-pop__tip {
margin: 0;
align-self: stretch;
padding: 8px 12px;
border-radius: 8px;
font-size: 13px;
line-height: 20px;
background: rgba(255, 74, 123, 0.1);
color: #ff4a7b;
}
.login-pop__tip.is-success {
background: rgba(30, 120, 70, 0.12);
color: #1e7846;
}
.login-pop__tip[hidden] {
display: none !important;
}
.login-pop__rule {
align-self: stretch;
height: 1px;
background: var(--line-soft);
}
.login-pop__legal {
margin: 0;
align-self: stretch;
text-align: center;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.login-pop__legal a {
color: inherit;
text-decoration: underline;
text-underline-offset: 2px;
}
@media (max-width: 768px) {
.login-pop {
padding: 16px;
}
.login-pop__panel {
max-height: calc(100vh - 32px);
max-height: calc(100dvh - 32px);
padding: 24px 20px;
border-radius: 18px;
overflow-y: auto;
}
.login-pop__title {
font-size: 24px;
line-height: 32px;
}
}
+521
View File
@@ -0,0 +1,521 @@
/* Mobile search: the Figma frames use a 375px-wide canvas. */
.mobile-search {
--mobile-search-unit: 1px;
width: 375px;
max-width: 100%;
min-height: 100vh;
margin-inline: auto;
background: var(--bg, #0b0b0d);
color: var(--text, #f2f2f4);
font-family: var(--font, "PingFang SC", sans-serif);
}
.mobile-search__header {
display: flex;
align-items: center;
width: 100%;
height: calc(56 * var(--mobile-search-unit));
padding-inline: calc(12 * var(--mobile-search-unit));
background: var(--bg, #0b0b0d);
border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.mobile-search__back {
display: grid;
flex: 0 0 calc(36 * var(--mobile-search-unit));
place-items: center;
width: calc(36 * var(--mobile-search-unit));
height: calc(36 * var(--mobile-search-unit));
border-radius: 50%;
}
.mobile-search__back img,
.mobile-search__back svg {
display: block;
width: calc(22 * var(--mobile-search-unit));
height: calc(22 * var(--mobile-search-unit));
}
.mobile-search__form {
display: flex;
flex: 1 1 0;
align-items: center;
gap: calc(8 * var(--mobile-search-unit));
min-width: 0;
height: calc(36 * var(--mobile-search-unit));
padding-inline: calc(14 * var(--mobile-search-unit));
background: rgba(255, 255, 255, 0.06);
border: 1px solid #ec237f;
border-radius: 999px;
}
.mobile-search__search-icon {
display: block;
flex: 0 0 calc(18 * var(--mobile-search-unit));
width: calc(18 * var(--mobile-search-unit));
height: calc(18 * var(--mobile-search-unit));
}
.mobile-search__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
color: var(--text, #f2f2f4);
background: transparent;
border: 0;
outline: 0;
font: 400 calc(14 * var(--mobile-search-unit)) / calc(22 * var(--mobile-search-unit)) var(--font, "PingFang SC", sans-serif);
appearance: none;
}
.mobile-search__input::placeholder {
color: var(--text-dim, #7c7c86);
opacity: 1;
}
.mobile-search__input::-webkit-search-cancel-button,
.mobile-search__input::-webkit-search-decoration {
appearance: none;
}
.mobile-search__clear {
display: grid;
flex: 0 0 calc(16 * var(--mobile-search-unit));
place-items: center;
width: calc(16 * var(--mobile-search-unit));
height: calc(16 * var(--mobile-search-unit));
}
.mobile-search__clear[hidden] {
display: none;
}
.mobile-search__clear img,
.mobile-search__clear svg {
display: block;
width: 100%;
height: 100%;
}
.mobile-search__cancel {
flex: 0 0 auto;
padding-left: 8px;
color: var(--text-muted, #a1a1aa);
font-size: calc(14 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(22 * var(--mobile-search-unit));
white-space: nowrap;
}
.mobile-search__main,
.mobile-search__default,
.mobile-search__suggestions {
width: 100%;
}
.mobile-search__default[hidden],
.mobile-search__suggestions[hidden],
.mobile-search__suggestion-list[hidden],
.mobile-search__suggestion[hidden],
.mobile-search__history[hidden] {
display: none;
}
.mobile-search__history {
display: flex;
flex-direction: column;
align-items: stretch;
gap: calc(10 * var(--mobile-search-unit));
padding: calc(16 * var(--mobile-search-unit)) calc(16 * var(--mobile-search-unit)) calc(8 * var(--mobile-search-unit));
}
.mobile-search__history-head,
.mobile-search__section-head {
display: flex;
align-items: center;
justify-content: space-between;
}
.mobile-search__section-label {
margin: 0;
color: var(--text-dim, #7c7c86);
font-size: calc(12 * var(--mobile-search-unit));
font-weight: 500;
line-height: calc(16 * var(--mobile-search-unit));
}
.mobile-search__history-clear {
display: grid;
flex: 0 0 calc(14 * var(--mobile-search-unit));
place-items: center;
width: calc(14 * var(--mobile-search-unit));
height: calc(14 * var(--mobile-search-unit));
}
.mobile-search__history-clear img,
.mobile-search__history-clear svg {
display: block;
width: 100%;
height: 100%;
}
.mobile-search__chips {
display: flex;
flex-wrap: wrap;
gap: calc(8 * var(--mobile-search-unit));
}
.mobile-search__chip {
display: inline-flex;
align-items: center;
justify-content: center;
height: calc(30 * var(--mobile-search-unit));
padding-inline: calc(12 * var(--mobile-search-unit));
color: var(--text-muted, #a1a1aa);
background: rgba(255, 255, 255, 0.06);
border-radius: 999px;
font-size: calc(13 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(20 * var(--mobile-search-unit));
white-space: nowrap;
}
.mobile-search__trending {
display: flex;
flex-direction: column;
gap: calc(6 * var(--mobile-search-unit));
padding: calc(12 * var(--mobile-search-unit)) calc(16 * var(--mobile-search-unit)) calc(16 * var(--mobile-search-unit));
}
.mobile-search__trend-list {
display: flex;
flex-direction: column;
gap: calc(6 * var(--mobile-search-unit));
margin: 0;
padding: 0;
list-style: none;
}
.mobile-search__trend {
min-width: 0;
}
.mobile-search__trend > a {
display: flex;
align-items: center;
gap: calc(12 * var(--mobile-search-unit));
width: 100%;
min-width: 0;
min-height: calc(40 * var(--mobile-search-unit));
padding-block: calc(9 * var(--mobile-search-unit));
}
.mobile-search__trend-rank {
flex: 0 0 calc(18 * var(--mobile-search-unit));
width: calc(18 * var(--mobile-search-unit));
color: var(--text-dim, #7c7c86);
font-family: Inter, var(--font, "PingFang SC", sans-serif);
font-size: calc(16 * var(--mobile-search-unit));
font-weight: 600;
line-height: calc(20 * var(--mobile-search-unit));
}
.mobile-search__trend:nth-child(-n + 3) .mobile-search__trend-rank {
color: var(--accent-hot, #ff4a7b);
}
.mobile-search__trend-name {
flex: 1 1 0;
min-width: 0;
overflow: hidden;
color: var(--text, #f2f2f4);
font-size: calc(14 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(22 * var(--mobile-search-unit));
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-search__trend-badge {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
height: calc(18 * var(--mobile-search-unit));
padding-inline: calc(5 * var(--mobile-search-unit));
border-radius: 999px;
font-size: calc(11 * var(--mobile-search-unit));
font-weight: 500;
line-height: calc(14 * var(--mobile-search-unit));
}
.mobile-search__trend-badge--hot,
.mobile-search__trend-badge:not(.mobile-search__trend-badge--new) {
color: #fff;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
}
.mobile-search__trend-badge--new {
color: var(--accent-hot, #ff4a7b);
background: rgba(236, 35, 127, 0.1);
border: 1px solid rgba(236, 35, 127, 0.3);
}
.mobile-search__trend-heat {
flex: 0 0 auto;
color: var(--text-dim, #7c7c86);
font-size: calc(12 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(18 * var(--mobile-search-unit));
white-space: nowrap;
}
.mobile-search__recommendations {
display: flex;
flex-direction: column;
gap: calc(14 * var(--mobile-search-unit));
padding: calc(8 * var(--mobile-search-unit)) calc(16 * var(--mobile-search-unit)) calc(24 * var(--mobile-search-unit));
}
.mobile-search__recommend-title {
margin: 0;
color: var(--text, #f2f2f4);
font-size: calc(16 * var(--mobile-search-unit));
font-weight: 600;
line-height: calc(22 * var(--mobile-search-unit));
}
.mobile-search__recommend-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: calc(16 * var(--mobile-search-unit)) calc(8 * var(--mobile-search-unit));
}
.mobile-search__card {
display: flex;
flex-direction: column;
gap: calc(6 * var(--mobile-search-unit));
min-width: 0;
}
.mobile-search__cover {
position: relative;
display: block;
width: 100%;
aspect-ratio: 109 / 145;
overflow: hidden;
background: var(--bg-panel, #1b1b1f);
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: calc(8 * var(--mobile-search-unit));
}
.mobile-search__cover > img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.mobile-search__cover-shade {
position: absolute;
inset: 58% 0 0;
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.7));
pointer-events: none;
}
.mobile-search__episodes {
position: absolute;
z-index: 1;
bottom: calc(10 * var(--mobile-search-unit));
left: calc(10 * var(--mobile-search-unit));
color: var(--text, #f2f2f4);
font-size: calc(11 * var(--mobile-search-unit));
font-weight: 500;
line-height: calc(14 * var(--mobile-search-unit));
white-space: nowrap;
}
.mobile-search__title,
.mobile-search__meta {
display: block;
margin: 0;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-search__title {
color: var(--text, #f2f2f4);
font-size: calc(14 * var(--mobile-search-unit));
font-weight: 600;
line-height: calc(20 * var(--mobile-search-unit));
}
.mobile-search__meta {
color: var(--text-muted, #a1a1aa);
font-size: calc(11 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(16 * var(--mobile-search-unit));
}
.mobile-search__suggestions {
display: flex;
flex-direction: column;
align-items: stretch;
padding: calc(12 * var(--mobile-search-unit)) calc(16 * var(--mobile-search-unit)) calc(16 * var(--mobile-search-unit));
}
.mobile-search__suggestion-list {
display: flex;
flex-direction: column;
align-items: stretch;
gap: calc(6 * var(--mobile-search-unit));
width: 100%;
margin: 0;
padding: 0;
list-style: none;
}
.mobile-search__suggest-empty {
margin: 0;
padding: calc(12 * var(--mobile-search-unit)) calc(4 * var(--mobile-search-unit));
color: var(--text-dim, #7c7c86);
font-size: calc(13 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(20 * var(--mobile-search-unit));
}
.mobile-search__suggestion-feature {
display: flex;
align-items: center;
gap: calc(12 * var(--mobile-search-unit));
width: 100%;
min-height: calc(84 * var(--mobile-search-unit));
padding: calc(10 * var(--mobile-search-unit));
background: var(--bg-panel, #1b1b1f);
border-radius: calc(12 * var(--mobile-search-unit));
}
.mobile-search__feature-cover {
display: block;
flex: 0 0 calc(48 * var(--mobile-search-unit));
width: calc(48 * var(--mobile-search-unit));
height: calc(64 * var(--mobile-search-unit));
overflow: hidden;
border-radius: calc(6 * var(--mobile-search-unit));
}
.mobile-search__feature-cover img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.mobile-search__feature-copy {
display: flex;
flex: 1 1 0;
flex-direction: column;
gap: calc(4 * var(--mobile-search-unit));
min-width: 0;
}
.mobile-search__feature-title {
margin: 0;
overflow: hidden;
color: var(--text, #f2f2f4);
font-size: calc(15 * var(--mobile-search-unit));
font-weight: 600;
line-height: calc(21 * var(--mobile-search-unit));
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-search__feature-title mark,
.mobile-search__feature-title > span:first-child,
.mobile-search__suggestion-text mark,
.mobile-search__suggestion-text > span:first-child,
.mobile-search__highlight {
color: var(--accent-hot, #ff4a7b);
background: none;
}
.mobile-search__feature-meta {
margin: 0;
overflow: hidden;
color: var(--text-dim, #7c7c86);
font-size: calc(12 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(18 * var(--mobile-search-unit));
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-search__feature-play {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
gap: calc(8 * var(--mobile-search-unit));
height: calc(32 * var(--mobile-search-unit));
padding-inline: calc(12 * var(--mobile-search-unit));
color: #fff;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
border-radius: 999px;
font-size: calc(14 * var(--mobile-search-unit));
font-weight: 500;
line-height: calc(20 * var(--mobile-search-unit));
white-space: nowrap;
}
.mobile-search__feature-play img,
.mobile-search__feature-play svg {
width: calc(16 * var(--mobile-search-unit));
height: calc(16 * var(--mobile-search-unit));
}
.mobile-search__suggestion {
display: flex;
align-items: center;
gap: calc(10 * var(--mobile-search-unit));
min-width: 0;
padding: calc(10 * var(--mobile-search-unit)) calc(4 * var(--mobile-search-unit));
border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.mobile-search__suggestion-icon {
display: block;
flex: 0 0 calc(16 * var(--mobile-search-unit));
width: calc(16 * var(--mobile-search-unit));
height: calc(16 * var(--mobile-search-unit));
}
.mobile-search__suggestion-text {
flex: 1 1 0;
min-width: 0;
overflow: hidden;
color: var(--text, #f2f2f4);
font-size: calc(14 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(22 * var(--mobile-search-unit));
text-overflow: ellipsis;
white-space: nowrap;
}
.mobile-search__suggestion-type {
flex: 0 0 auto;
color: var(--text-dim, #7c7c86);
font-size: calc(12 * var(--mobile-search-unit));
font-weight: 400;
line-height: calc(18 * var(--mobile-search-unit));
white-space: nowrap;
}
@media (max-width: 768px) {
.mobile-search {
--mobile-search-unit: calc(100vw / 375);
width: 100%;
}
}
+12
View File
@@ -0,0 +1,12 @@
/* 首页配置更多页 */
body.page-more .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
@media (max-width: 768px) {
body.page-more .site-header {
display: none !important;
}
}
+428
View File
@@ -0,0 +1,428 @@
/* 官方导航页:H5 默认(375 / 343 内容栏),PC 加宽居中 */
.nav-page-body {
margin: 0;
min-height: 100vh;
min-height: 100dvh;
background: #0b0b0d;
color: #f2f2f4;
font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}
.nav-page {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
overflow: hidden;
box-sizing: border-box;
width: 100%;
min-height: 100vh;
min-height: 100dvh;
padding: 64px 16px 40px;
}
.nav-page__bg {
position: absolute;
inset: -40px;
z-index: 0;
pointer-events: none;
}
.nav-page__bg-img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
filter: blur(5px);
transform: scale(1.02);
}
.nav-page__bg-mask {
position: absolute;
inset: 0;
background:
linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 70%),
rgba(0, 0, 0, 0.6);
}
.nav-page__inner {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
width: min(100%, 343px);
}
.nav-page__sr-title {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
/* Brand */
.nav-brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
width: 100%;
text-align: center;
}
.nav-brand__lockup {
display: inline-flex;
align-items: center;
justify-content: center;
color: inherit;
text-decoration: none;
}
.nav-brand__logo {
display: block;
width: 220px;
height: auto;
}
.nav-brand__tagline {
margin: 0;
color: #a1a1aa;
font-size: 14px;
font-weight: 400;
line-height: 22px;
}
.nav-brand__highlight {
margin: 0;
color: #ff4a7b;
font-size: 18px;
font-weight: 600;
line-height: 26px;
}
/* Entries */
.nav-entries {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
margin-top: 26px;
}
.nav-entry {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
box-sizing: border-box;
width: 100%;
min-height: 72px;
padding: 14px 14px 14px 18px;
overflow: hidden;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.07);
background: rgba(255, 255, 255, 0.07);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
color: inherit;
text-decoration: none;
-webkit-tap-highlight-color: transparent;
}
.nav-entry__glow {
position: absolute;
top: -36px;
left: 226px;
width: 189px;
height: 144px;
border-radius: 9999px;
background: #ec237f;
opacity: 0.28;
filter: blur(20px);
pointer-events: none;
}
.nav-entry__copy {
position: relative;
z-index: 1;
display: flex;
flex: 1 1 auto;
flex-direction: column;
align-items: flex-start;
gap: 3px;
min-width: 0;
text-align: left;
}
.nav-entry__name {
color: #f2f2f4;
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.nav-entry__url {
color: #ff4a7b;
font-size: 15px;
font-weight: 400;
line-height: 24px;
word-break: break-all;
}
.nav-entry__cta {
position: relative;
z-index: 1;
display: inline-flex;
flex-shrink: 0;
align-items: center;
justify-content: center;
gap: 4px;
height: 36px;
padding: 0 12px;
border-radius: 999px;
border: 1px solid #ff4a7b;
color: #ff4a7b;
font-size: 12px;
font-weight: 500;
line-height: 16px;
}
.nav-entry__cta-icon {
display: block;
width: 14px;
height: 14px;
filter: brightness(0) saturate(100%) invert(42%) sepia(84%) saturate(2146%) hue-rotate(314deg) brightness(101%) contrast(101%);
}
.nav-entry--forever {
flex-direction: column;
justify-content: center;
gap: 3px;
padding: 14px 16px;
border-color: rgba(236, 35, 127, 0.3);
background: rgba(236, 35, 127, 0.1);
text-align: center;
}
.nav-entry--forever .nav-entry__name,
.nav-entry--forever .nav-entry__url {
width: 100%;
text-align: center;
}
/* APP banner */
.nav-app {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
box-sizing: border-box;
width: 100%;
height: 50px;
margin-top: 20px;
padding: 0 22px;
border-radius: 12px;
border: none;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
color: #f2f2f4;
text-decoration: none;
-webkit-tap-highlight-color: transparent;
}
.nav-app__icon {
display: block;
width: 20px;
height: 20px;
flex-shrink: 0;
filter: brightness(0) invert(95%);
}
.nav-app__text {
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
/* Contact + icons */
.nav-contact {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
padding: 20px 0 18px;
color: #ff4a7b;
font-size: 13px;
font-weight: 400;
line-height: 20px;
text-decoration: none;
word-break: break-all;
-webkit-tap-highlight-color: transparent;
}
.nav-icons {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: flex-start;
gap: 0;
width: 100%;
}
.nav-icon {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 7px;
flex: 1 1 0;
min-width: 0;
color: inherit;
text-decoration: none;
-webkit-tap-highlight-color: transparent;
}
.nav-icon__badge {
display: inline-flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 40px;
height: 40px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.07);
background: rgba(255, 255, 255, 0.12);
}
.nav-icon__badge img {
display: block;
width: 18px;
height: 18px;
object-fit: contain;
filter: brightness(0) invert(95%);
}
.nav-icon__badge img[src*="brand-telegram"] {
width: 20px;
height: 16px;
}
.nav-icon__label {
color: #a1a1aa;
font-size: 12px;
font-weight: 400;
line-height: 18px;
text-align: center;
white-space: nowrap;
}
/* Footer */
.nav-footer {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
width: 100%;
margin-top: 26px;
text-align: center;
}
.nav-footer__note,
.nav-footer__copy {
margin: 0;
color: #7c7c86;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.nav-footer__copy {
margin-top: 10px;
}
/* PC:400 内容栏 + 更大品牌与间距 */
@media (min-width: 768px) {
.nav-page {
padding: 132px 24px 72px;
}
.nav-page__bg-img {
filter: blur(11px);
}
.nav-page__inner {
width: min(100%, 400px);
}
.nav-brand {
gap: 14px;
}
.nav-brand__logo {
width: 250px;
}
.nav-brand__tagline {
font-size: 15px;
line-height: 24px;
}
.nav-brand__highlight {
font-size: 20px;
line-height: 28px;
}
.nav-entries {
margin-top: 30px;
}
.nav-entry {
min-height: 76px;
}
.nav-entry__glow {
top: -38px;
left: auto;
right: -36px;
width: 220px;
height: 152px;
}
.nav-app {
height: 50px;
margin-top: 24px;
}
.nav-contact {
padding: 22px 0;
}
.nav-icons {
flex-wrap: wrap;
justify-content: center;
gap: 22px;
}
.nav-icon {
width: auto;
flex: 0 0 auto;
}
.nav-icon__badge {
width: 42px;
height: 42px;
}
.nav-footer {
margin-top: 30px;
}
}
+106
View File
@@ -0,0 +1,106 @@
/* 404 页面 */
body.page-404 .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.not-found-page {
padding-top: 72px;
}
.not-found {
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
padding: 120px 0 140px;
text-align: center;
}
.not-found__code {
margin: 0;
color: #ff4a7b;
font-family: Inter, var(--font);
font-size: 96px;
font-weight: 700;
line-height: 96px;
}
.not-found__title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 38px;
}
.not-found__desc {
margin: 0;
max-width: 520px;
color: var(--text-muted);
font-size: 15px;
line-height: 24px;
}
.not-found__actions {
padding-top: 8px;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
}
.not-found__cta .icon {
width: 22px;
height: 22px;
}
@media (max-width: 768px) {
.not-found-page {
padding-top: 56px;
}
.not-found {
gap: 14px;
padding: 96px var(--h5-gutter);
box-sizing: border-box;
}
.not-found__code {
font-size: 64px;
line-height: 64px;
}
.not-found__title {
font-size: 20px;
line-height: 28px;
}
.not-found__desc {
max-width: none;
align-self: stretch;
font-size: 13px;
line-height: 20px;
}
.not-found__actions {
align-self: stretch;
flex-direction: column;
align-items: stretch;
gap: 10px;
}
.not-found__cta {
width: 100%;
height: 48px;
padding: 0 22px;
font-size: 15px;
line-height: 22px;
}
.not-found__cta .icon {
width: 20px;
height: 20px;
}
}
+68
View File
@@ -0,0 +1,68 @@
.pagination {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
flex-wrap: wrap;
}
.pagination__btn,
.pagination__page {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: var(--radius-sm);
background: #141417;
border: 1px solid var(--line-soft);
color: var(--text-muted);
font-family: Inter, var(--font);
font-size: 16px;
font-weight: 600;
line-height: 20px;
}
.pagination__page.is-active {
color: #fff;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
border-color: transparent;
}
.pagination__btn .icon {
width: 16px;
height: 16px;
}
.pagination__btn--prev .icon {
transform: rotate(180deg);
}
.pagination__btn.is-disabled {
opacity: 0.45;
pointer-events: none;
}
.pagination__ellipsis {
color: var(--text-dim);
font-family: Inter, var(--font);
font-size: 16px;
font-weight: 600;
line-height: 20px;
}
.pagination__total {
margin-left: 4px;
color: var(--text-dim);
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
@media (max-width: 768px) {
.pagination__total {
width: 100%;
text-align: center;
margin: 8px 0 0;
}
}
File diff suppressed because it is too large Load Diff
+396
View File
@@ -0,0 +1,396 @@
/* 播放页评论区(含输入框、列表、内联回复) */
.play-comments {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 16px;
}
.play-comments__head {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 14px;
}
.play-comments__title {
margin: 0;
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.play-comments__count {
color: var(--text-dim);
font-size: 14px;
line-height: 22px;
}
.play-composer {
display: flex;
align-items: center;
gap: 12px;
}
.play-composer__avatar {
width: 40px;
height: 40px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
background: #232328;
border-radius: 999px;
overflow: hidden;
}
.play-composer__avatar-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.play-composer__field {
flex: 1 1 0;
min-width: 0;
height: 44px;
padding: 0 16px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid var(--line);
border-radius: var(--radius-md);
}
.play-composer__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
border: 0;
outline: none;
background: transparent;
color: var(--text);
font: inherit;
font-size: 15px;
line-height: 24px;
}
.play-composer__input::placeholder {
color: var(--text-dim);
}
.play-composer__count {
flex-shrink: 0;
color: var(--text-dim);
font-size: 14px;
line-height: 20px;
}
.play-composer__login,
.play-composer__send {
flex-shrink: 0;
}
.play-composer__send:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.play-comment-list {
margin: 0;
padding: 0;
list-style: none;
}
.play-comment {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 16px 0;
border-bottom: 1px solid var(--line-soft);
}
.play-comment:last-child {
border-bottom: 0;
}
.play-comment__avatar {
width: 40px;
height: 40px;
flex-shrink: 0;
border-radius: 999px;
object-fit: cover;
}
.play-comment__body {
flex: 1 1 0;
min-width: 0;
display: flex;
flex-direction: column;
gap: 8px;
}
.play-comment__meta {
display: flex;
align-items: center;
gap: 10px;
}
.play-comment__name {
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.play-comment__time {
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.play-comment__text {
margin: 0;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.play-comment--empty {
justify-content: center;
align-items: center;
border-bottom: 0;
}
.play-comment--empty .play-comment__text {
padding: 12px 0;
color: var(--muted, #888);
text-align: center;
width: 100%;
}
.play-comment__reply {
padding: 10px 14px;
color: var(--text-muted);
font-size: 13px;
line-height: 20px;
background: rgba(255, 255, 255, 0.04);
border-radius: var(--radius-sm);
}
.play-comment__actions {
display: flex;
align-items: center;
gap: 20px;
}
.play-comment__action {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 0;
border: 0;
background: transparent;
color: var(--text-dim);
font: inherit;
font-size: 12px;
line-height: 18px;
cursor: pointer;
}
.play-comment__action:disabled {
cursor: default;
opacity: 0.7;
}
.play-comment__action.is-active {
color: var(--brand, #e9c977);
}
.play-comment__action.is-active .icon {
opacity: 1;
filter: none;
}
.play-comment__action .icon {
width: 14px;
height: 14px;
opacity: 0.75;
}
.play-comment__inline {
width: 100%;
margin-top: 4px;
padding: 10px 12px;
display: flex;
flex-direction: column;
gap: 8px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid var(--line-soft);
border-radius: var(--radius-sm);
box-sizing: border-box;
}
.play-comment__inline-hint {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.play-comment__inline-hint button {
flex-shrink: 0;
padding: 0;
border: 0;
background: transparent;
color: var(--brand, #e9c977);
font: inherit;
font-size: 12px;
line-height: 18px;
cursor: pointer;
}
.play-comment__inline-row {
display: flex;
align-items: center;
gap: 8px;
}
.play-comment__inline-input {
flex: 1 1 0;
min-width: 0;
height: 36px;
padding: 0 12px;
border: 1px solid var(--line);
border-radius: 999px;
background: rgba(0, 0, 0, 0.35);
color: var(--text);
font: inherit;
font-size: 13px;
line-height: 20px;
outline: none;
}
.play-comment__inline-input::placeholder {
color: var(--text-dim);
}
.play-comment__inline-input:focus,
.play-comment__inline-input:focus-visible {
border-color: rgba(233, 201, 119, 0.55);
}
.play-comment__inline-send {
flex-shrink: 0;
height: 36px;
padding: 0 14px;
border: 0;
border-radius: 999px;
background: var(--brand, #e9c977);
color: #141417;
font: inherit;
font-size: 13px;
font-weight: 600;
line-height: 20px;
cursor: pointer;
}
.play-comment__inline-send:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.play-comments__more {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
padding-top: 12px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
background: transparent;
border: 0;
cursor: pointer;
}
.play-comments__more[hidden] {
display: none;
}
.play-comments__more:disabled {
opacity: 0.6;
cursor: default;
}
.play-comments__more .icon {
width: 16px;
height: 16px;
transform: rotate(90deg);
}
@media (max-width: 768px) {
.play-comments {
width: 100%;
padding: 0;
gap: 16px;
}
.play-comments__head {
gap: 14px;
flex-wrap: nowrap;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.play-comments__head::-webkit-scrollbar {
display: none;
}
.play-comments__title {
flex-shrink: 0;
font-size: 22px;
line-height: 30px;
}
.play-comments__count {
flex-shrink: 0;
}
.play-composer {
width: 100%;
gap: 12px;
}
.play-composer__avatar {
flex-shrink: 0;
}
.play-composer__field {
min-width: 0;
}
.play-composer__login,
.play-composer__send {
flex-shrink: 0;
height: 40px;
padding: 0 16px;
}
.play-comment-list {
width: 100%;
}
.play-comments__more {
width: 100%;
}
}
+67
View File
@@ -0,0 +1,67 @@
/* 播放页官方入口链接块 */
.play-links {
padding: 14px 16px;
display: flex;
flex-direction: column;
gap: 10px;
background: var(--bg-elevated);
border: 1px solid var(--line-soft);
border-radius: var(--radius-md);
}
.play-links__row {
display: flex;
gap: 16px;
}
.play-links__item {
flex: 1 1 0;
min-width: 0;
display: flex;
align-items: center;
gap: 8px;
}
.play-links__item .icon {
width: 16px;
height: 16px;
flex-shrink: 0;
}
.play-links__label {
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.play-links__value {
flex: 1 1 0;
min-width: 0;
color: var(--accent-hot);
font-size: 14px;
font-weight: 500;
line-height: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
@media (max-width: 768px) {
.play-links {
margin: 16px var(--h5-gutter) 0;
padding: 12px 14px;
gap: 8px;
}
.play-links__row {
flex-direction: column;
gap: 8px;
}
.play-links__label {
width: 104px;
flex-shrink: 0;
}
}
+12
View File
@@ -0,0 +1,12 @@
/* 热门推荐页 */
body.page-popular .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
@media (max-width: 768px) {
body.page-popular .site-header {
display: none !important;
}
}
+590
View File
@@ -0,0 +1,590 @@
/* 个人中心 H5:以 Figma 375px 画板为基准。 */
@media (max-width: 768px) {
.profile-page {
--profile-gutter: clamp(14px, 4.266667vw, 18px);
--profile-card-gap: clamp(7px, 2.133333vw, 9px);
width: 100%;
min-width: 0;
padding-top: 0;
background: #0b0b0d;
}
.profile-hero {
width: 100%;
padding-top: 56px; /* 公共导航固定在视口顶部 */
background: linear-gradient(180deg, #2a0d22 0%, #150a17 60%, #0b0b0d 100%);
}
.profile-hero::before {
top: -90px;
left: -60px;
width: 360px;
height: 220px;
filter: blur(55px);
opacity: 0.22;
}
.profile-hero__inner {
display: block;
grid-template-columns: none;
width: 100%;
max-width: none;
margin: 0;
padding: 0;
}
.profile-identity {
display: flex;
align-items: center;
gap: clamp(12px, 3.733333vw, 16px);
min-width: 0;
margin: 0;
padding: 12px var(--profile-gutter) 16px;
}
.profile-identity__avatar {
display: block;
flex: 0 0 clamp(55px, 17.066667vw, 73px);
width: clamp(55px, 17.066667vw, 73px);
height: clamp(55px, 17.066667vw, 73px);
border: 2px solid rgba(255, 255, 255, 0.24);
border-radius: 50%;
object-fit: cover;
}
.profile-identity__copy {
display: grid;
flex: 1 1 0;
grid-template-columns: minmax(0, 1fr) auto;
grid-template-rows: 26px 16px;
column-gap: 12px;
row-gap: 6px;
min-width: 0;
}
.profile-identity__name {
grid-column: 1;
grid-row: 1;
overflow: hidden;
color: #f2f2f4;
font-size: 18px;
font-weight: 600;
line-height: 26px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-identity__meta {
grid-column: 1;
grid-row: 2;
overflow: hidden;
color: #a1a1aa;
font-size: 11px;
font-weight: 400;
line-height: 16px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-identity__edit {
display: inline-flex;
grid-column: 2;
grid-row: 1 / 3;
align-self: center;
flex: 0 0 auto;
align-items: center;
justify-content: center;
gap: 8px;
height: 32px;
padding: 0 8px;
color: #f2f2f4;
border: 1px solid rgba(255, 255, 255, 0.24);
border-radius: 999px;
font-size: 0;
font-weight: 500;
line-height: 0;
white-space: nowrap;
}
.profile-identity__edit::after {
content: "编辑";
font-size: 14px;
line-height: 20px;
}
.profile-identity__edit .icon,
.profile-identity__edit img,
.profile-identity__edit svg {
width: 16px;
height: 16px;
}
.profile-wallet {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
min-height: 101px;
margin: 0 var(--profile-gutter) 16px;
padding: 14px;
background: #141417;
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 12px;
}
.profile-wallet__label {
display: flex;
align-items: center;
gap: 6px;
color: #f2f2f4;
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.profile-wallet__amount {
display: block;
margin-top: 4px;
color: #e9c977;
font-family: Inter, var(--font);
font-size: 20px;
font-weight: 600;
line-height: 26px;
}
.profile-wallet__hint {
margin: 4px 0 0;
color: #7c7c86;
font-size: 11px;
line-height: 16px;
white-space: nowrap;
}
.profile-wallet__actions {
display: flex;
flex: 0 0 auto;
align-items: center;
}
.profile-wallet__recharge {
display: inline-flex;
align-items: center;
justify-content: center;
height: 32px;
padding: 0 12px;
color: #fff;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
border: 0;
border-radius: 999px;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.profile-wallet__details {
display: none;
}
.profile-stats {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
margin: 0;
min-height: 64px;
padding: 12px var(--profile-gutter) 14px;
border-top: 1px solid rgba(255, 255, 255, 0.07);
}
.profile-stat {
display: flex;
flex: 0 0 auto;
flex-direction: column;
align-items: center;
gap: 2px;
min-width: 0;
text-align: center;
}
.profile-stat__value {
color: #f2f2f4;
font-family: Inter, var(--font);
font-size: 16px;
font-weight: 600;
line-height: 20px;
}
.profile-stat__value span { display: none; }
.profile-stat__label {
color: #7c7c86;
font-size: 11px;
font-weight: 400;
line-height: 16px;
white-space: nowrap;
}
.profile-tabs {
width: 100%;
margin: 0;
padding-top: 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.profile-tabs__inner {
display: flex;
align-items: flex-end;
gap: 24px;
width: 100%;
max-width: none;
min-height: 38px;
height: 38px;
margin: 0;
padding: 6px var(--profile-gutter) 0;
overflow-x: auto;
overflow-y: hidden;
scrollbar-width: none;
-webkit-overflow-scrolling: touch;
}
.profile-tabs__inner::-webkit-scrollbar { display: none; }
.profile-tabs__link {
position: relative;
display: inline-flex;
flex: 0 0 auto;
align-items: flex-start;
justify-content: center;
min-height: 31px;
padding: 0 0 10px;
color: #a1a1aa;
font-size: 15px;
font-weight: 600;
line-height: 21px;
white-space: nowrap;
}
.profile-tabs__link.is-active { color: #f2f2f4; }
.profile-tabs__link.is-active::after {
content: "";
position: absolute;
bottom: 0;
left: 50%;
width: 20px;
height: 2px;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
transform: translateX(-50%);
}
.profile-main {
display: block;
width: 100%;
max-width: none;
min-width: 0;
margin: 0;
padding: 0;
}
.profile-section {
display: flex;
flex-direction: column;
gap: 14px;
width: 100%;
max-width: none;
margin: 0;
padding-right: var(--profile-gutter);
padding-left: var(--profile-gutter);
}
.profile-section--recent { padding-top: 16px; padding-bottom: 8px; }
.profile-section--favorites { padding-top: 12px; padding-bottom: 8px; }
.profile-section__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
min-height: 26px;
}
.profile-section__heading {
display: flex;
align-items: baseline;
gap: 10px;
min-width: 0;
}
.profile-section__title {
margin: 0;
color: #f2f2f4;
font-size: 18px;
font-weight: 600;
line-height: 26px;
white-space: nowrap;
}
.profile-section__subtitle {
color: #7c7c86;
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.profile-section--recent .profile-section__subtitle { display: none; }
.profile-section__more {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 2px;
color: #a1a1aa;
font-size: 13px;
line-height: 20px;
white-space: nowrap;
}
.profile-section__more .icon,
.profile-section__more img,
.profile-section__more svg { width: 14px; height: 14px; }
.profile-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px var(--profile-card-gap);
width: 100%;
min-width: 0;
}
.profile-section--recent .profile-card:nth-child(n + 4) { display: none; }
.profile-card {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 0;
}
.profile-card__cover {
position: relative;
display: block;
width: 100%;
aspect-ratio: 109 / 145;
overflow: hidden;
background: #1b1b1f;
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 8px;
}
.profile-card__cover::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient(180deg, transparent 58%, rgba(0, 0, 0, 0.7) 100%);
pointer-events: none;
}
.profile-card__image {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.profile-card__progress {
position: absolute;
right: 10px;
bottom: 6px;
left: 10px;
z-index: 2;
height: 3px;
overflow: hidden;
background: rgba(255, 255, 255, 0.12);
border-radius: 999px;
}
.profile-card__progress-fill {
display: block;
width: 60%;
height: 100%;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.profile-section--recent .profile-card:nth-child(1) .profile-card__progress-fill { width: 59.6%; }
.profile-section--recent .profile-card:nth-child(2) .profile-card__progress-fill { width: 24.7%; }
.profile-section--recent .profile-card:nth-child(3) .profile-card__progress-fill { width: 79.8%; }
.profile-card__episodes {
position: absolute;
bottom: 10px;
left: 10px;
z-index: 2;
color: #f2f2f4;
font-size: 11px;
font-weight: 500;
line-height: 14px;
white-space: nowrap;
}
.profile-card__badge {
position: absolute;
top: 4px;
right: 4px;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 30px;
height: 20px;
padding: 0 5px;
color: #141414;
background: linear-gradient(135deg, #fadc44 15%, #f9c24e 85%);
border-radius: 6px;
font-size: 11px;
font-weight: 500;
line-height: 14px;
white-space: nowrap;
}
.profile-card__badge:not(.profile-card__badge--hot) {
color: #141414;
background: linear-gradient(135deg, #fadc44 15%, #f9c24e 85%);
}
.profile-card__badge--hot,
.profile-card__badge[data-badge="hot"] {
color: #fff;
background: linear-gradient(135deg, #f04050 15%, #d01030 85%);
}
.profile-card__title {
display: block;
overflow: hidden;
color: #f2f2f4;
font-size: 14px;
font-weight: 600;
line-height: 20px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-card__meta {
display: block;
overflow: hidden;
color: #a1a1aa;
font-size: 11px;
font-weight: 400;
line-height: 16px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-card__remaining { display: none; }
.profile-promo {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
max-width: none;
margin: 0;
padding: 8px var(--profile-gutter);
}
.profile-ad {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 4px;
width: 100%;
aspect-ratio: 343 / 98;
min-height: 0;
background: #232328;
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 12px;
text-align: center;
}
.profile-ad__icon { width: 20px; height: 20px; object-fit: contain; }
.profile-ad__title {
color: #a1a1aa;
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.profile-ad__mobile-size { display: inline; }
.profile-ad__desktop-size { display: none; }
.profile-ad__meta {
color: #7c7c86;
font-size: 11px;
line-height: 16px;
}
.profile-ad__badge {
position: absolute;
top: 8px;
right: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
height: 20px;
padding: 0 6px;
color: #f2f2f4;
background: rgba(0, 0, 0, 0.6);
border-radius: 999px;
font-size: 11px;
font-weight: 500;
line-height: 14px;
}
/* The shared footer's compact profile arrangement in the mobile design. */
.profile-page .site-footer__brand { gap: 18px; }
.profile-page .site-footer__links {
flex-wrap: wrap;
gap: 12px 16px;
}
.profile-page .footer-col { flex-wrap: nowrap; }
.profile-page .footer-col:first-child,
.profile-page .footer-col:nth-child(2) a:last-child,
.profile-page .footer-col:nth-child(3) a:last-child { display: none; }
.profile-page .footer-download {
display: flex;
flex-basis: 100%;
justify-content: center;
padding: 0;
border: 0;
background: none;
}
.profile-page .footer-download .qr-box,
.profile-page .footer-download__copy strong,
.profile-page .footer-download__copy p,
.profile-page .footer-download__copy .icon { display: none; }
.profile-page .footer-download .btn {
height: 20px;
padding: 0;
color: var(--text-muted);
background: none;
font-size: 13px;
line-height: 20px;
}
.profile-page .site-footer__rule { display: none; }
.profile-page .site-footer__legal p:first-child {
order: 2;
width: 100%;
padding-top: 16px;
margin-top: 16px;
border-top: 1px solid var(--line-soft);
}
.profile-page .site-footer__legal p:last-child { order: 1; }
.profile-page .site-footer__adult { display: none; }
.profile-page .site-footer__rights { display: none; }
.profile-page .site-footer__mobile-adult { display: inline; }
}
+557
View File
@@ -0,0 +1,557 @@
/* Personal center: desktop layout based on the 1440px design frame. */
.profile-page {
min-height: 100vh;
padding-top: var(--site-header-height, 72px);
background: var(--bg);
}
.profile-hero {
position: relative;
overflow: hidden;
background: linear-gradient(180deg, #2a0d22 0%, #150a17 60%, #0b0b0d 100%);
}
.profile-hero::before {
position: absolute;
top: -140px;
left: -120px;
width: 620px;
height: 360px;
border-radius: 50%;
background: var(--accent);
filter: blur(80px);
opacity: .2;
content: "";
pointer-events: none;
}
.profile-hero__inner,
.profile-stats,
.profile-tabs,
.profile-main,
.profile-promo {
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
}
.profile-hero__inner {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
padding-block: 36px 28px;
}
.profile-identity {
display: flex;
align-items: center;
gap: 24px;
min-width: 0;
}
.profile-identity__avatar {
width: 96px;
height: 96px;
flex: 0 0 96px;
border: 3px solid rgba(255, 255, 255, .24);
border-radius: 50%;
object-fit: cover;
}
.profile-identity__copy {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
min-width: 0;
}
.profile-identity__name {
max-width: 100%;
margin: 0;
overflow: hidden;
color: var(--text);
font-size: 32px;
font-weight: 600;
line-height: 40px;
letter-spacing: -.01em;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-identity__meta {
margin: 0;
color: var(--text-muted);
font-size: 13px;
line-height: 18px;
letter-spacing: .06em;
}
.profile-identity__edit {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
height: 36px;
padding-inline: 12px;
border: 1px solid rgba(255, 255, 255, .24);
border-radius: 999px;
color: var(--text);
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.profile-identity__edit img,
.profile-wallet__label img {
width: 16px;
height: 16px;
flex: 0 0 16px;
}
.profile-wallet {
display: flex;
align-items: center;
gap: 28px;
min-height: 120px;
padding: 18px 24px;
border: 1px solid var(--line-soft);
border-radius: 16px;
background: var(--bg-elevated);
}
.profile-wallet__label {
display: flex;
align-items: center;
gap: 8px;
margin: 0;
color: var(--text);
font-size: 15px;
font-weight: 600;
line-height: 21px;
white-space: nowrap;
}
.profile-wallet__amount {
display: block;
margin: 4px 0 0;
color: var(--gold);
font-family: Inter, var(--font);
font-size: 28px;
font-weight: 600;
line-height: 34px;
}
.profile-wallet__hint {
margin: 2px 0 0;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.profile-wallet__actions {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
flex: 0 0 auto;
}
.profile-wallet__recharge {
display: inline-flex;
align-items: center;
justify-content: center;
height: 40px;
padding-inline: 16px;
border-radius: 999px;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
color: #fff;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.profile-wallet__details {
color: var(--text-muted);
font-size: 12px;
line-height: 18px;
white-space: nowrap;
text-decoration: none;
}
.profile-wallet__details:hover {
color: var(--text);
}
.profile-stats {
position: relative;
display: flex;
align-items: center;
gap: 40px;
padding: 18px 0 22px;
border-top: 1px solid var(--line-soft);
}
.profile-stat {
display: flex;
flex-direction: column;
gap: 2px;
}
.profile-stat__value {
color: var(--text);
font-family: Inter, var(--font);
font-size: 20px;
font-weight: 600;
line-height: 26px;
white-space: nowrap;
}
.profile-stat__label {
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.profile-tabs {
padding-top: 4px;
border-bottom: 1px solid var(--line-soft);
}
.profile-tabs__inner {
display: flex;
align-items: flex-start;
gap: 32px;
height: 38px;
}
.profile-tabs__link {
position: relative;
display: inline-flex;
flex-direction: column;
align-items: center;
height: 100%;
padding: 4px 0 0;
color: var(--text-muted);
font-size: 16px;
font-weight: 600;
line-height: 22px;
white-space: nowrap;
}
.profile-tabs__link::after {
position: absolute;
bottom: 0;
left: 50%;
width: 24px;
height: 2px;
transform: translateX(-50%);
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
content: "";
opacity: 0;
}
.profile-tabs__link.is-active {
color: var(--text);
}
.profile-tabs__link.is-active::after {
opacity: 1;
}
.profile-section {
display: flex;
flex-direction: column;
gap: 20px;
}
.profile-section--recent {
padding-block: 28px 20px;
}
.profile-section--favorites {
padding-block: 20px;
}
.profile-section__head,
.profile-section__heading {
display: flex;
align-items: center;
}
.profile-section__head {
justify-content: space-between;
gap: 20px;
}
.profile-section__heading {
gap: 14px;
min-width: 0;
}
.profile-section__title {
margin: 0;
color: var(--text);
font-size: 22px;
font-weight: 600;
line-height: 30px;
white-space: nowrap;
}
.profile-section__subtitle {
color: var(--text-dim);
font-size: 14px;
line-height: 22px;
white-space: nowrap;
}
.profile-section__more {
display: inline-flex;
align-items: center;
gap: 4px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
white-space: nowrap;
}
.profile-section__more img {
width: 16px;
height: 16px;
}
.profile-grid {
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 32px 24px;
}
.profile-section__empty {
grid-column: 1 / -1;
margin: 8px 0 32px;
color: var(--text-muted);
}
.profile-card {
display: flex;
flex-direction: column;
gap: 10px;
min-width: 0;
}
.profile-card__cover {
position: relative;
display: block;
width: 100%;
aspect-ratio: 3 / 4;
overflow: hidden;
border: 1px solid var(--line-soft);
border-radius: 12px;
background: var(--bg-panel);
}
.profile-card__cover::after {
position: absolute;
inset: 58% 0 0;
z-index: 1;
background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .7));
content: "";
pointer-events: none;
}
.profile-card__image {
width: 100%;
height: 100%;
object-fit: cover;
}
.profile-card__episodes {
position: absolute;
bottom: 10px;
left: 10px;
z-index: 2;
color: var(--text);
font-size: 12px;
font-weight: 500;
line-height: 16px;
text-shadow: 0 1px 4px #000;
}
.profile-card__progress {
position: absolute;
right: 10px;
bottom: 6px;
left: 10px;
z-index: 2;
height: 3px;
overflow: hidden;
border-radius: 999px;
background: rgba(255, 255, 255, .12);
}
.profile-card__progress-fill {
display: block;
width: var(--progress, 0%);
height: 100%;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.profile-card__badge {
position: absolute;
top: 4px;
right: 4px;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 36px;
height: 20px;
padding-inline: 8px;
border-radius: 6px;
background: linear-gradient(135deg, #fadc44 15%, #f9c24e 85%);
color: #141414;
font-size: 11px;
font-weight: 500;
line-height: 14px;
white-space: nowrap;
}
.profile-card__badge--hot {
background: linear-gradient(135deg, #f04050 15%, #d01030 85%);
color: #fff;
}
.profile-card__title {
margin: 0;
overflow: hidden;
color: var(--text);
font-size: 16px;
font-weight: 600;
line-height: 22px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-card__title a {
color: inherit;
text-decoration: none;
}
.profile-card__title a:hover {
color: var(--accent);
}
.profile-card__meta {
margin: 0;
overflow: hidden;
color: var(--text-muted);
font-size: 13px;
line-height: 20px;
text-overflow: ellipsis;
white-space: nowrap;
}
.profile-promo {
display: grid;
width: 100%;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
margin-inline: 0;
padding-block: 8px 40px;
}
.profile-ad {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 6px;
width: 100%;
aspect-ratio: 592 / 169;
border: 1px solid var(--line-soft);
border-radius: 12px;
background: #232328;
text-align: center;
}
.profile-ad__icon {
width: 24px;
height: 24px;
color: var(--text-muted);
}
.profile-ad__title {
margin: 0;
color: var(--text-muted);
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.profile-ad__mobile-size {
display: none;
}
.profile-ad__meta {
margin: 0;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
}
.profile-ad__badge {
position: absolute;
top: 8px;
right: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
height: 20px;
padding-inline: 6px;
border-radius: 999px;
background: rgba(0, 0, 0, .6);
color: var(--text);
font-size: 11px;
font-weight: 500;
line-height: 14px;
}
@media (min-width: 901px) {
.profile-page .site-footer__inner {
gap: 32px;
padding-bottom: 31px;
}
.profile-page .site-footer__legal {
flex-direction: row;
justify-content: space-between;
gap: 24px;
}
.profile-page .site-footer__legal p:last-child {
text-align: right;
}
}
/* 账户列表使用上游总数进行服务端分页。 */
.account-pagination {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
margin: 24px 0;
color: var(--text-muted);
font-size: 13px;
}
.account-pagination a {
color: var(--text);
border: 1px solid var(--line);
border-radius: 20px;
padding: 7px 14px;
}
+155
View File
@@ -0,0 +1,155 @@
/* 公共广告位统一规范
* PC:双列,固定高 169
* H5:单列两行,宽度 100%(占满所属内容容器),比例 343/98
*/
.promo-rail {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
width: 100%;
max-width: 100%;
min-width: 0;
margin: 0;
padding: 24px 0;
box-sizing: border-box;
}
.promo-card {
position: relative;
display: block;
overflow: hidden;
width: 100%;
max-width: 100%;
min-width: 0;
height: 169px;
border-radius: var(--radius-md);
background: #232328;
box-sizing: border-box;
}
.promo-card img {
width: 100%;
height: 100%;
max-width: 100%;
display: block;
object-fit: cover;
}
.promo-card__tag {
position: absolute;
top: 12px;
right: 12px;
z-index: 1;
}
/* 页面广告容器:默认占满一行 */
.play-promo,
.list-promo,
.list-mid-promo,
.list-bottom-promo,
.series-list-promo {
flex: 0 0 100%;
width: 100%;
max-width: 100%;
min-width: 0;
box-sizing: border-box;
}
.play-promo .promo-rail {
padding: 12px 0;
}
.play-promo--bottom .promo-rail {
padding: 12px 0 0;
}
.list-bottom-promo {
padding-bottom: 24px;
}
@media (max-width: 768px) {
/* H5:纵向两行,宽度 100% */
.promo-rail {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 8px;
width: 100%;
max-width: 100%;
margin: 0;
padding: 8px 0;
}
.promo-card {
flex: 0 0 auto;
width: 100%;
max-width: 100%;
height: auto;
min-height: 98px;
aspect-ratio: 343 / 98;
border-radius: var(--radius-md);
border: 1px solid var(--line-soft);
}
.promo-card img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
max-width: none;
object-fit: cover;
}
.promo-card__tag {
top: 8px;
right: 8px;
}
/* 与页面内容区 gutter 对齐(首页 .main > .promo-rail、播放页、列表底部) */
.main > .promo-rail,
.play-promo,
.list-bottom-promo {
padding-left: var(--h5-gutter, 16px);
padding-right: var(--h5-gutter, 16px);
}
.play-promo {
padding-top: 8px;
padding-bottom: 8px;
}
.play-promo .promo-rail,
.play-promo--bottom .promo-rail,
.list-bottom-promo .promo-rail,
.main > .promo-rail {
padding-top: 0;
padding-bottom: 0;
}
.play-promo--bottom {
padding-top: 8px;
padding-bottom: 0;
}
.list-bottom-promo {
padding-top: 0;
padding-bottom: 8px;
}
/* 已在带 gutter 的 list-body / grid 内:不再重复左右边距 */
.list-body .promo-rail,
.list-body .list-mid-promo,
.list-body .list-promo,
.list-body .series-list-promo,
.grid--list .list-mid-promo,
.grid--series-list .series-list-promo {
padding-left: 0;
padding-right: 0;
}
.list-mid-promo.only-h5,
.series-list-promo.only-h5 {
display: block !important;
}
}
+152
View File
@@ -0,0 +1,152 @@
/* 已购剧集 H5:以 Figma 375px 画板为基准。 */
@media (max-width: 768px) {
.purchased-main {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
max-width: none;
min-width: 0;
margin: 0;
padding: 12px var(--profile-gutter, 16px) 20px;
}
.purchased-note {
margin: 0;
color: #7c7c86;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.purchased-list {
display: flex;
flex-direction: column;
width: 100%;
min-width: 0;
margin: 0;
padding: 0;
list-style: none;
}
.purchased-item {
display: flex;
align-items: center;
gap: clamp(8px, 3.2vw, 14px);
width: 100%;
min-width: 0;
min-height: 89px;
padding: 12px 0;
border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.purchased-item__cover {
display: block;
flex: 0 0 clamp(41px, 12.8vw, 56px);
width: clamp(41px, 12.8vw, 56px);
height: clamp(55px, 17.066667vw, 75px);
overflow: hidden;
border-radius: 6px;
background: #141417;
}
.purchased-item__cover img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.purchased-item__body {
display: flex;
flex: 1 1 0;
flex-direction: column;
align-items: flex-start;
gap: 5px;
min-width: 0;
}
.purchased-item__title {
display: block;
max-width: 100%;
overflow: hidden;
margin: 0;
color: #f2f2f4;
font-size: clamp(13px, 4vw, 15px);
font-weight: 600;
line-height: 21px;
text-overflow: ellipsis;
white-space: nowrap;
}
.purchased-item__info {
display: block;
max-width: 100%;
color: #7c7c86;
font-size: clamp(10px, 2.933333vw, 11px);
font-weight: 400;
line-height: 16px;
white-space: normal;
}
.purchased-item__mobile-date {
display: inline;
white-space: nowrap;
}
.purchased-item__date {
display: none;
}
.purchased-item__progress {
display: block;
width: min(140px, 100%);
height: 3px;
overflow: hidden;
border-radius: 999px;
background: rgba(255, 255, 255, .12);
}
.purchased-item__progress > span {
display: block;
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.purchased-item__resume {
display: inline-flex;
flex: 0 0 clamp(67px, 20.8vw, 88px);
align-items: center;
justify-content: center;
gap: 6px;
width: clamp(67px, 20.8vw, 88px);
height: 32px;
padding: 0 8px;
border: 1px solid rgba(255, 255, 255, .24);
border-radius: 999px;
background: transparent;
color: #f2f2f4;
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.purchased-item__resume svg,
.purchased-item__resume img {
display: block;
flex: 0 0 16px;
width: 16px;
height: 16px;
}
.purchased-item__resume-desktop { display: none; }
.purchased-item__resume-mobile { display: inline; }
}
@media (max-width: 359px) {
.purchased-page .profile-tabs__inner {
gap: 16px;
}
}
+148
View File
@@ -0,0 +1,148 @@
/* 已购剧集:1440px 桌面稿,沿用个人中心公共页头与页签。 */
.purchased-main {
display: flex;
flex-direction: column;
gap: 16px;
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
padding: 24px 0 40px;
}
.purchased-note {
margin: 0;
color: var(--text-dim);
font-size: 13px;
font-weight: 400;
line-height: 20px;
}
.purchased-list {
min-width: 0;
}
.purchased-item {
display: grid;
grid-template-columns: 56px minmax(0, 1fr) 120px 106px;
align-items: center;
gap: 16px;
min-width: 0;
min-height: 104px;
padding-block: 14px;
border-bottom: 1px solid var(--line-soft);
}
.purchased-item__cover {
display: block;
width: 56px;
height: 75px;
overflow: hidden;
border-radius: 6px;
background: var(--bg-panel);
}
.purchased-item__cover img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.purchased-item__body {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
min-width: 0;
}
.purchased-item__title {
display: block;
max-width: 100%;
margin: 0;
overflow: hidden;
color: var(--text);
font-size: 16px;
font-weight: 600;
line-height: 22px;
text-overflow: ellipsis;
white-space: nowrap;
}
.purchased-item__info {
display: block;
max-width: 100%;
margin: 0;
overflow: hidden;
color: var(--text-muted);
font-size: 13px;
font-weight: 400;
line-height: 20px;
text-overflow: ellipsis;
white-space: nowrap;
}
.purchased-item__progress {
display: block;
width: 240px;
max-width: 100%;
height: 3px;
overflow: hidden;
border-radius: 999px;
background: var(--line);
}
.purchased-item__progress > span {
display: block;
width: var(--progress, 100%);
height: 100%;
border-radius: inherit;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.purchased-item__date {
color: var(--text-dim);
font-size: 12px;
font-weight: 400;
line-height: 18px;
white-space: nowrap;
}
.purchased-item__mobile-date,
.purchased-item__resume-mobile {
display: none;
}
.purchased-item__resume {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
width: 106px;
height: 36px;
padding-inline: 12px;
border: 1px solid rgba(255, 255, 255, .24);
border-radius: 999px;
color: var(--text);
font-size: 14px;
font-weight: 500;
line-height: 20px;
white-space: nowrap;
}
.purchased-item__resume img,
.purchased-item__resume svg {
display: block;
width: 16px;
height: 16px;
flex: 0 0 16px;
}
.purchased-item__resume:hover {
border-color: rgba(255, 255, 255, .36);
color: var(--text);
}
.purchased-item__resume:focus-visible {
outline: 2px solid var(--accent-hot);
outline-offset: 3px;
}
+350
View File
@@ -0,0 +1,350 @@
/* 排行榜页 */
body.page-rank .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.rank-tabs {
display: inline-flex;
align-items: flex-end;
gap: 28px;
}
.rank-tabs__item {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 10px;
color: var(--text-muted);
font-size: 16px;
font-weight: 600;
line-height: 22px;
text-decoration: none;
}
.rank-tabs__item::after {
content: "";
width: 24px;
height: 2px;
border-radius: 1px;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
opacity: 0;
}
.rank-tabs__item.is-active {
color: var(--text);
}
.rank-tabs__item.is-active::after {
opacity: 1;
}
.page-rank .list-body--rank {
padding-top: 20px;
padding-bottom: 24px;
gap: 28px;
}
.grid--rank-list {
display: flex;
flex-wrap: wrap;
align-content: flex-start;
align-items: flex-start;
gap: 24px;
align-self: stretch;
}
.rank-card {
display: flex;
justify-content: flex-start;
align-items: flex-start;
width: 220px;
color: inherit;
}
.rank-card__cover {
position: relative;
display: block;
align-self: stretch;
width: 144px;
height: 192px;
overflow: hidden;
border-radius: 12px;
border: 1px solid var(--line-soft);
text-decoration: none;
background:
linear-gradient(180deg, rgba(0, 0, 0, 0) 58%, rgba(0, 0, 0, 0.7) 100%),
var(--cover) center / cover no-repeat,
#1a1a1f;
}
.rank-card__rank {
display: inline-flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-start;
align-self: stretch;
width: 76px;
padding-bottom: 52px;
box-sizing: border-box;
}
.rank-card__no {
color: #7c7c86;
font-family: Inter, var(--font);
font-size: 56px;
font-weight: 700;
line-height: 56px;
}
.rank-card__no.is-top {
background: linear-gradient(180deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
color: transparent;
}
.rank-card__body {
display: inline-flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
gap: 10px;
width: 144px;
min-width: 0;
}
.rank-card__cover .card__ep {
left: 10px;
bottom: 10px;
top: auto;
right: auto;
color: #f2f2f4;
font-size: 12px;
font-weight: 500;
line-height: 16px;
}
.rank-card__info {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
align-self: stretch;
min-width: 0;
}
.rank-card__title {
margin: 0;
align-self: stretch;
color: #f2f2f4;
font-size: 16px;
font-weight: 600;
line-height: 22px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.rank-card__title a {
color: inherit;
text-decoration: none;
}
.rank-card__meta {
margin: 0;
align-self: stretch;
color: #a1a1aa;
font-size: 13px;
font-weight: 400;
line-height: 20px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.rank-card__meta a {
color: inherit;
text-decoration: none;
}
.rank-card__meta a:hover {
color: var(--text);
}
.rank-card__heat,
.rank-card__play {
display: none;
}
@media (max-width: 768px) {
body.page-rank .site-header {
display: none !important;
}
.page-rank .list-hero {
padding: 16px var(--h5-gutter) 8px;
gap: 12px;
}
.page-rank .list-hero__intro {
gap: 8px;
}
.page-rank .list-hero__title {
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.page-rank .list-hero__desc {
color: #a1a1aa;
font-size: 13px;
font-weight: 400;
line-height: 20px;
}
.rank-tabs {
gap: 20px;
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.rank-tabs::-webkit-scrollbar {
display: none;
}
.rank-tabs__item {
flex-shrink: 0;
gap: 8px;
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.rank-tabs__item::after {
width: 24px;
}
.page-rank .list-body--rank {
padding: 14px var(--h5-gutter) 20px;
gap: 14px;
}
.grid--rank-list {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
gap: 0;
width: 100%;
}
.rank-card {
display: flex;
align-items: center;
gap: 12px;
width: 100%;
padding: 10px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.rank-card__rank {
flex-shrink: 0;
width: 34px;
padding: 0;
align-self: center;
}
.rank-card__no {
font-size: 24px;
font-weight: 600;
line-height: 30px;
}
.rank-card__body {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
flex: 1 1 0;
width: auto;
min-width: 0;
}
.rank-card__cover {
flex-shrink: 0;
width: 54px;
height: 72px;
border-radius: 6px;
border: 0;
align-self: center;
}
.rank-card__cover .card__ep {
display: none;
}
.rank-card__info {
flex: 1 1 0;
width: auto;
min-width: 0;
gap: 4px;
}
.rank-card__title {
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.rank-card__meta {
color: #7c7c86;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.rank-card__heat {
display: inline-flex;
align-items: center;
gap: 3px;
margin: 0;
color: #ff4a7b;
font-size: 11px;
font-weight: 400;
line-height: 16px;
}
.rank-card__heat .icon {
width: 11px;
height: 11px;
}
.rank-card__play {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
flex-shrink: 0;
height: 32px;
padding: 0 12px;
border-radius: 999px;
outline: 1px solid rgba(255, 255, 255, 0.24);
outline-offset: -1px;
border: 0;
color: #f2f2f4;
font-size: 14px;
font-weight: 500;
line-height: 20px;
text-decoration: none;
}
.rank-card__play .icon {
width: 16px;
height: 16px;
}
}
+12
View File
@@ -0,0 +1,12 @@
/* 最近上新页 */
body.page-recently .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
@media (max-width: 768px) {
body.page-recently .site-header {
display: none !important;
}
}
+117
View File
@@ -0,0 +1,117 @@
@media (max-width: 768px) {
.recharge-page {
--recharge-gutter: clamp(14px, 4.266667vw, 18px);
padding-top: 0;
}
.recharge-page .site-header { display: none; }
.subpage-header {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 56px;
padding: 0 var(--recharge-gutter);
border-bottom: 1px solid var(--line-soft);
background: var(--bg);
}
.subpage-header__button { display: flex; align-items: center; justify-content: center; width: 28px; height: 36px; }
.subpage-header__button img { width: 22px; height: 22px; }
.subpage-header__title { color: var(--text); font-size: 16px; font-weight: 600; line-height: 24px; }
.recharge-main { width: 100%; margin: 0; padding: 16px 0 0; }
.recharge-breadcrumb,
.recharge-intro,
.recharge-balance__guide { display: none; }
.recharge-balance {
width: auto;
height: 110px;
margin: 0 var(--recharge-gutter);
padding: 18px;
border-radius: 16px;
}
.recharge-balance__main { gap: 14px; }
.recharge-balance__coin { width: 72px; height: 72px; flex-basis: 72px; }
.recharge-balance__label { font-size: 11px; line-height: 16px; }
.recharge-balance__copy strong { margin-top: 2px; font-size: 28px; line-height: 34px; }
.recharge-balance__copy small { font-size: 13px; line-height: 20px; }
.recharge-balance__copy p { margin-top: 0; font-size: 11px; line-height: 16px; }
.recharge-packages { margin-top: 20px; padding: 0 var(--recharge-gutter); }
.recharge-section-heading { gap: 10px; height: 22px; min-height: 22px; }
.recharge-section-heading h2,
.recharge-payment > h2 { font-size: 16px; line-height: 22px; }
.recharge-section-heading span { font-size: 12px; line-height: 18px; white-space: nowrap; }
.recharge-packages__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; }
.recharge-package { gap: 3px; height: 99px; padding: 12px; border-radius: 12px; }
.recharge-package__title { gap: 5px; font-size: 15px; line-height: 21px; white-space: nowrap; }
.recharge-package__title img { width: 14px; height: 14px; }
.recharge-package__hint { font-size: 11px; line-height: 16px; }
.recharge-package__price { font-size: 20px; line-height: 26px; }
.recharge-package__selected { top: 12px; right: 12px; width: 16px; height: 16px; }
.recharge-package__badge { top: -2px; right: 9px; height: 21px; padding-inline: 7px; font-size: 10px; }
.recharge-packages__note { display: none; }
.recharge-payment { margin-top: 16px; padding: 0 var(--recharge-gutter); }
.recharge-payment__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 12px; }
.recharge-method { gap: 10px; padding: 0 12px; }
.recharge-payment__checkout { flex-direction: column; gap: 11px; margin-top: 11px; }
.recharge-payment__checkout button { width: 100%; height: 48px; font-size: 16px; }
.recharge-payment__checkout p { font-size: 11px; line-height: 18px; text-align: center; }
.recharge-payment__status { text-align: center; }
.recharge-history { margin-top: 22px; padding: 0 var(--recharge-gutter) 22px; }
.recharge-history__head { height: 26px; }
.recharge-history__head h2 { font-size: 18px; line-height: 26px; }
.recharge-history__filters,
.recharge-history__export { display: none; }
.recharge-history__more { display: flex; align-items: center; gap: 2px; margin-left: auto; padding: 0; border: 0; background: none; color: var(--text-muted); font-size: 12px; line-height: 18px; }
.recharge-history__more img { width: 14px; height: 14px; }
.recharge-history__table { height: auto; margin-top: 8px; padding: 0; border: 0; border-radius: 0; background: none; }
.recharge-history__columns { display: none; }
.recharge-history__row { display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: 20px 16px; align-content: center; height: 64px; border-bottom: 1px solid var(--line-soft); font-size: 14px; line-height: 20px; }
.recharge-history__kind { grid-column: 1; grid-row: 1; }
.recharge-history__detail-line { display: flex; align-items: center; gap: 8px; grid-column: 1; grid-row: 2; min-width: 0; }
.recharge-history__description,
.recharge-history__time { color: var(--text-dim); font-size: 11px; line-height: 16px; white-space: nowrap; }
.recharge-history__description { overflow: hidden; text-overflow: ellipsis; }
.recharge-history__time { flex: 0 0 auto; }
.recharge-history__amount { align-self: center; grid-column: 2; grid-row: 1 / 3; font-size: 16px; line-height: 20px; }
.only-desktop { display: none; }
.only-mobile { display: inline; }
.recharge-pagination { display: none; }
.recharge-page .site-footer { background: #141417; }
.recharge-page .site-footer__inner { padding: 32px 16px 27px; gap: 18px; }
.recharge-page .site-footer__brand { gap: 18px; }
.recharge-page .site-footer__links { flex-wrap: wrap; gap: 12px 16px; }
.recharge-page .footer-col { flex-wrap: nowrap; }
.recharge-page .footer-col:first-child,
.recharge-page .footer-col:nth-child(2) a:last-child,
.recharge-page .footer-col:nth-child(3) a:last-child { display: none; }
.recharge-page .footer-download { display: flex; flex-basis: 100%; justify-content: center; padding: 0; border: 0; background: none; }
.recharge-page .footer-download .qr-box,
.recharge-page .footer-download__copy strong,
.recharge-page .footer-download__copy p,
.recharge-page .footer-download__copy .icon { display: none; }
.recharge-page .footer-download .btn { height: 20px; padding: 0; color: var(--text-muted); background: none; font-size: 13px; line-height: 20px; }
.recharge-page .site-footer__rule { display: none; }
.recharge-page .site-footer__legal { flex-direction: column; align-items: center; gap: 0; }
.recharge-page .site-footer__legal p:first-child { order: 2; width: 100%; padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--line-soft); }
.recharge-page .site-footer__legal p:last-child { order: 1; }
.recharge-page .site-footer__adult,
.recharge-page .site-footer__rights { display: none; }
.recharge-page .site-footer__mobile-adult { display: inline; }
}
@media (max-width: 359px) {
.recharge-balance { height: 110px; padding: 14px; }
.recharge-balance__main { gap: 10px; }
.recharge-balance__coin { width: 64px; height: 64px; flex-basis: 64px; }
.recharge-balance__copy p { line-height: 14px; }
.recharge-balance__note-full { display: none; }
.recharge-balance__note-short { display: inline; }
.recharge-package__title { font-size: 14px; }
.recharge-package__badge { top: -4px; height: 18px; padding-inline: 5px; font-size: 9px; }
}
+516
View File
@@ -0,0 +1,516 @@
.recharge-modal[hidden] {
display: none !important;
}
.recharge-modal {
position: fixed;
inset: 0;
z-index: 320;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
}
.recharge-modal__backdrop {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.7);
}
.recharge-modal__panel {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: stretch;
gap: 16px;
width: 640px;
max-width: 100%;
max-height: calc(100dvh - 48px);
padding: 32px;
overflow-y: auto;
background: #141417;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 20px;
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
scrollbar-width: thin;
}
.recharge-modal__handle {
display: none;
}
.recharge-modal__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
min-height: 54px;
}
.recharge-modal__heading {
min-width: 0;
display: flex;
flex-direction: column;
gap: 4px;
}
.recharge-modal__heading h2,
.recharge-modal__subtitle {
margin: 0;
}
.recharge-modal__heading h2 {
color: #f2f2f4;
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.recharge-modal__subtitle {
color: #a1a1aa;
font-size: 13px;
font-weight: 400;
line-height: 20px;
white-space: nowrap;
}
.recharge-modal__subtitle--mobile {
display: none;
}
.recharge-modal__balance {
display: inline-flex;
align-items: center;
gap: 6px;
flex: none;
padding: 6px 12px;
color: #e9c977;
background: rgba(217, 169, 74, 0.14);
border-radius: 999px;
}
.recharge-modal__balance strong {
font-family: Inter, var(--font);
font-size: 16px;
font-weight: 600;
line-height: 20px;
}
.recharge-modal__coin {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 14px;
width: 14px;
height: 14px;
background: linear-gradient(135deg, #e9c977 15%, #d9a94a 85%);
border: 1px solid #e9c977;
border-radius: 50%;
}
.recharge-modal__coin::before {
content: "";
position: absolute;
inset: 2px;
border: 1px solid rgba(58, 42, 10, 0.45);
border-radius: 50%;
}
.recharge-modal__coin img {
position: relative;
width: 8px;
height: 8px;
}
.recharge-modal__coin--balance {
flex-basis: 16px;
width: 16px;
height: 16px;
}
.recharge-modal__close {
position: absolute;
top: 16px;
right: 16px;
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
background: rgba(255, 255, 255, 0.04);
border-radius: 50%;
}
.recharge-modal__close img {
width: 18px;
height: 18px;
}
.recharge-modal__packages {
display: grid;
grid-template-columns: repeat(3, 181px);
gap: 12px;
}
.recharge-modal__package {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 4px;
width: 181px;
height: 99px;
padding: 12px;
text-align: left;
background: #141417;
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 12px;
}
.recharge-modal__package.is-selected {
background: rgba(217, 169, 74, 0.14);
border: 1.5px solid #d9a94a;
}
.recharge-modal__package-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: 4px;
width: 100%;
min-height: 21px;
}
.recharge-modal__package-name {
display: inline-flex;
align-items: center;
gap: 6px;
white-space: nowrap;
color: #f2f2f4;
font-size: 15px;
font-weight: 600;
line-height: 21px;
}
.recharge-modal__package.is-selected .recharge-modal__package-name,
.recharge-modal__package.is-selected .recharge-modal__package-price {
color: #e9c977;
}
.recharge-modal__selected-icon {
display: none;
flex: none;
width: 14px;
height: 14px;
}
.recharge-modal__package.is-selected .recharge-modal__selected-icon {
display: block;
}
.recharge-modal__package-detail {
color: #7c7c86;
font-size: 12px;
font-weight: 400;
line-height: 18px;
white-space: nowrap;
}
.recharge-modal__package-price {
color: #f2f2f4;
font-family: Inter, var(--font);
font-size: 20px;
font-weight: 600;
line-height: 26px;
}
.recharge-modal__package-badge {
position: absolute;
top: -1px;
right: 10px;
display: inline-flex;
align-items: center;
justify-content: center;
height: 20px;
padding: 0 8px;
color: #141414;
background: linear-gradient(135deg, #e9c977 15%, #d9a94a 85%);
border-radius: 6px;
font-size: 11px;
font-weight: 500;
line-height: 14px;
}
.recharge-modal__methods {
display: grid;
grid-template-columns: repeat(2, 278px);
gap: 12px;
}
.recharge-modal__method {
display: flex;
align-items: center;
gap: 10px;
width: 278px;
height: 52px;
padding: 0 16px;
text-align: left;
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 12px;
}
.recharge-modal__method.is-selected {
background: rgba(236, 35, 127, 0.1);
border-color: rgba(236, 35, 127, 0.3);
}
.recharge-modal__method-check {
display: inline-flex;
align-items: center;
justify-content: center;
flex: none;
width: 18px;
height: 18px;
border: 1px solid rgba(255, 255, 255, 0.24);
border-radius: 50%;
}
.recharge-modal__method-check img {
display: none;
width: 12px;
height: 12px;
}
.recharge-modal__method.is-selected .recharge-modal__method-check {
border: 0;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
}
.recharge-modal__method.is-selected .recharge-modal__method-check img {
display: block;
}
.recharge-modal__method-copy {
display: flex;
flex-direction: column;
gap: 1px;
min-width: 0;
color: #f2f2f4;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.recharge-modal__method-copy small {
color: #7c7c86;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.recharge-modal__pay {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 52px;
padding: 0 28px;
color: #fff;
background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%);
border-radius: 999px;
font-size: 16px;
font-weight: 500;
line-height: 24px;
}
.recharge-modal__status {
margin: -8px 0 0;
color: #a1a1aa;
font-size: 12px;
line-height: 18px;
text-align: center;
}
.recharge-modal__status.is-ok {
color: #6ee7a8;
}
.recharge-modal__empty {
margin: 0;
grid-column: 1 / -1;
color: rgba(255, 255, 255, 0.56);
font-size: 13px;
line-height: 20px;
}
.recharge-modal__foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
color: #7c7c86;
font-size: 12px;
font-weight: 400;
line-height: 18px;
white-space: nowrap;
}
.recharge-modal__foot a {
display: inline-flex;
align-items: center;
gap: 5px;
color: #a1a1aa;
}
.recharge-modal__foot img {
width: 12px;
height: 12px;
}
.recharge-modal__close:focus-visible,
.recharge-modal__package:focus-visible,
.recharge-modal__method:focus-visible,
.recharge-modal__pay:focus-visible,
.recharge-modal__foot a:focus-visible {
outline: 2px solid #ff4a7b;
outline-offset: 2px;
}
@media (max-width: 768px) {
.recharge-modal {
align-items: flex-end;
justify-content: stretch;
padding: 0;
}
.recharge-modal__panel {
width: 100%;
max-width: none;
max-height: 100dvh;
padding: 12px 20px 24px;
gap: 14px;
border: 0;
border-radius: 20px 20px 0 0;
box-shadow: none;
}
.recharge-modal__handle {
display: flex;
justify-content: center;
align-items: center;
flex: none;
height: 4px;
}
.recharge-modal__handle::before {
content: "";
width: 36px;
height: 4px;
background: rgba(255, 255, 255, 0.24);
border-radius: 2px;
}
.recharge-modal__head {
min-height: 46px;
}
.recharge-modal__heading {
gap: 2px;
}
.recharge-modal__heading h2 {
font-size: 18px;
line-height: 26px;
}
.recharge-modal__subtitle {
font-size: 12px;
line-height: 18px;
}
.recharge-modal__subtitle--desktop,
.recharge-modal__balance {
display: none;
}
.recharge-modal__subtitle--mobile {
display: block;
}
.recharge-modal__close {
position: static;
flex: none;
}
.recharge-modal__packages {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px;
}
.recharge-modal__package {
width: 100%;
}
.recharge-modal__package-detail {
font-size: clamp(10px, 3.2vw, 12px);
}
.recharge-modal__methods {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.recharge-modal__method {
width: 100%;
padding: 0 12px;
}
.recharge-modal__method-copy small {
font-size: 11px;
line-height: 16px;
}
.recharge-modal__pay {
height: 48px;
padding: 0 22px;
font-size: 15px;
line-height: 22px;
}
.recharge-modal__foot {
font-size: 11px;
line-height: 16px;
}
.recharge-modal__foot img {
width: 11px;
height: 11px;
}
}
@media (max-width: 340px) {
.recharge-modal__panel {
padding-inline: 16px;
}
.recharge-modal__package {
padding-inline: 9px;
}
.recharge-modal__package-name {
font-size: 13px;
}
.recharge-modal__package-badge {
top: -8px;
right: 4px;
}
.recharge-modal__method {
gap: 7px;
padding-inline: 9px;
}
}
+271
View File
@@ -0,0 +1,271 @@
.recharge-page {
min-height: 100vh;
padding-top: 72px;
background: var(--bg);
}
.recharge-page [hidden] { display: none !important; }
.subpage-header { display: none; }
.recharge-main {
width: min(calc(100% - 48px), var(--page-width));
margin-inline: auto;
padding: 24px 0 41px;
}
.recharge-breadcrumb {
display: flex;
align-items: center;
gap: 8px;
height: 20px;
color: var(--text-dim);
font-size: 13px;
line-height: 20px;
}
.recharge-breadcrumb span:last-child { color: var(--text-muted); }
.recharge-breadcrumb a:hover { color: var(--text); }
.recharge-intro {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-top: 16px;
}
.recharge-intro__eyebrow {
color: var(--accent-hot);
font-size: 13px;
font-weight: 600;
line-height: 18px;
letter-spacing: .14em;
}
.recharge-intro__eyebrow::before {
display: inline-block;
width: 18px;
height: 2px;
margin: 0 10px 4px 0;
background: var(--accent);
content: "";
}
.recharge-intro h1 {
margin: 12px 0 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 36px;
}
.recharge-intro p {
margin: 12px 0 0;
color: var(--text-muted);
font-size: 15px;
line-height: 24px;
}
.recharge-balance {
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
width: 100%;
height: 216px;
margin-top: 24px;
padding: 24px 32px;
border: 1px solid var(--line-soft);
border-radius: 20px;
background: linear-gradient(90deg, #2a0d22 0%, #150a17 55%, #141417 100%);
}
.recharge-balance__main {
display: flex;
align-items: center;
gap: 24px;
min-width: 0;
}
.recharge-balance__coin {
width: 120px;
height: 120px;
flex: 0 0 120px;
object-fit: contain;
}
.recharge-balance__copy { min-width: 0; }
.recharge-balance__label,
.recharge-balance__guide h2 {
color: var(--text-dim);
font-size: 12px;
font-weight: 500;
line-height: 18px;
}
.recharge-balance__copy strong {
display: block;
margin-top: 4px;
color: var(--gold);
font-family: Inter, var(--font);
font-size: 40px;
font-weight: 600;
line-height: 46px;
}
.recharge-balance__copy small {
color: var(--text);
font-family: var(--font);
font-size: 15px;
font-weight: 600;
line-height: 22px;
}
.recharge-balance__copy p {
margin: 3px 0 0;
color: var(--text-dim);
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}
.recharge-balance__note-short { display: none; }
.recharge-balance__guide {
display: flex;
flex: 0 0 360px;
flex-direction: column;
gap: 9px;
}
.recharge-balance__guide h2 { margin: 0; }
.recharge-balance__tip { display: flex; align-items: flex-start; gap: 8px; }
.recharge-balance__tip > img { width: 16px; height: 16px; flex: 0 0 16px; }
.recharge-balance__tip > div { display: flex; flex-direction: column; gap: 2px; }
.recharge-balance__tip strong { color: var(--text); font-size: 13px; font-weight: 600; line-height: 18px; }
.recharge-balance__tip span { color: var(--text-dim); font-size: 12px; line-height: 18px; }
.recharge-packages { margin-top: 32px; }
.recharge-section-heading { display: flex; align-items: center; gap: 14px; min-height: 30px; }
.recharge-section-heading h2,
.recharge-payment > h2,
.recharge-history__head h2 {
margin: 0;
color: var(--text);
font-size: 20px;
font-weight: 600;
line-height: 26px;
}
.recharge-section-heading span { color: var(--text-dim); font-size: 13px; line-height: 20px; }
.recharge-packages__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
margin-top: 20px;
}
.recharge-package {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 5px;
min-width: 0;
height: 124px;
padding: 18px 20px;
border: 1px solid var(--line-soft);
border-radius: 16px;
background: var(--bg-elevated);
color: var(--text);
text-align: left;
cursor: pointer;
}
.recharge-package.is-selected {
border: 1.5px solid #d9a94a;
background: rgba(217, 169, 74, .14);
}
.recharge-package__title { display: flex; align-items: center; gap: 6px; font-size: 18px; font-weight: 600; line-height: 26px; }
.recharge-package__title img { width: 16px; height: 16px; }
.recharge-package__hint { color: var(--text-dim); font-size: 12px; line-height: 18px; white-space: nowrap; }
.recharge-package__price { margin-top: auto; color: var(--text); font-family: Inter, var(--font); font-size: 24px; font-weight: 600; line-height: 30px; }
.recharge-package.is-selected .recharge-package__title,
.recharge-package.is-selected .recharge-package__price { color: var(--gold); }
.recharge-package__selected { position: absolute; top: 18px; right: 20px; width: 18px; height: 18px; display: none; }
.recharge-package.is-selected .recharge-package__selected { display: block; }
.recharge-package__badge { position: absolute; top: -2px; right: 10px; display: flex; align-items: center; justify-content: center; height: 21px; padding: 0 8px; border-radius: 5px; background: linear-gradient(135deg, #ffe7a0, #e9c977); color: #382506; font-size: 11px; font-weight: 600; line-height: 16px; }
.recharge-packages__note { display: flex; align-items: center; gap: 8px; min-height: 24px; margin-top: 20px; }
.recharge-packages__note span { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border: 1px solid rgba(236,35,127,.34); border-radius: 999px; background: rgba(236,35,127,.08); color: var(--accent-hot); font-size: 12px; font-weight: 500; white-space: nowrap; }
.recharge-packages__note p { margin: 0; color: var(--text-dim); font-size: 12px; line-height: 18px; }
.recharge-data-empty { margin: 16px 0 0; color: var(--text-dim); font-size: 13px; line-height: 20px; }
.recharge-payment { margin-top: 28px; }
.recharge-payment__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.recharge-method { display: flex; align-items: center; gap: 10px; height: 52px; min-width: 0; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; background: #242427; color: var(--text); text-align: left; cursor: pointer; }
.recharge-method.is-selected { border-color: rgba(236,35,127,.45); background: rgba(236,35,127,.12); }
.recharge-method__radio { display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex: 0 0 18px; border: 1px solid #68686d; border-radius: 50%; }
.recharge-method__radio img { display: none; width: 12px; height: 12px; }
.recharge-method.is-selected .recharge-method__radio { border-color: transparent; background: linear-gradient(135deg,#ff4a7b,#ec237f); }
.recharge-method.is-selected .recharge-method__radio img { display: block; }
.recharge-method > span:last-child { display: flex; flex-direction: column; }
.recharge-method strong { font-size: 14px; font-weight: 500; line-height: 20px; }
.recharge-method small { color: var(--text-dim); font-size: 12px; line-height: 18px; }
.recharge-payment__checkout { display: flex; align-items: center; gap: 16px; margin-top: 28px; }
.recharge-payment__checkout button { display: flex; align-items: center; justify-content: center; width: 320px; height: 56px; border: 0; border-radius: 999px; background: linear-gradient(105deg,#ff4a7b 0%,#ec237f 52%,#93226f 100%); color: #fff; font-size: 16px; font-weight: 600; line-height: 24px; cursor: pointer; }
.recharge-payment__checkout button:disabled { cursor: not-allowed; opacity: .5; }
.recharge-payment__checkout p { margin: 0; color: var(--text-dim); font-size: 12px; line-height: 18px; }
.recharge-payment__status { margin: 8px 0 0; color: var(--text-muted); font-size: 12px; line-height: 18px; }
.recharge-payment__status.is-success { color: #39c98a; }
.recharge-history { margin-top: 40px; scroll-margin-top: calc(var(--site-header-height, 72px) + 16px); }
.recharge-history__head { display: flex; align-items: center; gap: 14px; height: 30px; }
.recharge-history__filters { display: flex; align-items: center; gap: 18px; align-self: stretch; }
.recharge-history__filters button { position: relative; padding: 0; border: 0; background: none; color: var(--text-dim); font-size: 13px; font-weight: 500; cursor: pointer; }
.recharge-history__filters button.is-active { color: var(--text); }
.recharge-history__filters button.is-active::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; background: var(--accent); content: ""; }
.recharge-history__export { display: flex; align-items: center; gap: 3px; margin-left: auto; padding: 0; border: 0; background: none; color: var(--text-muted); font-size: 13px; cursor: pointer; }
.recharge-history__export img { width: 16px; height: 16px; }
.recharge-history__more { display: none; }
.recharge-history__table { height: 310px; margin-top: 16px; padding: 4px 24px; border: 1px solid var(--line-soft); border-radius: 16px; background: var(--bg-elevated); }
.recharge-history__columns,
.recharge-history__row { display: grid; grid-template-columns: 200px minmax(0,1fr) 200px 120px; align-items: center; }
.recharge-history__columns { height: 45px; border-bottom: 1px solid var(--line-soft); color: var(--text-dim); font-size: 12px; line-height: 18px; }
.recharge-history__columns span:last-child,
.recharge-history__amount { text-align: right; }
.recharge-history__row { height: 51px; border-bottom: 1px solid var(--line-soft); color: var(--text-muted); font-size: 13px; line-height: 20px; }
.recharge-history__row:last-child { border-bottom: 0; }
.recharge-history__kind { color: var(--text); }
.recharge-history__detail-line { display: contents; }
.recharge-history__time { color: var(--text-dim); }
.recharge-history__amount { color: #f35b69; font-family: Inter, var(--font); font-size: 15px; font-weight: 600; }
.recharge-history__amount.is-credit { color: #39c98a; }
.recharge-history__empty { margin: 0; padding: 36px 0; color: var(--text-dim); font-size: 13px; text-align: center; }
.only-mobile { display: none; }
.recharge-pagination,
.recharge-pagination [data-recharge-pages] { display: flex; align-items: center; justify-content: center; gap: 8px; }
.recharge-pagination { margin-top: 16px; }
.recharge-pagination button { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-elevated); color: var(--text-muted); font-family: Inter, var(--font); font-size: 16px; font-weight: 600; cursor: pointer; }
.recharge-pagination button.is-active { border-color: transparent; background: linear-gradient(135deg,#ff4a7b,#ec237f 52%,#93226f); color: #fff; }
.recharge-pagination button:disabled { opacity: .45; cursor: default; }
.recharge-pagination button img { width: 16px; height: 16px; }
.recharge-pagination > button:first-child img { transform: rotate(180deg); }
.recharge-pagination__total { color: var(--text-dim); font-size: 12px; line-height: 18px; }
.recharge-page button:focus-visible,
.recharge-page a:focus-visible { outline: 2px solid var(--accent-hot); outline-offset: 3px; }
@media (max-width: 1080px) and (min-width: 769px) {
.recharge-balance__guide { flex-basis: 300px; }
.recharge-history__columns,
.recharge-history__row { grid-template-columns: 140px minmax(0,1fr) 175px 90px; }
}
@media (min-width: 901px) {
.recharge-page .site-footer__inner { gap: 32px; padding-bottom: 32px; }
.recharge-page .site-footer__legal { flex-direction: row; justify-content: space-between; gap: 24px; }
.recharge-page .site-footer__legal p:last-child { text-align: right; }
}
+255
View File
@@ -0,0 +1,255 @@
/* H5 注册页 */
body.page-register {
min-height: 100vh;
background: var(--bg);
}
.page-register .page-subheader {
display: flex;
border-bottom: 0;
}
.register-page {
min-height: 100vh;
padding: 56px 0 32px;
box-sizing: border-box;
}
.register-page__inner {
width: 100%;
max-width: 440px;
margin: 0 auto;
padding: 24px var(--h5-gutter);
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
box-sizing: border-box;
}
.register-page__brand {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.register-page__logo {
width: 64px;
height: 64px;
border-radius: 12px;
object-fit: cover;
box-shadow: 0 8px 24px rgba(236, 35, 127, 0.4);
}
.register-page__content {
align-self: stretch;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 18px;
}
.register-page__intro {
align-self: stretch;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
}
.register-page__title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 38px;
}
.register-page__desc {
margin: 0;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.register-page__form {
align-self: stretch;
display: flex;
flex-direction: column;
gap: 16px;
}
.register-page__field {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.register-page__label {
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.register-page__control {
align-self: stretch;
height: 48px;
padding: 0 16px;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid transparent;
border-radius: 12px;
outline: 1px solid transparent;
outline-offset: -1px;
}
.register-page__control:focus-within {
outline-color: rgba(236, 35, 127, 0.45);
}
.register-page__field.is-error .register-page__control {
outline-color: #ff5a5f;
}
.register-page__error {
display: inline-flex;
align-items: center;
gap: 6px;
color: #ff5a5f;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.register-page__error[hidden] {
display: none !important;
}
.register-page__error-icon {
width: 14px;
height: 14px;
flex-shrink: 0;
}
.register-page__control > .icon {
width: 18px;
height: 18px;
flex-shrink: 0;
}
.register-page__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
border: 0;
outline: none;
background: transparent;
color: var(--text);
font: inherit;
font-size: 15px;
line-height: 24px;
}
.register-page__input::placeholder {
color: var(--text-dim);
}
.register-page__toggle {
width: 18px;
height: 18px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--text-dim);
}
.register-page__toggle .icon {
width: 18px;
height: 18px;
}
.register-page__agree {
display: flex;
align-items: flex-start;
gap: 10px;
color: var(--text-muted);
font-size: 13px;
line-height: 20px;
cursor: pointer;
}
.register-page__agree a {
color: inherit;
text-decoration: underline;
text-underline-offset: 2px;
}
.register-page__checkbox {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}
.register-page__check {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 1px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 4px;
background: transparent;
border: 1px solid rgba(255, 255, 255, 0.24);
}
.register-page__checkbox:checked + .register-page__check {
border-color: transparent;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.register-page__checkbox:checked + .register-page__check::after {
content: "";
width: 10px;
height: 6px;
border-left: 1.5px solid #fff;
border-bottom: 1.5px solid #fff;
transform: translateY(-1px) rotate(-45deg);
}
.register-page__submit {
align-self: stretch;
height: 52px;
padding: 0 28px;
font-size: 16px;
line-height: 24px;
}
.register-page__switch {
margin: 0;
align-self: stretch;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.register-page__switch a {
color: #ff4a7b;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
+304
View File
@@ -0,0 +1,304 @@
/* PC 注册弹窗 */
.register-pop {
position: fixed;
inset: 0;
z-index: 290;
display: none;
align-items: center;
justify-content: center;
padding: 24px;
}
.register-pop.is-open {
display: flex;
}
.register-pop__mask {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.7);
}
.register-pop__panel {
position: relative;
z-index: 1;
width: 440px;
max-width: 100%;
padding: 32px;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
background: #141417;
border: 1px solid var(--line);
border-radius: var(--radius-xl);
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
overflow: hidden;
}
.register-pop__close {
position: absolute;
top: 16px;
right: 16px;
width: 32px;
height: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, 0.04);
border-radius: 999px;
}
.register-pop__close .icon {
width: 18px;
height: 18px;
}
.register-pop__intro {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
padding-right: 40px;
}
.register-pop__title {
margin: 0;
color: var(--text);
font-size: 28px;
font-weight: 600;
line-height: 38px;
}
.register-pop__desc {
margin: 0;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.register-pop__form {
align-self: stretch;
display: flex;
flex-direction: column;
gap: 16px;
}
.register-pop__field {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.register-pop__label {
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
.register-pop__control {
align-self: stretch;
height: 48px;
padding: 0 16px;
display: flex;
align-items: center;
gap: 10px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid transparent;
border-radius: 12px;
outline: 1px solid transparent;
outline-offset: -1px;
}
.register-pop__control:focus-within {
outline-color: rgba(236, 35, 127, 0.45);
}
.register-pop__field.is-error .register-pop__control {
outline-color: #ff5a5f;
}
.register-pop__error {
display: inline-flex;
align-items: center;
gap: 6px;
color: #ff5a5f;
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.register-pop__error[hidden] {
display: none !important;
}
.register-pop__error-icon {
width: 14px;
height: 14px;
flex-shrink: 0;
}
.register-pop__control > .icon {
width: 18px;
height: 18px;
flex-shrink: 0;
}
.register-pop__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
border: 0;
outline: none;
background: transparent;
color: var(--text);
font: inherit;
font-size: 15px;
line-height: 24px;
}
.register-pop__input::placeholder {
color: var(--text-dim);
}
.register-pop__toggle {
width: 18px;
height: 18px;
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
color: var(--text-dim);
}
.register-pop__toggle .icon {
width: 18px;
height: 18px;
}
.register-pop__agree {
display: flex;
align-items: flex-start;
gap: 10px;
color: var(--text-muted);
font-size: 13px;
line-height: 20px;
cursor: pointer;
}
.register-pop__agree a {
color: inherit;
text-decoration: underline;
text-underline-offset: 2px;
}
.register-pop__checkbox {
position: absolute;
opacity: 0;
width: 1px;
height: 1px;
pointer-events: none;
}
.register-pop__check {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 1px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 4px;
background: transparent;
border: 1px solid rgba(255, 255, 255, 0.24);
}
.register-pop__checkbox:checked + .register-pop__check {
border-color: transparent;
background: linear-gradient(135deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
}
.register-pop__checkbox:checked + .register-pop__check::after {
content: "";
width: 10px;
height: 6px;
border-left: 1.5px solid #fff;
border-bottom: 1.5px solid #fff;
transform: translateY(-1px) rotate(-45deg);
}
.register-pop__submit {
align-self: stretch;
height: 52px;
padding: 0 28px;
font-size: 16px;
line-height: 24px;
}
.register-pop__submit.is-loading,
.register-pop__submit:disabled {
opacity: 0.72;
cursor: wait;
}
.register-pop__tip {
margin: 0;
align-self: stretch;
padding: 8px 12px;
border-radius: 8px;
font-size: 13px;
line-height: 20px;
background: rgba(255, 74, 123, 0.1);
color: #ff4a7b;
}
.register-pop__tip.is-success {
background: rgba(30, 120, 70, 0.12);
color: #1e7846;
}
.register-pop__tip[hidden] {
display: none !important;
}
.register-pop__switch {
margin: 0;
align-self: stretch;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
color: var(--text-muted);
font-size: 14px;
line-height: 22px;
}
.register-pop__switch a {
color: #ff4a7b;
font-size: 14px;
font-weight: 500;
line-height: 20px;
}
@media (max-width: 768px) {
.register-pop {
padding: 16px;
}
.register-pop__panel {
max-height: calc(100vh - 32px);
max-height: calc(100dvh - 32px);
padding: 24px 20px;
border-radius: 18px;
overflow-y: auto;
}
.register-pop__title {
font-size: 24px;
line-height: 32px;
}
}
+219
View File
@@ -0,0 +1,219 @@
/* Search result content. Header and footer styles live in their shared components. */
.search-results__mobile-count { display: none; }
/* H5 搜索顶栏:桌面隐藏,窄屏替换 site-header */
.search-h5-header {
display: none;
position: fixed;
top: 0;
left: 0;
z-index: 100;
box-sizing: border-box;
align-items: center;
gap: 8px;
width: 100%;
height: 56px;
padding-inline: 12px;
background: #0b0b0d;
border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.search-h5-header__back {
display: grid;
flex: 0 0 36px;
place-items: center;
width: 36px;
height: 36px;
border-radius: 999px;
}
.search-h5-header__back img {
display: block;
width: 22px;
height: 22px;
}
.search-h5-header__form {
display: flex;
flex: 1 1 0;
align-items: center;
gap: 8px;
min-width: 0;
height: 36px;
padding-inline: 14px;
background: rgba(255, 255, 255, 0.06);
border: 1px solid #ec237f;
border-radius: 999px;
}
.search-h5-header__search-icon {
display: block;
flex: 0 0 18px;
width: 18px;
height: 18px;
}
.search-h5-header__input {
flex: 1 1 0;
min-width: 0;
height: 100%;
padding: 0;
color: #f2f2f4;
background: transparent;
border: 0;
outline: 0;
font: 400 14px / 22px var(--font, "PingFang SC", sans-serif);
appearance: none;
}
.search-h5-header__input::placeholder {
color: #7c7c86;
opacity: 1;
}
.search-h5-header__input::-webkit-search-cancel-button,
.search-h5-header__input::-webkit-search-decoration {
appearance: none;
}
.search-h5-header__clear {
display: grid;
flex: 0 0 16px;
place-items: center;
width: 16px;
height: 16px;
padding: 0;
border: 0;
background: transparent;
cursor: pointer;
}
.search-h5-header__clear[hidden] {
display: none;
}
.search-h5-header__clear img {
display: block;
width: 100%;
height: 100%;
}
.search-h5-header__cancel {
flex: 0 0 auto;
color: #a1a1aa;
font-size: 14px;
font-weight: 400;
line-height: 22px;
white-space: nowrap;
text-decoration: none;
}
.search-main { min-height: 50vh; padding-top: var(--site-header-height, 72px); }
.search-heading,
.search-results,
.search-recommendations {
width: min(calc(100% - 48px), 1200px);
margin-inline: auto;
}
.search-heading { padding: 36px 0 8px; }
.search-heading__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.search-heading__kicker {
display: flex;
align-items: center;
gap: 10px;
margin: 0;
color: var(--accent-hot);
font-size: 13px;
font-weight: 500;
line-height: 18px;
letter-spacing: .12em;
}
.search-heading__kicker span { width: 18px; height: 2px; background: var(--accent); }
.search-heading h1,
.search-heading h2 { margin: 0; font-size: 28px; font-weight: 600; line-height: 36px; letter-spacing: -.01em; }
.search-heading__description { margin: 0; color: var(--text-muted); font-size: 15px; line-height: 24px; }
.search-results { display: flex; flex-direction: column; gap: 24px; padding: 20px 0 24px; scroll-margin-top: calc(var(--site-header-height, 72px) + 12px); }
.search-card-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 32px 24px; }
.search-card { display: flex; flex-direction: column; min-width: 0; gap: 10px; }
.search-card[hidden] { display: none !important; }
.search-card__cover {
position: relative;
display: block;
width: 100%;
aspect-ratio: 3 / 4;
overflow: hidden;
border: 1px solid var(--line-soft);
border-radius: 12px;
background: var(--bg-panel);
}
.search-card__cover > img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.search-card__scrim { position: absolute; inset: 58% 0 0; background: linear-gradient(180deg, transparent, rgba(0,0,0,.7)); }
.search-card__episodes { position: absolute; left: 10px; bottom: 10px; color: var(--text); font-size: 12px; font-weight: 500; line-height: 16px; text-shadow: 0 1px 4px #000; }
.search-card__badge { position: absolute; right: 4px; top: 4px; min-width: 36px; height: 20px; display: grid; place-items: center; padding: 0 8px; border-radius: 6px; background: linear-gradient(135deg,#f04050,#d01030); color: white; font-size: 11px; font-weight: 500; line-height: 14px; }
.search-card__badge--original { background: linear-gradient(135deg,#fadc44,#f9c24e); color: #141414; }
.search-card__title { margin: 0; overflow: hidden; color: var(--text); font-size: 16px; font-weight: 600; line-height: 22px; text-overflow: ellipsis; white-space: nowrap; }
.search-card__meta { margin: 0; overflow: hidden; color: var(--text-muted); font-size: 13px; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.search-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; }
.search-pagination__pages { display: flex; align-items: center; gap: 8px; }
.search-pagination button { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--bg-elevated); color: var(--text-muted); font: 600 16px/20px Inter,var(--font); }
.search-pagination button.is-current { border-color: transparent; background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%); color: white; }
.search-pagination button:disabled { opacity: .45; cursor: default; }
.search-pagination button img { width: 16px; height: 16px; }
.search-pagination__ellipsis { width: 36px; height: 36px; display: grid; place-items: center; color: var(--text-dim); font: 600 16px/20px Inter,var(--font); }
.search-pagination > span { margin-left: 8px; color: var(--text-dim); font-size: 12px; line-height: 18px; }
.search-heading--empty { padding-bottom: 8px; }
.search-empty { width: min(calc(100% - 48px),1200px); margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 96px 0; text-align: center; }
.search-empty__icon { width: 96px; height: 96px; display: grid; place-items: center; border: 1px solid var(--line-soft); border-radius: 50%; background: var(--bg-elevated); }
.search-empty__icon img { width: 40px; height: 40px; }
.search-empty h1 { margin: 0; font-size: 20px; font-weight: 600; line-height: 28px; }
.search-empty p { margin: 0; color: var(--text-muted); font-size: 14px; line-height: 22px; }
.search-empty .btn { height: 48px; padding-inline: 22px; font-size: 15px; line-height: 22px; }
.search-recommendations { padding-bottom: 40px; }
.search-recommendations__heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.search-recommendations__heading h2 { margin: 0; font-size: 24px; font-weight: 600; line-height: 32px; }
.search-recommendations__heading a { display: flex; align-items: center; gap: 2px; color: var(--text-muted); font-size: 14px; line-height: 20px; }
.search-recommendations__heading img { width: 16px; height: 16px; }
.search-recommendations__more-label--h5 { display: none; }
@media (max-width: 1100px) and (min-width: 901px) {
.search-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 900px) {
body.search-page .site-header { display: none !important; }
.search-h5-header { display: flex; }
.search-main {
padding-top: 56px;
}
.search-heading,
.search-heading--empty { display: none; }
.search-results { width: auto; display: flex; gap: 14px; padding: 12px 16px 24px; }
.search-results__mobile-count { display: block; margin: 0; color: var(--text-dim); font-size: 12px; line-height: 18px; }
.search-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 8px; }
.search-card { gap: 6px; }
.search-card__cover { border-radius: 8px; aspect-ratio: 109 / 145; }
.search-card__episodes { left: 10px; bottom: 10px; font-size: 11px; line-height: 14px; }
.search-card__badge { right: 4px; top: 4px; height: 18px; min-width: 32px; padding: 0 6px; font-size: 10px; }
.search-card__title { font-size: 14px; line-height: 20px; }
.search-card__meta { font-size: 11px; line-height: 16px; }
.search-pagination { flex-wrap: wrap; row-gap: 12px; }
.search-pagination > span { flex-basis: 100%; margin-left: 0; text-align: center; }
.search-empty { width: auto; padding: 56px 16px; }
.search-recommendations { width: auto; padding: 0 16px 24px; }
.search-recommendations__heading { margin-bottom: 14px; }
.search-recommendations__heading h2 { font-size: 18px; line-height: 26px; }
.search-recommendations__heading a { font-size: 13px; line-height: 20px; }
.search-recommendations__heading img { width: 14px; height: 14px; }
.search-recommendations__more-label--pc { display: none; }
.search-recommendations__more-label--h5 { display: inline; }
}
+201
View File
@@ -0,0 +1,201 @@
/* 剧集列表页 / 首页视频更多页 */
body.page-series .site-header,
body.page-more-video .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.grid--series-list {
display: flex;
flex-wrap: wrap;
gap: 24px;
align-content: flex-start;
}
.series-list-promo {
flex: 0 0 100%;
width: 100%;
}
.series-list-card {
width: 282px;
display: flex;
flex-direction: column;
gap: 10px;
min-width: 0;
}
.series-list-card__cover {
position: relative;
display: block;
overflow: hidden;
width: 100%;
height: 159px;
box-sizing: border-box;
border-radius: var(--radius-md);
border: 1px solid transparent;
box-shadow: inset 0 0 0 1px var(--line-soft);
isolation: isolate;
background-color: #141417;
background-image:
linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 100%),
var(--cover);
background-position: center, center;
background-size: cover, cover;
background-repeat: no-repeat, no-repeat;
background-clip: padding-box;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transition: box-shadow 180ms ease;
}
.series-list-card__play {
position: absolute;
right: 10px;
bottom: 10px;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 999px;
background: rgba(11, 11, 13, 0.72);
border: 1px solid rgba(255, 255, 255, 0.24);
pointer-events: none;
}
.series-list-card__play .icon {
width: 18px;
height: 18px;
margin-left: 2px;
}
/* Figma HGW/封面卡:横版封面悬浮态(对齐短剧 card__cover) */
.series-list-card__cover::before {
position: absolute;
inset: 0;
z-index: 3;
border-radius: inherit;
background: rgba(0, 0, 0, 0.6);
content: "";
opacity: 0;
pointer-events: none;
transition: opacity 180ms ease;
}
.series-list-card__cover::after {
position: absolute;
top: 50%;
left: 50%;
z-index: 4;
box-sizing: border-box;
width: 100px;
height: 76px;
padding-top: 54px;
background:
url("../images/play.svg") center 13px / 18px 18px no-repeat,
radial-gradient(
circle at 50% 22px,
rgba(11, 11, 13, 0.72) 0 21px,
rgba(255, 255, 255, 0.24) 21px 22px,
transparent 22px
);
color: #f2f2f4;
content: "立即播放";
font-size: 12px;
font-weight: 500;
line-height: 16px;
text-align: center;
opacity: 0;
pointer-events: none;
transform: translate(-50%, calc(-50% + 6px));
transition:
opacity 180ms ease,
transform 180ms ease;
}
.series-list-card__cover:focus-visible {
box-shadow: inset 0 0 0 1px rgba(236, 35, 127, 0.45);
}
.series-list-card__cover:focus-visible::before,
.series-list-card__cover:focus-visible::after {
opacity: 1;
}
.series-list-card__cover:focus-visible::after {
transform: translate(-50%, -50%);
}
@media (hover: hover) and (pointer: fine) {
.series-list-card__cover:hover {
box-shadow: inset 0 0 0 1px rgba(236, 35, 127, 0.45);
}
.series-list-card__cover:hover::before,
.series-list-card__cover:hover::after {
opacity: 1;
}
.series-list-card__cover:hover::after {
transform: translate(-50%, -50%);
}
}
.series-list-card .card__title {
font-size: 16px;
font-weight: 600;
line-height: 22px;
}
.series-list-card .card__meta {
font-size: 13px;
line-height: 20px;
}
.series-list-card .card__ep {
bottom: 10px;
}
@media (max-width: 768px) {
.grid--series-list {
gap: 14px 9px;
}
.series-list-card {
width: calc((100% - 9px) / 2);
gap: 8px;
}
.series-list-card__cover {
height: auto;
aspect-ratio: 167 / 94;
}
.series-list-card__play {
width: 36px;
height: 36px;
}
.series-list-card__play .icon {
width: 15px;
height: 15px;
}
.series-list-card .card__title {
font-size: 15px;
line-height: 21px;
}
.series-list-card .card__meta {
font-size: 12px;
line-height: 18px;
}
.series-list-card .card__ep {
font-size: 12px;
line-height: 16px;
}
}
+65
View File
@@ -0,0 +1,65 @@
.setting-main { width: min(calc(100% - 48px), var(--page-width)); margin: 0 auto; padding: 24px 0 40px; }
.setting-layout { max-width: 900px; margin: 0 auto; }
.setting-card { display: flex; flex-direction: column; gap: 24px; min-width: 0; padding: 32px; border: 1px solid var(--line-soft); border-radius: 16px; background: #141417; }
.setting-section { display: flex; flex-direction: column; gap: 24px; scroll-margin-top: 90px; }
.setting-section__title { margin: 0; color: var(--text); font-size: 18px; font-weight: 600; line-height: 26px; }
.setting-avatar { display: flex; align-items: center; gap: 16px; }
.setting-avatar__image { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.setting-avatar__button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 36px; padding: 0 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: var(--text); font-size: 14px; cursor: pointer; }
.setting-avatar__button img { width: 16px; height: 16px; }
.setting-avatar__file { position: absolute; width: 1px; height: 1px; opacity: 0; }
.setting-avatar__hint { margin: 8px 0 0; color: var(--text-dim); font-size: 12px; line-height: 18px; }
.setting-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
.setting-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--text-muted); font-size: 14px; font-weight: 500; line-height: 20px; }
.setting-field input, .setting-field textarea, .setting-field__action { width: 100%; min-width: 0; min-height: 48px; padding: 12px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; outline: none; background: rgba(255,255,255,.06); color: var(--text); font: 400 15px/24px var(--font); }
.setting-field textarea { min-height: 96px; resize: vertical; }
.setting-field input:focus, .setting-field textarea:focus { border-color: #ec237f; }
.setting-field input[readonly] { color: var(--text-muted); cursor: default; }
.setting-field small { color: var(--text-dim); font-size: 12px; font-weight: 400; line-height: 18px; }
.setting-field__action { color: #ff4a7b; text-align: right; cursor: pointer; }
.setting-field__value-action { position: relative; min-width: 0; }
.setting-field__value-action input { padding-right: 72px; }
.setting-field__inline-action { position: absolute; top: 50%; right: 16px; color: #ff4a7b; font-size: 14px; font-weight: 500; line-height: 20px; transform: translateY(-50%); cursor: pointer; }
.setting-field--intro { max-width: 100%; }
.setting-actions { display: flex; align-items: center; gap: 12px; padding-top: 24px; border-top: 1px solid var(--line-soft); }
.setting-actions button { min-height: 48px; padding: 0 22px; border-radius: 999px; color: #fff; font-size: 15px; font-weight: 500; cursor: pointer; }
.setting-actions__save { border: 0; background: linear-gradient(135deg, #ff4a7b 15%, #ec237f 51%, #93226f 85%); }
.setting-actions__logout { border: 1px solid rgba(255,255,255,.24); background: transparent; }
.setting-actions__unavailable { margin-left: auto; color: var(--text-dim); font-size: 13px; }
.setting-status { margin: -8px 0 0; min-height: 20px; color: #ff858b; font-size: 13px; line-height: 20px; }
.setting-status.is-success { color: #84d9a1; }
.setting-login-state { padding: 80px 16px; text-align: center; color: var(--text-muted); }
.setting-login-state h2 { color: var(--text); }
.setting-login-state a { color: #ff4a7b; }
.setting-password-pop { position: fixed; inset: 0; z-index: 295; display: flex; align-items: center; justify-content: center; padding: 24px; }
.setting-password-pop[hidden] { display: none !important; }
.setting-password-pop__mask { position: absolute; inset: 0; width: 100%; height: 100%; background: rgba(0,0,0,.72); cursor: default; }
.setting-password-pop__panel { position: relative; z-index: 1; width: 440px; max-width: 100%; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-xl); background: #141417; box-shadow: 0 24px 64px rgba(0,0,0,.55); }
.setting-password-pop__close { position: absolute; top: 16px; right: 16px; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.04); }
.setting-password-pop__close .icon { width: 18px; height: 18px; }
.setting-password-pop__intro { padding-right: 40px; }
.setting-password-pop__intro h2 { margin: 0; color: var(--text); font-size: 28px; font-weight: 600; line-height: 38px; }
.setting-password-pop__intro p { margin: 6px 0 0; color: var(--text-muted); font-size: 14px; line-height: 22px; }
.setting-password-pop__form { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; }
.setting-password-pop__status { min-height: 18px; margin: -4px 0 0; color: #ff858b; font-size: 12px; line-height: 18px; }
.setting-password-pop__status.is-success { color: #84d9a1; }
.setting-password-pop__submit { width: 100%; min-height: 52px; border: 0; border-radius: 999px; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
.setting-password-pop__submit:disabled { opacity: .72; cursor: wait; }
@media (max-width: 768px) {
.setting-main { width: 100%; padding: 0 16px 24px; }
.setting-layout { max-width: none; }
.setting-card { gap: 16px; padding: 16px 0 0; border: 0; border-radius: 0; background: transparent; }
.setting-section { gap: 16px; }
.setting-section__title { display: none; }
.setting-avatar__image { flex-basis: 56px; width: 56px; height: 56px; }
.setting-fields { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.setting-actions { flex-direction: column; align-items: stretch; gap: 16px; padding-top: 16px; }
.setting-actions button { width: 100%; }
.setting-actions__unavailable { margin: 0; text-align: center; }
.setting-status { text-align: center; }
.setting-password-pop { padding: 16px; }
.setting-password-pop__panel { max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 24px 20px; border-radius: 18px; overflow-y: auto; }
.setting-password-pop__intro h2 { font-size: 24px; line-height: 32px; }
}
+24
View File
@@ -0,0 +1,24 @@
/* 标签作品页 */
body.page-tags .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.list-hero--tags {
gap: 20px;
}
.list-hero--tags .breadcrumb {
margin-bottom: 0;
}
@media (max-width: 768px) {
body.page-tags .site-header {
display: none !important;
}
.list-hero--tags {
gap: 12px;
}
}
+77
View File
@@ -0,0 +1,77 @@
/* Toast 提示:对齐站点深色主题,仅成功 / 失败两种状态 */
.site-toast {
position: fixed;
left: 50%;
top: 16px;
z-index: 400;
transform: translateX(-50%);
pointer-events: none;
max-width: min(92vw, 420px);
}
.site-toast[hidden] {
display: none;
}
.site-toast__panel {
display: inline-flex;
align-items: center;
gap: 10px;
min-height: 44px;
padding: 12px 18px;
border-radius: var(--radius-md);
border: 1px solid var(--line);
background: var(--bg);
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
color: var(--text);
opacity: 0;
transform: translateY(-8px);
transition: opacity 0.22s ease, transform 0.22s ease;
}
.site-toast.is-visible .site-toast__panel {
opacity: 1;
transform: translateY(0);
}
.site-toast__icon {
width: 18px;
height: 18px;
flex-shrink: 0;
display: none;
}
.site-toast__icon[hidden] {
display: none !important;
}
.site-toast.is-success .site-toast__icon[data-toast-icon-success]:not([hidden]),
.site-toast.is-error .site-toast__icon[data-toast-icon-error]:not([hidden]) {
display: block;
}
.site-toast__text {
margin: 0;
font-size: 14px;
line-height: 1.45;
font-weight: 500;
word-break: break-word;
}
.site-toast.is-success .site-toast__panel {
border-color: rgba(233, 201, 119, 0.35);
background: var(--bg);
}
.site-toast.is-error .site-toast__panel {
border-color: rgba(255, 90, 95, 0.4);
background: var(--bg);
}
@media (max-width: 768px) {
.site-toast {
top: 16px;
bottom: auto;
}
}
+179
View File
@@ -0,0 +1,179 @@
/* 专题列表页 */
body.page-topic .site-header {
background: var(--bg);
border-bottom-color: var(--line-soft);
}
.topic-grid--list {
display: flex;
flex-wrap: wrap;
gap: 24px;
align-content: flex-start;
}
.topic-card {
display: flex;
align-items: center;
justify-content: space-between;
width: 384px;
height: 200px;
padding-left: 24px;
overflow: hidden;
background: var(--bg-panel);
border: 1px solid var(--line-soft);
border-radius: var(--radius-lg);
color: inherit;
text-decoration: none;
transition: border-color 0.2s ease, transform 0.2s ease;
}
.topic-card:hover {
border-color: rgba(236, 35, 127, 0.35);
}
.topic-card__info {
display: flex;
flex: 1 1 0;
flex-direction: column;
align-items: flex-start;
gap: 10px;
min-width: 0;
padding-right: 8px;
}
.topic-card__title {
margin: 0;
align-self: stretch;
color: var(--text);
font-size: 18px;
font-weight: 600;
line-height: 26px;
}
.topic-card__desc {
margin: 0;
align-self: stretch;
color: var(--text-muted);
font-size: 13px;
font-weight: 400;
line-height: 20px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
overflow: hidden;
word-break: break-word;
}
.topic-card__count {
margin: 0;
color: var(--text-dim);
font-size: 12px;
font-weight: 400;
line-height: 18px;
}
.topic-card__stack {
position: relative;
width: 150px;
height: 200px;
flex-shrink: 0;
}
.topic-card__stack img {
position: absolute;
width: 72px;
height: 96px;
border-radius: var(--radius-sm);
border: 1px solid var(--line);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
object-fit: cover;
}
.topic-card__stack img:nth-child(1) {
left: 4px;
top: 92px;
opacity: 0.65;
}
.topic-card__stack img:nth-child(2) {
left: 38px;
top: 72px;
opacity: 0.85;
}
.topic-card__stack img:nth-child(3) {
left: 72px;
top: 52px;
}
@media (max-width: 768px) {
body.page-topic .site-header {
display: none !important;
}
.page-topic .list-body {
padding-top: 14px;
padding-bottom: 20px;
gap: 14px;
}
.topic-grid--list {
gap: 12px;
}
.topic-card {
width: 100%;
height: 150px;
padding-left: 16px;
border-radius: var(--radius-md);
}
.topic-card__info {
gap: 6px;
padding: 0;
}
.topic-card__title {
font-size: 15px;
line-height: 21px;
}
.topic-card__desc {
font-size: 12px;
line-height: 18px;
}
.topic-card__count {
font-size: 11px;
line-height: 16px;
}
.topic-card__stack {
width: 112px;
height: 150px;
}
.topic-card__stack img {
width: 56px;
height: 75px;
border-radius: 6px;
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
}
.topic-card__stack img:nth-child(1) {
left: 4px;
top: 66px;
}
.topic-card__stack img:nth-child(2) {
left: 30px;
top: 52px;
}
.topic-card__stack img:nth-child(3) {
left: 56px;
top: 38px;
}
}
+527
View File
@@ -0,0 +1,527 @@
/* 专题详情页 */
body.page-topic-detail .site-header {
background: transparent;
border-bottom-color: transparent;
}
.topic-detail-hero {
position: relative;
overflow: hidden;
min-height: 420px;
padding-top: var(--site-header-height, 72px);
background: var(--bg);
}
.topic-detail-hero__bg,
.topic-detail-hero__mask {
position: absolute;
inset: 0;
pointer-events: none;
}
.topic-detail-hero__bg {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.55;
filter: blur(42px);
transform: scale(1.18);
transform-origin: center center;
}
.topic-detail-hero__mask {
background:
linear-gradient(
90deg,
rgba(11, 11, 13, 0.72) 0%,
rgba(11, 11, 13, 0.35) 42%,
rgba(11, 11, 13, 0.2) 100%
),
linear-gradient(
180deg,
rgba(11, 11, 13, 0.35) 0%,
rgba(11, 11, 13, 0.45) 55%,
#0b0b0d 100%
);
}
.topic-detail-hero__inner {
position: relative;
z-index: 1;
display: flex;
align-items: center;
justify-content: space-between;
flex-direction: row;
gap: 48px;
min-height: 348px;
padding: 36px 0 48px;
background: transparent;
}
.topic-detail-hero__content {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 14px;
width: min(640px, 100%);
min-width: 0;
}
.topic-detail-hero__content .breadcrumb {
margin-bottom: 2px;
}
.topic-detail-hero__title {
margin: 0;
color: var(--text);
font-size: 40px;
font-weight: 600;
line-height: 48px;
letter-spacing: 0.2px;
}
.topic-detail-hero__desc {
margin: 0;
max-width: 560px;
color: var(--text-muted);
font-size: 16px;
font-weight: 400;
line-height: 26px;
}
.topic-detail-hero__meta {
margin: 2px 0 4px;
color: var(--text-dim);
font-size: 13px;
font-weight: 400;
line-height: 18px;
letter-spacing: 0.4px;
}
.topic-detail-hero__actions {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
margin-top: 6px;
}
.topic-detail-hero__actions .btn .icon {
width: 22px;
height: 22px;
}
.topic-detail-hero__play {
min-width: 200px;
}
.topic-detail-hero__collect {
min-width: 148px;
}
.topic-detail-hero__stack {
position: relative;
flex-shrink: 0;
width: 360px;
height: 280px;
}
.topic-detail-hero__stack img {
position: absolute;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.12);
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
object-fit: cover;
background: #1a1a1f;
}
.topic-detail-hero__stack img:nth-child(1) {
left: 8px;
top: 52px;
z-index: 1;
width: 152px;
height: 202px;
opacity: 0.62;
}
.topic-detail-hero__stack img:nth-child(2) {
left: 84px;
top: 28px;
z-index: 2;
width: 168px;
height: 224px;
opacity: 0.85;
}
.topic-detail-hero__stack img:nth-child(3) {
left: 168px;
top: 0;
z-index: 3;
width: 188px;
height: 252px;
opacity: 1;
border-color: transparent;
box-shadow:
0 0 0 2px rgba(255, 74, 123, 0.9),
0 0 28px rgba(236, 35, 127, 0.35),
0 20px 48px rgba(0, 0, 0, 0.55);
}
.topic-detail-section {
display: flex;
flex-direction: column;
gap: 24px;
padding: 28px 0 24px;
}
.topic-detail-section--more {
gap: 20px;
padding: 8px 0 40px;
}
.topic-detail-section__head {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 16px;
}
.topic-detail-section__left {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
gap: 14px;
min-width: 0;
}
.topic-detail-section__title {
margin: 0;
color: var(--text);
font-size: 22px;
font-weight: 600;
line-height: 30px;
}
.topic-detail-section__count {
color: var(--text-dim);
font-size: 14px;
font-weight: 400;
line-height: 22px;
padding-bottom: 4px;
}
.topic-detail-sort {
display: inline-flex;
align-items: flex-end;
gap: 20px;
flex-shrink: 0;
margin-left: 6px;
}
.topic-detail-sort__item {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 6px;
color: var(--text-muted);
font-size: 14px;
font-weight: 500;
line-height: 20px;
text-decoration: none;
}
.topic-detail-sort__item::after {
content: "";
width: 24px;
height: 2px;
border-radius: 1px;
background: linear-gradient(90deg, #ff4a7b 0%, #ec237f 52%, #93226f 100%);
opacity: 0;
}
.topic-detail-sort__item.is-active {
color: var(--text);
}
.topic-detail-sort__item.is-active::after {
opacity: 1;
}
.topic-detail-sort-dropdown {
display: none;
position: relative;
flex-shrink: 0;
}
.topic-detail-sort-link {
display: inline-flex;
align-items: center;
gap: 2px;
margin: 0;
padding: 0;
color: var(--text-muted);
background: transparent;
border: 0;
font: inherit;
font-size: 13px;
font-weight: 400;
line-height: 20px;
cursor: pointer;
appearance: none;
}
.topic-detail-sort-link .icon,
.topic-detail-sort-link__caret {
width: 14px;
height: 14px;
transition: transform 0.18s ease;
}
.topic-detail-sort-dropdown.is-open .topic-detail-sort-link__caret {
transform: rotate(-90deg);
}
.topic-detail-sort-menu {
position: absolute;
top: calc(100% + 8px);
right: 0;
z-index: 20;
min-width: 112px;
padding: 6px;
background: #1b1b1f;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 10px;
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}
.topic-detail-sort-menu[hidden] {
display: none;
}
.topic-detail-sort-menu__item {
display: block;
padding: 10px 12px;
color: var(--text-muted);
border-radius: 8px;
font-size: 13px;
font-weight: 400;
line-height: 20px;
text-decoration: none;
white-space: nowrap;
}
.topic-detail-sort-menu__item.is-active,
.topic-detail-sort-menu__item:active {
color: var(--text);
background: rgba(255, 255, 255, 0.06);
}
@media (max-width: 768px) {
body.page-topic-detail .site-header {
display: none !important;
}
.topic-detail-hero {
min-height: 0;
padding-top: 0;
}
.topic-detail-hero .page-subheader {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
}
.topic-detail-hero .page-subheader--overlay.is-scrolled {
background: rgba(11, 11, 13, 0.88);
border-bottom-color: var(--line-soft);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
}
.topic-detail-hero__bg {
opacity: 0.5;
filter: blur(28px);
transform: scale(1.12);
}
.topic-detail-hero__mask {
background: linear-gradient(
180deg,
rgba(11, 11, 13, 0.55) 0%,
rgba(11, 11, 13, 0.5) 40%,
#0b0b0d 100%
);
}
.topic-detail-hero__inner {
flex-direction: row;
align-items: center;
gap: 14px;
min-height: 0;
padding: 68px var(--h5-gutter) 20px;
}
.topic-detail-hero__content {
flex: 1 1 0;
width: auto;
gap: 10px;
}
.topic-detail-hero__title {
font-size: 22px;
line-height: 30px;
}
.topic-detail-hero__desc {
max-width: none;
font-size: 13px;
line-height: 20px;
}
.topic-detail-hero__meta {
margin: 0;
font-size: 11px;
line-height: 16px;
letter-spacing: 0;
}
.topic-detail-hero__actions {
width: auto;
margin-top: 2px;
}
.topic-detail-hero__play {
min-width: 0;
}
.topic-detail-hero__actions .btn--lg {
height: 40px;
padding: 0 16px;
font-size: 14px;
line-height: 20px;
flex: 0 0 auto;
}
.topic-detail-hero__actions .btn .icon {
width: 18px;
height: 18px;
}
.topic-detail-hero__stack {
width: 120px;
height: 150px;
margin: 0;
}
.topic-detail-hero__stack img {
border-radius: var(--radius-sm);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5);
}
.topic-detail-hero__stack img:nth-child(1) {
left: 0;
top: 40px;
width: 72px;
height: 96px;
}
.topic-detail-hero__stack img:nth-child(2) {
left: 22px;
top: 22px;
width: 72px;
height: 96px;
}
.topic-detail-hero__stack img:nth-child(3) {
left: 44px;
top: 4px;
width: 72px;
height: 96px;
box-shadow:
0 0 0 1.5px rgba(255, 74, 123, 0.85),
0 8px 20px rgba(0, 0, 0, 0.5);
}
.topic-detail-section {
gap: 14px;
padding: 16px var(--h5-gutter) 16px;
}
.topic-detail-section--more {
gap: 14px;
padding: 8px 0 24px;
}
.topic-detail-section__head--padded {
padding: 0 var(--h5-gutter);
}
.topic-detail-section__left {
align-items: baseline;
gap: 10px;
}
.topic-detail-section__title {
font-size: 18px;
line-height: 26px;
}
.topic-detail-section__count {
font-size: 12px;
line-height: 18px;
}
.topic-detail-sort-dropdown {
display: block;
}
.topic-detail-section .grid--list {
gap: 14px 8px;
}
.topic-detail-section .card--list {
width: calc((100% - 16px) / 3);
gap: 6px;
}
.topic-grid--more {
flex-wrap: nowrap;
gap: 10px;
overflow-x: auto;
scrollbar-width: none;
padding: 0 var(--h5-gutter);
}
.topic-grid--more::-webkit-scrollbar {
display: none;
}
.topic-grid--more .topic-card {
width: 280px;
height: 140px;
flex-shrink: 0;
padding-left: 16px;
border-radius: var(--radius-md);
}
.topic-grid--more .topic-card__stack {
width: 112px;
height: 140px;
}
.topic-grid--more .topic-card__stack img:nth-child(1) {
top: 56px;
}
.topic-grid--more .topic-card__stack img:nth-child(2) {
top: 42px;
}
.topic-grid--more .topic-card__stack img:nth-child(3) {
top: 28px;
}
}
+9
View File
@@ -0,0 +1,9 @@
// Package staticassets exposes static web assets embedded in the executable.
package staticassets
import "embed"
// FS contains all files served below /static.
//
//go:embed common css images js *.ico *.png *.svg *.xsl
var FS embed.FS
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 198 KiB

+5
View File
@@ -0,0 +1,5 @@
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="64" height="64" rx="32" fill="#EC237F" fill-opacity="0.1"/>
<rect x="0.5" y="0.5" width="63" height="63" rx="31.5" stroke="#EC237F" stroke-opacity="0.3"/>
<path d="M21.2088 24.4545V39H18.5739V27.0185H18.4886L15.0866 29.1918V26.777L18.7017 24.4545H21.2088ZM30.0724 39.1989C29.0166 39.1989 28.0791 39.0213 27.2599 38.6662C26.4455 38.3111 25.8063 37.8258 25.3423 37.2102C24.883 36.59 24.6558 35.8868 24.6605 35.1009C24.6558 34.4901 24.7884 33.929 25.0582 33.4176C25.3281 32.9062 25.6927 32.4801 26.152 32.1392C26.616 31.7936 27.1321 31.5734 27.7003 31.4787V31.3793C26.9522 31.2135 26.3461 30.8324 25.8821 30.2358C25.4228 29.6345 25.1955 28.9408 25.2003 28.1548C25.1955 27.4067 25.4039 26.7391 25.8253 26.152C26.2467 25.5649 26.8243 25.1032 27.5582 24.767C28.2921 24.4261 29.1302 24.2557 30.0724 24.2557C31.0052 24.2557 31.8362 24.4261 32.5653 24.767C33.2992 25.1032 33.8769 25.5649 34.2983 26.152C34.7244 26.7391 34.9375 27.4067 34.9375 28.1548C34.9375 28.9408 34.7031 29.6345 34.2344 30.2358C33.7704 30.8324 33.1714 31.2135 32.4375 31.3793V31.4787C33.0057 31.5734 33.517 31.7936 33.9716 32.1392C34.4309 32.4801 34.7955 32.9062 35.0653 33.4176C35.34 33.929 35.4773 34.4901 35.4773 35.1009C35.4773 35.8868 35.2453 36.59 34.7812 37.2102C34.3172 37.8258 33.678 38.3111 32.8636 38.6662C32.054 39.0213 31.1236 39.1989 30.0724 39.1989ZM30.0724 37.1676C30.617 37.1676 31.0904 37.0753 31.4929 36.8906C31.8954 36.7012 32.2079 36.4361 32.4304 36.0952C32.6529 35.7543 32.7666 35.3613 32.7713 34.9162C32.7666 34.4522 32.6458 34.0426 32.4091 33.6875C32.1771 33.3277 31.8575 33.0459 31.4503 32.8423C31.0478 32.6387 30.5885 32.5369 30.0724 32.5369C29.5516 32.5369 29.0876 32.6387 28.6804 32.8423C28.2732 33.0459 27.9512 33.3277 27.7145 33.6875C27.4825 34.0426 27.3688 34.4522 27.3736 34.9162C27.3688 35.3613 27.4777 35.7543 27.7003 36.0952C27.9228 36.4313 28.2353 36.6941 28.6378 36.8835C29.045 37.0729 29.5232 37.1676 30.0724 37.1676ZM30.0724 30.5412C30.5175 30.5412 30.9105 30.4512 31.2514 30.2713C31.5971 30.0914 31.8693 29.8404 32.0682 29.5185C32.267 29.1965 32.3688 28.8248 32.3736 28.4034C32.3688 27.9867 32.2694 27.6222 32.0753 27.3097C31.8812 26.9924 31.6113 26.7486 31.2656 26.5781C30.92 26.4029 30.5223 26.3153 30.0724 26.3153C29.6132 26.3153 29.2083 26.4029 28.858 26.5781C28.5123 26.7486 28.2424 26.9924 28.0483 27.3097C27.8589 27.6222 27.7666 27.9867 27.7713 28.4034C27.7666 28.8248 27.8613 29.1965 28.0554 29.5185C28.2543 29.8357 28.5265 30.0866 28.8722 30.2713C29.2225 30.4512 29.6226 30.5412 30.0724 30.5412ZM42.1303 36.6705V26.8409H44.3604V36.6705H42.1303ZM38.3306 32.8707V30.6406H48.1602V32.8707H38.3306Z" fill="#FF4A7B"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.58325 11H17.4166" stroke="white" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M11 4.58398L17.4167 11.0007L11 17.4173" stroke="white" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 356 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.08331 9.91668L9.91665 4.08334" stroke="#FF4A7B" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M4.08331 4.08334H9.91665V9.91668" stroke="#FF4A7B" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.5 4.66675C10.5 3.73849 10.1313 2.84825 9.47487 2.19187C8.8185 1.5355 7.92826 1.16675 7 1.16675C6.07174 1.16675 5.1815 1.5355 4.52513 2.19187C3.86875 2.84825 3.5 3.73849 3.5 4.66675C3.5 8.75008 1.75 9.91675 1.75 9.91675H12.25C12.25 9.91675 10.5 8.75008 10.5 4.66675Z" stroke="#141414" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8.00916 12.25C7.90661 12.4268 7.7594 12.5735 7.58229 12.6756C7.40518 12.7776 7.20438 12.8313 7 12.8313C6.79561 12.8313 6.59481 12.7776 6.4177 12.6756C6.24059 12.5735 6.09339 12.4268 5.99083 12.25" stroke="#141414" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 768 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.8333 17.5L9.99999 13.3333L4.16666 17.5V4.16667C4.16666 3.72464 4.34225 3.30072 4.65481 2.98816C4.96737 2.67559 5.3913 2.5 5.83332 2.5H14.1667C14.6087 2.5 15.0326 2.67559 15.3452 2.98816C15.6577 3.30072 15.8333 3.72464 15.8333 4.16667V17.5Z" stroke="#F2F2F4" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 446 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.3663 4.63231C14.8038 5.60431 14.2396 6.57548 13.6767 7.54731C13.6462 7.5344 13.6149 7.52348 13.584 7.51148C12.0632 6.93173 10.6807 6.84481 9.90067 6.85565C8.35475 6.87106 7.10533 7.24256 6.35092 7.53923C6.28092 7.41473 4.89042 5.02173 4.66633 4.6339C4.63291 4.57681 4.59365 4.52336 4.54917 4.4744C4.27317 4.17107 3.79467 4.06948 3.4 4.30523C3.00417 4.54023 2.80533 5.08532 3.07617 5.55682C4.69833 8.36482 2.99567 5.37698 4.69892 8.35623C4.71325 8.38206 4.28675 8.5764 3.53842 9.20432C2.41558 10.1468 0.376667 12.3101 0 15.8253H20C19.9008 14.8996 19.6928 14.0761 19.3783 13.2684C18.7584 11.6752 17.842 10.5244 17.0947 9.78207C16.5575 9.24813 15.9618 8.77641 15.319 8.37582C15.8685 7.44082 16.4123 6.4959 16.9564 5.55515C17.1295 5.2539 17.1136 4.89215 16.9498 4.62256C16.8753 4.49748 16.7721 4.39193 16.6487 4.31467C16.5253 4.2374 16.3853 4.19063 16.2402 4.17823C15.8048 4.13356 15.4576 4.4389 15.3663 4.63231ZM15.3337 11.6831C15.6623 12.177 15.6037 12.792 15.2034 13.0584C14.8035 13.3248 14.2134 13.1405 13.8851 12.6466C13.5564 12.1527 13.6151 11.5377 14.0153 11.2713C14.4092 11.0088 14.9997 11.1809 15.3337 11.6831ZM6.00583 11.2729C6.40608 11.5393 6.46467 12.1543 6.13608 12.6482C5.80775 13.1421 5.21625 13.3264 4.81608 13.06C4.41608 12.7936 4.3575 12.1786 4.68583 11.6846C5.01983 11.1829 5.60975 11.0091 6.00583 11.2729Z" fill="#F2F2F4"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_179_235929)">
<path d="M10.1266 5.74667C9.33664 5.74667 8.11414 4.84833 6.82664 4.88C5.12664 4.9025 3.5683 5.86583 2.69247 7.39167C0.928303 10.4542 2.23747 14.9775 3.9583 17.4667C4.80247 18.6783 5.7983 20.0417 7.1183 19.9992C8.38497 19.945 8.85997 19.1767 10.3975 19.1767C11.9233 19.1767 12.3558 19.9992 13.6975 19.9667C15.0616 19.945 15.9275 18.7333 16.7608 17.51C17.7241 16.1033 18.1241 14.7392 18.1458 14.6642C18.1133 14.6533 15.4941 13.6467 15.4625 10.6167C15.4408 8.08333 17.5291 6.87167 17.6266 6.8175C16.4358 5.07583 14.6075 4.88083 13.9683 4.8375C12.3016 4.7075 10.9058 5.74667 10.1266 5.74667ZM12.9416 3.19167C13.6441 2.34833 14.1083 1.16917 13.9791 0C12.9733 0.0433333 11.7608 0.670833 11.0358 1.515C10.3858 2.26167 9.82414 3.46333 9.97497 4.61C11.09 4.69667 12.2375 4.03667 12.9408 3.1925" fill="white"/>
</g>
<defs>
<clipPath id="clip0_179_235929">
<rect width="20" height="20" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_179_235957)">
<path d="M4.68672 0.0560112C3.83552 0.0961445 3.25425 0.232011 2.74605 0.431611C2.22019 0.636611 1.77439 0.911611 1.33085 1.35674C0.887388 1.80188 0.614188 2.24794 0.410721 2.77474C0.213788 3.28394 0.0803211 3.86574 0.0427211 4.71741C0.00512106 5.56908 -0.00321227 5.84288 0.000987726 8.01541C0.00512106 10.1878 0.0147211 10.4601 0.0559877 11.3136C0.0966544 12.1646 0.231988 12.7457 0.431654 13.2541C0.636988 13.78 0.911654 14.2256 1.35699 14.6693C1.80225 15.1129 2.24799 15.3855 2.77599 15.5893C3.28479 15.7859 3.86672 15.92 4.71825 15.9573C5.56979 15.9946 5.84385 16.0033 8.01572 15.9991C10.1876 15.9949 10.4611 15.9853 11.3143 15.9448C12.1676 15.9043 12.7456 15.768 13.2541 15.5693C13.7801 15.3635 14.226 15.0893 14.6693 14.6439C15.1127 14.1984 15.3857 13.752 15.589 13.2249C15.7861 12.7161 15.9201 12.1343 15.957 11.2833C15.9943 10.4294 16.0031 10.1568 15.999 7.98468C15.9948 5.81248 15.985 5.54014 15.9445 4.68701C15.9041 3.83388 15.7685 3.25454 15.569 2.74588C15.3634 2.21994 15.089 1.77468 14.6439 1.33068C14.1988 0.886678 13.752 0.613878 13.2252 0.411011C12.716 0.214011 12.1345 0.0798112 11.2829 0.0430112C10.4314 0.00621119 10.1573 -0.00332214 7.98465 0.000944527C5.81199 0.00507786 5.53999 0.0144112 4.68672 0.0560112ZM4.78019 14.5181C4.00019 14.4841 3.57665 14.3545 3.29439 14.2461C2.92065 14.1021 2.65439 13.928 2.37312 13.6494C2.09179 13.3709 1.91905 13.1037 1.77312 12.7307C1.66352 12.4485 1.53152 12.0254 1.49505 11.2454C1.45539 10.4024 1.44705 10.1493 1.44239 8.01341C1.43772 5.87761 1.44592 5.62474 1.48285 4.78141C1.51619 4.00208 1.64659 3.57808 1.75485 3.29594C1.89885 2.92174 2.07232 2.65594 2.35152 2.37488C2.63072 2.09374 2.89712 1.92061 3.27039 1.77468C3.55239 1.66461 3.97539 1.53374 4.75505 1.49661C5.59872 1.45661 5.85152 1.44861 7.98705 1.44394C10.1226 1.43928 10.3761 1.44728 11.2201 1.48448C11.9994 1.51834 12.4236 1.64748 12.7054 1.75648C13.0793 1.90048 13.3454 2.07341 13.6265 2.35314C13.9076 2.63274 14.0809 2.89821 14.2268 3.27228C14.337 3.55341 14.4679 3.97628 14.5047 4.75648C14.5449 5.60014 14.554 5.85315 14.5578 7.98848C14.5617 10.1238 14.5541 10.3774 14.5171 11.2205C14.4831 12.0005 14.3538 12.4241 14.2451 12.7067C14.1011 13.0803 13.9276 13.3467 13.6482 13.6277C13.3689 13.9087 13.1028 14.0817 12.7293 14.2277C12.4477 14.3376 12.0242 14.4688 11.2452 14.5059C10.4015 14.5456 10.1487 14.5539 8.01232 14.5586C5.87599 14.5633 5.62385 14.5546 4.78019 14.5181ZM11.302 3.72428C11.3023 3.91416 11.3589 4.09969 11.4647 4.2574C11.5705 4.4151 11.7206 4.53789 11.8962 4.61025C12.0717 4.68261 12.2648 4.70127 12.451 4.66389C12.6372 4.6265 12.8081 4.53475 12.9421 4.40022C13.0761 4.2657 13.1672 4.09446 13.2039 3.90815C13.2406 3.72184 13.2212 3.52883 13.1482 3.35355C13.0752 3.17826 12.9518 3.02856 12.7937 2.92338C12.6356 2.81821 12.4499 2.76228 12.26 2.76268C12.0054 2.76321 11.7615 2.8648 11.5819 3.04513C11.4022 3.22545 11.3016 3.46974 11.302 3.72428ZM3.89232 8.00801C3.89679 10.2768 5.73939 12.1118 8.00766 12.1075C10.2761 12.1032 12.1123 10.2608 12.1081 7.99201C12.1037 5.72321 10.2607 3.88768 7.99205 3.89214C5.72339 3.89661 3.88805 5.73948 3.89232 8.00801ZM5.33332 8.00515C5.33228 7.47773 5.48766 6.96186 5.77981 6.52275C6.07195 6.08364 6.48775 5.74103 6.97462 5.53823C7.46148 5.33543 7.99755 5.28156 8.51503 5.38343C9.03252 5.4853 9.50817 5.73833 9.88185 6.11052C10.2555 6.48272 10.5104 6.95736 10.6144 7.47444C10.7183 7.99151 10.6666 8.52779 10.4657 9.01546C10.2648 9.50313 9.92387 9.92028 9.48593 10.2142C9.04799 10.5081 8.53273 10.6655 8.00532 10.6665C7.65511 10.6673 7.30819 10.599 6.98437 10.4657C6.66055 10.3323 6.36616 10.1365 6.11804 9.88932C5.86991 9.64218 5.6729 9.34858 5.53826 9.02529C5.40362 8.702 5.33398 8.35535 5.33332 8.00515Z" fill="#A1A1AA"/>
</g>
<defs>
<clipPath id="clip0_179_235957">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_179_235954)">
<path d="M7.96267 2.17778e-05C5.84741 0.00989308 3.82216 0.857104 2.32993 2.35633C0.837705 3.85555 -2.30327e-05 5.88474 4.74957e-10 8.00002C4.7496e-10 10.1218 0.842855 12.1566 2.34315 13.6569C3.84344 15.1572 5.87827 16 8 16C10.1217 16 12.1566 15.1572 13.6569 13.6569C15.1571 12.1566 16 10.1218 16 8.00002C16 5.87829 15.1571 3.84346 13.6569 2.34317C12.1566 0.842877 10.1217 2.17778e-05 8 2.17778e-05C7.98756 -7.25927e-06 7.97511 -7.25927e-06 7.96267 2.17778e-05ZM11.2707 4.81602C11.3373 4.81469 11.4847 4.83136 11.5807 4.90936C11.6445 4.96475 11.6851 5.04207 11.6947 5.12602C11.7053 5.18802 11.7187 5.33002 11.708 5.44069C11.588 6.70602 11.0667 9.77536 10.8013 11.192C10.6893 11.792 10.4687 11.9927 10.2547 12.012C9.79067 12.0554 9.438 11.7054 8.988 11.4107C8.284 10.9487 7.886 10.6614 7.20267 10.2107C6.41267 9.69069 6.92467 9.40402 7.37467 8.93736C7.49267 8.81469 9.53933 6.95269 9.57933 6.78402C9.584 6.76269 9.58867 6.68402 9.542 6.64269C9.49533 6.60136 9.426 6.61536 9.376 6.62669C9.30533 6.64269 8.18067 7.38669 6.002 8.85669C5.682 9.07669 5.39333 9.18336 5.134 9.17669C4.84867 9.17136 4.29933 9.01602 3.89067 8.88336C3.38933 8.72002 2.99133 8.63402 3.026 8.35736C3.044 8.21336 3.24267 8.06602 3.62133 7.91536C5.95333 6.89936 7.508 6.22936 8.28667 5.90602C10.508 4.98202 10.97 4.82136 11.2707 4.81602Z" fill="#A1A1AA"/>
</g>
<defs>
<clipPath id="clip0_179_235954">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_179_235960)">
<path d="M8.35001 0.0133333C9.22334 0 10.09 0.00666667 10.9567 0C11.01 1.02 11.3767 2.06 12.1233 2.78C12.87 3.52 13.9233 3.86 14.95 3.97333V6.66C13.99 6.62667 13.0233 6.42667 12.15 6.01333C11.77 5.84 11.4167 5.62 11.07 5.39333C11.0633 7.34 11.0767 9.28667 11.0567 11.2267C11.0033 12.16 10.6967 13.0867 10.1567 13.8533C9.28334 15.1333 7.77001 15.9667 6.21668 15.9933C5.26334 16.0467 4.31001 15.7867 3.49668 15.3067C2.15001 14.5133 1.20334 13.06 1.06334 11.5C1.05001 11.1667 1.04334 10.8333 1.05668 10.5067C1.17668 9.24 1.80334 8.02667 2.77668 7.2C3.88334 6.24 5.43001 5.78 6.87668 6.05333C6.89001 7.04 6.85001 8.02667 6.85001 9.01333C6.19001 8.8 5.41668 8.86 4.83668 9.26C4.41668 9.53333 4.09668 9.95333 3.93001 10.4267C3.79001 10.7667 3.83001 11.14 3.83668 11.5C3.99668 12.5933 5.05001 13.5133 6.17001 13.4133C6.91668 13.4067 7.63001 12.9733 8.01668 12.34C8.14334 12.12 8.28334 11.8933 8.29001 11.6333C8.35668 10.44 8.33001 9.25333 8.33668 8.06C8.34334 5.37333 8.33001 2.69333 8.35001 0.0133333Z" fill="#A1A1AA"/>
</g>
<defs>
<clipPath id="clip0_179_235960">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_179_235951)">
<path d="M12.6007 0.768555H15.054L9.694 6.89522L16 15.2306H11.0627L7.196 10.1746L2.77067 15.2306H0.316L6.04933 8.67722L0 0.769221H5.06267L8.558 5.39056L12.6007 0.768555ZM11.74 13.7626H13.0993L4.324 2.15989H2.86533L11.74 13.7626Z" fill="#A1A1AA"/>
</g>
<defs>
<clipPath id="clip0_179_235951">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 498 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.6653 4.12395C15.5749 3.78346 15.3967 3.47271 15.1484 3.22279C14.9001 2.97287 14.5905 2.79258 14.2507 2.69995C13.0033 2.36328 8 2.36328 8 2.36328C8 2.36328 2.99667 2.36328 1.74867 2.69995C1.40894 2.79274 1.09953 2.9731 0.851385 3.223C0.603241 3.4729 0.425061 3.78357 0.334667 4.12395C0 5.37995 0 7.99995 0 7.99995C0 7.99995 0 10.6199 0.334667 11.8759C0.425057 12.2164 0.603317 12.5272 0.851594 12.7771C1.09987 13.027 1.40945 13.2073 1.74933 13.2999C2.99667 13.6366 8 13.6366 8 13.6366C8 13.6366 13.0033 13.6366 14.2513 13.2999C14.5912 13.2074 14.9009 13.0271 15.1491 12.7772C15.3974 12.5273 15.5757 12.2165 15.666 11.8759C16 10.6199 16 7.99995 16 7.99995C16 7.99995 16 5.37995 15.6653 4.12395ZM6.36333 10.3786V5.62128L10.5453 7.99995L6.36333 10.3786Z" fill="#A1A1AA"/>
</svg>

After

Width:  |  Height:  |  Size: 884 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.8334 6.46407V7.00074C12.8327 8.25865 12.4254 9.48263 11.6722 10.4901C10.919 11.4976 9.86033 12.2347 8.65404 12.5913C7.44775 12.948 6.15848 12.9052 4.97852 12.4692C3.79856 12.0333 2.79113 11.2276 2.10648 10.1724C1.42182 9.11709 1.09663 7.86877 1.17939 6.61359C1.26216 5.3584 1.74845 4.16359 2.56574 3.20736C3.38304 2.25113 4.48754 1.58471 5.71453 1.30749C6.94151 1.03027 8.22524 1.1571 9.37425 1.66907" stroke="#E9C977" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12.8333 2.33398L7 8.17315L5.25 6.42315" stroke="#E9C977" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 746 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="0.5" y="0.5" width="17" height="17" rx="8.5" stroke="white" stroke-opacity="0.24"/>
</svg>

After

Width:  |  Height:  |  Size: 196 B

+11
View File
@@ -0,0 +1,11 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="18" height="18" rx="9" fill="url(#paint0_linear_179_272987)"/>
<path d="M13 6L7.5 11.5L5 9" stroke="white" stroke-linecap="round" stroke-linejoin="round"/>
<defs>
<linearGradient id="paint0_linear_179_272987" x1="2.63604" y1="2.63604" x2="15.364" y2="15.364" gradientUnits="userSpaceOnUse">
<stop stop-color="#FF4A7B"/>
<stop offset="0.52" stop-color="#EC237F"/>
<stop offset="1" stop-color="#93226F"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 545 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.75 16.5L8.25 11L13.75 5.5" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 232 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6 12L10 8L6 4" stroke="#A1A1AA" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 217 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 14.6668C11.6819 14.6668 14.6667 11.6821 14.6667 8.00016C14.6667 4.31826 11.6819 1.3335 8 1.3335C4.3181 1.3335 1.33334 4.31826 1.33334 8.00016C1.33334 11.6821 4.3181 14.6668 8 14.6668Z" stroke="#7C7C86" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 4V8L10.6667 9.33333" stroke="#7C7C86" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 511 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5 4.5L4.5 13.5" stroke="#A1A1AA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M4.5 4.5L13.5 13.5" stroke="#A1A1AA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 331 B

+5
View File
@@ -0,0 +1,5 @@
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="18" cy="18" r="14" stroke="white" stroke-width="2"/>
<path d="M23.0903 12.9082L12.908 23.0905" stroke="white" stroke-width="2.25" stroke-linecap="round"/>
<path d="M23.0922 23.0893L12.9098 12.907" stroke="white" stroke-width="2.25" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15 6.75H8.25C7.42157 6.75 6.75 7.42157 6.75 8.25V15C6.75 15.8284 7.42157 16.5 8.25 16.5H15C15.8284 16.5 16.5 15.8284 16.5 15V8.25C16.5 7.42157 15.8284 6.75 15 6.75Z" stroke="#F2F2F4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M3.75 11.25H3C2.17157 11.25 1.5 10.5784 1.5 9.75V3C1.5 2.17157 2.17157 1.5 3 1.5H9.75C10.5784 1.5 11.25 2.17157 11.25 3V3.75" stroke="#F2F2F4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 584 B

+5
View File
@@ -0,0 +1,5 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.75 11.25V14.25C15.75 14.6478 15.592 15.0294 15.3107 15.3107C15.0294 15.592 14.6478 15.75 14.25 15.75H3.75C3.35218 15.75 2.97064 15.592 2.68934 15.3107C2.40804 15.0294 2.25 14.6478 2.25 14.25V11.25" stroke="#F2F2F4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.25 7.5L9 11.25L12.75 7.5" stroke="#F2F2F4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9 11.25V2.25" stroke="#F2F2F4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 631 B

+5
View File
@@ -0,0 +1,5 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.00008 12.8327C10.2217 12.8327 12.8334 10.221 12.8334 6.99935C12.8334 3.77769 10.2217 1.16602 7.00008 1.16602C3.77842 1.16602 1.16675 3.77769 1.16675 6.99935C1.16675 10.221 3.77842 12.8327 7.00008 12.8327Z" stroke="#FF5A5F" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7 4.66602V6.99935" stroke="#FF5A5F" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7 9.33398H7.00583" stroke="#FF5A5F" stroke-width="1.16667" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 646 B

+5
View File
@@ -0,0 +1,5 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.75 9.75V14.25C15.75 14.6478 15.592 15.0294 15.3107 15.3107C15.0294 15.592 14.6478 15.75 14.25 15.75H3.75C3.35218 15.75 2.97064 15.592 2.68934 15.3107C2.40804 15.0294 2.25 14.6478 2.25 14.25V3.75C2.25 3.35218 2.40804 2.97064 2.68934 2.68934C2.97064 2.40804 3.35218 2.25 3.75 2.25H8.25" stroke="#FF4A7B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M11.25 2.25H15.75V6.75" stroke="#FF4A7B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7.5 10.5L15.75 2.25" stroke="#FF4A7B" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 720 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.0725 13.0725C11.9313 13.9425 10.515 14.4375 9 14.4375C3.75 14.4375 0.75 9 0.75 9C1.6125 7.4025 2.835 6.075 4.275 5.115M7.4325 3.27C7.9425 3.1425 8.4675 3.075 9 3.075C14.25 3.075 17.25 9 17.25 9C16.7925 9.8475 16.2375 10.635 15.6075 11.34M0.75 0.75L17.25 17.25" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M7.6125 7.61255C7.24773 7.97732 7.04276 8.47206 7.04276 8.98755C7.04276 9.50303 7.24773 9.99777 7.6125 10.3625C7.97727 10.7273 8.47201 10.9323 8.9875 10.9323C9.50298 10.9323 9.99772 10.7273 10.3625 10.3625" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 763 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.75 9C0.75 9 3.75 3 9 3C14.25 3 17.25 9 17.25 9C17.25 9 14.25 15 9 15C3.75 15 0.75 9 0.75 9Z" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9 11.25C10.2426 11.25 11.25 10.2426 11.25 9C11.25 7.75736 10.2426 6.75 9 6.75C7.75736 6.75 6.75 7.75736 6.75 9C6.75 10.2426 7.75736 11.25 9 11.25Z" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 536 B

@@ -0,0 +1,4 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.16669 10H15.8334" stroke="white" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M10 4.16602L15.8333 9.99935L10 15.8327" stroke="white" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 356 B

@@ -0,0 +1,3 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M31.6666 35L20 26.6667L8.33331 35V8.33333C8.33331 7.44928 8.6845 6.60143 9.30962 5.97631C9.93474 5.35119 10.7826 5 11.6666 5H28.3333C29.2174 5 30.0652 5.35119 30.6903 5.97631C31.3155 6.60143 31.6666 7.44928 31.6666 8.33333V35Z" stroke="#7C7C86" stroke-width="3.33333" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 429 B

+11
View File
@@ -0,0 +1,11 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.6665 14.0007V9.33398" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M2.6665 6.66667V2" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 14V8" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 5.33333V2" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M13.3335 13.9993V10.666" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M13.3335 8V2" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M0.666504 9.33398H4.6665" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6 5.33398H10" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M11.3335 10.666H15.3335" stroke="#F2F2F4" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,12 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_199_322834)">
<path d="M8.00016 14.6673C11.6821 14.6673 14.6668 11.6825 14.6668 8.00065C14.6668 4.31875 11.6821 1.33398 8.00016 1.33398C4.31826 1.33398 1.3335 4.31875 1.3335 8.00065C1.3335 11.6825 4.31826 14.6673 8.00016 14.6673Z" stroke="#7C7C86" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6.06006 6.00038C6.21679 5.55483 6.52616 5.17912 6.93336 4.9398C7.34056 4.70049 7.81932 4.61301 8.28484 4.69285C8.75036 4.7727 9.1726 5.01473 9.47678 5.37607C9.78095 5.7374 9.94743 6.19473 9.94673 6.66705C9.94673 8.00038 7.94673 8.66705 7.94673 8.66705" stroke="#7C7C86" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 11.334H8.00667" stroke="#7C7C86" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_199_322834">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+17
View File
@@ -0,0 +1,17 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_179_235314)">
<path d="M18.1683 1.83325H3.83168C2.72803 1.83325 1.83334 2.72794 1.83334 3.83159V18.1683C1.83334 19.2719 2.72803 20.1666 3.83168 20.1666H18.1683C19.272 20.1666 20.1667 19.2719 20.1667 18.1683V3.83159C20.1667 2.72794 19.272 1.83325 18.1683 1.83325Z" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6.41666 1.83325V20.1666" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15.5833 1.83325V20.1666" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.83334 11H20.1667" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.83334 6.41675H6.41668" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.83334 15.5833H6.41668" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15.5833 15.5833H20.1667" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15.5833 6.41675H20.1667" stroke="#F2F2F4" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_179_235314">
<rect width="22" height="22" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+17
View File
@@ -0,0 +1,17 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_179_235314)">
<path d="M18.1683 1.83325H3.83168C2.72803 1.83325 1.83334 2.72794 1.83334 3.83159V18.1683C1.83334 19.2719 2.72803 20.1666 3.83168 20.1666H18.1683C19.272 20.1666 20.1667 19.2719 20.1667 18.1683V3.83159C20.1667 2.72794 19.272 1.83325 18.1683 1.83325Z" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M6.41666 1.83325V20.1666" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15.5833 1.83325V20.1666" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.83334 11H20.1667" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.83334 6.41675H6.41668" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M1.83334 15.5833H6.41668" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15.5833 15.5833H20.1667" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15.5833 6.41675H20.1667" stroke="#7C7C86" stroke-width="1.83333" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_179_235314">
<rect width="22" height="22" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+7
View File
@@ -0,0 +1,7 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.25 9V14.25C14.25 14.6478 14.092 15.0294 13.8107 15.3107C13.5294 15.592 13.1478 15.75 12.75 15.75H5.25C4.85218 15.75 4.47064 15.592 4.18934 15.3107C3.90804 15.0294 3.75 14.6478 3.75 14.25V9" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M15 4.5H3C2.58579 4.5 2.25 4.83579 2.25 5.25V6.75C2.25 7.16421 2.58579 7.5 3 7.5H15C15.4142 7.5 15.75 7.16421 15.75 6.75V5.25C15.75 4.83579 15.4142 4.5 15 4.5Z" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9 15.75V4.5" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9 4.5H6.375C5.87772 4.5 5.40081 4.30246 5.04917 3.95083C4.69754 3.59919 4.5 3.12228 4.5 2.625C4.5 2.12772 4.69754 1.65081 5.04917 1.29917C5.40081 0.947544 5.87772 0.75 6.375 0.75C8.25 0.75 9 4.5 9 4.5Z" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M9 4.5H11.625C12.1223 4.5 12.5992 4.30246 12.9508 3.95083C13.3025 3.59919 13.5 3.12228 13.5 2.625C13.5 2.12772 13.3025 1.65081 12.9508 1.29917C12.5992 0.947544 12.1223 0.75 11.625 0.75C9.75 0.75 9 4.5 9 4.5Z" stroke="#7C7C86" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

Some files were not shown because too many files have changed in this diff Show More