Files
blog/themes/Ying/assets/css/main.css
T

5922 lines
163 KiB
CSS
Raw Normal View History

2026-01-22 21:39:19 +08:00
@charset "UTF-8";:root {
--background-color: #fafafa;
--background-dark-color: #020617;
--text-content-color: #24292e;
--text-content-dark-color: #d1d5db;
--text-title-color: #111827;
--text-title-dark-color: #e5e7eb;
--text-highlight-color: #696565;
--frame-dark-color: #1f2933;
--frame-color: #eee;
--at-color-bg: #fff;
--at-color-border: #eee;
2026-01-22 21:39:19 +08:00
--artalk-editer-color: #333333;
--erji-color: #666;
--sanji-color: #999;
--bankuai-color: #f6f6f6;
--link-color-light: #374151;
--link-hover-color-light: #111827;
--link-color-dark: #e5e7eb;
--link-hover-color-dark: #d1d5db;
--card-shadow-light: 0 10px 20px 0 rgba(236, 236, 236, 0.86);
--card-shadow-dark: 0 18px 45px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(148, 163, 184, 0.45);
}
2026-05-24 19:58:07 +08:00
html {
scroll-behavior: smooth;
}
2026-01-22 21:39:19 +08:00
[data-theme="dark"] body {
color: var(--text-content-dark-color);
background-color: var(--background-dark-color);
2026-06-24 20:22:40 +08:00
background-image: url(/image/background/deno.webp) !important;
background-repeat: round !important;
background-size: contain !important;
background-attachment: fixed !important;
}
[data-theme="dark"] body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.4);
pointer-events: none;
z-index: -1;
2026-01-22 21:39:19 +08:00
}
[data-theme="dark"] .main {
2026-01-31 21:27:06 +08:00
background: rgba(15, 23, 42, 0.99); /* Increased opacity for readability */
2026-01-22 21:39:19 +08:00
box-shadow: var(--card-shadow-dark);
2026-01-31 21:27:06 +08:00
/* Removed glassmorphism blur as requested */
backdrop-filter: none;
-webkit-backdrop-filter: none;
2026-01-22 21:39:19 +08:00
}
[data-theme="dark"] .header nav {
border-top-color: #1f2933;
}
[data-theme="dark"] .header nav ul.flat li a {
color: #9ca3af;
}
[data-theme="dark"] .header nav ul.flat li.active a {
color: #e5e7eb;
}
2026-01-23 14:31:45 +08:00
.meta {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 10px;
margin-bottom: 20px;
color: #999;
font-size: 0.9rem;
line-height: 1.6;
}
.meta-item {
white-space: nowrap;
}
2026-01-22 21:39:19 +08:00
[data-theme="dark"] .meta {
color: #9ca3af;
}
[data-theme="dark"] .footer {
border-top-color: #1f2933;
color: #6b7280;
}
[data-theme="dark"] .post-content {
color: var(--text-content-dark-color);
}
.post-title {
color: var(--text-title-color);
}
[data-theme="dark"] .post-title {
color: var(--text-title-dark-color);
}
.theme-toggle-button {
border: none;
background: transparent;
cursor: pointer;
font-size: 14px;
padding: 4px 8px;
color: #586069;
}
.theme-toggle-button:focus {
outline: none;
}
[data-theme="dark"] .theme-toggle-button {
color: #e5e7eb;
}
::-webkit-scrollbar {
width: 13px;
}
::-webkit-scrollbar-button {
display: none;
}
::-webkit-scrollbar-thumb {
min-height: 16px;
background-color: #999999;
background-clip: padding-box;
border: 3px solid #fdfdfd;
border-radius: 5px;
}
::selection {
background: #444;
color: #fff;
}
2024-07-11 08:59:32 +08:00
body {
2026-01-22 21:39:19 +08:00
font-family: 'zql', serif;
color: var(--text-content-color);
line-height: 1.6;
font-size: 16px;
background: var(--background-color);
background-image: url('../image/bg.svg');
2026-01-22 22:33:35 +08:00
/* background-image: url(https://usj.cc/usr/uploads/2023/06/3287615239.jpg); */
2026-01-22 21:39:19 +08:00
background-image:url(data:image/webp;base64,UklGRlZOAABXRUJQVlA4WAoAAAAQAAAA5wMA5wMAQUxQSLdBAAAB8IX/nxpt21T9XmW3tng330Jnb47CnS7cObOFQxfudHCnC3txzuBOB3c6uJPAck2W+0qW+6qaeYbxmd9G/lVJ99XXme7OsdYVEROAH/7/4f8f/v/h/x/+/+H/F7g+ntueYpu8nI9mb2Y+R649fuodmW152/Nu7JM3v6p92IV32O7CSt5luQPTITVUzkK0ydJ3iXEHVlOMpcaKP/Nb/Ba/TSew2H2pIAwKuT/zux5+158B8PP/EPlf/EIn+N2Xo6iR+7N/K8l/8Gfx079Ekv/FnyZ0b13mdB1JMrRtez6fD4dNVgs1sn83zn83/Oz/aMY/6P3LccWx/Tx/6G01CkXeLwm/9FM/+18Kf6DQv3E5rt+fD9tJUVR5f6zwxwJ/3Owf+hmBp8PhTcvyxtej2kZWGJD/c/8lyf/y54Cf+eP+y//yl34OkzAfL/b9SodbkeGit1AhdAvw83/F3/pX/DzmP/uzPwXUGSSv6t2q5T0Gt4G84Jcstnns1XuVZ9oC2trC+6qbFjE8CVDl8fpWZZiXa6yvphw+C1DGLBbvVP1qoi6b+GwArG+6IdG+UXnmYmW3wfThdFCL1GcYTweFpKoF6neaw+E8Px3MN6F5B1botpM6j5xfdJ4ZKY5nJQCT4N5lipb57dncXZ01reWEZgP97UI9MhmKnCIwHQrJC/5NxnDF8dPcVydMQreWF/wG+u8K+UXKBGY7wQnVm4xfg2Rr76kWBqFZqxHcBvrJCkFJauRCMyuF+q2HbM39dEIn+LU6wW4grllLFZe2AGwQ/JuMWY38fCT9FhuaKFDPNJPTINHY/w1l8/6ijicNlCSHrvLe+7qLWezNnQRhEuxaFLGlogOMVM5KabCAiUJgcsDbq+7JYLDUlE0GQ3EfFLvnwJByAOCF/uNwOPRCjbkTMs3biwkkGdQSAMpPCdLdURD0SlYYtpBPRMytkG0Eu8Dh3VUHinYFAGVM8HI3E8XDSk7otpCKUreWFqqsX2nx7qp6ymodqCbB6g7iLLO/ng9qUS34LQRdZdXLypkJOf99hbfXnrLD6i5KdLfrFoj95WSyRqHYRFACHQDHFc+HwyfT0z/6R+L99UL5grQ2S2CiRHurc1hjHi5HJRmKahthEng5X3nbodR4hy2Y7o10IcdiAfQgBX2TYuRNx8tRA5UwYCN7KbOquq7r6mFJ1HiLVSGDveA4dwugBoG9uoHjHY6fvVBuJTUtmBREExcUeI+tmW1nnRCWwESB1Q1CRlwvrbcSTMyKBkkTc2KB91hNcZBMzrQIRqJdb0p0TkuwZT2tU2I7mykjGmTqLlVrvMnWkomziHkh+GVw0rheIwwWcEKHubK+WxYuh80EVUUh1gr5xnddVzmNt9kg1DADGZ0AO5A11qwFlqt1ggVQC16Yq6Ia8kheNxMA6723ePctKGpAWauRNhqrqkkIaq0gaACjUGTMVeGHLJoN9R5cCzXutRBYr0URgKaoFsy1jxnVzqYT3N2gE6jXscIEoBAGrOuGBPW+ZhT0/WipXqcQOgCVUK0E2Fry+xqKuONaoF7FCxWATnCrAX4PpaV6lUrwACiaGzRCsW9CLVCt0QkW0BJu2Al2XzMJ5p60VK4xCgYohO4WQdCvtuM1kP3l41nXCeU9oRbGNSgC8EJ1A0URr3XVMhnO+innhfGujEB7i05wN7DC8FpTPXODecYZge6eMAj1MiUEAKNgb+CF+rVWM79ZTx8Op8Ph8JTCIAR1T04IaiU6KIq4YS+4l5rhwm4V9XFuA5P95aieTk5gr26iDnkqzugWQfKwwnADRVG/1PwSv0yfWi6/Hp9MmAT2aj19IYPNQS20Sz5a6aRKobuBEya84GqooiMZ9RJ74dqn55KRONqV9IXzoHKsQJ11Grn4FrVQveJGDcB6p5CvLrzhf8s+k+Al8qJX+GiZLHIwCWWG7rliOH/otYJQvNaMwNCeTxpLi8DbXtUTCXWCvH6oHHW8BGbmVUKfMXL18Xr+MIsMRbzYJ0EsFnxyYdf5phuyGIonEuoUyfF6FtuR+ZPKMgJ1wvDG4XrUWZXQvdpsTpelrsycamcgq6KeUuT5iYQqZ+1KIX8SyoS91Xy8fKjEKJSvNtQZQ47qmYyVwdLi307x8kRCEW/TaCythCZRCoM0rDS/fMzOFPXLDWVMdDkXJr3CmnZK8PJEgqpuUmKxEagkL9SSgra+iauQ4dJT7vCC13UUbEZFeTJYWfkE3RMJ0FVcr1mGSXBSJ3TCANm4uovLct0rDoAtfKmRLig3Ciufx6ufJJpnEoCiHvKGqjAC1bJaaPImoUrItvRdXGXAO6AKUo21PUmWg9Q/mebWebGwmEfBLSuEIDHbLhCLalhm3gKuFAesrcIsqEGgez4troV6GeKMdgW1BgBV1DEnOrza1cdn27afJs9SnNRqliJ0FManVyGEFRrBz2zWgBu6WppKhVf7OVAuslrJYHUdZzVQCiyeXRBYLCuFfll1C6ASPF7tqme6ydEUPW5YRHJQACbhX396NUK1TAtUAMqs4jadULzcrszscmohqltAlU4BgBN+zdPLCeMyTEIBwGep21A0rzbLXJfzKwWPu1QCf59nlxaol9VCBaDJGXBTLeHV3uQMyPyzKKr7wP9HqJ9dGIRymRNGAF1OfZtC6F5uFBtnrUHu/1b4D3Gn05PMC80yJVADY46/jReqFx2gTiedoSn+da8FK4RlGAQHMNfephPci25sAxlUyku/+FqAQLOsEmqoLHWbINiX2yDITSoI/1vc6/9S+NufX51QLiuEETYn4qaGIl7uLosJR/GX380guOeXF5plSmAbcrrblEL3esOQExOt0OBeFUXz/LLCuAyDkF/dphH8C041qVhImmJxN06IeIILVMvqFfxtgmBfcEAxCLWG7IUJdzsK9TNsEIplbgV3E0MRL3ptrVVIj0J1N55i8QyrBb9MxWX2JqXQveoWGor6XgqKE57hpdAsg1/Wfx7VerXg3wIqYcCq+rDMBsk+xawwroCiqmpn1JSa958fap1RsG8Bo1CuoXuSV5vnKDd4jgtcI2li1vx6PqhFhiLeAQ1FvYanOH4elGSulCf1JJsEux6KuGQe2s/jIacUurcALwxYM0jzsW3bNjAZDZ7kneBuAGW7Zcn2cj4cADSCB7R6+fVCuUrMWRgdnuVe8LcAYJtpnaVWXcnPF5+mqFfxa0WDp7kTmhsB0EU93Qo1SfbqpVcKA9Z13SqDxvPcCv3t5trV8QaDotirV14nVCuhXCF6PNOVQHsXc1PWw0qVlnh54SmKZq1emIZUVyo81yWaexF14bthkUEt8fK6c8KEtSkawFhrrcHzvZH8Xcna+qrrSE4kKwC1RPeyq4V6rVKY8MR3UvkN5GqrMa8l2lddEIq1RqF85mnJfFOZnRTUa85SxMqaIp75pTDhMapBYPuaq4RmLScMT71eqB4ETBRYvORGwa1VCdUzT1M0jwJWCuoFpynqtXqheOaVwoTH6QVWL7hSGLCyoqifeY1QPRAMAvXrrRP8WoUw4ZlP0T4SK7UvN0XRrFUJ9TPPChEPtRZoX21OmLB2L7hnnheax6Ki0LzaaqFejaJ+5nVC+VjgBeoXWxCKtaww4ZkfBPNgVBSq15qliLW9UD/zDOcRj9YL4Q7M4cWjDh/n5KESmtU6wT3znNA9HC2wuJX6JIN52Xx8tlzTrUZRP/O84B8OGqG5ke5JcnzJqOOVa+u1rDDhmd8I7vE4geomJlC0rxdz4fod1vZC/dTrBPt4EIXiFi5QNq8W2/KWZrVecE89ivoB1UK9nrow2eG1aluuPtiqtlhbUdQvADzgQhhXsyPTxUvFtFzadT7pFG5ZCBNeUkqgWkd9MnPCC1V9MjvWzuBuK6F+6lmhe0QYhGINdQ7M9S+UYmRmrAvcdS+4F1Ut+GX6EpivXybqyszoFe5bUdQvKid0C8y559IGr1IbmJ5KhXt3woQXlRXGhD6czm3givZFoj6Zjh7fYC1Uryo
background-repeat: space;
background-size: cover;
/* 小恐龙背景css */
background-repeat: round;
background-size: contain;
/* 结束 */
/* background-repeat: initial;
background-size: inherit; */
background-attachment: fixed;
z-index: 5;
2026-01-29 20:33:30 +08:00
transition: background-color 0.3s ease, color 0.3s ease;
2024-07-11 08:59:32 +08:00
}
2026-01-22 21:39:19 +08:00
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #cccccc;
margin: 1rem 0;
padding: 0;
2024-07-11 08:59:32 +08:00
}
2026-05-25 13:55:45 +08:00
[data-theme="dark"] hr {
border-top-color: rgba(255, 255, 255, 0.2);
}
2026-01-22 21:39:19 +08:00
img {
max-width: 100%;
border-radius: 5px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
vertical-align: middle
}
.icon {
width: 1.8em;
height: 1.8em;
vertical-align: -1em;
fill: currentColor;
overflow: hidden;
}
a img {
border: none;
}
pre,
code {
font-family: 'JetBrains Mono', 'Fira Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 14px;
border-radius: 4px;
background-color: #f6f8fa; /* Day Mode */
color: #24292e;
border: 1px solid #d0d7de;
2026-01-30 22:18:19 +08:00
/* Hide scrollbar but allow scrolling */
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE 10+ */
2026-01-22 21:39:19 +08:00
}
2026-01-30 22:18:19 +08:00
pre::-webkit-scrollbar,
code::-webkit-scrollbar {
display: none; /* Chrome/Safari/Webkit */
}
/* Code Folding */
.code-fold-container {
position: relative;
margin-bottom: 1rem;
2026-01-30 22:30:11 +08:00
border-radius: 4px;
display: flex;
flex-direction: column;
2026-06-24 20:22:40 +08:00
padding-bottom: 40px;
}
.code-fold-container.collapsed {
padding-bottom: 0;
2026-01-30 22:18:19 +08:00
}
2026-01-30 22:30:11 +08:00
.code-fold-container.collapsed .highlight,
.code-fold-container.collapsed pre {
2026-01-30 22:18:19 +08:00
max-height: 360px;
overflow: hidden;
2026-01-30 22:30:11 +08:00
mask-image: linear-gradient(to bottom, black 280px, transparent 360px);
-webkit-mask-image: linear-gradient(to bottom, black 280px, transparent 360px);
2026-01-30 22:18:19 +08:00
}
/* Ensure inner code blocks don't have bottom margin when wrapped */
.code-fold-container .highlight,
.code-fold-container pre {
margin-bottom: 0;
}
.code-expand-btn {
2026-05-25 12:23:00 +08:00
display: flex;
2026-01-30 22:18:19 +08:00
position: absolute;
2026-01-30 22:30:11 +08:00
bottom: 10px;
left: 50%;
transform: translateX(-50%);
width: auto;
margin: 0;
z-index: 10;
2026-01-30 22:18:19 +08:00
text-align: center;
border: none;
2026-01-30 22:30:11 +08:00
background: transparent;
2026-01-30 22:18:19 +08:00
color: #586069;
cursor: pointer;
font-size: 13px;
transition: all 0.2s;
align-items: center;
justify-content: center;
2026-01-30 22:30:11 +08:00
padding: 0;
2026-01-30 22:18:19 +08:00
}
2026-05-25 12:23:00 +08:00
.code-fold-container:not(.collapsed) .code-expand-btn {
2026-06-24 20:22:40 +08:00
position: absolute !important;
bottom: 10px !important;
left: 50% !important;
margin: 0 !important;
transform: translateX(-50%) !important;
display: flex !important;
justify-content: center !important;
align-items: center !important;
width: auto !important;
padding: 0 !important;
2026-01-30 22:18:19 +08:00
}
/* Button Pill Style */
.code-expand-btn span {
background: rgba(255, 255, 255, 0.9);
padding: 6px 16px;
border-radius: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.08);
display: flex;
align-items: center;
border: 1px solid rgba(0,0,0,0.05);
transition: all 0.2s ease;
}
.code-expand-btn:hover span {
background: #fff;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.12);
2026-02-01 13:10:31 +08:00
color: var(--at-color-bg);
2026-01-30 22:18:19 +08:00
}
/* Dark Mode Support */
[data-theme="dark"] .code-expand-btn {
color: #f8f8f2;
}
[data-theme="dark"] .code-expand-btn span {
background: rgba(68, 71, 90, 0.8);
border-color: rgba(255,255,255,0.05);
}
[data-theme="dark"] .code-expand-btn:hover span {
background: #44475a;
color: #8be9fd;
}
2026-01-30 23:07:58 +08:00
/* Link Status Badge - Optimized */
.links-item {
position: relative;
}
/* Card View - Active */
.link-active-badge {
position: absolute;
top: 8px;
right: 8px;
width: 8px;
height: 8px;
2026-01-31 15:14:57 +08:00
background-color: #9ca3af; /* Soft Gray */
2026-01-30 23:07:58 +08:00
border-radius: 50%;
2026-01-31 15:14:57 +08:00
border: 2px solid #fff;
box-shadow: none;
2026-01-30 23:07:58 +08:00
z-index: 10;
}
[data-theme="dark"] .link-active-badge {
2026-01-31 15:14:57 +08:00
background-color: #d1d5db; /* Softer White (Gray 300) */
border-color: #1f2933;
2026-01-30 23:07:58 +08:00
box-shadow: none;
}
/* Card View - Dead */
.link-dead-badge {
position: absolute;
top: 8px;
right: 8px;
width: 8px;
height: 8px;
2026-01-31 15:14:57 +08:00
background-color: #fff; /* White Center */
2026-01-30 23:07:58 +08:00
border-radius: 50%;
2026-01-31 15:14:57 +08:00
border: 2px solid #9ca3af; /* Gray Border = Hollow Ring */
box-shadow: none;
2026-01-30 23:07:58 +08:00
z-index: 10;
}
[data-theme="dark"] .link-dead-badge {
2026-01-31 15:14:57 +08:00
background-color: #1f2933; /* Dark Center */
border-color: #d1d5db; /* Softer White Border */
2026-01-30 23:07:58 +08:00
box-shadow: none;
}
/* List View - Common */
.links ul>li.link-active-li,
.links ul>li.link-dead-li {
position: relative;
}
/* List View - Active */
.links ul>li.link-active-li::before {
content: "";
display: block;
position: absolute;
top: 10px; /* Aligned with text usually */
width: 6px;
height: 6px;
border-radius: 50%;
2026-01-31 15:14:57 +08:00
background-color: #9ca3af !important; /* Soft Gray */
2026-01-30 23:07:58 +08:00
box-shadow: none;
}
/* List View - Dead */
.links ul>li.link-dead-li::before {
content: "";
display: block;
position: absolute;
top: 10px;
2026-01-31 15:14:57 +08:00
width: 4px; /* Slightly smaller to account for border */
height: 4px;
2026-01-30 23:07:58 +08:00
border-radius: 50%;
2026-01-31 15:14:57 +08:00
background-color: #fff !important;
border: 1px solid #9ca3af; /* Gray Hollow Ring */
2026-01-30 23:07:58 +08:00
box-shadow: none;
}
[data-theme="dark"] .links ul>li.link-active-li::before {
2026-01-31 15:14:57 +08:00
background-color: #d1d5db !important; /* Softer White */
2026-01-30 23:07:58 +08:00
}
[data-theme="dark"] .links ul>li.link-dead-li::before {
2026-01-31 15:14:57 +08:00
background-color: #1f2933 !important;
border-color: #d1d5db;
2026-01-30 23:07:58 +08:00
}
2026-01-30 22:18:19 +08:00
.atk-list.has-ai-comment .atk-list-no-comment {
display: none !important;
}
2026-05-24 16:00:53 +08:00
/* Generic badge base */
2026-01-30 23:07:58 +08:00
2026-01-30 22:18:19 +08:00
2026-01-22 21:39:19 +08:00
[data-theme="dark"] pre,
[data-theme="dark"] code {
background-color: #282a36; /* Night Mode */
color: #f8f8f2;
border-color: #44475a;
}
code {
padding: 2px 6px;
word-break: break-all; /* Prevent inline code from breaking layout */
}
pre {
padding: 10px;
overflow-x: auto;
max-width: 100%; /* Fix mobile overflow */
}
pre>code {
background-color: transparent;
color: inherit;
padding: 0;
border: 0;
word-break: normal;
}
table {
border-collapse: collapse;
border-spacing: 0;
word-break: break-all;
}
table th {
background-color: #f6f8fa;
}
table th,
table td {
padding: 10px 20px;
border: 1px solid #dfe2e5;
}
blockquote {
2026-05-25 12:23:00 +08:00
position: relative;
margin: 1.2rem 0;
padding: 14px 17px 14px 20px;
border: 1px solid rgba(0, 0, 0, 0.08);
border-left: 4px solid rgba(0, 0, 0, 0.72);
border-radius: 12px;
background: linear-gradient(135deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.01));
color: rgba(30, 30, 30, 0.92);
font-size: 0.95em;
font-weight: 400;
line-height: 1.68;
word-break: break-word;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
blockquote::before {
content: "“";
position: absolute;
top: -8px;
left: 13px;
color: rgba(0, 0, 0, 0.08);
font-size: 42px;
line-height: 1;
font-family: Georgia, serif;
pointer-events: none;
}
blockquote p {
position: relative;
margin: 0.25rem 0 !important;
}
[data-theme="dark"] blockquote {
border-color: rgba(148, 163, 184, 0.18);
border-left-color: rgba(168, 181, 205, 0.82);
background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78));
color: rgba(226, 232, 240, 0.96);
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
[data-theme="dark"] blockquote::before {
color: rgba(203, 213, 225, 0.16);
2024-07-11 08:59:32 +08:00
}
a {
2026-01-22 21:39:19 +08:00
color: var(--link-color-light);
text-decoration: none;
transition: color 0.35s ease;
2026-05-24 19:58:07 +08:00
touch-action: manipulation;
2026-01-22 21:39:19 +08:00
}
a:hover {
color: var(--link-hover-color-light);
text-decoration: underline;
}
[data-theme="dark"] a {
color: var(--link-color-dark);
}
[data-theme="dark"] a:hover {
color: var(--link-hover-color-dark);
}
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1.2;
font-weight: 400;
}
h1 {
font-size: 1.5rem;
}
h2 {
font-size: 1.375rem;
}
h3 {
font-size: 1.25rem;
}
h4,
h5,
h6 {
font-size: 1.125rem;
}
ul {
padding-left: 0px;
list-style-type: disc;
list-style: none;
}
/*默认 box-shadow 数值:rgba(236, 236, 236, 0.86)*/
.main {
2026-01-31 15:44:02 +08:00
max-width: 618px; /* Reduced from 680px based on user feedback "narrower again" */
2026-01-22 21:39:19 +08:00
overflow: hidden;
margin: 60px auto;
padding: 50px;
2026-01-31 21:27:06 +08:00
background: rgba(255, 255, 255, 0.8);
2026-01-22 21:39:19 +08:00
box-shadow: var(--card-shadow-light);
border-radius: 8px;
z-index: 10;
position: relative;
text-align: center;
2026-05-20 14:33:05 +08:00
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
2026-02-05 22:21:19 +08:00
/* Smoother transition */
transition: background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
color 0.5s cubic-bezier(0.4, 0, 0.2, 1);
2026-01-31 15:44:02 +08:00
will-change: transform; /* Promote to layer for smoother scrolling */
2026-01-29 20:33:30 +08:00
}
2026-01-31 15:44:02 +08:00
/* Optimize article content rendering */
/* Removed content-visibility to fix clipping issue with overflowing elements (e.g. friend circle shadows/transform) */
/* .post-content {
content-visibility: auto;
contain-intrinsic-size: 1000px;
} */
2026-05-20 14:33:05 +08:00
@media (min-width: 768px) {
.main {
background: rgba(255, 255, 255, 0.88);
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
}
[data-theme="dark"] #pjax-loading-skeleton {
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
}
.atk-loading {
-webkit-backdrop-filter: none;
backdrop-filter: none;
2026-01-29 20:33:30 +08:00
}
}
/* Theme Toggle Icon Animation */
#theme-toggle i {
transition: transform 0.5s cubic-bezier(0.4, 0.0, 0.2, 1);
}
#theme-toggle.rotate i {
transform: rotate(360deg);
2026-01-22 21:39:19 +08:00
}
.header {
margin-bottom: 10px;
padding-bottom: 10px;
display: flex;
flex-direction: column;
align-items: stretch;
gap: 16px;
2026-02-01 17:00:25 +08:00
text-align: left; /* Reset text align from .main center */
2026-01-22 21:39:19 +08:00
}
/* ── Markdown 表格样式 ── */
.post-content table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
margin: 1.5em 0;
font-size: 0.95em;
line-height: 1.6;
border-radius: 12px;
overflow: hidden;
border: 1px solid rgba(0, 0, 0, 0.08);
background: rgba(255, 255, 255, 0.95);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
}
.post-content thead {
background: linear-gradient(135deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01));
}
.post-content th {
padding: 14px 20px;
text-align: left;
font-weight: 600;
color: rgba(30, 30, 30, 0.92);
border-bottom: 2px solid rgba(0, 0, 0, 0.1);
white-space: nowrap;
font-size: 0.95em;
}
.post-content td {
padding: 14px 20px;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
color: rgba(30, 30, 30, 0.85);
vertical-align: top;
}
.post-content tbody tr:last-child td {
border-bottom: none;
}
/* 斑马条纹 */
.post-content tbody tr:nth-child(even) {
background-color: rgba(0, 0, 0, 0.015);
}
/* 悬停效果 */
.post-content tbody tr {
transition: background-color 0.3s ease;
}
.post-content tbody tr:hover {
background-color: rgba(0, 0, 0, 0.04);
}
/* 表格内的链接 */
.post-content table a {
color: var(--link-color-light);
text-decoration: none;
border-bottom: 1px dashed rgba(0, 0, 0, 0.3);
transition: all 0.3s ease;
}
.post-content table a:hover {
color: var(--link-hover-color-light);
border-bottom-style: solid;
border-bottom-color: var(--link-hover-color-light);
}
/* 表格内的代码 */
.post-content table code {
background: rgba(0, 0, 0, 0.04);
padding: 2px 8px;
border-radius: 6px;
font-size: 0.85em;
color: rgba(30, 30, 30, 0.9);
border: 1px solid rgba(0, 0, 0, 0.06);
}
/* 表格内的图片 */
.post-content table img {
max-width: 100px;
height: auto;
border-radius: 8px;
margin: 4px 0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* 响应式表格 - 移动端 */
@media (max-width: 768px) {
.post-content table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
font-size: 0.85em;
border-radius: 8px;
}
.post-content th,
.post-content td {
padding: 12px 14px;
min-width: 100px;
}
/* 第一列固定 */
.post-content th:first-child,
.post-content td:first-child {
position: sticky;
left: 0;
z-index: 2;
min-width: 120px;
/* 背景色在下方单独设置 */
}
/* 浅色模式 - 奇数行第一列 */
.post-content tbody tr:nth-child(odd) th:first-child,
.post-content tbody tr:nth-child(odd) td:first-child {
background: rgba(255, 255, 255, 0.95);
}
/* 浅色模式 - 偶数行第一列(斑马纹) */
.post-content tbody tr:nth-child(even) th:first-child,
.post-content tbody tr:nth-child(even) td:first-child {
background: rgba(0, 0, 0, 0.015);
}
/* 浅色模式 - 表头第一列 */
.post-content thead th:first-child {
background: linear-gradient(135deg, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01));
}
}
/* ── 深色模式表格样式 ── */
[data-theme="dark"] .post-content table {
background: rgba(15, 23, 42, 0.95);
border-color: rgba(148, 163, 184, 0.18);
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}
[data-theme="dark"] .post-content thead {
background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78));
}
[data-theme="dark"] .post-content th {
color: rgba(203, 213, 225, 0.85);
border-bottom-color: rgba(148, 163, 184, 0.15);
}
[data-theme="dark"] .post-content td {
border-bottom-color: rgba(148, 163, 184, 0.08);
color: rgba(203, 213, 225, 0.8);
}
[data-theme="dark"] .post-content tbody tr:nth-child(even) {
background-color: rgba(30, 41, 59, 0.5);
}
[data-theme="dark"] .post-content tbody tr:hover {
background-color: rgba(30, 41, 59, 0.8);
}
[data-theme="dark"] .post-content table a {
color: var(--link-color-dark);
border-bottom-color: rgba(148, 163, 184, 0.4);
}
[data-theme="dark"] .post-content table a:hover {
color: var(--link-hover-color-dark);
border-bottom-color: var(--link-hover-color-dark);
}
[data-theme="dark"] .post-content table code {
background: rgba(148, 163, 184, 0.12);
color: rgba(203, 213, 225, 0.9);
border-color: rgba(148, 163, 184, 0.15);
}
[data-theme="dark"] .post-content th:first-child,
[data-theme="dark"] .post-content td:first-child {
/* 基础背景在下方按行设置 */
z-index: 2;
}
/* 深色模式 - 奇数行第一列 */
[data-theme="dark"] .post-content tbody tr:nth-child(odd) th:first-child,
[data-theme="dark"] .post-content tbody tr:nth-child(odd) td:first-child {
background: rgba(15, 23, 42, 0.95) !important;
}
/* 深色模式 - 偶数行第一列(斑马纹) */
[data-theme="dark"] .post-content tbody tr:nth-child(even) th:first-child,
[data-theme="dark"] .post-content tbody tr:nth-child(even) td:first-child {
background: rgba(30, 41, 59, 0.5) !important;
}
/* 深色模式 - 表头第一列 */
[data-theme="dark"] .post-content thead th:first-child {
background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78)) !important;
}
/* 深色模式 - 悬停时第一列 */
[data-theme="dark"] .post-content tbody tr:hover th:first-child,
[data-theme="dark"] .post-content tbody tr:hover td:first-child {
background: rgba(30, 41, 59, 0.8) !important;
}
/* ── 表格变体样式 ── */
/* 紧凑型表格 */
.post-content table.compact th,
.post-content table.compact td {
padding: 10px 14px;
font-size: 0.9em;
}
/* 无边框表格 */
.post-content table.borderless {
border: none;
box-shadow: none;
background: transparent;
}
.post-content table.borderless th,
.post-content table.borderless td {
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.post-content table.borderless thead {
background: transparent;
}
[data-theme="dark"] .post-content table.borderless {
border-color: transparent;
background: transparent;
}
[data-theme="dark"] .post-content table.borderless th,
[data-theme="dark"] .post-content table.borderless td {
border-bottom-color: rgba(148, 163, 184, 0.15);
}
[data-theme="dark"] .post-content table.borderless thead {
background: transparent;
}
/* 高亮表格 */
.post-content table.highlight {
border-left: 4px solid rgba(0, 0, 0, 0.6);
}
.post-content table.highlight thead {
background: linear-gradient(135deg, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.03));
}
.post-content table.highlight th {
border-bottom-color: rgba(0, 0, 0, 0.15);
}
[data-theme="dark"] .post-content table.highlight {
border-left-color: rgba(168, 181, 205, 0.7);
}
[data-theme="dark"] .post-content table.highlight thead {
background: linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.85));
}
[data-theme="dark"] .post-content table.highlight th {
border-bottom-color: rgba(148, 163, 184, 0.25);
}
2026-01-22 21:39:19 +08:00
.header-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
2026-02-01 17:00:25 +08:00
.header-avatar {
2026-05-25 12:23:00 +08:00
display: inline-flex;
2026-01-22 21:39:19 +08:00
align-items: center;
justify-content: center;
2026-05-25 12:23:00 +08:00
gap: 10px;
2026-01-22 21:39:19 +08:00
margin-right: 16px;
2026-05-25 12:41:12 +08:00
padding: 8px 10px 8px 0;
2026-05-25 12:23:00 +08:00
border-radius: 999px;
2026-01-22 21:39:19 +08:00
cursor: pointer;
2026-05-25 12:23:00 +08:00
-webkit-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
2026-01-22 21:39:19 +08:00
}
.avatar-theme-tip {
2026-05-25 12:23:00 +08:00
margin-left: 0;
pointer-events: none;
2026-01-22 21:39:19 +08:00
padding: 4px 12px;
border-radius: 999px;
background: #111827;
color: #f9fafb;
font-size: 11px;
white-space: nowrap;
box-shadow: 0 12px 30px rgba(15, 23, 42, 0.25);
opacity: 0;
transform: translateY(2px) scale(0.98);
transition: opacity 0.4s ease;
}
.avatar-theme-tip.is-visible {
opacity: 1;
animation: avatar-tip-float 2.2s ease-in-out infinite;
}
.avatar-theme-tip.is-hidden {
opacity: 0;
transform: translateY(-4px) scale(0.96);
animation: none;
pointer-events: none;
}
[data-theme="dark"] .avatar-theme-tip {
background: #f9fafb;
color: #111827;
box-shadow: 0 14px 36px rgba(0, 0, 0, 0.6);
}
@keyframes avatar-tip-float {
0% {
transform: translateY(2px) scale(0.98);
}
50% {
transform: translateY(-2px) scale(1);
}
100% {
transform: translateY(2px) scale(0.98);
}
}
.header h1,
.header h2 {
margin: 0;
padding: 0;
font-size: 1.6rem;
margin-bottom: 10px;
}
.header h2 {
font-size: .9rem;
line-height: 2rem;
margin-bottom: 0;
}
2026-02-01 17:00:25 +08:00
/* Updated Header Semantics */
.header-menu {
2026-01-22 21:39:19 +08:00
border-top: 1px solid #f4f4f4;
transition: border-color 0.35s ease;
}
2026-02-01 17:00:25 +08:00
.header-menu ul,
.header-menu li {
2026-01-22 21:39:19 +08:00
margin: 0;
}
2026-02-01 17:00:25 +08:00
.header-menu ul.flat {
2026-01-22 21:39:19 +08:00
padding: 0;
2026-02-01 17:00:25 +08:00
/* Flexbox layout for easier spacing control */
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 20px; /* [PC Setting] Adjust this value to change spacing between items */
2026-01-22 21:39:19 +08:00
}
2026-02-01 17:00:25 +08:00
.header-menu ul.flat li {
display: block;
2026-01-22 21:39:19 +08:00
list-style: none;
2026-02-01 17:00:25 +08:00
margin: 10px 0 0 0;
2026-01-22 21:39:19 +08:00
text-transform: capitalize;
}
2026-02-01 17:00:25 +08:00
.header-menu ul.flat li.active a {
2026-01-22 21:39:19 +08:00
color: #24292e;
}
2026-02-01 17:00:25 +08:00
.header-menu ul.flat li a {
2026-01-22 21:39:19 +08:00
color: #586069;
}
2026-02-01 17:00:25 +08:00
.header-menu ul.flat li a:hover {
2026-01-22 21:39:19 +08:00
color: #646464;
text-decoration: none;
}
2026-02-01 17:00:25 +08:00
.header-info {
2026-01-22 21:39:19 +08:00
display: flex;
flex-direction: column;
justify-content: center;
2026-01-23 22:02:11 +08:00
align-items: center;
2026-01-22 21:39:19 +08:00
margin-top: 0;
}
2026-02-01 17:42:15 +08:00
@media (max-width: 768px) {
.header-top {
justify-content: flex-start;
}
.header-avatar {
margin-right: 0;
justify-content: flex-start;
}
.header-info {
display: flex;
2026-02-02 20:38:58 +08:00
flex-direction: column; /* Stack vertically */
align-content: flex-end; /* Push to bottom */
justify-content: flex-end; /* Push to bottom */
align-items: center; /* Center align horizontally */
2026-02-02 12:51:52 +08:00
margin-left: 10px;
2026-02-16 14:24:13 +08:00
/* height: 80px; */ /* 移动端一言居中解开这个注释即可 */
2026-02-02 20:38:58 +08:00
width: calc(100vw - 140px);
padding-bottom: 0px;
2026-02-01 17:42:15 +08:00
}
.header-social {
display: flex;
2026-02-02 20:38:58 +08:00
align-items: center;
2026-02-01 17:42:15 +08:00
flex-wrap: nowrap;
2026-02-02 20:38:58 +08:00
gap: 12px; /* Increased gap for better spacing */
margin-bottom: 2px; /* Add small space between rows */
margin-right: 0;
width: 100%;
justify-content: center; /* Center align icons */
height: 24px;
}
.header-social a {
margin: 0 !important;
display: flex;
align-items: center;
2026-02-01 17:42:15 +08:00
}
.header-bio {
display: block;
font-size: 0.85rem;
2026-02-02 20:38:58 +08:00
line-height: 24px;
min-height: 24px;
2026-02-01 17:42:15 +08:00
margin: 0;
opacity: 0.8;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
2026-02-02 20:38:58 +08:00
width: 100%; /* Full width */
text-align: center; /* Center align text */
2026-02-01 17:42:15 +08:00
/* Typewriter Effect Cursor */
2026-02-02 20:38:58 +08:00
border-right: 2px solid transparent;
2026-02-01 17:42:15 +08:00
}
/* Cursor Animation Class */
.header-bio.typing::after {
content: '|';
animation: cursor-blink 1s step-end infinite;
color: var(--text-content-color);
margin-left: 2px;
}
}
@keyframes cursor-blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
2026-02-01 17:00:25 +08:00
.header-social {
2026-01-22 21:39:19 +08:00
margin: 0;
padding: 0;
border: none;
min-width: 50px;
2026-01-23 22:02:11 +08:00
margin-bottom: 0;
text-align: center;
2026-02-01 17:00:25 +08:00
/* Reset gap for social icons as they rely on margin */
2026-02-02 20:38:58 +08:00
gap: 2;
2026-01-22 21:39:19 +08:00
}
2026-02-01 17:00:25 +08:00
.header-social a {
2026-01-22 21:39:19 +08:00
display: inline-block;
2026-01-23 22:02:11 +08:00
margin: 0 5px;
2026-01-22 21:39:19 +08:00
text-decoration: none;
2026-01-23 22:02:11 +08:00
transition: all 0.2s ease;
2026-01-22 21:39:19 +08:00
}
2026-02-01 17:00:25 +08:00
.header-social a i {
2026-01-23 22:02:11 +08:00
font-size: 1.15rem;
vertical-align: middle;
}
2026-01-22 21:39:19 +08:00
2026-02-01 17:00:25 +08:00
.header-social a:hover {
2026-01-23 22:02:11 +08:00
color: #24292e;
transform: scale(1.2);
2026-01-22 21:39:19 +08:00
}
2026-01-31 19:24:22 +08:00
/* Searchable Header Styles */
.searchable-header-container {
position: relative;
margin-bottom: 15px;
height: 40px; /* Fixed height to prevent layout jump */
display: flex;
align-items: center;
}
.section-header.normal-mode {
cursor: pointer;
display: inline-flex;
align-items: center;
2026-02-01 17:00:25 +08:00
gap: 3px;
2026-01-31 19:24:22 +08:00
transition: all 0.3s ease;
margin: 0; /* Reset margin */
2026-02-01 17:00:25 +08:00
position: relative; /* Ensure wrapper is positioned relative to this */
2026-01-31 19:24:22 +08:00
}
2026-02-01 17:00:25 +08:00
/* Search Hint Wrapper */
.search-hint-wrapper {
position: absolute;
left: 100%;
top: 50%;
transform: translateY(-50%) translateX(10px);
display: flex;
align-items: center;
gap: 8px;
2026-01-31 19:24:22 +08:00
opacity: 0;
2026-02-01 17:00:25 +08:00
visibility: hidden;
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none;
z-index: 10;
white-space: nowrap;
margin-left: 10px;
2026-01-31 19:24:22 +08:00
}
2026-02-01 17:00:25 +08:00
.search-hint-wrapper.visible {
2026-01-31 19:24:22 +08:00
opacity: 1;
2026-02-01 17:00:25 +08:00
visibility: visible;
transform: translateY(-50%) translateX(10px); /* Match the base/hover position */
}
.section-header.normal-mode:hover .search-hint-wrapper {
opacity: 1;
visibility: visible;
}
/* Mascot - Emoticon */
.search-mascot {
width: 32px;
height: 32px;
object-fit: contain;
/* Remove shadow/border as requested */
border: none;
box-shadow: none;
filter: none;
animation: mascot-shake 2.5s infinite ease-in-out;
transform-origin: bottom center;
}
@keyframes mascot-shake {
0%, 100% { transform: rotate(0deg); }
10% { transform: rotate(5deg); }
20% { transform: rotate(-5deg); }
30% { transform: rotate(3deg); }
40% { transform: rotate(-3deg); }
50% { transform: rotate(0deg); }
}
/* Clean Bubble Style - Mimic .barrage-bubble */
.search-hint {
background: #000000; /* Pure Black Background */
color: #ffffff;
padding: 7px 12px;
border-radius: 8px;
font-size: 13px;
font-weight: 600;
line-height: 1.4;
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
border: none;
position: relative;
display: flex;
align-items: center;
height: auto;
min-height: auto;
white-space: nowrap;
width: fit-content;
max-width: none;
margin-top: 1px;
z-index: 10;
}
/* Arrow - Optimized tip */
.search-hint::before {
content: '';
position: absolute;
top: 50%;
left: -5px;
margin-top: -5px;
width: 0;
height: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
border-right: 5px solid #000000; /* Match black background */
background: transparent;
box-shadow: none;
transform: none;
filter: drop-shadow(-2px 0 2px rgba(0,0,0,0.1));
}
[data-theme="dark"] .search-hint {
background: #ffffff; /* White background for dark mode contrast */
color: #000000;
border: none;
box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
[data-theme="dark"] .search-hint::before {
background: transparent;
border-right-color: #ffffff;
border-left: none;
border-bottom: 5px solid transparent;
filter: none;
}
[data-theme="dark"] .search-mascot {
filter: none;
2026-01-31 19:24:22 +08:00
}
.search-mode {
width: 100%;
animation: fadeIn 0.3s ease;
}
2026-02-01 17:00:25 +08:00
/* Modern Minimalist Search Styles - Bottom Border Only */
2026-01-31 19:24:22 +08:00
.search-input-group {
position: relative;
display: flex;
align-items: center;
2026-02-01 17:00:25 +08:00
width: 100%; /* Responsive width */
max-width: 300px; /* Maximum width for PC */
border: none;
border-bottom: 1px solid #000000;
2026-01-31 22:52:19 +08:00
border-radius: 0;
2026-02-01 17:00:25 +08:00
padding: 0 4px 6px 0; /* Slightly more bottom padding */
2026-01-31 22:52:19 +08:00
background: transparent;
transition: all 0.3s ease;
2026-02-01 17:00:25 +08:00
box-shadow: none;
}
.search-input-group i {
border: none; /* Ensure icons have no border */
background: transparent;
2026-01-31 21:27:06 +08:00
}
.search-input-group:hover {
2026-01-31 22:52:19 +08:00
background: transparent;
2026-02-01 17:00:25 +08:00
border-bottom-color: #666;
2026-01-31 19:24:22 +08:00
}
.search-input-group:focus-within {
2026-01-31 22:52:19 +08:00
background: transparent;
2026-02-01 17:00:25 +08:00
border-bottom-color: #000;
2026-01-31 22:52:19 +08:00
box-shadow: none;
2026-01-31 21:27:06 +08:00
}
[data-theme="dark"] .search-input-group {
background: transparent;
2026-02-01 17:00:25 +08:00
border-bottom-color: #ffffff;
box-shadow: none;
2026-01-31 21:27:06 +08:00
}
[data-theme="dark"] .search-input-group:hover {
2026-01-31 22:52:19 +08:00
background: transparent;
2026-02-01 17:00:25 +08:00
border-bottom-color: #ccc;
2026-01-31 19:24:22 +08:00
}
[data-theme="dark"] .search-input-group:focus-within {
2026-01-31 22:52:19 +08:00
background: transparent;
2026-02-01 17:00:25 +08:00
border-bottom-color: #fff;
2026-01-31 22:52:19 +08:00
box-shadow: none;
2026-01-31 19:24:22 +08:00
}
.search-input-group input {
width: 100%;
2026-02-01 17:00:25 +08:00
border: none !important;
border-radius: 0 !important;
2026-01-31 19:24:22 +08:00
background: transparent;
2026-02-01 17:00:25 +08:00
padding: 0 4px !important;
padding-left: 8px !important;
padding-right: 20px !important; /* Prevent text overlap with close icon */
font-size: 1rem;
color: #000000;
2026-01-31 19:24:22 +08:00
outline: none;
2026-02-01 17:00:25 +08:00
height: 24px;
font-weight: 500;
2026-01-31 19:24:22 +08:00
}
2026-02-01 17:00:25 +08:00
/* Text color on focus */
.search-input-group:focus-within input {
color: #000;
}
[data-theme="dark"] .search-input-group input {
color: #ffffff;
}
[data-theme="dark"] .search-input-group:focus-within input {
color: #ffffff;
}
/* Search Icon */
2026-01-31 19:24:22 +08:00
.search-icon {
2026-02-01 17:00:25 +08:00
color: #000000;
2026-01-31 22:52:19 +08:00
font-size: 1.1rem;
transition: color 0.3s ease;
2026-01-31 21:27:06 +08:00
}
.search-input-group:focus-within .search-icon {
2026-02-01 17:00:25 +08:00
color: #000000;
}
[data-theme="dark"] .search-icon {
color: #ffffff;
2026-01-31 21:27:06 +08:00
}
[data-theme="dark"] .search-input-group:focus-within .search-icon {
2026-02-01 17:00:25 +08:00
color: #ffffff;
2026-01-31 19:24:22 +08:00
}
2026-02-01 17:00:25 +08:00
/* Close icon */
2026-01-31 19:24:22 +08:00
.close-icon {
2026-01-31 21:27:06 +08:00
position: absolute;
2026-01-31 22:52:19 +08:00
right: 0;
2026-02-01 17:00:25 +08:00
font-size: 1rem;
color: #999;
2026-01-31 19:24:22 +08:00
cursor: pointer;
2026-01-31 21:27:06 +08:00
transition: all 0.2s;
opacity: 0;
transform: scale(0.8);
2026-02-01 17:00:25 +08:00
display: flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border-radius: 50%;
}
.search-input-group:focus-within .close-icon {
color: #cccccc;
}
.close-icon:hover {
background: rgba(0,0,0,0.1);
color: #000;
}
.search-input-group:focus-within .close-icon:hover {
background: rgba(255,255,255,0.2);
color: #fff;
}
[data-theme="dark"] .close-icon {
color: #aaa;
}
[data-theme="dark"] .search-input-group:focus-within .close-icon {
color: #666;
}
[data-theme="dark"] .close-icon:hover {
background: rgba(255,255,255,0.1);
color: #fff;
}
[data-theme="dark"] .search-input-group:focus-within .close-icon:hover {
background: rgba(0,0,0,0.1);
color: #000;
2026-01-31 21:27:06 +08:00
}
.search-input-group.has-value .close-icon {
opacity: 1;
transform: scale(1);
2026-01-31 19:24:22 +08:00
}
.search-dropdown {
position: absolute;
top: 100%;
left: 0;
2026-01-31 21:27:06 +08:00
right: 0;
2026-02-01 17:00:25 +08:00
background: #ffffff;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0,0,0,0.1); /* Soft shadow */
border: 1px solid #f0f0f0; /* Subtle border */
margin-top: 8px; /* Spacing from input */
2026-01-31 21:27:06 +08:00
overflow: hidden;
2026-02-01 17:00:25 +08:00
z-index: 100;
2026-01-31 21:27:06 +08:00
opacity: 0;
2026-01-31 22:52:19 +08:00
transform: translateY(5px);
2026-01-31 21:27:06 +08:00
visibility: hidden;
2026-01-31 22:52:19 +08:00
transition: all 0.2s ease;
2026-01-31 19:24:22 +08:00
}
.search-dropdown.show {
2026-01-31 21:27:06 +08:00
opacity: 1;
transform: translateY(0);
visibility: visible;
}
[data-theme="dark"] .search-dropdown {
2026-02-01 17:00:25 +08:00
background: #2a2a2a;
border: 1px solid #444;
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
2026-01-31 19:24:22 +08:00
}
.search-result-item {
2026-02-01 17:00:25 +08:00
padding: 10px 14px;
border-bottom: 1px solid #f0f0f0;
2026-01-31 21:27:06 +08:00
display: flex;
flex-direction: column;
2026-01-31 22:52:19 +08:00
transition: background-color 0.2s;
2026-01-31 21:27:06 +08:00
}
2026-02-01 17:00:25 +08:00
[data-theme="dark"] .search-result-item {
border-bottom: 1px solid #333;
}
.search-result-item:last-child {
border-bottom: none;
}
2026-01-31 21:27:06 +08:00
.search-result-meta {
display: flex;
2026-01-31 22:52:19 +08:00
justify-content: flex-start; /* Left align */
gap: 10px;
font-size: 0.75rem;
2026-02-01 17:00:25 +08:00
color: #666;
2026-01-31 22:52:19 +08:00
margin-top: 2px;
2026-01-31 21:27:06 +08:00
}
2026-02-01 17:00:25 +08:00
[data-theme="dark"] .search-result-meta {
color: #aaa;
}
2026-01-31 21:27:06 +08:00
.search-result-summary-text {
2026-01-31 22:52:19 +08:00
max-width: 80%;
2026-01-31 21:27:06 +08:00
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.no-result {
2026-01-31 22:52:19 +08:00
text-align: left;
2026-02-01 17:00:25 +08:00
color: #666;
padding: 12px 16px;
2026-01-31 22:52:19 +08:00
font-size: 0.9rem;
2026-01-31 21:27:06 +08:00
cursor: default;
2026-01-31 19:24:22 +08:00
}
2026-02-01 17:00:25 +08:00
[data-theme="dark"] .no-result {
color: #aaa;
2026-01-31 19:24:22 +08:00
}
.search-result-item:hover {
2026-02-01 17:00:25 +08:00
background: #f5f5f5;
2026-01-31 19:24:22 +08:00
}
[data-theme="dark"] .search-result-item:hover {
2026-02-01 17:00:25 +08:00
background: #1a1a1a;
2026-01-31 19:24:22 +08:00
}
.search-result-title {
display: block;
2026-02-01 17:00:25 +08:00
font-weight: 600;
font-size: 0.95rem;
color: #000000;
2026-01-31 22:52:19 +08:00
margin-bottom: 0;
2026-01-31 19:24:22 +08:00
}
[data-theme="dark"] .search-result-title {
2026-02-01 17:00:25 +08:00
color: #ffffff;
2026-01-31 19:24:22 +08:00
}
.search-result-date {
font-size: 0.75rem;
2026-02-01 17:00:25 +08:00
color: #666;
2026-01-31 19:24:22 +08:00
margin-right: 10px;
}
.search-result-summary {
font-size: 0.85rem;
2026-02-01 17:00:25 +08:00
color: #444;
2026-01-31 19:24:22 +08:00
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
margin-top: 4px;
}
[data-theme="dark"] .search-result-summary {
2026-02-01 17:00:25 +08:00
color: #ccc;
2026-01-31 19:24:22 +08:00
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes slideDown {
from { opacity: 0; transform: translateY(-10px); }
to { opacity: 1; transform: translateY(0); }
}
/* Mobile Adaptation */
@media (max-width: 767px) {
2026-02-01 18:22:19 +08:00
.mobile-hide {
display: none !important;
}
2026-02-01 17:42:15 +08:00
.recent-posts .posts .post:first-of-type {
margin-top: -10px;
}
.header {
margin-bottom: 0px!important;
}
2026-02-01 17:00:25 +08:00
.searchable-header-container {
flex-wrap: wrap;
height: auto;
min-height: 40px;
}
.section-header.normal-mode {
font-size: 1rem;
}
/* Adjust Hint Wrapper Position for Mobile */
.search-hint-wrapper {
position: relative;
left: auto;
top: auto;
transform: none !important;
margin-left: 8px;
opacity: 1;
}
.search-hint-wrapper.visible {
transform: none !important;
}
.search-mascot {
width: 28px;
height: 28px;
}
2026-01-31 19:24:22 +08:00
.search-hint {
opacity: 1;
2026-02-01 17:00:25 +08:00
font-size: 12px;
padding: 5px 10px;
margin-top: 0;
white-space: normal;
max-width: 200px;
}
/* Ensure Input Group fits and is comfortable */
.search-input-group {
padding: 0 0 6px 0;
margin-top: 5px;
background: transparent;
width: 100%;
max-width: 280px; /* Slightly wider on mobile for better usability */
}
[data-theme="dark"] .search-input-group {
background: transparent;
}
.search-input-group input {
font-size: 16px; /* 16px prevents iOS zoom entirely */
padding-right: 20px;
height: 24px;
padding-left: 5px;
}
.close-icon {
right: 0;
width: 20px;
height: 20px;
}
.search-dropdown {
width: 100%;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
border: none;
2026-01-31 19:24:22 +08:00
}
}
2026-01-22 21:39:19 +08:00
.pjax-leave {
position: absolute;
top: 0;
width: 100%;
animation: pjax-fade-out 0.3s ease-in forwards;
z-index: 0;
}
.pjax-enter {
animation: pjax-fade-in 0.3s ease-out forwards;
z-index: 1;
position: relative;
}
@keyframes pjax-fade-in {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes pjax-fade-out {
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 0;
transform: translateY(-10px);
}
}
.section .section-header {
font-size: 0.88rem;
font-weight: 600;
text-transform: uppercase;
color: #999999;
margin-bottom: 15px;
letter-spacing: 1px;
}
.recent-posts .posts .post {
margin-bottom: 20px;
margin-top: 20px;
}
2026-02-01 17:42:15 +08:00
2026-01-22 21:39:19 +08:00
.recent-posts .posts .post .time,
.post .post-header .time,
.list .posts .post .time {
font-size: 0.725rem;
color: #bec8d2;
margin-bottom: 2px;
}
.meta {
margin-top: 10px;
font-size: 12px;
color: #999999;
margin-bottom: 2px
}
.post-tags {
margin-top: 20px;
}
.post-tags .tags {
margin-top: 40px;
}
.post-tags .tags a {
display: inline-block;
border-radius: 2px;
padding: 0.1rem 0.4rem;
color: #fff;
line-height: 20px;
font-size: 12px;
text-decoration: none;
margin: 0 1px;
border: 1px solid #41464b;
background-color: #41464b;
}
.footer {
text-align: right;
font-size: 0.75em;
color: #999999;
border-top: 1px solid #f4f4f4;
padding-top: 10px;
margin-top: 10px;
2026-02-05 22:21:19 +08:00
/* transition handled by global rule */
2026-01-22 21:39:19 +08:00
}
/* 代码高亮 Mac 风格样式 */
.highlight {
background: #f6f8fa; /* Day Mode: Light BG (GitHub) */
color: #24292e; /* Day Mode: Dark Text */
border-radius: 10px;
border: 1px solid #d0d7de; /* Day Mode Border */
box-shadow: none; /* Remove Shadow */
margin: 20px 0;
overflow: hidden;
position: relative;
transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
2026-01-31 21:27:06 +08:00
/* Code Block Controls */
.code-controls {
position: absolute;
top: 5px;
right: 10px;
display: flex;
gap: 8px;
z-index: 10;
opacity: 0;
transition: opacity 0.3s ease;
}
.highlight:hover .code-controls {
opacity: 1;
}
.code-btn {
background: rgba(0,0,0,0.5);
color: white;
border: none;
border-radius: 4px;
padding: 4px 8px;
font-size: 12px;
cursor: pointer;
transition: background 0.2s;
}
.code-btn:hover {
background: rgba(0,0,0,0.7);
}
2026-01-22 21:39:19 +08:00
[data-theme="dark"] .highlight {
background: #282a36; /* Night Mode: Dark BG (Dracula) */
color: #f8f8f2; /* Night Mode: Light Text */
border: 1px solid #44475a; /* Night Mode Border */
box-shadow: none; /* Remove Shadow */
}
.highlight::before {
content: " ";
display: block;
height: 12px;
width: 12px;
margin: 15px;
background: #ff5f56;
border-radius: 50%;
box-shadow: 20px 0 0 #ffbd2e, 40px 0 0 #27c93f;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
.highlight pre,
.highlight code,
.highlight kbd,
.highlight samp {
font-family: 'JetBrains Mono', 'Fira Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 14px;
line-height: 1.6;
font-weight: normal;
white-space: pre;
}
.highlight pre {
margin: 0;
padding: 45px 15px 15px; /* Top padding for Mac dots */
overflow: auto;
background-color: transparent !important; /* Override inline style */
border: none !important; /* Remove conflicting border */
border-radius: 0 !important; /* Reset border radius inside container */
}
.highlight pre code {
padding: 0;
background-color: transparent !important;
color: inherit;
}
/* 滚动条样式 */
.highlight pre::-webkit-scrollbar {
height: 8px;
width: 8px;
}
.highlight pre::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2); /* Day Mode: Dark scrollbar */
border-radius: 4px;
}
[data-theme="dark"] .highlight pre::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.2); /* Night Mode: Light scrollbar */
}
.highlight pre::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.3);
}
[data-theme="dark"] .highlight pre::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.3);
}
.highlight pre::-webkit-scrollbar-track {
background: transparent;
}
@media (max-width: 767px) {
h1 {
font-size: 1.375rem;
}
h2 {
font-size: 1.25rem;
}
h3 {
font-size: 1.125rem;
}
h4,
h5,
h6 {
font-size: 1rem;
}
body {
background: #ffffff;
}
.main {
2026-02-15 21:28:16 +08:00
padding: 20px;
2026-01-22 21:39:19 +08:00
margin: 0 auto;
box-shadow: none;
}
.header h2 {
display: none;
}
.container {
margin-top: 10px;
}
.highlight pre::-webkit-scrollbar {
display: none;
}
2026-02-01 17:00:25 +08:00
/* Mobile Navigation Optimization - Single Line Scrollable */
.header-menu {
overflow-x: auto;
-webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
scrollbar-width: none; /* Firefox */
margin-left: -30px; /* Extend to edges */
margin-right: -30px;
padding-left: 30px; /* Start content aligned */
2026-02-02 13:09:04 +08:00
/* border-top: 1px solid #f4f4f4; */
border-top: none;
2026-02-01 17:00:25 +08:00
}
.header-menu::-webkit-scrollbar {
display: none; /* Hide scrollbar for Chrome/Safari */
}
.header-menu ul.flat {
display: flex;
flex-wrap: nowrap; /* Prevent wrapping */
white-space: nowrap;
gap: 20px; /* Comfortable touch spacing */
align-items: center;
padding-right: 30px; /* Ensure scrolling reaches the end with padding */
}
.header-menu ul.flat li {
flex: 0 0 auto; /* Do not shrink */
margin-top: 10px; /* Maintain vertical spacing from border */
}
2026-01-22 21:39:19 +08:00
}
/* 代码复制按钮 */
.copy-code-btn {
position: absolute;
top: 10px;
right: 10px;
background: rgba(0, 0, 0, 0.05);
border: none;
border-radius: 4px;
color: #555;
padding: 4px 8px;
cursor: pointer;
font-size: 16px;
transition: all 0.2s;
opacity: 0;
z-index: 10;
}
[data-theme="dark"] .copy-code-btn {
background: rgba(255, 255, 255, 0.1);
color: #f8f8f2;
}
.highlight:hover .copy-code-btn {
opacity: 1;
}
.copy-code-btn:hover {
background: rgba(0, 0, 0, 0.1);
transform: scale(1.1);
}
[data-theme="dark"] .copy-code-btn:hover {
background: rgba(255, 255, 255, 0.2);
}
.comment-form-author {
width: 45% !important;
float: right;
/*margin-right: 5%;*/
}
.comment-form-email {
width: 45% !important;
float: left;
}
#cancel-huifu {
position: relative;
left: 53px !important;
}
.header img {
width: 75px !important;
height: 75px !important;
}
.site-description {
margin-top: 10px !important;
}
.itp-index {
width: 100% !important;
}
#scrollUp {
right: 35px !important;
}
}
/*回到顶部*/
#scrollUp {
bottom: 50px;
right: 50px;
background: #ffffff;
height: 40px;
width: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
color: #111827;
text-decoration: none;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);
2026-03-01 10:16:28 +08:00
z-index: 900; /* Ensure it's on top */
2026-01-22 21:39:19 +08:00
cursor: pointer;
}
#scrollUp::before {
content: "⇡";
}
[data-theme="dark"] #scrollUp {
background: rgba(15, 23, 42, 0.95);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.55);
color: #e5e7eb;
}
/*美化框*/
#mhz,
#szh,
#yyz {
/*圆角值,在此定义*/
border-radius: 8px;
}
/*迷幻紫*/
#mhz {
color: #555555;
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
/*border-radius: 10px;*/
box-shadow: 6px 0 12px -5px rgb(190, 196, 252), -6px 0 12px -5px rgb(189, 196, 252);
background-color: #8EC5FC;
background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%);
background-image: -webkit-linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%);
}
/*优雅紫*/
#yyz {
color: #ffffff;
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
/*border-radius: 10px;*/
box-shadow: 6px 0 12px -5px rgb(175, 160, 208), -6px 0 12px -5px rgba(177, 161, 207, 0);
background-image: radial-gradient(circle farthest-corner at 10% 20%, rgba(95, 117, 227, 1) 0%, rgba(188, 167, 205, 1) 90%);
}
/*深邃黑*/
#szh {
color: #c7c7c7;
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
/*border-radius: 5px;*/
box-shadow: 6px 0 14px -6px rgba(15, 23, 42, 0.85), -6px 0 14px -6px rgba(15, 23, 42, 0.55);
background-image: radial-gradient(circle farthest-corner at 10% 20%, rgba(0, 0, 0, 1) 0%, rgba(64, 64, 64, 1) 90.2%);
}
/*隐藏文字*/
darkb-text {
background-color: #12121c;
color: #12121c;
text-shadow: none;
transition: color 0.3s;
/*padding-top: 3px;*/
padding: 2px 2px 2px 2px;
font-size: 14px;
border-radius: 4px;
}
darkb-text:hover,
darkb-text:active {
color: #FFF;
}
/* 分页 */
.pagination {
margin: 0;
padding: 10px 0 0;
text-align: left;
display: flex;
justify-content: space-between;
}
.pagination li {
list-style: none;
display: inline-block;
margin: 0;
padding: 0;
}
.pagination .page-previous {
/* margin-right: 20px; */
/* padding-right: 20px; */
}
.pagination .page-item.page-previous {
text-align: right;
}
.pagination .page-item.page-next {
text-align: right;
}
/* 骨架屏动画 */
.skeleton-line {
background: #e0e0e0;
border-radius: 4px;
background-image: linear-gradient(90deg, #e0e0e0 0px, #f5f5f5 40px, #e0e0e0 80px);
background-size: 600px;
animation: skeleton-loading 1.6s infinite ease-out;
}
@keyframes skeleton-loading {
0% {
background-position: -100px;
}
100% {
background-position: 140px;
}
}
[data-theme="dark"] #pjax-loading-skeleton {
background: rgba(15, 23, 42, 0.94) !important;
box-shadow: var(--card-shadow-dark) !important;
2026-05-20 14:33:05 +08:00
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
2026-01-22 21:39:19 +08:00
}
[data-theme="dark"] .skeleton-line {
background: #1f2937;
background-image: linear-gradient(90deg, #1f2937 0px, #374151 40px, #1f2937 80px);
}
position: relative;
border-radius: 5px;
padding-bottom: 66.5%;
height: 0;
border: 6px solid #f0f0f0;
overflow: hidden;
}
.size-video iframe {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
/*归档页面*/
.a-title {
font-size: 24px;
word-wrap: break-word;
line-height: 1.4;
box-shadow: inset 0 -7px 0 0 rgb(52 58 64 / 10%);
display: inline;
}
.link-title {
text-align: center;
margin-top: 20px;
margin-bottom: 14px;
}
.link-title span {
display: inline-block;
margin-top: 6px;
margin-bottom: 6px;
font-size: 1.35rem;
font-weight: 650;
letter-spacing: 0.12em;
text-transform: none;
color: #4b5563;
}
[data-theme="dark"] .link-title span {
color: #e5e7eb;
}
h3.diy-h3 {
cursor: pointer;
font-size: 1.05rem;
padding-left: 1px;
margin-top: 0.5em;
margin-bottom: 5px;
}
.a-archives {
margin-top: 6px;
display: inline-block;
color: #374151;
font-size: 0.95rem;
}
.articles_date_time {
padding: 3px 5px;
font-size: 0.75rem;
font-weight: 500;
line-height: 1;
background-color: rgba(52, 58, 64, .1);
color: #324b64;
margin-right: 5px;
border-radius: 999px;
}
[data-theme="dark"] .a-archives {
color: #e5e7eb;
}
[data-theme="dark"] .articles_date_time {
background-color: rgba(148, 163, 184, .25);
color: #e5e7eb;
}
/*友链*/
.link_box,
.link_marks {
float: left;
padding-right: 5px;
}
.yiyandes {
font-size: .9rem;
line-height: 2rem;
margin-top: -2px;
2026-01-23 22:02:11 +08:00
cursor: pointer;
transition: opacity 0.3s ease;
}
.yiyandes:hover {
opacity: 0.7;
}
.yiyandes.typing::after {
content: '|';
animation: blink 1s step-start infinite;
margin-left: 2px;
}
@keyframes blink {
50% { opacity: 0; }
2026-01-22 21:39:19 +08:00
}
/*comments*/
.comments-area {
/*padding-top: 25px;*/
/*border-top: 1px solid #eaeaea;*/
margin-top: 25px;
}
.comments-area ol {
list-style: none;
padding: 0;
}
.comments-area .comment-body {
border-bottom: 1px solid #f4f4f4;
padding-bottom: 20px;
margin-bottom: 20px;
}
.comment-meta {
margin-bottom: 16px;
}
.comment-meta a {
text-decoration: none;
}
.comment-author {
display: flex;
align-items: center;
}
.comment-author img {
border-radius: 50%;
}
.comment-author a {
color: #303135;
text-decoration: none;
font-weight: 700;
font-size: 16px;
}
.comment-metadata time {
color: gray;
font-size: 12px;
}
.comment-reply-title {
margin: 10px 0 5px;
}
.comment-respond input {
width: 100%;
}
.site-footer {
border-top: 1px solid #f4f4f4;
padding: 10px 0;
font-size: 13px;
}
.site-footer a {
color: rgb(0, 0, 0);
text-decoration: none;
}
.comment-form-author {
width: 48%;
float: right;
/*margin-right: 5%;*/
}
.comment-form-email {
width: 48%;
float: left;
}
.comment-form-url {
width: 100%;
float: right;
}
.comment-list li ol li {
padding-left: 1rem;
}
.reply {
margin-top: 16px;
}
.page-navigator {
display: flex;
width: 100%;
margin: 1rem 0;
}
.page-navigator li {
display: none;
}
.page-navigator .prev {
display: block;
flex: 1;
}
.page-navigator .next {
display: flex;
justify-content: flex-end;
}
.foot_bar {
z-index: 999;
position: fixed;
right: 2rem;
bottom: 2rem;
display: grid;
}
.foot_bar_items {
line-height: 24px;
text-align: center;
color: #000;
cursor: pointer;
display: inline-flex;
justify-content: center;
align-items: center;
margin: .5rem 0;
}
.changeMode {
background-color: #eee;
height: calc(26px*1);
width: calc(100px*1);
border-radius: calc(100px*1);
display: inline-block;
}
.toggle-dark-mode-ignore {
position: absolute;
width: 50%;
background-color: #fff;
box-shadow: 0 2px 15px rgb(0 0 0 / 15%);
transition: transform .3s cubic-bezier(.25, .46, .45, .94);
height: calc(26px*1);
border-radius: calc(100px*1);
display: inline-block;
left: 0;
}
.dark-mode-ignore {
width: 74%;
position: absolute;
display: flex;
justify-content: space-between;
user-select: none;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.switch-light-text {
font-size: calc(12px*1);
font-weight: 500;
color: #555;
margin: 0;
padding-bottom: 0;
}
.switch-dark-text {
font-size: calc(12px*1);
font-weight: 500;
color: #555;
margin: 0;
padding-bottom: 0;
opacity: .5;
}
img.biaoqing[src*="qutu"],
img.biaoqing[src*="huaji"] {
width: auto;
height: auto;
max-height: 5rem;
}
label {
font-size: 13px;
color: #9e9e9e;
}
.skills-section {
margin-top: 2.5rem;
}
.section-title {
font-size: 0.9rem;
letter-spacing: 0.16em;
text-transform: uppercase;
color: #9ca3af;
margin-bottom: 1.25rem;
}
.skills-container {
display: flex;
flex-direction: column;
gap: 0.75rem;
overflow: hidden;
}
.skills-row {
position: relative;
overflow: hidden;
}
.skills-track {
display: inline-flex;
align-items: center;
gap: 0.75rem;
white-space: nowrap;
animation: skills-scroll 26s linear infinite;
}
.skills-track-reverse {
animation-direction: reverse;
}
.skill-tag {
display: inline-flex;
align-items: center;
padding: 0.35rem 0.9rem;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.7);
background: rgba(255, 255, 255, 0.86);
font-size: 0.8rem;
color: #374151;
}
@keyframes skills-scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}
[data-theme="dark"] .section-title {
color: #6b7280;
}
[data-theme="dark"] .skill-tag {
border-color: rgba(31, 41, 55, 0.85);
background: rgba(15, 23, 42, 0.96);
color: #e5e7eb;
}
textarea {
width: 100%;
overflow: auto;
}
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
color: #666;
border: 1px solid #ccc;
border-radius: 3px;
padding: 8px;
}
button,
input,
optgroup,
select,
textarea {
color: inherit;
font: inherit;
margin: 0;
}
button,
input[type=button],
input[type=reset],
input[type=submit] {
border: 1px solid;
border-color: #000 #000 #000;
border-radius: 3px;
background-color: #222;
color: #fff;
padding: 6px;
margin-top: 10px;
margin-left: 23%;
}
.ell {
white-space: normal;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
word-break: break-all;
}
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.navigation:before,
.navigation:after {
content: "";
display: table;
table-layout: fixed;
}
.clear:after,
.entry-content:after,
.wrapper:after,
.navigation:after {
clear: both;
}
.site-header {
padding: 25px 0;
}
.site-branding {
float: left;
padding-top: 20px;
}
.site-title {
margin: 0;
line-height: 1;
font-size: 14px;
font-weight: 500;
}
.site-title a {
text-decoration: none;
color: #2d2e33;
font-size: 20px;
font-weight: bold;
}
#site-navigation {
display: block;
float: right;
}
#site-menu {
list-style: none;
margin: 0;
padding-left: 0;
}
#site-menu li {
float: left;
position: relative;
}
#site-menu li a {
display: block;
text-decoration: none;
color: #525252;
padding: 20px 0 20px 30px;
}
.site-content {
margin-bottom: 50px;
}
.archives__heading {
font-size: 24px;
margin-top: 0;
margin-bottom: 25px;
}
.archives__list {
list-style: none;
padding: 0;
}
.archives__list li {
padding: 5px 0;
font-size: 14px;
}
.archives__list li a {
max-width: 50%;
display: inline-block;
text-decoration: none;
}
.archives__list li span {
color: #a9a9a9;
max-width: 50%;
display: inline-block;
float: right;
text-align: right;
}
.entry-header {
margin-bottom: 32px;
}
.entry-title {
font-size: 30px;
margin: 0;
}
.entry-content p {
font-size: 14px;
}
.entry-content img {
clear: both;
display: block;
margin-left: auto;
margin-right: auto;
border-radius: 5px;
}
#showResult {
margin-top: 1rem;
}
#showResult .biaoqing {
width: 24px;
}
/*owo表情*/
.biaoqing[src*="bqb"] {
width: 77px;
display: block;
}
.OwO .OwO-body .OwO-items-image .OwO-item[data-input*="bqb"] {
max-width: calc(50% - 10px);
;
}
.biaoqing {
width: 36px;
display: inline;
box-shadow: 0 0px 0px rgb(0 0 0 / 0%) !important;
}
/*友圈微调*/
.cf-article[data-v-56cae500] {
border: 1px solid #43464A !important;
}
/*评论头衔*/
.badge-xztx {
margin-left: .2rem;
background-color: #000000;
color: #fff;
padding: 2px 5px;
border-radius: 5px;
font-size: .8rem;
font-weight: bold;
line-height: .8rem;
}
.visitor {
margin-left: .2rem;
background-color: #939393;
color: #fff;
padding: 2px 5px;
border-radius: 5px;
font-size: .8rem;
font-weight: bold;
line-height: .8rem;
}
/*评论取消按钮*/
#cancel-huifu {
position: relative;
left: 190px;
}
/*评论提醒*/
.pl-img {
width: 40px;
height: 40px;
border-radius: 0px;
animation: fade-in .65s ease-in none;
}
.massage-container {
/*display: flex;*/
height: 100%;
justify-content: center;
align-items: center;
}
.rectangle {
display: flex;
align-items: center;
justify-content: flex-start;
positon: relative;
width: 50px;
height: 40px;
background: #000000;
transform: scale(0);
border-radius: 50%;
color: white;
opacity: 0;
overflow: hidden;
animation: scale-in .3s ease-out forwards,
expand .35s .25s ease-out forwards;
}
.notification-text {
/*display: flex;*/
align-items: center;
padding: 0 16px;
font-family: 'Roboto', sans-serif;
font-size: 14px;
animation: fade-in .65s ease-in forwards;
}
@keyframes scale-in {
100% {
transform: scale(1);
opacity: 1;
}
}
@keyframes expand {
50% {
width: 350px;
border-radius: 6px;
}
100% {
width: 300px;
border-radius: 4px;
box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2),
0px 1px 1px 0px rgba(0, 0, 0, .14),
0px 3px 3px -1px rgba(0, 0, 0, .12);
}
}
@keyframes fade-in {
0% {
opacity: 0;
}
100% {
opacity: .8;
}
}
/*新文章提醒样式*/
.new-post-message {
content: '';
2026-01-23 20:38:35 +08:00
background: url(/img/1457247750.png) no-repeat;
2026-01-22 21:39:19 +08:00
width: 26px;
height: 14px;
background-size: contain;
display: inline-block;
vertical-align: middle;
margin-top: -2px;
margin-left: 1px;
}
/*文章图片懒加载*/
.load-img {
width: 100%;
height: auto;
background-color: #CCCCCC;
display: block;
}
/*模糊加载动画*/
@-webkit-keyframes blur {
0% {
-webkit-filter: blur(10px);
/* Chrome, Opera */
-moz-filter: blur(10px);
-ms-filter: blur(10px);
filter: blur(10px);
}
50% {
-webkit-filter: blur(50px);
-moz-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
100% {
-webkit-filter: blur(0px);
-moz-filter: blur(0px);
-ms-filter: blur(0px);
filter: blur(0px);
}
}
.lazy-img {
-webkit-animation-name: blur;
/*动画名称*/
-webkit-animation-duration: 2s;
/*动画持续时间*/
-webkit-animation-iteration-count: 1;
/*动画次数*/
-webkit-animation-delay: 0s;
/*延迟时间*/
}
.blog-img {
-webkit-animation-name: blur;
/*动画名称*/
-webkit-animation-duration: 1s;
/*动画持续时间*/
-webkit-animation-iteration-count: 1;
/*动画次数*/
-webkit-animation-delay: 0s;
/*延迟时间*/
}
/*弹幕相关css*/
.container {
text-align: initial !important;
}
.dm-biaoqing[src*="bqb"] {
width: 37px;
display: inline;
}
.dm-biaoqing {
width: 36px;
display: inline;
box-shadow: 0 0px 0px rgb(0 0 0 / 0%) !important;
}
/*wechat样式*/
@font-face {
font-family: 'Color Emoji';
src: local('Apple Color Emoji'), local('Segoe UI Emoji'), local('Segoe UI Symbol'), local('Noto Color Emoji');
}
.qmbox .container {
--background_color: #f3f3f3;
--text_color: #191919;
}
@media (prefers-color-scheme:dark) {
.qmbox .container {
--background_color: #111;
--text_color: #e6e6e6;
}
}
.qmbox .container {
--font_size_grande: 16px;
--font_size_tall: 14px;
--font_size_short: 12px;
--line_height_grande: 20px;
--line_height_tall: 22px;
--line_height_short: 20px;
}
.qmbox .container {
padding-top: var(--line_height_short);
padding-bottom: var(--line_height_short);
color: var(--text_color);
/*font: normal var(--font_size_grande) / var(--line_height_grande) 'PingFang SC', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif, 'Color Emoji';*/
background: var(--background_color);
}
@media screen and (min-width: 550px) {
.qmbox .g-width {
width: 550px;
margin: 0 auto;
}
}
@media screen and (max-width: 459px) {
.qmbox .g-width {
width: 100%;
min-width: 320px;
max-width: 460px;
}
}
.qmbox .g-clear-both::after {
display: block;
clear: both;
content: '';
}
.qmbox .g-left {
display: inline;
float: left;
}
.qmbox .g-right {
display: inline;
float: right;
}
.qmbox .g-inline-center {
text-align: center;
}
.qmbox .date {
--date_text_color: #aaa;
}
@media (prefers-color-scheme:dark) {
.qmbox .date {
--date_text_color: #595859;
}
}
.qmbox .date {
height: var(--line_height_short);
color: var(--date_text_color);
font-size: var(--font_size_short);
line-height: var(--line_height_short);
font-weight: 300;
}
.qmbox .dialog {
--message_text_color: #1e1e1e;
--message_background_color: #fff;
--reply_text_color: #0f170a;
--reply_background_color: #95ec69;
--quote_text_color: #7d7d7d;
--quote_background_color: #e8e8e8;
}
@media (prefers-color-scheme:dark) {
.qmbox .dialog {
--message_text_color: #eaeaea;
--message_background_color: #2c2c2c;
--reply_text_color: #04120a;
--reply_background_color: #28b561;
--quote_text_color: #989898;
--quote_background_color: #1a1a1a;
}
}
.qmbox .dialog {
--avatar_size: 36px;
--border_radius: 4px;
--bubble_lr_offset: 20px;
--bubble_arrow_size: 10px;
--bubble_padding_vertical: 10px;
--bubble_padding_vertical_quote: 8px;
--bubble_padding_horizontal: 12px;
margin-top: -10px;
}
.qmbox .bubble {
max-width: calc(100% - (var(--bubble_lr_offset) * 2) - var(--avatar_size) - var(--bubble_arrow_size));
margin-top: var(--line_height_short);
clear: both;
}
.qmbox .bubble:first-child {
margin-top: 0;
}
.qmbox .message {
margin-left: var(--bubble_lr_offset);
}
.qmbox .reply {
margin-right: var(--bubble_lr_offset);
}
.qmbox .bubble-text {
position: relative;
max-width: calc(100% - var(--avatar_size) - var(--bubble_arrow_size) - (var(--bubble_padding_horizontal) * 2));
padding: var(--bubble_padding_vertical) var(--bubble_padding_horizontal);
border-radius: var(--border_radius);
font-size: var(--font_size_tall);
line-height: var(--line_height_tall);
word-break: break-all;
}
.qmbox .bubble-text::after {
position: absolute;
top: calc((var(--avatar_size) - var(--bubble_arrow_size)) / 2);
display: block;
width: 0;
height: 0;
border: calc(var(--bubble_arrow_size) / 2) solid transparent;
content: '';
}
.qmbox .message-text {
margin-left: var(--bubble_arrow_size);
color: var(--message_text_color);
background-color: var(--message_background_color);
}
.qmbox .message-text::after {
left: calc(var(--bubble_arrow_size) / 2 * -1);
border-left: 0 none;
border-right: calc(var(--bubble_arrow_size) / 2) solid var(--message_background_color);
}
.qmbox .reply-text {
margin-right: var(--bubble_arrow_size);
color: var(--reply_text_color);
background-color: var(--reply_background_color);
}
.qmbox .reply-text::after {
right: calc(var(--bubble_arrow_size) / 2 * -1);
border-left: calc(var(--bubble_arrow_size) / 2) solid var(--reply_background_color);
border-right: 0 none;
}
.qmbox .bubble-avatar {
width: var(--avatar_size);
height: var(--avatar_size);
border-radius: var(--border_radius);
}
.qmbox .quote {
max-width: calc(100% - ((var(--bubble_arrow_size) + var(--avatar_size) + var(--bubble_lr_offset) + var(--bubble_padding_horizontal)) * 2));
margin-top: calc(var(--bubble_padding_horizontal) / 2);
padding: var(--bubble_padding_vertical_quote) var(--bubble_padding_horizontal);
border-radius: var(--border_radius);
color: var(--quote_text_color);
font-size: var(--font_size_short);
line-height: var(--line_height_short);
background-color: var(--quote_background_color);
word-break: break-all;
clear: both;
}
.qmbox .message+.quote {
margin-left: calc(var(--bubble_arrow_size) + var(--avatar_size) + var(--bubble_lr_offset));
}
.qmbox .reply+.quote {
margin-right: calc(var(--bubble_arrow_size) + var(--avatar_size) + var(--bubble_lr_offset));
}
.message-text img {
width: 25px !important;
display: inline;
box-shadow: 0 0px 0px rgb(0 0 0 / 0%) !important;
}
.reply-text img {
width: 25px !important;
display: inline;
box-shadow: 0 0px 0px rgb(0 0 0 / 0%) !important;
}
/*鱼塘*/
#random-post {
min-height: 32px;
}
.random-friends-post {
text-decoration: none;
font-weight: 700;
padding: 0 4px;
}
.random-friends-post:hover {
text-decoration: none;
border-radius: 4px;
}
.random-post-start {
transition: 2s;
}
#random-post {
min-height: 32px;
border-radius: 12px;
margin-top: 8px;
clear: both;
}
@media screen and (max-width: 3000px) {
.cf-article[data-v-56cae500] {
margin: 8px;
border-radius: 8px;
font-weight: bolder;
overflow: hidden;
transition: all .3s ease-out;
position: relative;
padding: 1rem;
border: var(--pyq-boder);
height: 160px;
display: flex;
align-content: space-between;
flex-direction: column;
justify-content: space-between;
box-shadow: var(--heo-shadow-border);
}
.cf-article-item[data-v-56cae500] {
width: 50% !important;
}
.cf-article-author[data-v-56cae500],
.cf-img-avatar[data-v-56cae500] {
align-self: center;
text-align: center;
transition: .3s;
}
.cf-img-avatar[data-v-56cae500] {
display: inline-block !important;
position: absolute;
width: 40%;
border-radius: 50%;
margin: 0 0 -4px !important;
background: #fff;
opacity: .1;
z-index: 0;
right: -20px;
bottom: -20px;
}
.cf-article-title[data-v-56cae500] {
font-weight: 500;
position: relative;
z-index: 2;
width: 100%;
display: block;
letter-spacing: 1.5px;
font-size: 18px;
align-self: start;
text-align: left;
line-height: 40px;
padding: 0;
margin-bottom: 10px;
transition: .3s;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box !important;
-webkit-box-orient: vertical;
}
.cf-article-time[data-v-56cae500] {
font-size: 12px;
text-align: right;
float: right;
font-weight: 400;
transition: .3s;
margin-left: auto;
z-index: 1;
}
.cf-article-author[data-v-56cae500] {
line-height: 1;
font-size: 14px;
font-weight: 700;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
z-index: 1;
color: var(--pyq-fontcolor);
font-size: .7rem;
background-color: var(--heo-gray-op);
padding: 8px;
border-radius: 20px;
/*display: flex;*/
align-items: center;
}
.cf-article-author[data-v-56cae500],
.cf-img-avatar[data-v-56cae500] {
align-self: center;
text-align: center;
transition: .3s;
}
#cf-footer[data-v-56cae500],
#cf-more[data-v-56cae500] {
display: flex;
flex-direction: column;
}
#cf-footer[data-v-56cae500] {
width: 100%;
margin-top: .5rem;
align-items: flex-end;
color: var(--pyq-secondtext);
}
}
@media screen and (max-width: 1400px) {
.cf-article-item[data-v-56cae500] {
width: 100%;
}
}
@media screen and (max-width: 768px) {
.cf-article-item[data-v-56cae500] {
width: 100% !important;
}
}
.lazyload {
width: 100%;
2026-05-20 14:33:05 +08:00
max-width: 100%;
height: auto;
}
.post-content img,
.entry-content img {
display: block;
max-width: 100%;
height: auto;
2026-01-22 21:39:19 +08:00
}
2026-05-24 12:17:43 +08:00
.post-content .sen-image-frame,
.entry-content .sen-image-frame {
position: relative;
display: block;
width: fit-content;
max-width: 100%;
margin: 1.2rem auto;
line-height: 0;
2026-05-25 00:03:50 +08:00
opacity: 1;
transform: none;
2026-05-24 12:17:43 +08:00
transition: opacity 0.6s cubic-bezier(0.22, 0.61, 0.36, 1),
transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
2026-05-24 13:37:09 +08:00
content-visibility: auto;
contain-intrinsic-size: auto 400px;
2026-05-24 12:17:43 +08:00
}
2026-05-25 00:03:50 +08:00
.post-content .sen-image-frame.reveal-pending:not(.is-visible),
.entry-content .sen-image-frame.reveal-pending:not(.is-visible) {
opacity: 0;
transform: translateY(14px);
}
2026-05-24 12:17:43 +08:00
.post-content .sen-image-frame.is-visible,
.entry-content .sen-image-frame.is-visible {
opacity: 1;
2026-05-25 00:03:50 +08:00
transform: none;
2026-05-24 12:17:43 +08:00
}
.post-content .sen-image-frame>img,
.entry-content .sen-image-frame>img {
display: block;
width: auto;
max-width: 100%;
margin: 0;
box-shadow: none;
}
2026-01-22 21:39:19 +08:00
/* 设置进度条的背景色 */
.bar {
background: #2aae67 !important;
}
/* 友联样式 */
.links-item {
padding: 10px 10px 15px 0px;
font-size: 14px;
width: 49%;
box-sizing: border-box;
display: inline-block;
vertical-align: top;
background: #fafafa;
background: var(--light-header);
border-radius: 4px
}
.links-item img {
border-radius: 4px;
float: left;
width: 45px;
height: 45px;
background: #fff
}
.links-item a {
display: block;
padding: 0 14px;
margin-top: 13px;
margin-left: 44px;
word-break: keep-all;
height: 32px;
}
.links-item {
width: 135px;
margin: 0 12px 12px 0;
}
@media only screen and (max-width: 683px) {
.links-item {
width: 144px;
/* margin: 0 0 8px */
}
}
.dark .links-item {
background: #252627;
background: var(--dark-header)
}
.tocify {
width: 20%;
max-height: 90%;
overflow: auto;
position: absolute;
right: 2%;
border-radius: 6px
}
.tocify ul,
.tocify li {
list-style: none;
margin: 0;
padding: 0;
border: none;
line-height: 30px
}
.tocify li a {
display: inline-block;
text-indent: 10px;
font-size: 14px;
text-decoration: none
}
.tocify ul ul li a:before {
content: "- "
}
@media only screen and (max-width: 683px) {
.tocify {
display: none
}
}
.dark .light-wormhole,
.dark-wormhole {
display: none
}
.dark .dark-wormhole {
display: block
}
/* 热力图css */
.ch-plugin-calendar-label {
position: absolute;
top: 20px;
left: 30px;
gutter: 5px;
}
/** 周几初标签部分样式 **/
.ch-plugin-calendar-label-text {
fill: var(--gray-500) !important;
font-size: 12px !important;
transform: translate(6px, 0px);
}
/** 隐藏月份信息 **/
.ch-domain-text {
display: none;
}
2026-01-31 19:24:22 +08:00
/* Migrated from assets/js/modules/style-fix.js */
#libabys:nth-of-type(-n+2) {
margin-left: -5px;
}
.itp-index:nth-child(even) {
float: right;
width: 48%;
}
2026-01-22 21:39:19 +08:00
/* 修改小方块的背景填充颜色 */
[data-theme=dark] .ch-subdomain-bg {
fill: var(--gray-200);
}
[data-theme="dark"] canvas[data-zr-dom-id] {
filter: brightness(0.78) contrast(0.9) saturate(0.85);
transition: filter 0.35s ease;
}
/* 弹幕css */
2026-01-26 23:09:57 +08:00
.barrager {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none; /* 容器不阻挡点击 */
z-index: 1; /* 在 main (z-index: 10) 背后,但在 body 背景之上 */
overflow: hidden;
2026-01-29 21:19:49 +08:00
/* 性能优化:CSS 隔离 */
contain: layout style paint;
/* 某些浏览器可能支持 content-visibility */
content-visibility: auto;
2026-01-26 23:09:57 +08:00
}
/* 弹幕条目 (左到右) */
.barrage-item {
2026-01-22 21:39:19 +08:00
position: absolute;
2026-01-26 23:09:57 +08:00
display: inline-flex;
align-items: flex-start; /* 顶部对齐 */
white-space: nowrap;
will-change: transform;
pointer-events: auto; /* 弹幕本身可点击 */
2026-01-22 21:39:19 +08:00
user-select: none;
2026-01-26 23:09:57 +08:00
transform: translateX(-100%); /* 初始在左侧外 */
z-index: 10;
/* 初始透明度,配合动画实现淡入淡出 */
opacity: 0.9;
/* 缩小整体尺寸 */
transform-origin: left top;
2026-01-29 21:19:49 +08:00
/* 硬件加速 */
backface-visibility: hidden;
-webkit-font-smoothing: antialiased;
2026-01-22 21:39:19 +08:00
}
2026-01-26 23:09:57 +08:00
/* 头像样式 */
.barrage-avatar {
width: 28px; /* 缩小头像 */
height: 28px;
2026-01-22 21:39:19 +08:00
border-radius: 50%;
2026-01-26 23:09:57 +08:00
margin-right: 8px;
2026-01-22 21:39:19 +08:00
object-fit: cover;
2026-01-26 23:09:57 +08:00
border: 1px solid rgba(0,0,0,0.05);
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
flex-shrink: 0;
background: #fff;
2026-01-22 21:39:19 +08:00
}
2026-01-26 23:09:57 +08:00
/* 聊天气泡样式 (仿QQ/微信风格) */
.barrage-bubble {
background: #ffffff; /* QQ/微信 白底 */
color: #1f1f1f; /* 深黑文字 */
padding: 6px 10px; /* 缩小内边距 */
border-radius: 6px; /* 稍微减小圆角 */
font-size: 13px; /* 缩小字体 */
line-height: 1.4;
position: relative;
box-shadow: 0 1px 5px rgba(0,0,0,0.08);
max-width: 260px; /* 减小最大宽度 */
white-space: normal;
word-break: break-all;
}
/* 气泡小尾巴 */
.barrage-bubble::before {
content: '';
position: absolute;
top: 10px; /* 调整位置 */
left: -5px; /* 调整大小 */
width: 0;
height: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
border-right: 5px solid #ffffff;
}
/* 昼夜切换适配 */
[data-theme="dark"] .barrage-avatar {
border-color: #444;
background: #222;
}
[data-theme="dark"] .barrage-bubble {
background: #262626; /* 深色模式深灰底 */
color: #e5e5e5;
border: 1px solid rgba(255,255,255,0.05);
box-shadow: none;
}
[data-theme="dark"] .barrage-bubble::before {
border-right-color: #262626;
}
/* 悬停效果 */
.barrage-item:hover .barrage-bubble {
background: #f0f0f0; /* 悬停微暗 */
z-index: 100;
}
.barrage-item:hover .barrage-bubble::before {
border-right-color: #f0f0f0;
}
[data-theme="dark"] .barrage-item:hover .barrage-bubble {
background: #333;
}
[data-theme="dark"] .barrage-item:hover .barrage-bubble::before {
border-right-color: #333;
}
/* 左到右动画的关键帧 */
@keyframes barrage-slide-right {
0% {
transform: translateX(-100%); /* 左侧屏幕外 */
opacity: 0;
}
5% {
opacity: 1; /* 快速淡入 */
}
95% {
opacity: 1;
}
100% {
transform: translateX(100vw); /* 右侧屏幕外 */
opacity: 0; /* 淡出 */
}
2026-01-22 21:39:19 +08:00
}
#post-writing p{
margin-bottom: 10px;
}
#post-writing h2 {
position: relative; /* 确保伪元素的定位相对于 h2 元素 */
display: inline-block; /* 使 h2 的宽度适应内容 */
margin-top: 5px;
margin-bottom: 0px;
}
#post-writing h2:nth-child(1) {
position: relative; /* 确保伪元素的定位相对于 h2 元素 */
display: inline-block; /* 使 h2 的宽度适应内容 */
margin-top: 13px;
margin-bottom: 0px;
}
#post-writing h2::before {
content: "";
position: absolute;
height: 7px;
bottom: 0px;
left: -1px;
width: 100%; /* 使用 100% 使伪元素宽度跟随文字 */
z-index: -1;
background-color: #494949;
opacity: 0.15;
transform: skew(-35deg);
transition: opacity .2s ease;
border-radius: 3px 8px 10px 6px;
transition: 0.1s ease background-color;
}
#post-writing p>code{
font-size: 14px;
background-color: #e3e3e3!important;
color: #000000!important;
}
/* Hugo Chroma Syntax Highlighting */
/* Day Mode (GitHub) */
/* Background */ .bg { background-color:#fff; }
/* PreWrapper */ .chroma { color:#24292e;background-color:#fff; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { color:#a61717;background-color:#e3d2d2 }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ .chroma .hl { background-color:#e5e5e5 }
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* Line */ .chroma .line { display:flex; }
/* Keyword */ .chroma .k { color:#000;font-weight:bold }
/* KeywordConstant */ .chroma .kc { color:#000;font-weight:bold }
/* KeywordDeclaration */ .chroma .kd { color:#000;font-weight:bold }
/* KeywordNamespace */ .chroma .kn { color:#000;font-weight:bold }
/* KeywordPseudo */ .chroma .kp { color:#000;font-weight:bold }
/* KeywordReserved */ .chroma .kr { color:#000;font-weight:bold }
/* KeywordType */ .chroma .kt { color:#458;font-weight:bold }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { color:#008080 }
/* NameBuiltin */ .chroma .nb { color:#0086b3 }
/* NameBuiltinPseudo */ .chroma .bp { color:#999 }
/* NameClass */ .chroma .nc { color:#458;font-weight:bold }
/* NameConstant */ .chroma .no { color:#008080 }
/* NameDecorator */ .chroma .nd { color:#3c5d5d;font-weight:bold }
/* NameEntity */ .chroma .ni { color:#800080 }
/* NameException */ .chroma .ne { color:#900;font-weight:bold }
/* NameFunction */ .chroma .nf { color:#900;font-weight:bold }
/* NameFunctionMagic */ .chroma .fm { }
/* NameLabel */ .chroma .nl { color:#900;font-weight:bold }
/* NameNamespace */ .chroma .nn { color:#555 }
/* NameOther */ .chroma .nx { }
/* NameProperty */ .chroma .py { }
/* NameTag */ .chroma .nt { color:#000080 }
/* NameVariable */ .chroma .nv { color:#008080 }
/* NameVariableClass */ .chroma .vc { color:#008080 }
/* NameVariableGlobal */ .chroma .vg { color:#008080 }
/* NameVariableInstance */ .chroma .vi { color:#008080 }
/* NameVariableMagic */ .chroma .vm { }
/* Literal */ .chroma .l { }
/* LiteralDate */ .chroma .ld { }
/* LiteralString */ .chroma .s { color:#d14 }
/* LiteralStringAffix */ .chroma .sa { color:#d14 }
/* LiteralStringBacktick */ .chroma .sb { color:#d14 }
/* LiteralStringChar */ .chroma .sc { color:#d14 }
/* LiteralStringDelimiter */ .chroma .dl { color:#d14 }
/* LiteralStringDoc */ .chroma .sd { color:#d14 }
/* LiteralStringDouble */ .chroma .s2 { color:#d14 }
/* LiteralStringEscape */ .chroma .se { color:#d14 }
/* LiteralStringHeredoc */ .chroma .sh { color:#d14 }
/* LiteralStringInterpol */ .chroma .si { color:#d14 }
/* LiteralStringOther */ .chroma .sx { color:#d14 }
/* LiteralStringRegex */ .chroma .sr { color:#009926 }
/* LiteralStringSingle */ .chroma .s1 { color:#d14 }
/* LiteralStringSymbol */ .chroma .ss { color:#990073 }
/* LiteralNumber */ .chroma .m { color:#099 }
/* LiteralNumberBin */ .chroma .mb { color:#099 }
/* LiteralNumberFloat */ .chroma .mf { color:#099 }
/* LiteralNumberHex */ .chroma .mh { color:#099 }
/* LiteralNumberInteger */ .chroma .mi { color:#099 }
/* LiteralNumberIntegerLong */ .chroma .il { color:#099 }
/* LiteralNumberOct */ .chroma .mo { color:#099 }
/* Operator */ .chroma .o { color:#000;font-weight:bold }
/* OperatorWord */ .chroma .ow { color:#000;font-weight:bold }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color:#998;font-style:italic }
/* CommentHashbang */ .chroma .ch { color:#998;font-style:italic }
/* CommentMultiline */ .chroma .cm { color:#998;font-style:italic }
/* CommentSingle */ .chroma .c1 { color:#998;font-style:italic }
/* CommentSpecial */ .chroma .cs { color:#999;font-weight:bold;font-style:italic }
/* CommentPreproc */ .chroma .cp { color:#999;font-weight:bold;font-style:italic }
/* CommentPreprocFile */ .chroma .cpf { color:#999;font-weight:bold;font-style:italic }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { color:#000;background-color:#fdd }
/* GenericEmph */ .chroma .ge { color:#000;font-style:italic }
/* GenericError */ .chroma .gr { color:#a00 }
/* GenericHeading */ .chroma .gh { color:#999 }
/* GenericInserted */ .chroma .gi { color:#000;background-color:#dfd }
/* GenericOutput */ .chroma .go { color:#888 }
/* GenericPrompt */ .chroma .gp { color:#555 }
/* GenericStrong */ .chroma .gs { font-weight:bold }
/* GenericSubheading */ .chroma .gu { color:#aaa }
/* GenericTraceback */ .chroma .gt { color:#a00 }
/* GenericUnderline */ .chroma .gl { text-decoration:underline }
/* TextWhitespace */ .chroma .w { color:#bbb }
/* Night Mode (Dracula) */
/* Background */ [data-theme="dark"] .bg { color:#f8f8f2;background-color:#282a36; }
/* PreWrapper */ [data-theme="dark"] .chroma { color:#f8f8f2;background-color:#282a36; }
/* Other */ [data-theme="dark"] .chroma .x { }
/* Error */ [data-theme="dark"] .chroma .err { }
/* CodeLine */ [data-theme="dark"] .chroma .cl { }
/* LineLink */ [data-theme="dark"] .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
/* LineTableTD */ [data-theme="dark"] .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
/* LineTable */ [data-theme="dark"] .chroma .lntable { border-spacing:0;padding:0;margin:0;border:0; }
/* LineHighlight */ [data-theme="dark"] .chroma .hl { background-color:#3d3f4a }
/* LineNumbersTable */ [data-theme="dark"] .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* LineNumbers */ [data-theme="dark"] .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
/* Line */ [data-theme="dark"] .chroma .line { display:flex; }
/* Keyword */ [data-theme="dark"] .chroma .k { color:#ff79c6 }
/* KeywordConstant */ [data-theme="dark"] .chroma .kc { color:#ff79c6 }
/* KeywordDeclaration */ [data-theme="dark"] .chroma .kd { color:#8be9fd;font-style:italic }
/* KeywordNamespace */ [data-theme="dark"] .chroma .kn { color:#ff79c6 }
/* KeywordPseudo */ [data-theme="dark"] .chroma .kp { color:#ff79c6 }
/* KeywordReserved */ [data-theme="dark"] .chroma .kr { color:#ff79c6 }
/* KeywordType */ [data-theme="dark"] .chroma .kt { color:#8be9fd }
/* Name */ [data-theme="dark"] .chroma .n { }
/* NameAttribute */ [data-theme="dark"] .chroma .na { color:#50fa7b }
/* NameBuiltin */ [data-theme="dark"] .chroma .nb { color:#8be9fd;font-style:italic }
/* NameBuiltinPseudo */ [data-theme="dark"] .chroma .bp { }
/* NameClass */ [data-theme="dark"] .chroma .nc { color:#50fa7b }
/* NameConstant */ [data-theme="dark"] .chroma .no { }
/* NameDecorator */ [data-theme="dark"] .chroma .nd { }
/* NameEntity */ [data-theme="dark"] .chroma .ni { }
/* NameException */ [data-theme="dark"] .chroma .ne { }
/* NameFunction */ [data-theme="dark"] .chroma .nf { color:#50fa7b }
/* NameFunctionMagic */ [data-theme="dark"] .chroma .fm { }
/* NameLabel */ [data-theme="dark"] .chroma .nl { color:#8be9fd;font-style:italic }
/* NameNamespace */ [data-theme="dark"] .chroma .nn { }
/* NameOther */ [data-theme="dark"] .chroma .nx { }
/* NameProperty */ [data-theme="dark"] .chroma .py { }
/* NameTag */ [data-theme="dark"] .chroma .nt { color:#ff79c6 }
/* NameVariable */ [data-theme="dark"] .chroma .nv { color:#8be9fd;font-style:italic }
/* NameVariableClass */ [data-theme="dark"] .chroma .vc { color:#8be9fd;font-style:italic }
/* NameVariableGlobal */ [data-theme="dark"] .chroma .vg { color:#8be9fd;font-style:italic }
/* NameVariableInstance */ [data-theme="dark"] .chroma .vi { color:#8be9fd;font-style:italic }
/* NameVariableMagic */ [data-theme="dark"] .chroma .vm { }
/* Literal */ [data-theme="dark"] .chroma .l { }
/* LiteralDate */ [data-theme="dark"] .chroma .ld { }
/* LiteralString */ [data-theme="dark"] .chroma .s { color:#f1fa8c }
/* LiteralStringAffix */ [data-theme="dark"] .chroma .sa { color:#f1fa8c }
/* LiteralStringBacktick */ [data-theme="dark"] .chroma .sb { color:#f1fa8c }
/* LiteralStringChar */ [data-theme="dark"] .chroma .sc { color:#f1fa8c }
/* LiteralStringDelimiter */ [data-theme="dark"] .chroma .dl { color:#f1fa8c }
/* LiteralStringDoc */ [data-theme="dark"] .chroma .sd { color:#f1fa8c }
/* LiteralStringDouble */ [data-theme="dark"] .chroma .s2 { color:#f1fa8c }
/* LiteralStringEscape */ [data-theme="dark"] .chroma .se { color:#f1fa8c }
/* LiteralStringHeredoc */ [data-theme="dark"] .chroma .sh { color:#f1fa8c }
/* LiteralStringInterpol */ [data-theme="dark"] .chroma .si { color:#f1fa8c }
/* LiteralStringOther */ [data-theme="dark"] .chroma .sx { color:#f1fa8c }
/* LiteralStringRegex */ [data-theme="dark"] .chroma .sr { color:#f1fa8c }
/* LiteralStringSingle */ [data-theme="dark"] .chroma .s1 { color:#f1fa8c }
/* LiteralStringSymbol */ [data-theme="dark"] .chroma .ss { color:#f1fa8c }
/* LiteralNumber */ [data-theme="dark"] .chroma .m { color:#bd93f9 }
/* LiteralNumberBin */ [data-theme="dark"] .chroma .mb { color:#bd93f9 }
/* LiteralNumberFloat */ [data-theme="dark"] .chroma .mf { color:#bd93f9 }
/* LiteralNumberHex */ [data-theme="dark"] .chroma .mh { color:#bd93f9 }
/* LiteralNumberInteger */ [data-theme="dark"] .chroma .mi { color:#bd93f9 }
/* LiteralNumberIntegerLong */ [data-theme="dark"] .chroma .il { color:#bd93f9 }
/* LiteralNumberOct */ [data-theme="dark"] .chroma .mo { color:#bd93f9 }
/* Operator */ [data-theme="dark"] .chroma .o { color:#ff79c6 }
/* OperatorWord */ [data-theme="dark"] .chroma .ow { color:#ff79c6 }
/* Punctuation */ [data-theme="dark"] .chroma .p { }
/* Comment */ [data-theme="dark"] .chroma .c { color:#6272a4 }
/* CommentHashbang */ [data-theme="dark"] .chroma .ch { color:#6272a4 }
/* CommentMultiline */ [data-theme="dark"] .chroma .cm { color:#6272a4 }
/* CommentSingle */ [data-theme="dark"] .chroma .c1 { color:#6272a4 }
/* CommentSpecial */ [data-theme="dark"] .chroma .cs { color:#6272a4 }
/* CommentPreproc */ [data-theme="dark"] .chroma .cp { color:#ff79c6 }
/* CommentPreprocFile */ [data-theme="dark"] .chroma .cpf { color:#ff79c6 }
/* Generic */ [data-theme="dark"] .chroma .g { }
/* GenericDeleted */ [data-theme="dark"] .chroma .gd { color:#f55 }
/* GenericEmph */ [data-theme="dark"] .chroma .ge { text-decoration:underline }
/* GenericError */ [data-theme="dark"] .chroma .gr { }
/* GenericHeading */ [data-theme="dark"] .chroma .gh { font-weight:bold }
/* GenericInserted */ [data-theme="dark"] .chroma .gi { color:#50fa7b;font-weight:bold }
/* GenericOutput */ [data-theme="dark"] .chroma .go { color:#44475a }
/* GenericPrompt */ [data-theme="dark"] .chroma .gp { }
2026-06-02 16:26:38 +08:00
/* Floating Tools */
2026-01-24 18:35:57 +08:00
/* Floating Tools */
.floating-tools {
2026-01-22 21:39:19 +08:00
position: fixed;
2026-06-02 16:26:38 +08:00
bottom: 24px;
right: 16px;
z-index: 900;
2026-01-24 18:35:57 +08:00
display: flex;
flex-direction: column;
gap: 9px;
2026-01-24 18:35:57 +08:00
align-items: center;
opacity: 1;
2026-02-05 21:56:27 +08:00
visibility: visible;
2026-06-02 16:26:38 +08:00
transition: opacity 0.2s ease, visibility 0.2s ease;
2026-03-01 10:16:28 +08:00
}
.floating-tools.hidden {
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
}
.floating-tools a {
width: 40px;
height: 40px;
2026-06-02 16:26:38 +08:00
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
color: rgba(24, 24, 27, 0.75);
border-radius: 50%;
font-size: 18px;
cursor: pointer;
text-decoration: none;
display: flex;
justify-content: center;
align-items: center;
2026-06-02 16:26:38 +08:00
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
transition: all 0.2s ease;
}
.floating-tools a:hover {
2026-06-02 16:26:38 +08:00
background: rgba(255, 255, 255, 0.85);
color: rgba(24, 24, 27, 0.95);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
}
[data-theme="dark"] .floating-tools a {
2026-06-02 16:26:38 +08:00
background: rgba(30, 41, 59, 0.6);
color: rgba(241, 245, 249, 0.75);
border-color: rgba(148, 163, 184, 0.15);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
[data-theme="dark"] .floating-tools a:hover {
2026-06-02 16:26:38 +08:00
background: rgba(30, 41, 59, 0.85);
color: rgba(241, 245, 249, 0.95);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
2026-05-24 19:58:07 +08:00
/* ── ViewImage — Apple-style lightbox ── */
2026-03-01 10:16:28 +08:00
.view-image {
z-index: 2000 !important;
2026-05-24 19:58:07 +08:00
background: rgba(0, 0, 0, 0.92) !important;
2026-05-24 12:17:43 +08:00
}
2026-05-24 19:58:07 +08:00
/* Bottom toolbar */
2026-05-24 12:17:43 +08:00
.view-image-tools {
2026-05-24 19:58:07 +08:00
background: rgba(28, 28, 30, 0.72) !important;
-webkit-backdrop-filter: blur(20px) !important;
backdrop-filter: blur(20px) !important;
border: 1px solid rgba(255, 255, 255, 0.08) !important;
border-radius: 24px !important;
padding: 4px 8px 4px 14px !important;
max-width: 300px !important;
color: rgba(255, 255, 255, 0.9) !important;
box-shadow: none !important;
2026-05-24 12:17:43 +08:00
}
2026-05-24 19:58:07 +08:00
/* Counter */
2026-05-24 12:17:43 +08:00
.view-image-tools__count {
font-size: 13px;
font-weight: 500;
2026-05-24 19:58:07 +08:00
letter-spacing: 0.02em;
opacity: 0.7;
2026-05-24 12:17:43 +08:00
}
2026-05-24 19:58:07 +08:00
/* Buttons */
2026-05-24 12:17:43 +08:00
.view-image-btn {
2026-05-24 19:58:07 +08:00
width: 36px !important;
height: 36px !important;
border-radius: 50% !important;
background: transparent !important;
border: none !important;
color: rgba(255, 255, 255, 0.9);
transition: background 0.15s ease;
2026-05-24 12:17:43 +08:00
}
.view-image-btn:hover {
2026-05-24 19:58:07 +08:00
background: rgba(255, 255, 255, 0.12) !important;
2026-05-24 12:17:43 +08:00
}
.view-image-btn:active {
2026-05-24 19:58:07 +08:00
background: rgba(255, 255, 255, 0.2) !important;
transform: none;
2026-05-24 12:17:43 +08:00
}
2026-05-24 19:58:07 +08:00
/* Close button */
2026-05-24 12:17:43 +08:00
.view-image-tools .view-image-close {
2026-05-24 19:58:07 +08:00
margin: 0 0 0 6px !important;
2026-05-24 12:17:43 +08:00
}
2026-05-24 19:58:07 +08:00
/* Close overlay */
2026-05-24 12:17:43 +08:00
.view-image-close__full {
cursor: zoom-out;
}
/* Image */
.view-image-lead img {
2026-05-24 19:58:07 +08:00
border-radius: 4px !important;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
2026-05-24 12:17:43 +08:00
}
2026-05-24 19:58:07 +08:00
/* Dark mode */
2026-05-24 12:17:43 +08:00
[data-theme="dark"] .view-image {
2026-05-24 19:58:07 +08:00
background: rgba(0, 0, 0, 0.95) !important;
2026-05-24 12:17:43 +08:00
}
[data-theme="dark"] .view-image-tools {
2026-05-24 19:58:07 +08:00
background: rgba(28, 28, 30, 0.78) !important;
2026-05-24 12:17:43 +08:00
}
/* Mobile */
@media screen and (max-width: 768px) {
.view-image {
2026-05-24 19:58:07 +08:00
padding: 2% !important;
2026-05-24 12:17:43 +08:00
}
.view-image-tools {
2026-05-24 19:58:07 +08:00
max-width: calc(100% - 24px) !important;
border-radius: 24px !important;
padding: 4px 8px 4px 12px !important;
2026-05-24 12:17:43 +08:00
}
.view-image-btn {
2026-05-24 19:58:07 +08:00
width: 40px !important;
height: 40px !important;
2026-05-24 12:17:43 +08:00
}
2026-01-24 18:35:57 +08:00
}
2026-05-24 13:37:09 +08:00
/* ── Image Grid ── */
.img-grid {
display: grid;
gap: 4px;
2026-05-25 12:23:00 +08:00
margin: 0.2rem 0;
2026-05-24 13:37:09 +08:00
}
.img-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.img-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.img-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
/* Penetrate Markdown <p> wrappers so images become grid items */
.img-grid > p {
display: contents;
}
.img-grid .sen-image-frame {
margin: 0;
aspect-ratio: 1 / 1;
width: 100%;
max-width: 100%;
height: 100%;
overflow: hidden;
border-radius: 4px;
}
/* ══════════════════════════════════════════════
强制覆盖 - 深色模式表格样式(修复缓存问题)
══════════════════════════════════════════════ */
/* 强制深色模式表头文字颜色 */
[data-theme="dark"] .post-content table th,
[data-theme="dark"] .post-content th {
color: rgba(203, 213, 225, 0.85) !important;
border-bottom-color: rgba(148, 163, 184, 0.15) !important;
background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78)) !important;
}
/* 强制深色模式单元格文字颜色 */
[data-theme="dark"] .post-content table td,
[data-theme="dark"] .post-content td {
color: rgba(203, 213, 225, 0.8) !important;
border-bottom-color: rgba(148, 163, 184, 0.08) !important;
border-right-color: rgba(148, 163, 184, 0.08) !important;
}
/* 强制深色模式表格背景 */
[data-theme="dark"] .post-content table {
background: rgba(15, 23, 42, 0.95) !important;
border-color: rgba(148, 163, 184, 0.18) !important;
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important;
}
/* 强制深色模式表格所有边框 */
[data-theme="dark"] .post-content table th,
[data-theme="dark"] .post-content table td {
border: 1px solid rgba(148, 163, 184, 0.12) !important;
}
[data-theme="dark"] .post-content table th {
border-bottom: 2px solid rgba(148, 163, 184, 0.2) !important;
}
/* 强制深色模式代码样式 */
[data-theme="dark"] .post-content table code {
background: rgba(148, 163, 184, 0.12) !important;
color: rgba(203, 213, 225, 0.9) !important;
border-color: rgba(148, 163, 184, 0.15) !important;
}
/* 强制深色模式链接样式 */
[data-theme="dark"] .post-content table a {
color: var(--link-color-dark) !important;
border-bottom-color: rgba(148, 163, 184, 0.4) !important;
}
[data-theme="dark"] .post-content table a:hover {
color: var(--link-hover-color-dark) !important;
}
/* 强制深色模式斑马纹 */
[data-theme="dark"] .post-content table tbody tr:nth-child(even) {
background-color: rgba(30, 41, 59, 0.5) !important;
}
[data-theme="dark"] .post-content table tbody tr:hover {
background-color: rgba(30, 41, 59, 0.8) !important;
}
/* 强制深色模式冻结列(第一列) */
[data-theme="dark"] .post-content table thead th:first-child {
background: linear-gradient(135deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78)) !important;
}
[data-theme="dark"] .post-content table tbody tr:nth-child(odd) td:first-child,
[data-theme="dark"] .post-content table tbody tr:nth-child(odd) th:first-child {
background: rgba(15, 23, 42, 0.95) !important;
}
[data-theme="dark"] .post-content table tbody tr:nth-child(even) td:first-child,
[data-theme="dark"] .post-content table tbody tr:nth-child(even) th:first-child {
background: rgba(30, 41, 59, 0.5) !important;
}
[data-theme="dark"] .post-content table tbody tr:hover td:first-child,
[data-theme="dark"] .post-content table tbody tr:hover th:first-child {
background: rgba(30, 41, 59, 0.8) !important;
}
/* ══════════════════════════════════════════════
深色模式滚动条样式
══════════════════════════════════════════════ */
/* 深色模式滚动条整体 */
[data-theme="dark"] ::-webkit-scrollbar {
width: 13px;
height: 13px;
background: rgba(15, 23, 42, 0.5);
}
/* 深色模式滚动条轨道 */
[data-theme="dark"] ::-webkit-scrollbar-track {
background: rgba(30, 41, 59, 0.3);
border-radius: 6px;
}
/* 深色模式滚动条滑块 */
[data-theme="dark"] ::-webkit-scrollbar-thumb {
min-height: 16px;
background-color: rgba(148, 163, 184, 0.4);
background-clip: padding-box;
border: 3px solid rgba(30, 41, 59, 0.8);
border-radius: 6px;
transition: background-color 0.2s ease;
}
/* 深色模式滚动条滑块悬停 */
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
background-color: rgba(148, 163, 184, 0.6);
}
/* 深色模式滚动条角落 */
[data-theme="dark"] ::-webkit-scrollbar-corner {
background: rgba(15, 23, 42, 0.5);
}
/* Firefox深色模式滚动条 */
[data-theme="dark"] * {
scrollbar-width: thin;
scrollbar-color: rgba(148, 163, 184, 0.4) rgba(30, 41, 59, 0.3);
}
/* ══════════════════════════════════════════════ */
/* 表格滚动条深色模式 */
[data-theme="dark"] .post-content table::-webkit-scrollbar {
height: 8px;
background: rgba(15, 23, 42, 0.3);
}
[data-theme="dark"] .post-content table::-webkit-scrollbar-thumb {
background-color: rgba(148, 163, 184, 0.3);
border: 2px solid rgba(30, 41, 59, 0.5);
border-radius: 4px;
}
[data-theme="dark"] .post-content table::-webkit-scrollbar-track {
background: rgba(30, 41, 59, 0.2);
border-radius: 4px;
}
2026-05-24 13:37:09 +08:00
.img-grid .sen-image-frame > img {
width: 100%;
height: 100%;
max-width: 100%;
object-fit: cover;
border-radius: 4px;
}
2026-05-25 12:23:00 +08:00
/* Mobile: reduce columns for smaller screens */
@media screen and (max-width: 640px) {
2026-05-24 13:37:09 +08:00
.img-grid.cols-3,
.img-grid.cols-4 {
grid-template-columns: repeat(2, 1fr);
}
2026-05-25 12:23:00 +08:00
.img-grid .sen-image-frame {
aspect-ratio: auto;
}
}
@media screen and (max-width: 400px) {
.img-grid.cols-2,
.img-grid.cols-3,
.img-grid.cols-4 {
grid-template-columns: 1fr;
}
2026-05-24 13:37:09 +08:00
}
/* ── Toast ── */
.ying-toast-container {
position: fixed;
top: 18px;
left: 50%;
transform: translateX(-50%);
z-index: 10000;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
pointer-events: none;
}
.ying-toast {
padding: 9px 18px;
border-radius: 6px;
font-size: 13px;
font-weight: 500;
line-height: 1.3;
opacity: 0;
transform: translateY(-10px);
transition: opacity 0.28s ease, transform 0.28s ease;
pointer-events: auto;
2026-05-25 12:23:00 +08:00
-webkit-backdrop-filter: blur(4px);
backdrop-filter: blur(4px);
will-change: transform, opacity;
}
.ying-toast--visible {
opacity: 1;
transform: translateY(0);
}
.ying-toast--success {
background: rgba(34, 197, 94, 0.88);
color: #fff;
box-shadow: 0 8px 32px rgba(34, 197, 94, 0.18);
}
.ying-toast--error {
background: rgba(239, 68, 68, 0.88);
color: #fff;
box-shadow: 0 8px 32px rgba(239, 68, 68, 0.18);
}
.ying-toast--warning {
background: rgba(245, 158, 11, 0.88);
color: #fff;
box-shadow: 0 8px 32px rgba(245, 158, 11, 0.18);
}
.ying-toast--info {
background: rgba(29, 61, 108, 0.85);
color: #f0f4fb;
box-shadow: 0 8px 32px rgba(29, 61, 108, 0.18);
}
[data-theme="dark"] .ying-toast--info {
background: rgba(159, 196, 244, 0.22);
color: #f3f7fd;
2026-05-25 12:23:00 +08:00
-webkit-backdrop-filter: blur(4px);
backdrop-filter: blur(4px);
}
@media screen and (max-width: 480px) {
.ying-toast {
padding: 8px 14px;
font-size: 12px;
border-radius: 5px;
}
}
2026-01-24 18:35:57 +08:00
/* Back to Top Button */
#back-to-top {
opacity: 0;
visibility: hidden;
height: 0;
width: 42px;
2026-01-24 18:35:57 +08:00
margin: 0;
2026-01-31 15:44:02 +08:00
padding: 0;
2026-01-24 18:35:57 +08:00
overflow: hidden;
2026-01-31 22:52:19 +08:00
/* Use translate3d for GPU acceleration instead of scale/translateY combo which might cause repaint */
transform: translate3d(0, 10px, 0) scale(0.8);
2026-01-31 15:44:02 +08:00
pointer-events: none;
border-width: 0;
transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s, height 0.3s ease, border-width 0.3s ease;
2026-01-31 22:52:19 +08:00
/* Explicitly tell browser to promote this layer */
2026-01-31 15:44:02 +08:00
will-change: opacity, transform, height;
2026-01-22 21:39:19 +08:00
}
2026-02-05 21:56:27 +08:00
/* Ensure consistent display state when active */
2026-01-22 21:39:19 +08:00
#back-to-top.show {
opacity: 1;
visibility: visible;
height: 42px;
width: 42px;
2026-01-24 18:35:57 +08:00
margin-top: 0;
2026-01-31 22:52:19 +08:00
transform: translate3d(0, 0, 0) scale(1);
2026-01-31 15:44:02 +08:00
pointer-events: auto;
border-width: 1px;
2026-02-05 21:56:27 +08:00
display: flex; /* Force flex display to keep icon centered */
2026-01-22 21:39:19 +08:00
}
2026-01-24 18:35:57 +08:00
#back-to-top.show:hover {
2026-01-31 22:52:19 +08:00
transform: translate3d(0, -3px, 0) scale(1);
2026-01-22 21:39:19 +08:00
}
/* GenericStrong */ [data-theme="dark"] .chroma .gs { }
/* GenericSubheading */ [data-theme="dark"] .chroma .gu { font-weight:bold }
/* GenericTraceback */ [data-theme="dark"] .chroma .gt { }
/* GenericUnderline */ [data-theme="dark"] .chroma .gl { text-decoration:underline }
/* TextWhitespace */ [data-theme="dark"] .chroma .w { }
2026-01-28 22:15:31 +08:00
2026-01-22 21:39:19 +08:00
/* About Page Card Style */
.about-card {
background-color: transparent;
border-radius: 0;
padding: 0;
box-shadow: none !important;
margin-bottom: 30px;
}
[data-theme="dark"] .about-card {
background-color: transparent;
box-shadow: none !important;
2024-07-11 08:59:32 +08:00
}
2026-01-23 14:31:45 +08:00
2026-01-24 19:34:32 +08:00
/* Selection Popup (Quote Button) */
#selection-popup {
position: fixed;
display: none;
background: rgba(30, 30, 30, 0.9);
color: #fff;
padding: 8px 16px;
border-radius: 8px;
font-size: 14px;
cursor: pointer;
z-index: 2147483647;
transform: translate(-50%, -100%);
pointer-events: auto;
/* Removed backdrop-filter for performance */
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
transition: opacity 0.2s, transform 0.2s;
font-weight: 500;
line-height: 1.4;
user-select: none;
-webkit-user-select: none;
align-items: center;
gap: 6px;
white-space: nowrap;
will-change: transform, opacity;
animation: popIn 0.2s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}
@keyframes popIn {
0% { transform: translate(-50%, -80%) scale(0.9); opacity: 0; }
100% { transform: translate(-50%, -100%) scale(1); opacity: 1; }
}
#selection-popup i {
font-size: 16px;
}
#selection-popup::after {
content: '';
position: absolute;
top: 100%;
left: 50%;
margin-left: -6px;
border-width: 6px;
border-style: solid;
border-color: rgba(30, 30, 30, 0.9) transparent transparent transparent;
}
#selection-popup:hover {
transform: translate(-50%, -110%) scale(1.05);
background: #000;
box-shadow: 0 6px 16px rgba(0,0,0,0.25);
}
[data-theme="dark"] #selection-popup {
background: rgba(255, 255, 255, 0.95);
color: #000;
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
[data-theme="dark"] #selection-popup::after {
border-color: rgba(255, 255, 255, 0.95) transparent transparent transparent;
}
[data-theme="dark"] #selection-popup:hover {
background: #fff;
}
2026-01-23 14:31:45 +08:00
/* Category Page Styles */
.category-container {
max-width: 100%;
}
.category-header {
2026-01-23 15:10:12 +08:00
text-align: left;
margin-bottom: 10px;
2026-01-23 14:31:45 +08:00
padding-bottom: 20px;
border-bottom: 1px dashed var(--frame-color);
}
.cat-title {
font-size: 2.2rem;
font-weight: 700;
margin-bottom: 10px;
color: var(--text-title-color);
}
.cat-meta {
color: var(--text-highlight-color);
font-size: 0.95rem;
}
.year-group {
margin-bottom: 40px;
}
.year-title {
font-size: 1.8rem;
font-weight: bold;
margin-bottom: 20px;
color: var(--text-title-color);
position: relative;
padding-left: 15px;
border-left: 4px solid var(--text-title-color);
}
[data-theme="dark"] .year-title {
border-left-color: var(--text-title-dark-color);
}
.year-list {
list-style: none;
padding: 0;
}
.year-item {
display: flex;
align-items: center;
padding: 12px 15px;
border-bottom: 1px solid var(--frame-color);
transition: all 0.3s ease;
border-radius: 6px;
}
.year-item:hover {
background-color: rgba(0, 0, 0, 0.03);
padding-left: 25px;
}
[data-theme="dark"] .year-item:hover {
background-color: rgba(255, 255, 255, 0.03);
}
.item-date {
font-family: 'Monaco', 'Consolas', monospace;
color: var(--text-highlight-color);
margin-right: 20px;
font-size: 0.9rem;
min-width: 50px;
}
.item-link {
color: var(--text-content-color);
text-decoration: none;
font-size: 1.05rem;
font-weight: 500;
flex-grow: 1;
}
[data-theme="dark"] .item-link {
color: var(--text-content-dark-color);
}
.item-link:hover {
color: var(--link-hover-color-light);
}
[data-theme="dark"] .item-link:hover {
color: var(--link-hover-color-dark);
}
2026-01-24 20:16:32 +08:00
/* Category Page Dark Mode Fixes */
[data-theme="dark"] .category-header {
border-bottom-color: var(--frame-dark-color);
}
[data-theme="dark"] .cat-title {
color: var(--text-title-dark-color);
}
[data-theme="dark"] .cat-meta {
color: #9ca3af;
}
[data-theme="dark"] .year-title {
color: var(--text-title-dark-color);
}
[data-theme="dark"] .year-item {
border-bottom-color: var(--frame-dark-color);
}
[data-theme="dark"] .item-date {
color: #9ca3af;
}
2026-01-28 22:15:31 +08:00
/* ==========================================================================
Misc Overrides
========================================================================== */
[data-theme="dark"] .uk-divider-icon {
background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%236b7280%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%3C%2Fsvg%3E");
}
[data-theme="dark"] .uk-divider-icon::after,
[data-theme="dark"] .uk-divider-icon::before {
border-bottom-color: #374151;
}
/* ==========================================================================
Artalk Comment System Optimization
========================================================================== */
/* --- Base Styles (Light Mode) --- */
.artalk {
margin-top: 20px;
--at-color-main: #666 !important;
--at-color-pink: var(--text-highlight-color) !important;
--at-color-light: var(--text-highlight-color) !important;
--at-color-meta: #999 !important;
--at-color-border: #DDD !important;
--at-color-bg-grey: #f9f9f9 !important;
}
2026-01-31 18:18:19 +08:00
/* Loading Skeleton */
.atk-loading-placeholder {
padding: 20px 0;
}
.atk-loading-item {
display: flex;
margin-bottom: 20px;
padding: 10px 0;
/* border-bottom: 1px dashed var(--at-color-border); */ /* Optional */
}
.atk-loading-avatar {
width: 32px;
height: 32px;
border-radius: 50%;
background-color: #f2f2f2;
margin-right: 15px;
margin-top: 5px;
flex-shrink: 0;
}
.atk-loading-content {
flex: 1;
}
.atk-loading-line {
height: 10px;
background-color: #f2f2f2;
border-radius: 4px;
margin-bottom: 8px;
}
.atk-loading-line.width-name { width: 100px; height: 12px; margin-bottom: 12px; }
.atk-loading-line.width-80 { width: 80%; }
.atk-loading-line.width-60 { width: 60%; }
.atk-loading-line.width-40 { width: 40%; }
/* Shimmer Effect */
@keyframes atk-skeleton-shimmer {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}
.atk-loading-avatar, .atk-loading-line {
background: linear-gradient(90deg, #f0f0f0 25%, #f8f8f8 50%, #f0f0f0 75%);
background-size: 200% 100%;
animation: atk-skeleton-shimmer 1.5s infinite;
}
/* Dark Mode Skeleton */
[data-theme="dark"] .atk-loading-avatar,
[data-theme="dark"] .atk-loading-line {
background: linear-gradient(90deg, #2a2a2a 25%, #333 50%, #2a2a2a 75%);
background-size: 200% 100%;
}
2026-01-28 22:15:31 +08:00
/* Layout & Spacing */
.atk-comment { padding: 10px 0 !important; }
.atk-list-read-more { padding-bottom: 0 !important; }
.artalk > .atk-list > .atk-list-header { display: none !important; }
.artalk > .atk-list > .atk-list-footer { bottom: auto !important; }
.atk-main { margin-left: 34px !important; }
.atk-bottom { padding: 5px 10px 10px 5px !important; }
.atk-comment-children > .atk-comment-wrap { margin-top: 6px !important; }
.atk-comment-children > .atk-comment-wrap > .atk-comment { padding: 0 !important; margin: auto; }
.atk-comment .atk-height-limit:after { margin-bottom: 20px; }
/* Avatar */
.atk-avatar img {
border-radius: 50% !important;
transition: transform 0.4s ease, box-shadow 0.4s ease !important;
box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
border: none !important; /* 去除边框 */
}
.atk-avatar img:hover {
transform: rotate(360deg) scale(1.1) !important;
box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}
.atk-comment > .atk-avatar img {
width: 32px !important; /* 从 32px 增加到 40px */
height: 32px !important;
/* margin-top: 4px; */
margin-right: 6px!important;
}
/* Content & Typography */
.atk-content { line-height: 1.6 !important; }
.atk-content p { font-size: 1rem !important; color: var(--text-content-color) !important; }
.atk-item.atk-nick, .atk-nick { color: var(--text-title-color) !important; font-weight: 700 !important; }
.atk-header .atk-nick { font-weight: normal !important; }
.atk-item.atk-nick a { color: var(--text-title-color) !important; }
.atk-ua { color: #999 !important; background: var(--frame-color) !important; }
.atk-ua-wrap { font-size: 11px; }
.atk-text { color: #999 !important; }
.atk-list-no-comment, .atk-copyright, .atk-copyright a { color: #999 !important; }
.atk-pinned-badge { background: #999 !important; }
/* Editor */
.atk-main-editor {
position: relative;
overflow: hidden;
background: var(--at-color-bg) !important;
border: 1px solid var(--at-color-border) !important;
border-radius: 6px;
margin-bottom: 10px;
}
.atk-textarea { min-height: 70px !important; padding: 10px !important; color: var(--text-content-color) !important; background: transparent !important; }
2026-01-28 22:15:31 +08:00
.atk-main-editor > .atk-header { padding: 10px 5px 0 !important; }
.atk-main-editor > .atk-plug-panel-wrap { border-top: 0.5px solid var(--at-color-border) !important; }
.atk-plug-panel-wrap { height: 110px !important; }
/* Light Mode Input Fields */
.artalk .atk-main-editor input.atk-nick,
.artalk .atk-main-editor input.atk-email,
.artalk .atk-main-editor input.atk-link {
2026-01-24 20:16:32 +08:00
color: var(--text-content-color) !important;
}
2026-01-28 22:15:31 +08:00
/* Buttons & Badges (Light Mode) */
.atk-send-btn {
padding: 0 12px !important;
min-width: 60px !important;
2026-01-30 19:49:16 +08:00
background-color: var(--background-dark-color) !important; /* 实心背景 */
2026-01-28 22:15:31 +08:00
color: #fff !important; /* 白色文字 */
border: none !important;
border-radius: 4px !important;
font-size: 13px !important;
transition: all 0.3s ease !important;
2026-01-24 20:16:32 +08:00
}
2026-01-28 22:15:31 +08:00
.atk-send-btn:hover {
opacity: 0.9;
2026-01-30 19:49:16 +08:00
/* transform: translateY(-1px); */
2026-01-28 22:15:31 +08:00
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.atk-pinned-badge {
background-color: var(--text-highlight-color) !important;
color: #fff !important;
border-radius: 3px !important;
font-size: 12px !important;
padding: 1px 5px !important;
}
.atk-badge {
background-color: #999 !important; /* 普通徽章颜色 */
color: #fff !important;
border-radius: 3px !important;
padding: 1px 5px !important;
}
/* Emoticons & Images */
.atk-content img {
max-height: 1.25rem !important; /* 稍微调小一点,使其更贴合文字 */
vertical-align: sub !important; /* 改为 sub 对齐,通常比 text-bottom 更自然 */
margin: 0 1px !important; /* 减小间距 */
transition: transform 0.2s ease !important;
display: inline !important; /* 强制行内显示,防止换行 */
width: auto !important; /* 防止被拉伸 */
border: none !important; /* 去除边框 */
box-shadow: none !important; /* 去除阴影 */
background: transparent !important; /* 去除背景 */
}
.atk-content img:hover {
transform: scale(1.2) !important;
}
.atk-comment > .atk-main > .atk-body > .atk-content img {
/* 大图样式保持不变,但要区分开 */
display: inline-block; /* 默认大图也是行内块,除非特别大 */
}
/* 专门针对大图的覆盖样式(通过 JS 或特定类名判断通常较难,这里假设单独的 img 标签可能是大图,但 Artalk 结构统一,主要靠 max-height 控制) */
/* 更好的策略是:默认所有 img 都是小表情样式。如果是真正的图片附件,Artalk 通常会有特定包裹或类名,或者我们只能通过 CSS 区分 */
/* 修正:Artalk 的表情通常有 atk-emoticon 属性,或者是在 .atk-content 内部的 img */
/* 为了防止误伤大图,我们可以利用 Artalk 的结构特性 */
.atk-content .atk-emoticon {
display: inline !important; /* 关键:防止换行 */
height: 1.25rem !important;
max-height: 1.25rem !important;
margin: 0 1px !important;
vertical-align: sub !important;
box-shadow: none !important;
border-radius: 0 !important;
width: auto !important;
}
/* 针对非表情的大图(如果 Artalk 没有给表情加 atk-emoticon 类,这个可能会有冲突,但通常会有) */
/* 如果 img 标签有 alt 且 src 包含 emoticons 路径,通常是表情。这里主要依靠 max-height 限制 */
img[atk-emoticon] {
max-height: 20px !important;
display: inline !important;
vertical-align: sub !important;
}
.atk-editor-plug-emoticons > .atk-grp-wrap > .atk-grp[data-type=image] > .atk-item { height: 32px !important; width: 32px !important; }
.atk-editor-plug-emoticons > .atk-grp-wrap > .atk-grp > .atk-item { font-size: 24px !important; padding: 0 !important; }
/* Blockquote */
.atk-content blockquote {
margin: 10px 0 10px 0;
padding: 12px 16px;
background-color: #f8f9fa; /* 更清爽的浅灰背景 */
border-left: 4px solid var(--text-highlight-color);
border-radius: 4px;
color: #555; /* 深灰文字,提升阅读体验 */
font-size: 0.95rem;
2026-01-30 19:49:16 +08:00
font-style: normal;
2026-01-28 22:15:31 +08:00
line-height: 1.6;
position: relative;
transition: all 0.3s ease;
box-shadow: 0 1px 2px rgba(0,0,0,0.05); /* 轻微阴影增加层次 */
}
/* 引用块内的图标装饰 (可选) */
.atk-content blockquote::before {
content: "\201C"; /* 双引号 */
font-family: Georgia, serif;
font-size: 2rem;
position: absolute;
top: -5px;
right: 10px;
color: rgba(0,0,0,0.05);
pointer-events: none;
}
.atk-content blockquote + p { margin-top: 8px !important; }
.atk-content blockquote p {
margin: 0;
color: inherit !important;
font-size: inherit !important;
line-height: inherit !important;
}
/* Code */
.artalk code {
border: 1px solid #ffbe98 !important;
border-radius: 4px !important;
background: transparent !important;
margin: 0 4px !important;
}
/* Notifications */
.atk-notify.atk-fade-in { background: #666 !important; margin-bottom: 6px; }
/* Emoji Switcher */
.atk-grp-switcher span { color: var(--text-content-color) !important; }
/* Loading State (Light Mode) */
.atk-loading {
background: rgba(255, 255, 255, 0.8) !important;
box-shadow: none !important; /* 去除阴影,更简洁 */
border-radius: 8px !important;
2026-05-20 14:33:05 +08:00
backdrop-filter: none;
-webkit-backdrop-filter: none;
2026-01-28 22:15:31 +08:00
/* display: flex !important; <-- 移除这个强制显示 */
align-items: center;
justify-content: center;
min-height: 100px; /* 保证有足够的高度显示 loading */
}
/* 重新设计 Loading 动画圆圈 */
.atk-loading-spinner {
width: 40px !important;
height: 40px !important;
}
.atk-loading-spinner svg {
animation: atk-rotate 1.5s linear infinite !important;
}
.atk-loading-spinner svg circle {
stroke: var(--text-highlight-color) !important;
stroke-width: 3px !important;
stroke-dasharray: 100 !important;
stroke-dashoffset: 50 !important;
fill: transparent !important;
stroke-linecap: round !important;
animation: atk-dash 1.5s ease-in-out infinite !important;
}
@keyframes atk-rotate {
100% { transform: rotate(360deg); }
}
@keyframes atk-dash {
0% { stroke-dasharray: 1, 150; stroke-dashoffset: 0; }
50% { stroke-dasharray: 90, 150; stroke-dashoffset: -35; }
100% { stroke-dasharray: 90, 150; stroke-dashoffset: -124; }
}
/* --- Dark Mode Overrides --- */
2026-01-29 20:33:30 +08:00
/* --- Dark Mode Overrides (Fixed Syntax) --- */
[data-theme="dark"] .artalk {
--at-color-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0), #242021) !important;
--at-color-bg: #1A1718 !important;
--at-color-border: #332D2F !important;
--at-color-meta: #666 !important;
--at-color-bg-grey: #332D2E !important;
--at-color-grey: #747474 !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .artalk,
[data-theme="dark"] .atk-layer-wrap,
[data-theme="dark"] .atk-content,
[data-theme="dark"] .atk-header,
[data-theme="dark"] .atk-content p,
[data-theme="dark"] .pinglun {
color: var(--text-content-dark-color) !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-item.atk-nick,
[data-theme="dark"] .atk-header .atk-nick,
[data-theme="dark"] .atk-item.atk-nick a {
color: var(--text-title-dark-color) !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-main-editor {
background: transparent !important;
border: 1px solid var(--frame-dark-color) !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-textarea {
color: var(--text-content-dark-color) !important;
background: transparent !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .artalk .atk-main-editor input.atk-nick,
[data-theme="dark"] .artalk .atk-main-editor input.atk-email,
[data-theme="dark"] .artalk .atk-main-editor input.atk-link {
color: var(--text-content-dark-color) !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-ua {
color: #666 !important;
background: var(--background-dark-color) !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-text,
[data-theme="dark"] .atk-list-no-comment,
[data-theme="dark"] .atk-copyright,
[data-theme="dark"] .atk-copyright a,
[data-theme="dark"] .atk-comment .atk-main .atk-footer .atk-actions span:hover {
color: #666 !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-pinned-badge {
color: #e5e5e5 !important;
background: #332D2F !important; /* 与深色边框呼应 */
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-badge {
color: #e5e5e5 !important;
background: #444 !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-reply-to {
border-left: 3px solid #242021 !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-send-btn {
2026-01-30 19:49:16 +08:00
background: var(--date_text_color) !important; /* 深色实心背景 */
2026-01-29 20:33:30 +08:00
color: #e5e5e5 !important;
border: 1px solid rgba(255,255,255,0.1) !important;
}
2026-01-28 22:15:31 +08:00
2026-01-29 20:33:30 +08:00
[data-theme="dark"] .atk-send-btn:hover {
background: #444 !important;
color: #fff !important;
}
[data-theme="dark"] .atk-main-editor > .atk-bottom .atk-state-btn {
background: var(--background-dark-color) !important;
}
[data-theme="dark"] .atk-main-editor > .atk-bottom .atk-state-btn .atk-text-wrap {
color: #666;
}
/* Blockquote Dark Mode */
[data-theme="dark"] .atk-content blockquote {
background-color: #252526; /* 更深的背景 */
border-left-color: #444; /* 边框颜色与主题呼应 */
color: #b0b0b0; /* 柔和的灰白文字 */
box-shadow: none; /* 暗色模式去除阴影或减弱 */
}
[data-theme="dark"] .atk-content blockquote::before {
color: rgba(255,255,255,0.05); /* 暗色模式下的装饰引号 */
}
/* Emoji Switcher Dark Mode */
[data-theme="dark"] .atk-grp-switcher span {
color: var(--text-content-dark-color) !important;
}
/* Loading State (Dark Mode) */
[data-theme="dark"] .atk-loading {
background: rgba(30, 30, 30, 0.8) !important; /* 与白昼模式保持一致的透明度 */
box-shadow: none !important;
color: #e5e5e5 !important;
}
[data-theme="dark"] .atk-loading-spinner svg circle {
stroke: #e5e5e5 !important;
opacity: 0.8;
2026-01-28 22:15:31 +08:00
}
2026-02-05 22:21:19 +08:00
/* --- Global Theme Transition --- */
body,
.main,
2026-05-24 21:34:06 +08:00
body,
.main,
2026-02-05 22:21:19 +08:00
.header,
.footer,
.post-content,
.post-title,
2026-01-28 22:15:31 +08:00
.atk-main-editor,
.atk-textarea,
.atk-content,
.atk-content p,
.atk-item.atk-nick,
.atk-list-no-comment,
.atk-copyright,
.atk-send-btn,
.atk-loading,
.atk-layer-wrap,
.atk-comment .atk-main .atk-footer .atk-actions span,
.atk-ua,
.atk-grp-switcher span,
.atk-plug-panel-wrap,
.atk-loading-spinner svg circle,
2026-02-05 22:21:19 +08:00
.atk-content blockquote,
.floating-tools a,
.meta,
.meta-item,
hr,
[data-theme] {
/* Smoother, slightly longer transition for background/color/shadow */
transition: background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
border-color 0.5s cubic-bezier(0.4, 0, 0.2, 1),
fill 0.5s cubic-bezier(0.4, 0, 0.2, 1),
2026-05-25 12:23:00 +08:00
opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
2026-01-28 22:15:31 +08:00
}
2026-02-05 22:21:19 +08:00
/* --- Transition Effects (Deprecated old block) --- */
/* .artalk, ... (Old selectors removed to avoid conflict) */
2026-01-28 22:15:31 +08:00
/* --- Force Light Mode Overrides (Fix for Day Mode visibility) --- */
/* Increasing specificity to override dark mode media query */
[data-theme="light"] .artalk,
[data-theme="light"] .atk-layer-wrap,
[data-theme="light"] .atk-content,
[data-theme="light"] .atk-header,
[data-theme="light"] .atk-content p,
[data-theme="light"] .pinglun,
html[data-theme="light"] .atk-item.atk-nick,
html[data-theme="light"] .atk-item.atk-nick a,
html[data-theme="light"] .atk-header .atk-nick,
html[data-theme="light"] .atk-main-editor input.atk-nick,
html[data-theme="light"] .atk-main-editor input.atk-email,
html[data-theme="light"] .atk-main-editor input.atk-link {
color: var(--text-content-color) !important;
}
/* Force Blockquote Light Mode */
html[data-theme="light"] .atk-content blockquote {
color: #555 !important;
background-color: #f8f9fa !important;
border-left-color: var(--text-highlight-color) !important;
}
html[data-theme="light"] .atk-content blockquote p {
color: #555 !important;
}
/* Force Loading Spinner Light Mode */
html[data-theme="light"] .atk-loading-spinner svg circle {
stroke: var(--text-highlight-color) !important;
opacity: 1 !important;
}
/* 修复 Artalk 加载完成后 loading 不消失的问题 */
/* 当 Artalk 加载完成后,通常会移除 atk-loading 类,或者添加 hidden 类 */
/* 强制 .atk-loading 只有在确实需要显示时才显示 */
.atk-loading {
display: none !important; /* 默认隐藏 */
}
/* 只有当它作为直接子元素且需要显示时才显示(Artalk 内部逻辑控制) */
/* 通常 Artalk 会在加载时插入这个元素。如果它一直显示,可能是 display: flex !important 覆盖了 Artalk 的隐藏逻辑 */
/* 我们需要找到一个更精确的选择器,或者去掉 !important */
/* 尝试移除 display: flex !important,改用更温和的方式 */
.artalk.atk-loading-wrap .atk-loading {
display: flex !important; /* 仅在父容器有 loading 状态时显示 */
}
.artalk .atk-loading {
/* 恢复默认行为,让 JS 控制显示隐藏 */
display: flex;
visibility: visible;
opacity: 1;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
/* 当 Artalk 移除 loading 状态时(通常是移除元素或添加隐藏类) */
.atk-loading.atk-fade-out {
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
}
.artalk.hidden { display: none; }
2026-01-28 23:20:39 +08:00
/* Search Modal Styles */
.search-modal {
position: fixed;
z-index: 1000;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.28);
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
2026-01-28 23:20:39 +08:00
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.28s ease, visibility 0.28s ease;
2026-01-28 23:20:39 +08:00
}
.search-modal.show {
opacity: 1;
visibility: visible;
pointer-events: auto;
2026-01-28 23:20:39 +08:00
}
.search-modal-content {
background: rgba(255, 255, 255, 0.94);
2026-01-28 23:20:39 +08:00
margin: auto;
padding: 24px;
border: 1px solid rgba(0, 0, 0, 0.06);
width: 86%;
max-width: 540px;
border-radius: 14px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
opacity: 0;
transform: translateY(18px) scale(0.97);
transition: opacity 0.28s 0.04s ease, transform 0.32s 0.04s cubic-bezier(0.22, 0.61, 0.36, 1);
2026-01-28 23:20:39 +08:00
}
.search-modal.show .search-modal-content {
opacity: 1;
transform: translateY(0) scale(1);
2026-01-28 23:20:39 +08:00
}
.search-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
border-bottom: 1px solid #eee;
padding-bottom: 10px;
}
.search-header h3 {
margin: 0;
font-size: 1.2rem;
color: #333;
}
.close-search {
color: #aaa;
font-size: 28px;
font-weight: bold;
cursor: pointer;
line-height: 1;
}
.close-search:hover,
.close-search:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
.search-input-wrapper {
display: flex;
align-items: center;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 10px;
margin-bottom: 16px;
2026-01-28 23:20:39 +08:00
padding: 5px 10px;
background: rgba(0, 0, 0, 0.025);
transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.search-input-wrapper:focus-within {
border-color: rgba(0, 0, 0, 0.18);
box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.04);
2026-01-28 23:20:39 +08:00
}
.search-input-wrapper input {
flex: 1;
border: none;
background: transparent;
padding: 10px;
font-size: 16px;
outline: none;
}
.search-input-wrapper button {
background: none;
border: none;
cursor: pointer;
color: #666;
padding: 0 10px;
}
.search-results {
max-height: 400px;
overflow-y: auto;
}
.search-result-item {
padding: 14px 16px;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
cursor: pointer;
transition: background 0.18s ease;
2026-01-28 23:20:39 +08:00
}
.search-result-item:last-child {
border-bottom: none;
}
.search-result-item:hover,
.search-result-item:focus-visible {
background: rgba(0, 0, 0, 0.04);
2026-01-28 23:20:39 +08:00
}
.search-result-title {
font-size: 15px;
2026-01-28 23:20:39 +08:00
font-weight: 600;
margin-bottom: 4px;
2026-01-28 23:20:39 +08:00
display: block;
color: var(--text-content-color, #24292e);
2026-01-28 23:20:39 +08:00
}
.search-result-date {
font-size: 12px;
color: #999;
margin-bottom: 4px;
2026-01-28 23:20:39 +08:00
display: block;
}
.search-result-summary {
font-size: 14px;
color: #666;
line-height: 1.5;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.search-tip {
text-align: center;
color: #999;
padding: 20px;
}
/* Dark Mode Adaptation */
[data-theme="dark"] .search-modal {
background: rgba(0, 0, 0, 0.48);
}
2026-01-28 23:20:39 +08:00
[data-theme="dark"] .search-modal-content {
background: rgba(30, 33, 40, 0.94);
border-color: rgba(255, 255, 255, 0.08);
2026-01-28 23:20:39 +08:00
color: #e0e0e0;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .search-header {
border-bottom-color: rgba(255, 255, 255, 0.08);
}
[data-theme="dark"] .search-header h3 {
color: #e5e7eb;
}
[data-theme="dark"] .close-search {
color: #888;
}
[data-theme="dark"] .search-result-item {
border-bottom-color: rgba(255, 255, 255, 0.06);
}
[data-theme="dark"] .search-result-title {
color: #e5e7eb;
}
[data-theme="dark"] .search-result-summary {
color: #999;
}
[data-theme="dark"] .search-input-wrapper input {
background: rgba(255, 255, 255, 0.06);
border-color: rgba(255, 255, 255, 0.1);
color: #e0e0e0;
}
[data-theme="dark"] .search-tip {
color: #666;
2026-01-28 23:20:39 +08:00
}
[data-theme="dark"] .search-header {
border-bottom-color: #444;
}
[data-theme="dark"] .search-header h3 {
color: #e0e0e0;
}
[data-theme="dark"] .close-search {
color: #888;
}
[data-theme="dark"] .close-search:hover {
color: #fff;
}
[data-theme="dark"] .search-input-wrapper {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(255, 255, 255, 0.08);
2026-01-28 23:20:39 +08:00
}
[data-theme="dark"] .search-input-wrapper:focus-within {
border-color: rgba(255, 255, 255, 0.16);
box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.04);
2026-01-28 23:20:39 +08:00
}
[data-theme="dark"] .search-input-wrapper button {
color: #aaa;
}
[data-theme="dark"] .search-result-item {
border-bottom-color: #444;
}
[data-theme="dark"] .search-result-item:hover {
background-color: #383838;
}
[data-theme="dark"] .search-result-title {
color: #e0e0e0;
}
[data-theme="dark"] .search-result-summary {
color: #aaa;
}
/* Inline Search Styles */
.searchable-header-container {
position: relative;
2026-02-01 17:42:15 +08:00
margin-top: 0px;
2026-01-28 23:20:39 +08:00
height: 13px;
display: flex;
align-items: center;
}
.section-header.normal-mode {
cursor: pointer;
transition: opacity 0.3s ease;
margin: 0;
user-select: none;
line-height: 1;
}
.section-header.normal-mode:hover {
opacity: 0.7;
}
2026-01-29 22:08:47 +08:00
/* Album / Light and Shadow Page Styles - Waterfall Flow Refined */
.album-content {
column-count: 4;
column-gap: 5px; /* Tighter gap */
margin-top: 20px;
}
.album-item {
position: relative;
width: 100%;
margin-bottom: 5px; /* Tighter vertical gap */
break-inside: avoid;
border-radius: 2px; /* Sharper corners */
background: #f0f0f0;
transition: all 0.3s ease;
cursor: pointer;
overflow: hidden;
backface-visibility: hidden;
opacity: 0; /* Start hidden for fade-in */
animation: fadeIn 0.6s ease forwards; /* Fade in animation */
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.album-img-box {
width: 100%;
position: relative;
font-size: 0;
}
.album-img-box img {
width: 100%;
height: auto;
display: block;
transition: transform 0.5s ease;
}
.album-item:hover .album-img-box img {
transform: scale(1.05); /* Subtler zoom */
}
/* Date Badge - Top Left */
.album-date-badge {
position: absolute;
top: 5px;
left: 5px;
background: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(2px);
color: rgba(255, 255, 255, 0.9);
padding: 2px 6px;
border-radius: 2px;
font-size: 0.7rem;
pointer-events: none;
z-index: 2;
text-shadow: 0 1px 1px rgba(0,0,0,0.3);
}
/* Title Info - Bottom Overlay */
.album-info {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 30px 8px 8px;
background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%);
color: #fff;
opacity: 0; /* Default hidden */
transform: translateY(0); /* No movement, just fade */
transition: opacity 0.3s ease;
display: flex;
flex-direction: column;
justify-content: flex-end;
pointer-events: none;
}
.album-item:hover .album-info {
opacity: 1;
}
.album-title {
font-size: 0.85rem;
font-weight: 400;
text-shadow: 0 1px 2px rgba(0,0,0,0.8);
margin: 0;
line-height: 1.2;
}
2026-01-30 14:18:47 +08:00
/* Mobile Visibility Utilities */
.mobile-visible-only {
display: none !important;
}
@media (max-width: 768px) {
.mobile-visible-only {
display: block !important;
}
}
2026-01-29 22:08:47 +08:00
/* Dark Mode Adjustments */
[data-theme="dark"] .album-item {
background: #1a1a1a;
}
/* Responsive Adjustments */
@media (max-width: 1200px) {
.album-content {
column-count: 3;
}
}
@media (max-width: 768px) {
.album-content {
column-count: 2;
column-gap: 4px;
}
.album-item {
margin-bottom: 4px;
}
.album-info {
opacity: 1; /* Always show text on mobile */
background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 100%);
padding: 20px 6px 6px;
}
.album-title {
font-size: 0.8rem;
}
.album-date-badge {
top: 4px;
left: 4px;
font-size: 0.65rem;
padding: 1px 4px;
}
/* Hide specific elements on mobile */
.mobile-hidden {
display: none !important;
}
}
2026-01-28 22:15:31 +08:00
2026-01-23 14:31:45 +08:00
2026-06-24 20:22:40 +08:00
/* Link Card - Minimal Black/White Style */
2026-06-02 12:44:47 +08:00
a.link-card {
display: flex;
align-items: center;
gap: 12px;
2026-06-24 20:22:40 +08:00
padding: 14px 16px;
2026-06-02 12:44:47 +08:00
margin: 1rem 0;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 12px;
2026-06-24 20:22:40 +08:00
background: rgba(255, 255, 255, 0.85);
2026-06-02 12:44:47 +08:00
text-decoration: none !important;
2026-06-24 20:22:40 +08:00
color: #1a1a1a;
2026-06-02 12:44:47 +08:00
font-size: 14px;
line-height: 1.5;
max-width: 100%;
2026-06-24 20:22:40 +08:00
transition: all 0.25s ease;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
2026-02-02 20:38:58 +08:00
}
2026-06-02 12:44:47 +08:00
a.link-card:hover {
border-color: rgba(0, 0, 0, 0.15);
2026-06-24 20:22:40 +08:00
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
transform: translateY(-2px);
2026-06-02 12:44:47 +08:00
text-decoration: none !important;
2026-02-02 20:38:58 +08:00
}
2026-06-02 15:37:49 +08:00
a.link-card .link-card-icon {
2026-06-24 20:22:40 +08:00
width: 28px;
height: 28px;
border-radius: 8px;
2026-06-02 12:44:47 +08:00
flex-shrink: 0;
2026-06-24 20:22:40 +08:00
object-fit: cover;
background: #f5f5f5;
padding: 4px;
transition: all 0.25s ease;
}
a.link-card:hover .link-card-icon {
background: #eee;
2026-06-02 12:44:47 +08:00
}
2026-06-02 15:37:49 +08:00
a.link-card .link-card-body {
2026-06-02 12:44:47 +08:00
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
2026-06-24 20:22:40 +08:00
gap: 2px;
2026-06-02 12:44:47 +08:00
}
2026-06-02 15:37:49 +08:00
a.link-card .link-card-title {
2026-06-02 12:44:47 +08:00
font-weight: 500;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
2026-06-24 20:22:40 +08:00
font-size: 14px;
color: #1a1a1a;
2026-06-02 12:44:47 +08:00
}
2026-06-02 15:37:49 +08:00
a.link-card .link-card-url {
2026-06-02 12:44:47 +08:00
font-size: 11px;
2026-06-24 20:22:40 +08:00
color: #666;
2026-06-02 12:44:47 +08:00
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
2026-06-24 20:22:40 +08:00
font-family: -apple-system, BlinkMacSystemFont, 'SF Mono', Monaco, monospace;
2026-06-02 12:44:47 +08:00
}
2026-06-02 15:37:49 +08:00
a.link-card .link-card-arrow {
2026-06-02 12:44:47 +08:00
flex-shrink: 0;
2026-06-24 20:22:40 +08:00
color: #999;
font-size: 14px;
transition: all 0.25s ease;
2026-06-02 12:44:47 +08:00
}
a.link-card:hover .link-card-arrow {
2026-06-24 20:22:40 +08:00
color: #333;
transform: translateX(2px);
2026-06-02 12:44:47 +08:00
}
[data-theme="dark"] a.link-card {
2026-06-24 20:22:40 +08:00
border-color: rgba(255, 255, 255, 0.08);
background: rgba(30, 30, 30, 0.85);
color: #e5e5e5;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
2026-06-02 12:44:47 +08:00
}
[data-theme="dark"] a.link-card:hover {
2026-06-24 20:22:40 +08:00
border-color: rgba(255, 255, 255, 0.15);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}
[data-theme="dark"] a.link-card .link-card-icon {
background: #2a2a2a;
}
[data-theme="dark"] a.link-card:hover .link-card-icon {
background: #333;
2026-06-02 12:44:47 +08:00
}
2026-06-02 15:37:49 +08:00
[data-theme="dark"] a.link-card .link-card-title {
2026-06-24 20:22:40 +08:00
color: #e5e5e5;
2026-06-02 12:44:47 +08:00
}
2026-06-02 15:37:49 +08:00
[data-theme="dark"] a.link-card .link-card-url {
2026-06-24 20:22:40 +08:00
color: #888;
2026-06-02 12:44:47 +08:00
}
2026-06-02 15:37:49 +08:00
[data-theme="dark"] a.link-card .link-card-arrow {
2026-06-24 20:22:40 +08:00
color: #666;
2026-06-02 12:44:47 +08:00
}
[data-theme="dark"] a.link-card:hover .link-card-arrow {
2026-06-24 20:22:40 +08:00
color: #ccc;
2026-01-30 21:11:05 +08:00
}
2026-02-02 21:36:53 +08:00
/* Reward System */
.reward-container {
text-align: center;
margin: 0px auto;
position: relative;
z-index: 10;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
clear: both;
}
.reward-btn {
background: transparent;
color: #444;
border: 1px solid #ccc;
padding: 2px 20px;
border-radius: 50px;
font-size: 1rem;
cursor: pointer;
transition: all 0.3s ease;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
box-shadow: none;
font-weight: 500;
margin-left: 0;
}
.reward-btn:hover {
border-color: #000;
color: #000;
background: rgba(0,0,0,0.03);
transform: translateY(-1px);
}
[data-theme='dark'] .reward-btn {
border-color: rgba(255,255,255,0.3);
color: #ccc;
}
[data-theme='dark'] .reward-btn:hover {
border-color: #fff;
color: #fff;
background: rgba(255,255,255,0.08);
}
.reward-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
2026-02-03 13:06:58 +08:00
/* background: rgba(0,0,0,0.6); */
2026-02-02 21:36:53 +08:00
z-index: 9999;
display: flex;
justify-content: center;
align-items: center;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.reward-modal.show {
opacity: 1;
visibility: visible;
}
.reward-content {
background: #ffffff;
padding: 48px 40px;
border-radius: 24px;
position: relative;
max-width: 90%;
2026-02-05 21:38:00 +08:00
width: fit-content;
min-width: 320px;
2026-02-02 21:36:53 +08:00
transform: scale(0.95) translateY(10px);
transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
text-align: center;
border: none;
}
.reward-modal.show .reward-content {
transform: scale(1) translateY(0);
}
[data-theme='dark'] .reward-content {
background: #1a1a1a;
color: #fff;
border: 1px solid #333;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
.reward-close {
position: absolute;
top: 15px;
right: 15px;
font-size: 24px;
cursor: pointer;
color: #999;
transition: all 0.2s;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(0,0,0,0.05);
}
.reward-close:hover {
background: rgba(0,0,0,0.1);
color: #333;
transform: rotate(90deg);
}
[data-theme='dark'] .reward-close {
background: rgba(255,255,255,0.1);
}
[data-theme='dark'] .reward-close:hover {
background: rgba(255,255,255,0.2);
color: #fff;
}
.reward-title {
text-align: center;
margin-top: 0;
margin-bottom: 30px;
font-size: 1.25rem;
font-weight: 600;
color: #333;
letter-spacing: 1px;
}
[data-theme='dark'] .reward-title {
color: #fff;
}
.reward-qr-group {
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;
}
.reward-qr-item {
display: flex;
flex-direction: column;
align-items: center;
2026-06-02 12:44:47 +08:00
gap: 10px;
2026-02-02 21:36:53 +08:00
}
.reward-qr-img-wrapper {
2026-06-02 12:44:47 +08:00
width: 180px;
height: 180px;
border-radius: 12px;
2026-02-02 21:36:53 +08:00
overflow: hidden;
2026-06-02 12:44:47 +08:00
border: 2px solid var(--line);
transition: transform 0.3s ease, box-shadow 0.3s ease;
background: #fff;
2026-02-02 21:36:53 +08:00
}
2026-06-02 12:44:47 +08:00
.reward-qr-img-wrapper img {
2026-02-02 21:36:53 +08:00
width: 100%;
height: 100%;
2026-06-02 12:44:47 +08:00
object-fit: cover;
}
.reward-qr-img-wrapper:hover {
transform: translateY(-5px);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
2026-02-02 21:36:53 +08:00
}
.reward-qr-item span {
2026-06-02 12:44:47 +08:00
font-size: 14px;
2026-02-02 21:36:53 +08:00
color: #666;
font-weight: 500;
}
[data-theme='dark'] .reward-qr-item span {
color: #aaa;
}
@media (max-width: 600px) {
.reward-content {
padding: 30px 20px;
width: 90%;
border-radius: 16px;
}
.reward-qr-group {
gap: 15px;
}
}
2026-06-02 12:44:47 +08:00
/* Post Video */
.post-video {
display: block;
max-width: 100%;
margin: 1rem 0;
border-radius: 12px;
border: 1px solid rgba(0, 0, 0, 0.08);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
background: #000;
2026-02-05 21:19:11 +08:00
}
2026-06-02 12:44:47 +08:00
[data-theme="dark"] .post-video {
border-color: rgba(148, 163, 184, 0.15);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
2026-02-05 21:19:11 +08:00
}
2026-06-02 15:37:49 +08:00
#szh .link-card:hover {
transform: none !important;
box-shadow: none !important;
}
#szh .link-card-icon,
#szh .link-card-body,
#szh .link-card-url,
#szh .link-card-arrow {
display: none !important;
}
#szh .link-card .link-card-title {
display: inline !important;
font-weight: inherit !important;
font-size: inherit !important;
color: var(--accent, #3b82f6) !important;
}
2026-06-22 16:23:10 +08:00
2026-06-22 18:35:51 +08:00
/* ==================== 视频样式(Amigo 风格) ==================== */
2026-06-22 16:23:10 +08:00
2026-06-22 17:15:55 +08:00
.video-wrap {
2026-06-22 16:23:10 +08:00
margin: 1.5rem 0;
2026-06-22 17:15:55 +08:00
}
2026-06-22 18:35:51 +08:00
/* GIF 模式:透明背景,图片显示 */
.gif-image {
display: block;
max-width: 100%;
height: auto;
border-radius: 12px;
margin: 0 auto;
background: transparent;
}
/* 视频播放器 */
2026-06-22 17:15:55 +08:00
.video-player {
position: relative;
width: 100%;
2026-06-22 16:23:10 +08:00
border-radius: 12px;
overflow: hidden;
background: #000;
2026-06-22 17:15:55 +08:00
cursor: pointer;
margin: 0;
2026-06-22 16:23:10 +08:00
}
2026-06-22 17:15:55 +08:00
.video-player video {
2026-06-22 16:23:10 +08:00
display: block;
width: 100%;
height: auto;
max-height: 80vh;
2026-06-22 17:15:55 +08:00
object-fit: contain;
2026-06-22 16:23:10 +08:00
}
2026-06-22 17:15:55 +08:00
.video-play-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 56px;
height: 56px;
background: rgba(0, 0, 0, 0.5);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
transition: opacity 0.3s, transform 0.3s;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
}
.video-play-icon svg {
width: 28px;
height: 28px;
margin-left: 3px;
}
.video-player.playing .video-play-icon {
opacity: 0;
transform: translate(-50%, -50%) scale(0.8);
pointer-events: none;
}
.video-player:hover .video-play-icon {
transform: translate(-50%, -50%) scale(1.08);
}
.video-controls {
position: absolute;
bottom: 0;
left: 0;
right: 0;
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
opacity: 0;
transition: opacity 0.3s;
}
.video-player:hover .video-controls,
.video-player.playing .video-controls {
opacity: 1;
}
.video-ctrl-btn {
2026-06-22 18:45:52 +08:00
background: none !important;
border: none !important;
color: #fff !important;
2026-06-22 17:15:55 +08:00
font-size: 18px;
cursor: pointer;
2026-06-22 18:45:52 +08:00
padding: 4px !important;
margin: 0 !important;
2026-06-22 17:15:55 +08:00
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
opacity: 0.85;
transition: opacity 0.2s;
2026-06-22 18:45:52 +08:00
border-radius: 0 !important;
2026-06-22 17:15:55 +08:00
}
.video-ctrl-btn:hover {
opacity: 1;
}
.video-ctrl-btn svg {
width: 20px;
height: 20px;
}
.video-progress {
flex: 1;
height: 4px;
background: rgba(255, 255, 255, 0.3);
border-radius: 2px;
cursor: pointer;
position: relative;
}
.video-progress-bar {
height: 100%;
background: #fff;
border-radius: 2px;
width: 0;
transition: width 0.1s linear;
}
.video-time {
color: #fff;
font-size: 12px;
flex-shrink: 0;
min-width: 36px;
text-align: center;
font-variant-numeric: tabular-nums;
2026-06-22 16:23:10 +08:00
}
.video-caption {
2026-06-22 17:15:55 +08:00
padding: 0.6rem 0;
2026-06-22 16:23:10 +08:00
text-align: center;
2026-06-22 17:15:55 +08:00
font-size: 0.82rem;
color: #9ca3af;
}
[data-theme="dark"] .video-player {
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
2026-06-22 16:23:10 +08:00
}
[data-theme="dark"] .video-caption {
2026-06-22 17:15:55 +08:00
color: #6b7280;
2026-06-22 16:23:10 +08:00
}
/* Bilibili / YouTube 嵌入 */
.video-embed {
position: relative;
width: 100%;
2026-06-22 17:15:55 +08:00
padding-bottom: 56.25%;
2026-06-22 16:23:10 +08:00
height: 0;
overflow: hidden;
border-radius: 12px;
2026-06-22 17:15:55 +08:00
background: #000;
2026-06-22 16:23:10 +08:00
}
.video-embed iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
border-radius: 12px;
}
2026-06-24 20:22:40 +08:00
/* 移动端隐藏阅读时间 */
@media (max-width: 768px) {
.meta-item-reading-time {
display: none;
}
}