Files
blog/themes/Ying/assets/css/main.css
T
2026-05-24 16:00:53 +08:00

5358 lines
148 KiB
CSS

@font-face {
font-family: 'zql';
src: url('../font/zql-v2.woff2') format('woff2'),
url('../font/zql-v2.woff') format('woff');
font-display: swap;
unicode-range: U+0000-007F,
/* 基本拉丁字母 */
U+4E00-9FFF,
/* 基本汉字 */
U+2000-206F,
/* 通用标点符号 */
U+3000-303F;
/* 中文标点符号 */
}
@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;
--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);
}
/* ── Theme switch transition ── */
::view-transition-old(root),
::view-transition-new(root) {
animation-duration: 0.45s;
animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
::view-transition-old(root) {
animation-name: theme-fade-out;
}
::view-transition-new(root) {
animation-name: theme-fade-in;
animation-delay: 0.04s;
}
@keyframes theme-fade-out {
from { opacity: 1; }
to { opacity: 0; }
}
@keyframes theme-fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
[data-theme="dark"] body {
color: var(--text-content-dark-color);
background-color: var(--background-dark-color);
}
[data-theme="dark"] .main {
background: rgba(15, 23, 42, 0.99); /* Increased opacity for readability */
box-shadow: var(--card-shadow-dark);
/* Removed glassmorphism blur as requested */
backdrop-filter: none;
-webkit-backdrop-filter: none;
}
[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;
}
.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;
}
[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;
}
body {
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');
/* background-image: url(https://usj.cc/usr/uploads/2023/06/3287615239.jpg); */
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+GX6EpivXybqyszoFe5bUdQvKid0C8y559IGr1IbmJ5KhXt3woQXlRXGhD6czm3givZFoj6Zjh7fYC1UryoIxPHa9lx/wIu0Z7pW+BZHoXhZDULDdbtGci8Sx+Rk8U1qiupl1Qjr1lYHYcCL1CcqhW+zEAY897UQHlO51lRqoKVoXyHqdNZamCy+VSeUTz4IfExaGPJiU2oA8BQ7vEDNSAbrSFYK36waZtVrQD0klBMnpychdo0vDGRLMeoXSBFIMihTGnzLYUbz5OsE+5iSxlosNEHyeH06yhbfeBTal4B7aMtNoNjh9XlhUn9rXqB97nnBf0+KQDGql4e6MOnwrasojM89J3TfkTOTBq9O1TPp8O2XAt1Tzwrjd8P2TDq8OlVPORo8wkkYn3oQqL4PHy3TDq9O1VMeNB6iE3jVz7xBKB7f4XQNTEeLV6fqKXcKD3IQyIt63tWCf2jFpefCaPDqVD3lGg/TJhjO6ln3Twr9Iyu4uFN4ebaUazzQLkGG03POUTYPrFsSHV6fF8o1HqmJKXIsnnCGeeaoH1GTF73C69NTrvFYbRNTZGuebWpMdADUlaR7PKrNiI1TeIE6yjUerq4zyPMX73A4nz/btuW8bdvP88fBADCHg/maXChHDaAiyaAfjRopDp23eI2aIDV4xLrOoP+yqeNl5Nr/+5+QZLjYr4dlsgCAbsb60XiKF7wWT+PoVlM9xUE9JMB2qe6L9nHlXV7VV2NMVJhXAvVjYvlSKEnSrXWhOCk87GKS6i/ZceS9BvO1cJRriFqqH4xJBPVCUBTdOgXFaPCI7dlgPgjlF0y3vONgvhSjEP9EJGuB+rGgluheCFqiW0MFyeEBqytJB0BRNF8vE3jXo/pCWIoOaS3VD0YnmhcCosTLChXFGo+4JsmgASdEfLl1YO7QVd5bazG3tvS+6+IC+i9EJUxIqs//k0T9WOCk8EpoEuz1EktxUg+pm/EKtEL99eqZjHWBlVVRTznjF6ITXOrKdP1gYAS+ElyK4azyWsniIVcCraZYfLkc5cnhtm5K0X41bMIyVz8YdIJ9IagMMnzqDEexwmPW0tgIE77cjVTi5qpO/dVfjSrxP876m74x/TleTR5F9UJAnUOy//wwwihE9aDghaT/elEscY8h8S9/HWqBnzN1YfZv/Kb0hSSDyjESXonFAjm0PcUSj1pNWfrLpYSAO1QXfj2sxPHzcBop/x8F2m/HXimHvzajFbqXAqY10hMet82p8fUWaG6mjiO/IGik7P/tL/6mb0qdRub+KiOdKZavBXeL4oGhytBfsEngWd3EXAJz/RdCDYtaFBRVntL3oY9XLo0GgLpQjOq1gEGKK3R46F1iVF+wSiLb84dZQR8+zi2XfiWghwWDghdqZF/I+G+dDvom6uOz55rh+PEZKHu8GK1EXw4LonlsapA4mq+Xigm5b3N7rvylgOqyagV0gsuyTI9tez6fDofDQSfMzHz2XByl7AEvx0riBdpV3ZRoDB68GiTy9OVCu+DG8QsC2C4xFUDKZnUZ637Ccfn/TZtfuWhSrwcMEnsD2Vp8D9WQ4OWrpXm/nfVfEkCXVdd4A7EWqhzNWxuuWUD/dxYMCi9IFSXyooXvpWoSbL5Y1R1ptF+UhaUQTEZ9M58X/+dCDcBlVQovSRMTZHtU3w/AJ/jF6u9nAPgV0gJDkSh4u/9jaqgsCqEDADskGotXpRpSJPvL+ePwnUARJfWl0sztphWmrqtLqfwioRbI9qgAc6Zc1V1c6/em2BUKAGwOUPiu807jhanqHPlivguohQlfapdlARibayA6SX+VdJQW1pgb67yvu67rpkTXWCv97RBd3ku0iEvYq++Bpui/Vj7LY+VRaJAqvzhwa0QlrD0J4aQAdQ5C/UKB8nEB/ffgKkT1teqEQehWchRthvrqwC2LBjctBZJtz2TxSgGUn/LG74Cl6PG1HgUncB0VhA4Z+PqaYUE0uPGQyBzwci3qKYPFw1OjENUXiyKiYFe5ULRfKsBPObXCrU1cZF4vAJT1QWof3pWix9esWc9R7PDFAoqqIzl1XuMOTcyLDi/aC5PlA7KXk0pdKE7qa3a+CmYFQ9l+ve7cdDmdxmtWXZlpHk5BMpykC2WLr5kc7DIVpAobB7B1nMXa4kWreuYG9WhGznsD6J5yhS93l0WOZ51nRoqD2j4AlLV43aqe+f2DsUyez0wO+HrXC0iOx4wiUIwGm+ilq3rKQxR4eSwqJjIH9QVzy8jeCOqTyQJvTyXlRlmJ7jGoc381AFxcMih8wVVcgTwDsCOTDu9PXhoAeInuEdiRZNAAdJfXKHzJS6moYg79R8u0Q9oIwzuSkegANBLdt3emWGPuYiqW+KpLgHJDRm50yLRC944EL7EA1CAF842ZnnInQDVSo/HF0wCg/bRoMniPQicFA6goMJhv6sy0lwA7kYPFF74TzjMAbsqrFZ5m5nA4qGeOGgQGA5goMJhvx/RM18g1Bl/6SmB/1DP4nMli4RNLnQPnV/u8gYkCewWYKDCYb0R9Mh0LbEgjkew/jzonOix+Xp0C05/PG5gosFeAlUj3TZwC053CpuxS+Z3Dik+rC7Or5w2cxF7hkqK9v+PIdCyxMXVcw2DVUqifTgUX6ucNnMS+ZWZQd3YcmdlpbE49LOuwrhf802kUOmd9nNWAORwOTw99MCvASwube1KnkZmxwCZ10xLzTCtIMloA0JFkuATOL/qJYa+BZLjYRajX4P2YS2BurbBVyzyHlWuhfDbVMwexZnYwzwrTMj0WS1DnDF6Y7kSfemZ3BtvVSpGcao21O8E+m7oZZJfHUT0nTGD2ZQnqVI1GqO/BnHrmTwU2raRx0yDoZ1SXsAvoN5I+XdrLUd+NCVx4WYJaqqEoFrcyx8vIhZPDxu0Ed5OK84jnsT61bdsGklxSl0U1GzeRulC+6PtQIxcXS1BGkjXghIjVD4fj+dJyeeeweSuhvoG+UqyfRuqTuYXkZoMGgI4kzQYygZmfd+GZ7FLjIqiqKQA0Qr1Mnc7HnqvXFhu4EDge1Srq48KkfRapntnBCHqmMS9ndvuYwOxe3eJ4JTn+C79CiCWg3CTQLZIVxWJZz/WnUmETK4nk2J4/TMocTuc2MLPBs7jlwlHNUMXoIBYbqefC63qqZX6BuRqEZiUnRCwuufZUGWzmOnXbQT2LHOVukFgKufU2clxcrKV65jeQCyGsVAv1snGdzhtsaRXvYVB4FvezRgOwnTCqBSbMsHlHqbJVlJq1Ki70CQhcKQiXRQUXx84XClvbDLfzCs9iTZIT5HJGl3cKJFlvHkOxBKAagWodzaXNPRSUe7ugFWIkh67x3mpsdDfdJNYaz2M78wmUszpHtxT15vHCAHESOF4/VqgWdQktqVV8gvxUOZqiwxOwqKeVutopPJMFm0JNRpNxChQ9tu45CE7qJZKtXjQKNVQt1Yl/V+LVrNBkMFx0qhYinoTKOt/FVOwa7wyezoLPUFVjkK4ol9i4qqdsBMvcYBYoigpAPWuUZJnplrkckv35MNMU/bPgOa5nvUotHIXBYOu2lCNEn8Wg86wwYK6t1UiWOSwWoZwYM+ahbXtJvdNgIsmrWicKYfN4JiupyGOzRi/k61+TE9SiuYtZmTXeat2M41Gv4QSGYtuokOiUpBdQZRmBahl+n9+UwWoVqGoV/V6DZkZyuhwXwU4zBrNpHMXOIu1IRocyCi4Lk1CsgF/86/5RX0chrAPoelmDN1s1SCT9Iqhqxn7TNEKH7KIpFYBK8Hm10KwhGoF2JUD7KS/qdxuoLjUmDocE4GYstkwQirykX6MSutXQ3QiAKZspEQ3ecF0nNVJPtiqBclZvGYpYUwWhzOsF/w2J2s4V3nKdEI1QkGSvEogk++2jVihGijqPol7N8k7eeXWYRQPRzRhsoiPJLTMIxbIr5Q7ZWohY+0wx4o25IsloIFuBPEsjyWnLNEJQS0omTZ4VupVUT7l6Zwozg6RKsFWAupBks2WcwPHzfD6fVapLlFhjXMlTjuqNyZBkjcwUGVqKxZZRkyAHk6BcYanAYp2QMHhjtjOXoXKSAzatzWKv8gosHoSgpePIsUgUFKPFG5Wd1UNONNsGLosXwQgRy53A8HlQ6thy7qRWGDTems3smlHNClSpzmDrVll0s1LoVsAk5IdiVlJ0eHOOJOkSOswUoH3TdV1lsYFtl8PLAWoU/Bp2BfKq9ZnihHdnP+NZUD1JNtjauvS+kXLNGnBr5Lq3JxVnHM+Hj8/Aud1cczUsGbCuu0WH92cj5FbY5iYusCvBdBlTzIv6DQom5jXY6iZmVVhfu7qL7KoCZsiJBm/RZsipsd11neFxn8qnGoV3aTdIjcWmV66ZyKnWuFtddTF2lcE7tbLWWvzw/w////D/D///8P8P///w/w////D/D///8P8P///w/w////D/D///8P8P///w/w////D/D///8P8P///w/67zeB1Jtie1c7Mjk+G0azsz+6L2a54Lq92a5WK7V2uWNTCntm3b84falSmKUwGYTuDI9KfakVlhUgCgopA9mv1YKTQQu2UMejfmBb8e292YE/ob0OzFjEC9YCqtdbXk92KYhFbw0qAwL4VmN1YKdDOUs2ggOqHbi+mr1AsoIqOBaILgd2ImUJ4kwEBU50DR7sNMYLJKyWakPGAf3jLZqAU6MGmfZ4fzuU32FNvr+aDeRCzlyWGpZ9LhSW6vXL09qXeQWvIKi0spOjzHVcvbXtT7xyiUWFFJDZ7jJvDWoXj7oIh0MYZPCZVA/RQzgXdYvHtMgk1cSPIiqSiUT7Ge9xj0m0cjXKULRS+gErpnmKUcG19YWWOubFlPCbZvHqXACwDdM2kFI4zPsFryP4ef/ymsaGqJ9r1DR4Hj5zUwPaoZBD7DRuEv/mMDwx/30wB+7g/5Y37hpzIAE4X6vQNeWnqdqecZxd8lkOQvA37hf0SG3z0LXuCbB4ZV2B7t4SJ0TzAjTH82538lfvqfJ8np57JUFOybhxpWya2eYFbo/ljhz8bP/pcz/kIWGsG/eUA1tzHPLn04XKTf8v9AMv4CfubfmcWfz3NC9+4BFJMQ6zU6PLWPV2Z6/LJ/57/+7/wyAL9bJPln/3SeEcb3D8AUvrRQKwzqmWVGZhfAz+BnAOCnftkv/a1/yM9gocB3ENkKg5tStcIT2zJ/QvZP/TQWv6d0QFF1XddVGs9sHfKiyVtzEOzbiBcqPMdrZncGt+7eQ/TxfP44ZPjnmGay6+rS4PZvIfpK+WproXyOeSEWSJvDZxiPy/TheFBvIiZwsT2cL217/lDPrU7wkM0lULyqvKLnvLWgiLfOluuH81MrCEb6ZGavci5Mt28gmje9PLMoQrwwu1epC5fbd47iNiyfXmpWcWGVKLmif+ewQvBNXCeo59UktArQXGwFFdbo3jmMwBpwwxosnle1QP5bqpZiFxOt4ClOddw2+tyOfftpsj4uPUm2n/q5hCiwtYBJNd4Wk+CfVzrBXxGERgE+CtSzXhgUVJXhN4dpmWx1ohiZeX4ueYkMPTPHNlAsn1eoEkkFACoK58PhcKRoAKDbLJ/MDW6mrszv1TMJQ2Jl/cRCvQBiJeROmBcpszEqLrwAJnBp/1RSwy06PLV9nhH8olHQiRrbUnOxV4HL3TMJqlkv6ucWil+b06tZu4h2ZoXJqY1RL+PIFfunElDGjGbKGQye3eqP+9djguPpcLhy+agAXIUOW3MUotfGRyk5OQXoRqB+LkGVTSQ5VRpwzSR0Ds/xoorC6uHzPFL0m4OiAgA9ZHnIk+CeTHNtkWmsxhO9XFR3Xdc15STk6o0CUcUMj2Ql+CfUM79e0EEullTYnJNQCLCpCWkn1G9lqLMGlYDPG7A9a6GW0CTqjKvg38tgu0T0yC1zarVBnEAtqSiVqZJi8WYGGN90XVMq5NtOmhy2qIpCK8FMgk1cKEa8y+vC+9Jgo9YCKwnNbIJoesr+bW7b6iiwkEwkWQguUB6wDy+loAWgKDXmlslB7cTQCGwT6SYxaOzF1SBQL+kSFvtxJxVLikQwuzE1SmYJnMSg9mIVxQbLTRR43YlpilGtABMF2n1YLRVI2rNNoZDqfdgoVEheSV5S8AL3YRRVwnHuUyoKZkeGZC0ElUAjuB2ZkgzlKuUFvwsbBC+YkKDdoVUC24/D8cLMYKR2R6alFc8agKNod2Go1yLHdqQYsQ9X05Iqlel3YjBDVnRwiwa1FwN8TMRaAShiXjTYkxdV13W+UBBVnTMY7Np1NQiDw/5dWWsVfvj/h/+f1R8fQNGzv5z0ns18BrL/xUCxtTs18zlS/O8yPR53Z/r4OTL9azLIsdiTfVxG5v+qLLLVOzF7CVxcFEMW+an2X+o0cnljAChbxQyOduelL4HLG420m1Lkp9px2QvXbT9SgJtSHO1ey7Zcf/zUCcDHBPmp9li2ZXasnapzSF4/ElB1iqPdW6m/7SfM7zUA2DrmkONRAuyUID/Vvurv4uLeYK5czCHHQoKqUhzNruo3LGM4zQBVTjlkqwXATgnyvKdicipNlMhWzwC4JofhJEE1KbZqd/VfaUAPCYazBGgfU2SrBaCICQazt2KvAFUnyNFKANyQIs8SVJMg3d6KowHgYoK8qATgphRHKwBFTPC8k5pSDAUAM6QYTinAp8iLEqC6BC/7qC6DPAOAjwmytynoLsVgBcAn2Ku9FXsDQDcp8lMlgDImyLMEGyX2Zm9FngGgmFIMRQq6SbFVAswkMZj9UyX8yzHB3gBQVYq8qgRQxAR7JUBFif3+yQveTAmGEwCYLsVwTEFVCfZKYtrupCqoJkFeFQC4KUG2OgHYKLGfHdsdlRU6AEVMsDcAoKoUwykF1UmsYEfm+h0VdJNgKDC3U4JsVQKoJPbMb3ZPRhhngIsSeZoBPsVgU/DS0m73BIES9JDgVc1ghgTpUmgW/KpdFlAlOJoZ4GOCLqWmrOmv20tNgknBRYnhJEB3CdoEXGoqALuX6gSbARMlsjczwCeCSkCaSgAohWr/1AhlDtSQIM9qpk+/RmCdmgSLuRf8/skLPguoUhzPn21gOqhEl1XvpZzQLUARE4vdKp1g909W6JdAdys1q/R7KSVwEVDGVfpVKGIHHQW9DLpeg7uuTrArAHZIdHVpomBWsMKwh6oFvwr0JFgA6AS7WreHKoVmHXRCMasELwXBzEqh3kNZIaxUCX7mhVqiiLkX/B4KAs06XqhnVugBHA5nIQqN4HZRnVCuY4VupgR2LdOd0Al2F1UK4y36GSYhuxGCoHdRWqBdBQIFv8wJFLGPHoRR3UrFJQPmVhh2Uk5gr24ElzeVEJ3Q7aQwCezVjVBMQuzq0iBZCX4vZSWO5kaAttYa5PdCsZdCJTG4RZ1gUytqino3hVoiL/dWChN21HWCvc7rBX2DUaj2VCgTDEUWRayuLhTNrgpFlMirWmTWsj3FCTtrMyQY7BK7jm2ZdHsrqCZBnhcUaxxbpjvssMsUe5Nllx1HZg5qjwUzJMgzALWOOo7MrRR22j7FVsFKRZY6B+bGAvttOyUYbMJn6M/A3OgV9tyqSZCf04KPK7Mnp7D3LmOC/7ccfR6ZPTnswXWTkDscTj3zO4u9uM/7dVzaWezIbcxZ2ljsy1WzTqw09uflCoPDPt10eVOlsV+3dRRi4w327tZaq/DD/z/8/8P/P/z/w/8//P/D/z/8/8P/P/z/w/8//P9SVIfz+ah3cC5w/k/v3hzT7flD7dgsF47X80Ht0tS4RBw/j2Z35rl6uB71nkyF2X/su64blsz7T7MbK0kyKojWN3EByf64/9KXtoCblcjVhe9iFhnOasdlgCKQvKia7LD8D/8H/oP/YwY52r1WMTL84YHzXmmDxaYlGf6ssokJ8lPtsUxLkpFyMFjsAsUCKOoE+/2VunBpMEsKJkcA0D4KVHurU+DyXuWZkKLFXNWC21fZnvlmmLHN6zmPMy8A1azbU6lPJrs/bjZADTP27fx8Pih4zutiVieaWbmjsj3lqUA5qwA1zHLHMGtgZl0izPRuSn1Sjl4B1cwBMHGBGBWQ5Uhywl7a9JQbDRzQzSwAuDVKLBhnfi/1STkWQBEY/uszNUO9bMACy7neR6mWcqOAT5L89TPI1lsDbW3hu0iyxJJ6VmMf7SnGAlA9MxMA1OFw0ACgrcKiMNM7qU4IGjAjMwfp49JSHq9HhWSGI8kJO2kvcDwXgbkOgDoHLrzaHCoAzSx8ns+Hg9o/qUFYWgMoAlds9WyY/S8cwPz282PfBFWvUANwXDc4AOWMbE3MI9mrXRNgp0UacEwPXdd1MUFeAC0x/DuLeN05QfmYNwCa4q8f/y7IuhwkeqCRyH9hEXdN5vjZcmEPXIXfQPJvkwDYQaCBT3nAWuuqkJj2S+Zz5JpWc/7fJsmQ+Gv+q9/wv/rbhRY2C0AxUo5mr1SMzI05v76bdd3sN0h/MEn+r9yMvzzDAdBXJhuNnXLF7EGVXUp2v/esk/6N2W9GN/vJL09p6AuTg8Ve2TB3qBQAU8Wc3/B5+GP/b6GD/PfOfh2aGe3fLtX6wmR02C/7VGuQWXQpkuHyoRL4Ccl/GEEwSvrXmK4Udsw2xXA9qgSgqyk17z+NgH/mP/tTgWk2Qf1GIT1YfL3V4XBQgDocTudr244kObbt9Xw+HvS7GeoUyXAxCQCuyyE5nhSSf/isQc3s/7PDl1udes7/b5Frt5/mrQy2yyA5nnQC0HXMIdmeteBmJX6SR/vlKgLvcTzrNzJAl0MGyetRSQCKasohWWgAzez3vjD9f5zVX60L7/ai38gAmGrIIMNZJQCYsokZkeFTDyR/wvTk7Kz7Yl14z6e3MgDaTykyXHRqXtRRWrGzQDGrvlYF7/vyZgagqGOC5OUjB1BuWKWzAOBn/kulwpKhq70vrAEAba3zvuliDi9vZzh+Nl2KHE8qpa7k6Mp/esFkIQrFl8oxdygNVtauS7F4N7uQLLSPCTJctORJslLGTxmTQ7KZ2S9Vk1Fr3FTXifHNzJBkD6hySpC8GEBdmOy1m4TOIbP7ev2/EtHi5noQWLyXqUiSGgCKIUX255GZJWCbrjLIFvClZrLEHapB8K84fWoD2X/qDYJm5maAqWMiPcwarBm+bsHeAZzQvd4+WqZPG6ScVRKgyimvtLNqFX69fl2CvJrbXQX/crsw228PO+tSANyUihaCX236WjG7P+qb2J6ieznpw+F4PBzW01xoNwdmzAJsLTQKKFZTs+7rRnK8nA6HFdThdBmZVC8lc2qZHq8ns4pd0myPbmbzAFjnDQD41ezXL91mB+ZXeB3rz5GLw+VjGeICbg8/84vS22NadsviZaRarjye1RJPMnoDvVWKWbeZlI/307yI1PnXcf1wXADtSwXgvFXUbLyNXa3+ilnU90P1EipG3rZVeQA+zp89xWF7YCJJvVZ9G/8V8yjuyL2A1JXZseuqupvyGMyCnplugzQzt1Z3m/D5JUMUGt903RrdlFO/fnTPzKE0kJX1XQbpsiwzB2zQcjaqO/MzsviSVUKAqGy2AtDljC8fE5gMpcZC5boU3TrRbBE9Y2/vyvZS85WaUlqgE1ZktnrxmMBko7CmHRK0GSY1GGzSeka2djW9yLZM1l+pKoVOGNU6VoiDYF87qqc8WaztE0Gn0AmTw0bVUSAveiUs1C3TtfpK+Qwr0K/jhaYRytdORbk5j1ezEooosM9A4UursV1NlMiLvpm6MN0ZfKlz0Ak0q3RC6QX/0rGUy55k0CvBRIFVxuZVTYJs7W3OgcnO4oudZaVerWdeQb3kSs6rtWAk2s0E2C5BtnY9OzLZWXy5s9AIvK5RC+f29eMo1pC61eCkdsHx2rbXk9kogO0SZGtTfZa+MtlZfMHzdBR4WaY+heRLpxUmBSXU66ERaLOulFuzUQDbJcjWSsxQ50B5KvAlz0Mh8bLg48KFxQtHUXQAHMlO3UBFoc0xzHRbBbBdgmztgmKkHD2+6AtQSWxVSl8CF5sXzt8uTJgb73BTJ1Bn2BzazQLYLkFedIZpmawVtgE6iaMV1IkrTnjh/u+Ef0G4fRT+kQxMOf2GAWydYDhJ6sLkYPF1d0KdUoNEXhRgeq5ZvXJ+jfC334kXfkVOkUO7ZQBdS2QvBMqxxFfeCl0KakgwnM3I3K6shUm9cijaO9EC/9gMKGttGQW/bQDdSAsrhU0B1SXyY20BL3i8yvAT4T/M+ThboBS6rQPYaVFn8MVfAfDLaod5/Wq7CtSpkmTfUqy2D+Bj1lTgy78K7JRXa4h6FIoto04tydCe9Mb5fe7lFyWf0MwuthB0k4oeG3AdqCoL4uEzUFTbRZ2ZeVEb5X8uFPeC/1wYEz4rYiM7YfIKmwXQdYbC4XwNTHbYrEVgdjDbpBaqu9ECC8llFVsJLsbSYCOuBugqSkuLzeK4NOhN4oTxbtAJjYQmFQu8ZAWuAaBeo8JWLbi83SRaYHk3TqCS4Cah1ng52RVKbFUVVqDdIuiEoO8FUXAJQFtr8bK9CZoltcZm9ZRrAxgvNYA5nc/no9kSVmCv7qUWmozX7iSYlVSXNWhs2FEYLEQv8DNQ7u12QCewVYvUQa1iBarXUCfYlQDXkYxChw1rKFoko5DttoOR2OssdRrJ4NfAJLjXUC1Uq4m14LdMKQxI18voNgNKieGkJHO8UtZrVELzGiqFoG8yCsWW8YLP8CsEvRlQSyT7tm1b5pZrGIHqJaQFhuMNFEW17VhtB9Sp5asgCu4lhE4gx5NZx1woDtik6nhp27YdhSqjSDXe+yiEDYF6rahXqYXmNWQS8/5y/jiohDqcLi3T1RZRn8wfM7zUaQDQAu2GgFslVhqrFkJ4DcHl3FRvEBO4tFziITdCuSVguhUC1o4zFq8huLuosD1N4HKXcLOoEl7wmwIw1ZTq4ozFWo1Qv4hgu9t5bE8VuGYhoSanApsGgLJzBdTCP72WE8ZXEeCG29QaG7Tmql0CMMist0qmE37NWkqgeRkBxnfTSl2psUU15bqw1vqYCCqVqyjaDaP+vzO6lTAI/oU0V9ZX3ZAxNN4abFUvOYiqktiuoHshYsv+y0KzVin0L6ZN3QkeaRsFmkWnQLHeNFYY1zIC9dtWEEwGrOQXqCuTetNAoF4Jk+Detigi2ws67xiY9Ni2g+DWqoTmjQw1GR2yr0zX2LiVUK9VCHzbmgSbB+sUshsmY4mtWwjjWohC8a7VCO2CxX1iMNi8SqBaqxbqdy0n8HKTmOj19sEgFGs5YXzXUlHgVd/AJxjM9qmEai0l0LxpwUtkezqshSrBYDaPE/q10An+XQtdYt4W66CIEke1dbRAtVYp9G9basghi3WgGonV1sEkFGtpgfZ4lk8H81YFNWR1KwFOot46tVCthUlYOF5P5m0K8KsUPa86B04qt44T+tWqNebjp3mXgvapKmFJMpgc1EK3dbRAtZZZi+R4Uu9RKBODStQzBptjBG4dTEKxFur1yHBW71Ca8qCQbATylIGNVAvVaso1pVuLDGf1/lRLg0LaJ3hVCbWRnNCvJmqfrLspjwxn9eakKQ4KazBYyQnT5lEC9U0WWj/kkKN9byqFqJFrM8izAtQxCPXmwSC4+wGg3JBBXtU7UyNUWC3fbp9KqO8KgG0yGIo3pk6wd9Fh+xbCeG+ArlPkVb0tUVR5XpgWRbOBlEB9d4BuUhztu1In2Lxa8DbmRYctPAjlNwDYKUG6N6VGqPOCYKGanMFgE3uh+SagqtT4plQKdDmeogJg62421RYb2QrjtwGYQeKbkpboUoZig20eZ9O3AlRCjePZviGhknjVwjFIdpupMCu/HdiJHNSF5Ocbkpoksv08XwPlDtu85rcGFIVynF/V2xFMTGRHvc0sHwCATmCv345g4goW27yV9LdWSQzm7QhmWBIdtrml6PGtq0FicG9HUFXeYLDRRyGqbw6qk0j3dgToOiaaAlvdUSzxCOsE3fsRAF1476zCZj8GYcJjdAm6d6SNb0fK7kGgiBLdvsi2TE54mCZKdDsifWWmfRwwUaLbC6lP5tZ4pCZKweyDToGZU6UeCkwUGPQOSPfMnBwerokCe7X7USPTscQjNlHgdfdjmYxe4TEXEsvV1DVc9R5GJ2qNh+0kmpVUTzKoHQyi4ABAHU/qEaGW+nVUz3m1h2mEetaTwT0iDAL9Gqqn2OxhnBAAeM71I9JRoF5mRsp+D6MEFtAU7SNCIbWLToFJs4dBIzRoJf2Q0Ags8kzL9IRdrBNYUazxmHUUxpxjy9xqH4MoyFE/KJQC3UwdTtfAfLOT8VkeD3sSQttyzQk7WZ0z4HFbYW23l0GVivqBobvBhN1smSrwyO0KMeF2M59MOjz2akFsXC912MmqnkmHR++HRNd4CzNSjHonYwKTDt9DbTXkM5MO+1gdKEeH7+pxZLLCTtZTngy+o+YzMF1jZ9MofB/14XRuA3M9drOFZPFdPI1cGgvsaCeh/S44Lu409rReoP0OqLBkKrCvVVHovwMF85sCu1sv0D++NqcrNXa4Kgo0j85QbpzBXtdJwaTs5aQej+oTwWK/2wkMRtAtyV49nAsz3X5HR4E8AzgHzstHUzLb7XZgE+yPPeXuwVgudLsduERu/Vh0kLoo0e124BYNCsB5vNrHoHqKA0yUwn4HNmZFDwCeJD/VA1A9xagAK1Htd6C6jE4DgKbYm2+vpWwB1Usddr1FFKKDaCXy/K1dKDsALcWo9z1QnmStkIwJ9uabulCuAVwoF9j9KquRaaYEeVbfzoVyDcBTLrE3VnWKY/GtXCg3ABzlGjvkIibI1nwTF8qDAhzlBrtk1aTIi76/C5OhgKM8qH0S4GKKvOg788y9UB4UdsuqySCv9p4M14wGy9XhsBMC7JRB9kd1N36NaLBUnXqS7M9qFwSUMYMMl487KSQbM6LBQvXJdDjvg6DqHJLh8qHuQEnGxEQ0WGhGZrdqFwToOmvenz/UjdAIFUwUosFCE7jwej/mfG3PH7sVQPuYNx/b8/lw0Ks5YQRMJNkZLO252N/JcaQ4HncrgHLTkszweTp/LFMCDaCqpsBix+Q0JYK+B9Mz87pfAWDrlcRiERqhwsq9VBtANwL/o5bkeNG3cIHZlz0LoFyzWlCLnDCupCk6iJ2QDG49E7iw2LUAUEU9rUK3SAs06zhhgKzzSLday6VB7Vzm2tXDsnFZEKp1vOATCAuCXslQHpzrBLodjGgLX3XdRA4CbZ46B4r9PWgurVfyQiwAYBD6vUzuJLRZdmRarfKPCk3CLqJepk4t5RJzK1DtbpxAnTq2zLUrnEbKVlJSLGCiUC46BaadgElo7d4GUahn+ngJzI5YrHqmewnFRDIaAJVQL7kwt5dqgXR7Gy+wbXvmR7Izy1pmxgRgfm+LuRW6BRXzJZdgsbNR0uJGY03P3CojvYpm/iSpmAhqX4N6jcliVRVy/idY0QtNXrWglmCiRL+z0csmh5UdxcH/7f/UH4s1e6HM64VB64rkpBJQZRTCF+V4bdv2pN7Q4Bc0Dqs3Qoe1NUWTR1EDsFWlkWsE2q9IESiG4g0NdaqrCoUbdoJdzUpqDYU1G6H8gpjAtHlDg7Fz3PxWiEKRNwnVKl7wX5CWme072r02Qq9WqwSfVwu86K+TYbZ52ysF9mYtJ3R5VmJwy1rBfT18nteno3rLU1Eg3Up2DTQSg1pSUrRfCHX4OJ/Ph1aoKmEgyfHTvN+hTFCvU6yiBolFqjifz+cLxYivovnsmW+t8JMZyfH0doc6Ua7TCtUCqEHyiQuz/RfhOHKxVUJuOL7boZbGhLqQFy2VFN0SqCavYPaAL6HpuaLFIvKq3uzgBBZSy/nlAHNsKUYsL4RO0CErqi+BC7wT9vrNDoMQFAB15YrlCkagAqB65kaDr2DBdVO6GjLYqzc7J7D/wHHkih3WjIKHOvbMjF7hK6hDxtB577teMIizCEC5LsH2zQ6TsHZUq9RCtve+UPga1pQHpyDqWQP4mYdoB4nuzc7eYtBY1S4q8YUMQiyRqb0vAMA1dYF0JfVvdvALpozosXa3oMYX0lI0uL0XaN7sUGdV0GUzceq8xfoqZtX4enS4x0ko3+1QTInJ4j71kJocvmhe8JvMHM9tG0hybC/nw4sNcM3AoXG4X9eQHCqLL6ZEdQ+F0G2vj8vIxdeTeqltxijU9+CFamudR658se9XtUB3B6NQbqvjyBu29t1KSzzfzFM0W0q3vHGr36tQSRw/bnOiOGFDm8CbB/depSaJHE9qNdNSdhvKBGZ2vrAKAIz1dcwgL29VMDFBhotZQx97JjtsZxOY7JzCQlPFFC/qfUodz+eYIhna88fhMFOHw+F8vo7MnNR2UiPlwWJN5aYEL29TJpBsupybRoPtfKVcYnUfJV7epWrOdTHdQ6ewnS1lhxuaQaJ7k2qEEnDDrWKJLd1LDjdVnRT0e1QpdABg61tMXsG27dVuJEexwq1rge17lBGoMFdlE1cZKgNAc663US9Mai19Op/0TA0C7VsUJqEQ5qasuq6bxa7rvHcWcimUm8hQdFjZcW4BwEShfY+qhTrjhv2GqoQJa49CPYMXaN+inDDegaaoN9EolKtRFjAJ9VuUEqhT+qAy9Pl8SBXCgC2sKerVOqGTnBDeojAIpaR6ki5hSPKS8EK9iQphwOp2Fq2kBJq3KC80Uk2SIVHPqKVOcJvIC9V60KUvFJKd4N6irECpm9FKnWClIJhN1AnuBgu94N+iEAW7RhC0oChiE/eCfUNrBC9UQilRhGiFYRtRxBtaKfSCF7yghSiVQrPv0gJVTiVYoZMqwW8iJcS76QT3HoVJKGZW6NboBLuJrNDdTRDsm1QtVDcKgnk+FBTxJu2EfmaEMauWKOL50ArNu5QWqABAoJqVghesMDwfCoruXQqTYGeT4GY+qxC6p4MOwoS36Vrws1polnnBPxtUT9G9Tzmhm1mhmzVZjVBuqf4eVEtxwPu0EagAoJnZWScYYRTsNoLAO1A9ZfNGhUmoZqqeGoO5n3WYK4p4KhSBssM7dS1QY6GPHIxgheGZYFsma7xVG6lYkqlaod5W+ibHlukab9adEMxaF4rlVuoEu5o6XgIza7xbq2HGYNaxlM0TQH32zPd4vy4E8rSG6qWIrVzfQAXmTxZv2CpKHItFp0C53kz+BpbZ0eM920SJHD9Nhj4HpvVm0pHkgFtNXuFdu4gJkmP7eT6fz9eRuR7bWfumVOuomKgLvHObmLFmrbGhi0C2ahVQLPDurbsbeGzqQJL1LfAGXkwrdQab2nDevbcBblihs9jY9mbxPQzQ5ZA1lBqb+xZW6N7F5tb6ubPY5IXQvMdtfC/4/x9ytVDu4DrBrlII9W4sCGYVL/i9mKaI/ZsTuh1cLVQ7uCAU+zdHUe3fRqHB7s1TLHZvjuKEvduZslurFuz+y/aUO6zd7cL0qWcyqr3a4eN8DcyMBrsydTicz59tO3JxNNiLqcP52nL9TmEXpo6XkTedCtx0N6VPPW88OYUd2LHljTtvcPM9lD4H3nDofGlxl/snfeGaXVd5b63BPe+d1CeXDnVpFb7JndMpMHuqCoVvd9ekW+ZOlcG3vWdygZlNgW/eC36PdGFmrfEAd0uqZ7rWeIh7JTMy2Rk8yJ2SCZRjiYe5TzKB8mCwa1OBcqPwQAuh2RWpnrLHQ7VCtyu6UHZ4RA2U2Q05yg6Pdpo5R7ZmH6SDVOLhmoaDLzg/74KuFGs86EZgq/c/luKgHlUnMdjdzygZPOoiQbqdj6Po8biLmKDb94zChEeuugTdnsdRLB4aUCZodzyj0OHBf3xGKajdTkHRPjbVM/O626mFAY+9Zrbd97gHx/x2r6MjyQ4PPubR7HSgqq5Sj84tqPc6UPgOFjEr7HTcyNE9Puguh8UuRwWStI8P8Dl+l1Ny7r8HMEMq2D1O9x2BqhKk2+FQNN8HwE4Jut1NIUR8N1WTYLG3qYX6+wGUiWD2NSoI7nsCEwX2+xpHUX1XYKLAclczCjW+syYKQe1oHEX7vUEp0O1n1ChM+P52wrifuVB03yEr0O5lHMUJ3+NO8DuZE2X7XXJCt4tRV8oVvstGCDsYdQ6UB/V9gsD9ijqNfft5vvZMR4VdWsnF0WCfNi4aFHZqXFrhO7536fI6i6XmpHdjuskaTybjcLqMJOkemz4cDkaywvDaOV5Hku1JvSQAZbvUvBUDM90jc1zevXLsyGQ4vSYA+Kw13YPS57MOK9QvnDOzL+pFATPchJ+PSH2SHLmifd14LqxeFYCbbsGLejjHwJUHvGwtF9uXBeCGG7DXj8W2lH/tMvu6aZY1MKe2bdvzh3o5ALrsYsbUeKtMlBhOD0RfmO5c1XVdTAy1xctWUZwKwHQCR6Y/1cthrqyoIatBIlv9IPSFmZPBy9gKkwIAFYXs0bwilqshQV70A7BX5lYKr+NSaCB2yxj0CwSoU2T78W2Zz5G5g8Ur2Qt+PbYvEbiYIsPlqL8J/XFuA7Ojw2vZCf0NaF4iMEPGfGzPH4f7OZ6vbc/lXuHFbATqBVNprasl/xoBypiVbNv2fD6fT4fMj/P5fL60bRtI8nPWctVa4/U8Ca3gpUFhXgrNqwSqXuEOHWC5YvQar+hSoJuhnEUD0QndywRQPt5dvcrg8JrWV6kXUERGA9EEwb9QABR1vK8KMAu6UuNFbQLlSQIMRHUOFO1rBUBRDXfkANSJri4NXtcmMFmlZDNSHvCSta7qpjvoSsxt6azFq7tlslELdGDSvmZkZW3hvfdVl1l7772z1iq81i3lyWGpZ9JhH15LXmFxKUWHnfgolFhRSQ3esvXpOrI1UEfzPKCIdDGGTwmVQP2GdewpjjqQ40k/CSbBJi4keZFUFMp3K3Ueme4p9if9DGiEq3Sh6AVUQvdmdRy5bn/+0FuvFHgBoHsmrWCE8a3Kjsz+lTnz/vOw6XQUOH5eA9OjmkHgG5W+Mr8x1QKS4dNsN3hp6XWm3q1OgZlTaQGgGJaQ7I+bDcMqbI/2cBG6dyndMrMrkDbjIjKc1UZTwyq51ZvUKTDdWWQeR6570ZsMqrmNeYtSV6anAml7CVz/arYYUExCrNfo8A59DEx7heSxZb7TrskiL3qLAabwpYVaYVBvUKplujOQ1Tkwe6o0AOiQRf7f/qotJlthcFOqVnh/LgLTHslzYPbkINrAxX/kxuuAouq6rqs03p/VhenBQDY9swcH+cwV/2+bzQsV3qhNz7SHrD6ZXVvItmdyMD4mfrK19PF8/jhk+DcqF5gcDGQ7MnMqFWR1YbpRwO+T+L9vK32lfLW1UL5PfTLtIasLM7sC6WNg2gMwIfFf31QmcLE9nC9te/5Q707qwuRgIB8D051FWrdMRwugCEx2m6rl+uH83qR6JmsFUbdMxwJpdWZmowCcmbmpNG96eWcyI+VYQD4FphuF9DEwHQsA6srcaksVt2H5vmQD5cFAVBemJ4u0bplZKQBFYLbfUlYIvonrBPWu5JgcFETTM10ppE+B6cEAUBcmf+32MgIvgBvWYPGmpEJigGwCk4NB2vRMxxIAbGBy+reFckshCmwtYFKNt8Uk+DelkslRMoFyLJF5ZmatAeCT6UF1gt1UXiJDz8yxDRTLNyWfYlsAUIHyoJG2PdODBQDdM+2BLYYhsbJ+U2oyyNaip1wjrT6Zjh5zG5icDIAg6G2lhlt0eFMes8ieskPa9Ex3GvMT05UCAIrY2KpZL+p3Ja7rkHZMxxLihcloIW4zoIwZzZQzGLxTlUhfmG4U5rpnslEQrTBsL6iyiSSnSgOumYTO4X1ZcjGrQ/rCZCwgFoFJh6TUbbC5tsg0VuOteRI04GNKpxyTjcJcfTIZDdLFpnur7gQLQPlfJUxIWsqxgGhHJgeFTC/4PRXw5wlNqpX+b3+smukL07VCbrWXqoVS8IJPGGaO7fkzMF0ivxPs/skLfpU6J38yWDgKZv/khGaVcaVGYSlF7J+t0K3CVSeLxUaYdlBGGNewwm9Y4BWWF0K3g4LANZzQWd8MiU5jTS9U+ym1ghc8ADihU1i1Eco9VCfYWSF0UiO4mRc81h0Fu7Oyeb1gZ43g1tEUsYeuBD9TAk8HA4CimnWCXccJwy7K50AiGdpBmDCnqNZphGoXVQidMKXSdRZWVRSLXZQVRqFeZmdamNbxQsQ+WqCg4pIBcyt0q5gg1DupKJgZlI9Z0dzKBIpmJ9UJTgBgfdNJncGNTKDYYSfthTolGmutQnK1IlCMei9VCOOChWt9Mumwl1YCzZ2plkmH/XQn1PdlRiYddtRO4PmezkxGhz21igJbvZZbZHomJ4N9tZfIi17HLzkx3SnsrNWUIFt7M3VlusL+2sQU2drb2JHJWGCPrboMcjyu0wNQF6YbhZ22jxnkeFyDCmZkMhbYb+s6ZpDjWWXUElxgctDYdSsfM0heTKIT/r0r0xV236qccsj+qHJ+wuRksQt3Uw7J69EgCOlKYS/upqzlscCe3HXrDQY7c1Ov5LFDV+W0LBbYqds65tUKO3bruyjESmP3rq21Bj/8/8P/P/z/w/8//P/D/z/8/8P///+KAwBWUDggeAwAAPA0AZ0BKugD6AM+kUiiS6Wko6GkCBCwEglpbuNDjKoSH/APwA/QD+KepOM7QLwB+gH8fzwTZr9ALML/APwA/QD/hedD+AfgB+gH8A/Z2YB/AP4B+AH6AbX/s/+af/Ev4B+AH6Af/PA0lZ/SX+AfgB+gH///aPvtRGg+0DUAQby4NQBBvLg1AEG8uDUAQby4NQBBvLg1AD4dNnw9nB9x+/6zMSr7/rMxKvv+szEq+/6zMSr7/rMxKvtM6YNh/pmH2yKvzeXBqAIN5cGoAg3lwagAxr50GTw+dO8uDUAQXsioJb/rMxKvv+szEq+/6zMSr778lvE8PyhuHYw8N9DUN1d0hTg1AEG8r49kHTEgKKAIN5XiJWvhOdO+cV2SLllA1AEF6pQytdykkaWV8TruAYjUNfiB4xnTSAdAEG8uDUAQby4NQBBvDvu3nOBskE5LNiflA1AEG8uDTmeH5Q3QmRlALbseNlllA1AEG8uDUAQby4M7Zj3T+Kd6Rpq9DgQsAr9ujETp3lwagCDeXBpzPCqabvHuClz3Mhkjr8z8oGoAg3lwagCDeXBpycCizRnTdgkjlSyRcsoGoAg3lu+sPASZVl44YF7uVltsg/yT8oGoAg3lwagCDeV4inu8Ur4MA/qBqAIN5cGoAgvVXZ8CRI5twZIuWUDUAQby4JKUeWCWCXCd+oVYoFS6Ipkv5vLgkhNwrUwh+UDTkJnlXLXhTcZAgjIx/Ne1LEBRQBBvLg1AEG8SaLAJZxxuCOhDcKKAH0NwR07y4Jc6i6Y/O+Hug+9y5whEcKPWZiVff9ZmJLDlJGTqiEhhGjqzkk7cGSLlkdzew+VavtPTB3X+opgQjJRxIpZIuWUDUAQbyuTfSQpjaVA/RcCEk9ezS/Ok7o4pYgKKAILg+pYbX4geMmRpQBBvLeBNxEBQ6s5G2n+ay6S4w6tX3/WZb2qeFU03VQkVWItTN2EzzcANnkk+PWZiVeUXTH53vRX41JQFFAEG8uDUAFsx7xrgn5lwagCDbjctV570kpdqZFAyYX0kagCDeXBqAIN5cGoAg3lwafyeGoDTK30csoGoAg273BJPDKoAg3lwagCDeXBqAIN5cGoAg273HVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1mYlX3+wlfjhb/rMxKvv+szEq+/6zMSr7/rMxKvv+szEq+/2PGCYn5lwagCDeXBp/HxJbbT1rsKKAIN5cGoAg3lwagCDeV7gmBBR6zMSr7/rMt5SAD307y4NQA+ZO5JIu5ZQNQBBvLg05C2O2WBqe/DEUBRQBBvLg1AEF4UZvAUeszEqkZaZoAg3lwagCDeXBqAIN5cGoAg3lwZ7CtVAUUAQbyvYsZcV2SLllA1AEG8uDUAQXJrpIheYfqFHrMxKvv+szEq+09MHpuc1uK9btAUUAQby4NQBBvLg1AD5tbjNUB/+9Mv5vLg1AEG8uDUAQby4NQBBvLg1AEG8uDUAGkDRcgQUeszEq+/6zMSr7/rMxKvv+szEq+/6zMSrzYNuhjcV2SLllA1AEG8uDUAQby4NQBBvLg1AEG8uCV4ZoGxAagoICigCDeXBqAIN5cGoAg3lwagCDeXBqAIN5cE00rU9AUUAQby4NQBBvLg1AEG8uDUAQby4NQBBvLg1AEG8uDUAQby4NQBBvLg1AEG8uDUAQby4NQBBvLg1AEG8uDUAQby4NQBBvLg1AEG8uDUAQby4NQBBvLg1AEG8uDUAQby4NQBBcmugnw+Hu6pQSSLllA1AEG8uDUAQby4NQBBvLg1AEG8uDTk4FKlimcEFHrMt5PD4WH9I2n5QNQBBvLg1AEG8uDTk4FDadpUAQby3b2gKS6AClbJc0XLKBMzRCaUAQby4NQBBvLg0/j3qtWhLgyRcsoErwzKgJ9uneXBp/J4hNz4YuK7JFyyMm+gk0/MuDUAPoC9trXEdrwq5RQBBvEvYIVcoqpPS4NQA+gYde3ICigCDeI3+ODJFyygSvDNA18EW5dY0tmLK20BRQBBvLeBPoCigCDeJfh0xICigCDeV7gmBBR6zMSqQ7WHgJMqy8Oc4pygagCDeXBqAIN5cGoAg3lwafw+jGFyT3IPWZiVfZkOQJSZ3Rv/1h/ll83c+QXLKBqAIN5cGoAg3lwagCDeW8CbiICigCDeW7tieKJbI//idWCST8oGoAg3lwagCDeXBqAIN5cGoAg3lwagA0eCG4I6DKaAooAg3lwagCDeXBqAIN5cGoAg3lwagCC6GHl9C4WW188OtfSSX83lwagCDeXBqAIN5cGoAg3lwagCDeXBnsBtizFUze+2ZGpWC4u0TT4wMnfDQx8Bcsns0+5J0+DUAQby4NQBBvLg1AEG8uDUAQbw8307i2s/OR5uFE/j4JjZquP7Ffm8uDUAGNMqA7Xd5Gj1mYlX3/WZiVff9YlbtXKZoke7jVpy3OLKBnqdkS/m8uDUAFWcllCdWGQLwxNxXZIuWUDUAQby4NQBBvLg1AEF0MPJw+u0AQby4NP5Zu6PFnu0KSDrbg1AEG8uDUAQby4NQBBvLg0/lKgeAo9ZmJV5iR2sflA1AEG8uDUAQby4NQBBvLg1ABsL6k9AUUAQbcsFBeglNhD5N8q1ff9ZmJV9/1mYlX3/WZiVff9ZmJV9/1iIpE1Wsp0SWWOsyKvzeXBqAIN5cGoAg3lwagCDeXBqAIN5bvqtoUadC4pnOIpaUAQby4NQBBvLg1AEG8uDUAQby4NQBBty0DG9lQKxEUiiWF+ZcGoAg3lwagCDeV4mhcV2SLllA1AEG8t4EsPxu4IhyaCdKAooAfDpsNqnRJFyygagAqzvZjHgeeiOyRcsoGoAg3lwafyzs8a/HhAUUAPh02TVoTbd5HJ+/1mYlX34Mlu4kXLKBqAIN5cGoAg3lwagCDeJSkINPygagCDeHGcBsym4MkXLKBqAIN5cGoAg3lwagCDbr7XPMFTN0eszEq+/CaV5AUUAQby4NQBBvLg1AEG8uDUAFEllj3jVpI4MkXLKBqAIN5cGoAg3lwagCDeXBqAIN5cGn8s0A53flwagCDeXBqAIN5cGoAg3lwagCDeXBqAIN5cGoAg3lwagCDeXBqAIN5cGoAg3lwagCDeXBqAIN5cGoAg3lwagCDeXBqAIN5cGdAAP2crqAInXqyzg7aFgACbA6t74EZA/Rzs3qOUaydkvhdUL/Tx9K5vUSMz72CD5Z74c7f3AhQGEGwO81vzbsY0mmUiyUcm/ZOXuvemb2iTaXWmoigOsCxBZ8G6Ls0bAnHSAwYMxHiUnH2O///u+KenqWhzpJu0qd+nA/A8me+Go/DLvNuqVf/+wsjD8HomrEO/3Vfvu50UGdNP4jIkVTIv0L+WpFnZOfoSMAsxjjFxWrIlkGlWntKK7cpBeLXXsAQfe9YVABAjlMFosB+u4s7LJVLfD/9l41LfN66Dc+YZSjQVBXKwOAokst86wbrTzSBtsR+JBGFWbysAcKpAAAAAAAAAAAAAATHr0ODgAAHo0aCa+IA7dG4HUDeAAMMCfyA5CWKV1fmgV78OtT9anOuwUfqX+UNaPydyCZ1jAsi/PjYAFO0wssaWCgbapK1Q6AAAABKe3zHIAnCn3wJYZKqaCMwAAAAAAAAAAHeUWJvWYx9oAAkqqPQvLevSiAhu93p1BCgtmAqEN+z9jSaq0rQuTng5eTDmeoJZqqX7zPK0Q6RR7cSEPkqitpuTJ9WW007+kzD4gub66tCOAAAALuxBaKcTJAt+kZ2oe+AAWSibY72z0ZqhrDeGgBU66xfGrsWTPVliV+AK9n+3evYbmeGGpck5G8VAAB5NXWTS5ZWYtCgPp02u9llKy95AV+dztdzNgVrnZi0DjKAqEN+yylUDaoKf4DQdgiAwlreWJYOloimxRreawAQBCPf80CUiPgHa4zxcHe8a3rEudzlsAfzPfMaF+VLpVaHAAarIz8t5Pjo1AAC7PHMtgSkzYbOfAIA0Z4dYPc1HbOLpnqz3zERwVNCeBLWsLedB8J5fZBl6AATuNXiY2dF/KP+Jf6oUjXcAA3mL+EqOWEd0VNK2ACU8HLyYWbKbIw3AEbiNkNGKrjEAAAAAAAAAA==);
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;
transition: background-color 0.3s ease, color 0.3s ease;
}
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #cccccc;
margin: 1rem 0;
padding: 0;
}
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;
/* Hide scrollbar but allow scrolling */
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE 10+ */
}
pre::-webkit-scrollbar,
code::-webkit-scrollbar {
display: none; /* Chrome/Safari/Webkit */
}
/* Code Folding */
.code-fold-container {
position: relative;
margin-bottom: 1rem;
border-radius: 4px;
display: flex;
flex-direction: column;
}
.code-fold-container.collapsed .highlight,
.code-fold-container.collapsed pre {
max-height: 360px;
overflow: hidden;
mask-image: linear-gradient(to bottom, black 280px, transparent 360px);
-webkit-mask-image: linear-gradient(to bottom, black 280px, transparent 360px);
}
/* 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 {
display: none;
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
width: auto;
margin: 0;
z-index: 10;
text-align: center;
border: none;
background: transparent;
color: #586069;
cursor: pointer;
font-size: 13px;
transition: all 0.2s;
align-items: center;
justify-content: center;
padding: 0;
}
/* Show button when collapsed */
.code-fold-container.collapsed .code-expand-btn {
display: flex;
}
/* 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);
color: var(--at-color-bg);
}
/* 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;
}
/* Link Status Badge - Optimized */
.links-item {
position: relative;
}
/* Card View - Active */
.link-active-badge {
position: absolute;
top: 8px;
right: 8px;
width: 8px;
height: 8px;
background-color: #9ca3af; /* Soft Gray */
border-radius: 50%;
border: 2px solid #fff;
box-shadow: none;
z-index: 10;
}
[data-theme="dark"] .link-active-badge {
background-color: #d1d5db; /* Softer White (Gray 300) */
border-color: #1f2933;
box-shadow: none;
}
/* Card View - Dead */
.link-dead-badge {
position: absolute;
top: 8px;
right: 8px;
width: 8px;
height: 8px;
background-color: #fff; /* White Center */
border-radius: 50%;
border: 2px solid #9ca3af; /* Gray Border = Hollow Ring */
box-shadow: none;
z-index: 10;
}
[data-theme="dark"] .link-dead-badge {
background-color: #1f2933; /* Dark Center */
border-color: #d1d5db; /* Softer White Border */
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%;
background-color: #9ca3af !important; /* Soft Gray */
box-shadow: none;
}
/* List View - Dead */
.links ul>li.link-dead-li::before {
content: "";
display: block;
position: absolute;
top: 10px;
width: 4px; /* Slightly smaller to account for border */
height: 4px;
border-radius: 50%;
background-color: #fff !important;
border: 1px solid #9ca3af; /* Gray Hollow Ring */
box-shadow: none;
}
[data-theme="dark"] .links ul>li.link-active-li::before {
background-color: #d1d5db !important; /* Softer White */
}
[data-theme="dark"] .links ul>li.link-dead-li::before {
background-color: #1f2933 !important;
border-color: #d1d5db;
}
.atk-list.has-ai-comment .atk-list-no-comment {
display: none !important;
}
/* Generic badge base */
[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 {
margin-left: 4px;
font-weight: 300;
border-left: 3.8px solid rgb(80 80 80);
background-color: rgba(51 51 51/5%);
padding-left: 20px;
word-break: break-all;
}
a {
color: var(--link-color-light);
text-decoration: none;
transition: color 0.35s ease;
}
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 {
max-width: 618px; /* Reduced from 680px based on user feedback "narrower again" */
overflow: hidden;
margin: 60px auto;
padding: 50px;
background: rgba(255, 255, 255, 0.8);
box-shadow: var(--card-shadow-light);
border-radius: 8px;
z-index: 10;
position: relative;
text-align: center;
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
/* 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);
will-change: transform; /* Promote to layer for smoother scrolling */
}
/* 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;
} */
@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;
}
}
/* 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);
}
.header {
margin-bottom: 10px;
padding-bottom: 10px;
display: flex;
flex-direction: column;
align-items: stretch;
gap: 16px;
text-align: left; /* Reset text align from .main center */
}
.header-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.header-avatar {
display: flex;
align-items: center;
justify-content: center;
margin-right: 16px;
padding: 0;
cursor: pointer;
}
.avatar-theme-tip {
margin-left: 10px;
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;
}
/* Updated Header Semantics */
.header-menu {
border-top: 1px solid #f4f4f4;
transition: border-color 0.35s ease;
}
.header-menu ul,
.header-menu li {
margin: 0;
}
.header-menu ul.flat {
padding: 0;
/* 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 */
}
.header-menu ul.flat li {
display: block;
list-style: none;
margin: 10px 0 0 0;
text-transform: capitalize;
}
.header-menu ul.flat li.active a {
color: #24292e;
}
.header-menu ul.flat li a {
color: #586069;
}
.header-menu ul.flat li a:hover {
color: #646464;
text-decoration: none;
}
.header-info {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-top: 0;
}
@media (max-width: 768px) {
.header-top {
justify-content: flex-start;
}
.header-avatar {
margin-right: 0;
justify-content: flex-start;
}
.header-info {
display: flex;
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 */
margin-left: 10px;
/* height: 80px; */ /* 移动端一言居中解开这个注释即可 */
width: calc(100vw - 140px);
padding-bottom: 0px;
}
.header-social {
display: flex;
align-items: center;
flex-wrap: nowrap;
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;
}
.header-bio {
display: block;
font-size: 0.85rem;
line-height: 24px;
min-height: 24px;
margin: 0;
opacity: 0.8;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%; /* Full width */
text-align: center; /* Center align text */
/* Typewriter Effect Cursor */
border-right: 2px solid transparent;
}
/* 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; }
}
.header-social {
margin: 0;
padding: 0;
border: none;
min-width: 50px;
margin-bottom: 0;
text-align: center;
/* Reset gap for social icons as they rely on margin */
gap: 2;
}
.header-social a {
display: inline-block;
margin: 0 5px;
text-decoration: none;
transition: all 0.2s ease;
}
.header-social a i {
font-size: 1.15rem;
vertical-align: middle;
}
.header-social a:hover {
color: #24292e;
transform: scale(1.2);
}
/* 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;
gap: 3px;
transition: all 0.3s ease;
margin: 0; /* Reset margin */
position: relative; /* Ensure wrapper is positioned relative to this */
}
/* Search Hint Wrapper */
.search-hint-wrapper {
position: absolute;
left: 100%;
top: 50%;
transform: translateY(-50%) translateX(10px);
display: flex;
align-items: center;
gap: 8px;
opacity: 0;
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;
}
.search-hint-wrapper.visible {
opacity: 1;
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;
}
.search-mode {
width: 100%;
animation: fadeIn 0.3s ease;
}
/* Modern Minimalist Search Styles - Bottom Border Only */
.search-input-group {
position: relative;
display: flex;
align-items: center;
width: 100%; /* Responsive width */
max-width: 300px; /* Maximum width for PC */
border: none;
border-bottom: 1px solid #000000;
border-radius: 0;
padding: 0 4px 6px 0; /* Slightly more bottom padding */
background: transparent;
transition: all 0.3s ease;
box-shadow: none;
}
.search-input-group i {
border: none; /* Ensure icons have no border */
background: transparent;
}
.search-input-group:hover {
background: transparent;
border-bottom-color: #666;
}
.search-input-group:focus-within {
background: transparent;
border-bottom-color: #000;
box-shadow: none;
}
[data-theme="dark"] .search-input-group {
background: transparent;
border-bottom-color: #ffffff;
box-shadow: none;
}
[data-theme="dark"] .search-input-group:hover {
background: transparent;
border-bottom-color: #ccc;
}
[data-theme="dark"] .search-input-group:focus-within {
background: transparent;
border-bottom-color: #fff;
box-shadow: none;
}
.search-input-group input {
width: 100%;
border: none !important;
border-radius: 0 !important;
background: transparent;
padding: 0 4px !important;
padding-left: 8px !important;
padding-right: 20px !important; /* Prevent text overlap with close icon */
font-size: 1rem;
color: #000000;
outline: none;
height: 24px;
font-weight: 500;
}
/* 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 */
.search-icon {
color: #000000;
font-size: 1.1rem;
transition: color 0.3s ease;
}
.search-input-group:focus-within .search-icon {
color: #000000;
}
[data-theme="dark"] .search-icon {
color: #ffffff;
}
[data-theme="dark"] .search-input-group:focus-within .search-icon {
color: #ffffff;
}
/* Close icon */
.close-icon {
position: absolute;
right: 0;
font-size: 1rem;
color: #999;
cursor: pointer;
transition: all 0.2s;
opacity: 0;
transform: scale(0.8);
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;
}
.search-input-group.has-value .close-icon {
opacity: 1;
transform: scale(1);
}
.search-dropdown {
position: absolute;
top: 100%;
left: 0;
right: 0;
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 */
overflow: hidden;
z-index: 100;
opacity: 0;
transform: translateY(5px);
visibility: hidden;
transition: all 0.2s ease;
}
.search-dropdown.show {
opacity: 1;
transform: translateY(0);
visibility: visible;
}
[data-theme="dark"] .search-dropdown {
background: #2a2a2a;
border: 1px solid #444;
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.search-result-item {
padding: 10px 14px;
border-bottom: 1px solid #f0f0f0;
display: flex;
flex-direction: column;
transition: background-color 0.2s;
}
[data-theme="dark"] .search-result-item {
border-bottom: 1px solid #333;
}
.search-result-item:last-child {
border-bottom: none;
}
.search-result-meta {
display: flex;
justify-content: flex-start; /* Left align */
gap: 10px;
font-size: 0.75rem;
color: #666;
margin-top: 2px;
}
[data-theme="dark"] .search-result-meta {
color: #aaa;
}
.search-result-summary-text {
max-width: 80%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.no-result {
text-align: left;
color: #666;
padding: 12px 16px;
font-size: 0.9rem;
cursor: default;
}
[data-theme="dark"] .no-result {
color: #aaa;
}
.search-result-item:hover {
background: #f5f5f5;
}
[data-theme="dark"] .search-result-item:hover {
background: #1a1a1a;
}
.search-result-title {
display: block;
font-weight: 600;
font-size: 0.95rem;
color: #000000;
margin-bottom: 0;
}
[data-theme="dark"] .search-result-title {
color: #ffffff;
}
.search-result-date {
font-size: 0.75rem;
color: #666;
margin-right: 10px;
}
.search-result-summary {
font-size: 0.85rem;
color: #444;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
margin-top: 4px;
}
[data-theme="dark"] .search-result-summary {
color: #ccc;
}
@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) {
.mobile-hide {
display: none !important;
}
.recent-posts .posts .post:first-of-type {
margin-top: -10px;
}
.header {
margin-bottom: 0px!important;
}
.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;
}
.search-hint {
opacity: 1;
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;
}
}
.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;
}
.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;
/* transition handled by global rule */
}
/* 代码高亮 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;
}
/* 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);
}
/* Expandable Code Blocks */
.highlight.collapsed {
max-height: 300px;
position: relative;
}
.highlight.collapsed::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 80px;
background: linear-gradient(to bottom, transparent, #f6f8fa);
pointer-events: none;
}
[data-theme="dark"] .highlight.collapsed::after {
background: linear-gradient(to bottom, transparent, #282a36);
}
.expand-btn-container {
text-align: center;
position: absolute;
bottom: 0;
width: 100%;
padding: 10px;
z-index: 5;
display: none;
}
.highlight.collapsed .expand-btn-container {
display: block;
}
.expand-btn {
background: var(--link-color);
color: white;
border: none;
padding: 5px 15px;
border-radius: 20px;
cursor: pointer;
font-size: 12px;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
[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 {
padding: 20px;
margin: 0 auto;
box-shadow: none;
}
.header h2 {
display: none;
}
.container {
margin-top: 10px;
}
.highlight pre::-webkit-scrollbar {
display: none;
}
/* 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 */
/* border-top: 1px solid #f4f4f4; */
border-top: none;
}
.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 */
}
}
/* 代码复制按钮 */
.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);
z-index: 900; /* Ensure it's on top */
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;
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
}
[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;
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; }
}
/*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: '';
background: url(/img/1457247750.png) no-repeat;
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%;
max-width: 100%;
height: auto;
}
.post-content img,
.entry-content img {
display: block;
max-width: 100%;
height: auto;
}
.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;
opacity: 0;
transform: translateY(14px);
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);
content-visibility: auto;
contain-intrinsic-size: auto 400px;
}
.post-content .sen-image-frame.is-visible,
.entry-content .sen-image-frame.is-visible {
opacity: 1;
transform: translateY(0);
}
.post-content .sen-image-frame>img,
.entry-content .sen-image-frame>img {
display: block;
width: auto;
max-width: 100%;
margin: 0;
box-shadow: none;
}
.post-content .sen-image-frame[data-title]::after,
.entry-content .sen-image-frame[data-title]::after {
content: attr(data-title);
position: absolute;
left: 10px;
bottom: 10px;
max-width: calc(100% - 20px);
padding: 5px 10px;
border-radius: 4px;
border: 1px solid rgba(0, 0, 0, 0.08);
background: rgba(255, 255, 255, 0.72);
color: rgba(0, 0, 0, 0.82);
-webkit-backdrop-filter: blur(16px) saturate(180%);
backdrop-filter: blur(16px) saturate(180%);
font-size: 13px;
font-weight: 500;
letter-spacing: 0.03em;
line-height: 1.2;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
pointer-events: none;
opacity: 0;
transform: translateY(4px) translateZ(0);
transition: opacity 0.4s 0.2s cubic-bezier(0.22, 0.61, 0.36, 1),
transform 0.4s 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
will-change: transform, opacity;
}
.post-content .sen-image-frame.is-visible[data-title]::after,
.entry-content .sen-image-frame.is-visible[data-title]::after {
opacity: 1;
transform: translateY(0) translateZ(0);
}
[data-theme="dark"] .post-content .sen-image-frame[data-title]::after,
[data-theme="dark"] .entry-content .sen-image-frame[data-title]::after {
border-color: rgba(255, 255, 255, 0.12);
background: rgba(0, 0, 0, 0.62);
color: rgba(255, 255, 255, 0.92);
}
@media screen and (max-width: 768px) {
.post-content .sen-image-frame[data-title]::after,
.entry-content .sen-image-frame[data-title]::after {
left: 8px;
bottom: 8px;
max-width: calc(100% - 16px);
padding: 4px 8px;
font-size: 12px;
}
}
/* 设置进度条的背景色 */
.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;
}
/* 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%;
}
/* 修改小方块的背景填充颜色 */
[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 */
.barrager {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none; /* 容器不阻挡点击 */
z-index: 1; /* 在 main (z-index: 10) 背后,但在 body 背景之上 */
overflow: hidden;
/* 性能优化:CSS 隔离 */
contain: layout style paint;
/* 某些浏览器可能支持 content-visibility */
content-visibility: auto;
}
/* 弹幕条目 (左到右) */
.barrage-item {
position: absolute;
display: inline-flex;
align-items: flex-start; /* 顶部对齐 */
white-space: nowrap;
will-change: transform;
pointer-events: auto; /* 弹幕本身可点击 */
user-select: none;
transform: translateX(-100%); /* 初始在左侧外 */
z-index: 10;
/* 初始透明度,配合动画实现淡入淡出 */
opacity: 0.9;
/* 缩小整体尺寸 */
transform-origin: left top;
/* 硬件加速 */
backface-visibility: hidden;
-webkit-font-smoothing: antialiased;
}
/* 头像样式 */
.barrage-avatar {
width: 28px; /* 缩小头像 */
height: 28px;
border-radius: 50%;
margin-right: 8px;
object-fit: cover;
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;
}
/* 聊天气泡样式 (仿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; /* 淡出 */
}
}
#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 { }
/* Floating Tools */
.floating-tools {
position: fixed;
bottom: 28px;
right: 16px;
z-index: 900;
display: flex;
flex-direction: column;
gap: 8px;
align-items: center;
transform: translateZ(0);
will-change: transform;
opacity: 1;
visibility: visible;
transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}
.floating-tools.hidden {
opacity: 0 !important;
visibility: hidden !important;
transform: translateZ(0) translateY(12px) !important;
pointer-events: none !important;
}
.floating-tools a {
width: 42px;
height: 42px;
background: rgba(255, 255, 255, 0.68);
color: rgba(0, 0, 0, 0.75);
border-radius: 50%;
font-size: 20px;
cursor: pointer;
text-decoration: none;
display: flex;
justify-content: center;
align-items: center;
-webkit-backdrop-filter: blur(16px) saturate(180%);
backdrop-filter: blur(16px) saturate(180%);
border: 1px solid rgba(255, 255, 255, 0.5);
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
transform: translateZ(0);
transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.floating-tools a:hover {
background: rgba(255, 255, 255, 0.88);
transform: translateZ(0) translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
[data-theme="dark"] .floating-tools a {
background: rgba(30, 30, 35, 0.62);
color: rgba(220, 220, 230, 0.78);
border-color: rgba(255, 255, 255, 0.1);
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.22);
}
[data-theme="dark"] .floating-tools a:hover {
background: rgba(45, 45, 50, 0.78);
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.32);
}
/* ── ViewImage: Apple frosted glass lightbox ── */
.view-image {
z-index: 2000 !important;
background: rgba(0, 0, 0, 0.45) !important;
}
@supports (backdrop-filter: blur(20px)) {
.view-image {
background: rgba(0, 0, 0, 0.32) !important;
}
}
/* Bottom toolbar — white frosted glass */
.view-image-tools {
background: rgba(255, 255, 255, 0.72) !important;
backdrop-filter: blur(40px) saturate(180%) !important;
-webkit-backdrop-filter: blur(40px) saturate(180%) !important;
border: 1px solid rgba(255, 255, 255, 0.5) !important;
border-radius: 8px !important;
padding: 6px 12px !important;
max-width: 360px !important;
color: rgba(0, 0, 0, 0.7) !important;
box-shadow: 0 2px 16px rgba(0, 0, 0, 0.1),
0 0 0 0.5px rgba(255, 255, 255, 0.3) inset !important;
}
/* Counter text */
.view-image-tools__count {
font-size: 13px;
font-weight: 500;
letter-spacing: 0.03em;
opacity: 0.85;
}
/* Glass buttons */
.view-image-btn {
width: 34px !important;
height: 34px !important;
border-radius: 6px !important;
background: rgba(0, 0, 0, 0.06) !important;
border: 1px solid rgba(0, 0, 0, 0.06);
transition: background 0.2s ease, transform 0.15s ease;
}
.view-image-btn:hover {
background: rgba(0, 0, 0, 0.12) !important;
transform: scale(1.06);
}
.view-image-btn:active {
transform: scale(0.96);
}
/* Close button in toolbar */
.view-image-tools .view-image-close {
margin: 0 0 0 10px !important;
}
/* Close area overlay */
.view-image-close__full {
cursor: zoom-out;
}
/* Image */
.view-image-lead img {
border-radius: 2px !important;
box-shadow: 0 12px 48px rgba(0, 0, 0, 0.5),
0 0 0 1px rgba(255, 255, 255, 0.06) !important;
}
/* Dark mode tweaks */
[data-theme="dark"] .view-image {
background: rgba(0, 0, 0, 0.55) !important;
}
@supports (backdrop-filter: blur(20px)) {
[data-theme="dark"] .view-image {
background: rgba(0, 0, 0, 0.4) !important;
}
}
[data-theme="dark"] .view-image-tools {
background: rgba(18, 18, 22, 0.82) !important;
border-color: rgba(255, 255, 255, 0.1) !important;
}
/* Mobile */
@media screen and (max-width: 768px) {
.view-image {
padding: 4% !important;
}
.view-image-tools {
max-width: 100% !important;
border-radius: 6px !important;
padding: 5px 10px !important;
}
.view-image-btn {
width: 30px !important;
height: 30px !important;
}
}
/* ── Image Grid ── */
.img-grid {
display: grid;
gap: 4px;
margin: 0.6rem 0;
}
.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;
}
.img-grid .sen-image-frame > img {
width: 100%;
height: 100%;
max-width: 100%;
object-fit: cover;
border-radius: 4px;
}
/* Suppress title overlay inside grids */
.img-grid .sen-image-frame[data-title]::after {
display: none;
}
/* Mobile: reduce to 2 columns */
@media screen and (max-width: 480px) {
.img-grid.cols-3,
.img-grid.cols-4 {
grid-template-columns: repeat(2, 1fr);
}
}
/* ── 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;
-webkit-backdrop-filter: blur(20px) saturate(180%);
backdrop-filter: blur(20px) saturate(180%);
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;
-webkit-backdrop-filter: blur(24px) saturate(180%);
backdrop-filter: blur(24px) saturate(180%);
}
@media screen and (max-width: 480px) {
.ying-toast {
padding: 8px 14px;
font-size: 12px;
border-radius: 5px;
}
}
/* Back to Top Button */
#back-to-top {
opacity: 0;
visibility: hidden;
height: 0;
width: 42px;
margin: 0;
padding: 0;
overflow: hidden;
/* Use translate3d for GPU acceleration instead of scale/translateY combo which might cause repaint */
transform: translate3d(0, 10px, 0) scale(0.8);
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;
/* Explicitly tell browser to promote this layer */
will-change: opacity, transform, height;
}
/* Ensure consistent display state when active */
#back-to-top.show {
opacity: 1;
visibility: visible;
height: 42px;
width: 42px;
margin-top: 0;
transform: translate3d(0, 0, 0) scale(1);
pointer-events: auto;
border-width: 1px;
display: flex; /* Force flex display to keep icon centered */
}
#back-to-top.show:hover {
transform: translate3d(0, -3px, 0) scale(1);
}
/* 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 { }
/* 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;
}
/* 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;
}
/* Category Page Styles */
.category-container {
max-width: 100%;
}
.category-header {
text-align: left;
margin-bottom: 10px;
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);
}
/* 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;
}
/* ==========================================================================
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;
}
/* 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%;
}
/* 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; }
.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 {
color: var(--text-content-color) !important;
}
/* Buttons & Badges (Light Mode) */
.atk-send-btn {
padding: 0 12px !important;
min-width: 60px !important;
background-color: var(--background-dark-color) !important; /* 实心背景 */
color: #fff !important; /* 白色文字 */
border: none !important;
border-radius: 4px !important;
font-size: 13px !important;
transition: all 0.3s ease !important;
}
.atk-send-btn:hover {
opacity: 0.9;
/* transform: translateY(-1px); */
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;
font-style: normal;
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;
backdrop-filter: none;
-webkit-backdrop-filter: none;
/* 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 --- */
/* --- 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;
}
[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;
}
[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;
}
[data-theme="dark"] .atk-main-editor {
background: transparent !important;
border: 1px solid var(--frame-dark-color) !important;
}
[data-theme="dark"] .atk-textarea {
color: var(--text-content-dark-color) !important;
background: transparent !important;
}
[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;
}
[data-theme="dark"] .atk-ua {
color: #666 !important;
background: var(--background-dark-color) !important;
}
[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;
}
[data-theme="dark"] .atk-pinned-badge {
color: #e5e5e5 !important;
background: #332D2F !important; /* 与深色边框呼应 */
}
[data-theme="dark"] .atk-badge {
color: #e5e5e5 !important;
background: #444 !important;
}
[data-theme="dark"] .atk-reply-to {
border-left: 3px solid #242021 !important;
}
[data-theme="dark"] .atk-send-btn {
background: var(--date_text_color) !important; /* 深色实心背景 */
color: #e5e5e5 !important;
border: 1px solid rgba(255,255,255,0.1) !important;
}
[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;
}
/* --- Global Theme Transition --- */
body,
.main,
.header,
.footer,
.post-content,
.post-title,
.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,
.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),
opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1),
box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* --- Transition Effects (Deprecated old block) --- */
/* .artalk, ... (Old selectors removed to avoid conflict) */
/* --- 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; }
/* 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);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.28s ease, visibility 0.28s ease;
}
.search-modal.show {
opacity: 1;
visibility: visible;
pointer-events: auto;
}
.search-modal-content {
background: rgba(255, 255, 255, 0.94);
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);
}
.search-modal.show .search-modal-content {
opacity: 1;
transform: translateY(0) scale(1);
}
.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;
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);
}
.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;
}
.search-result-item:last-child {
border-bottom: none;
}
.search-result-item:hover,
.search-result-item:focus-visible {
background: rgba(0, 0, 0, 0.04);
}
.search-result-title {
font-size: 15px;
font-weight: 600;
margin-bottom: 4px;
display: block;
color: var(--text-content-color, #24292e);
}
.search-result-date {
font-size: 12px;
color: #999;
margin-bottom: 4px;
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);
}
[data-theme="dark"] .search-modal-content {
background: rgba(30, 33, 40, 0.94);
border-color: rgba(255, 255, 255, 0.08);
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;
}
[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);
}
[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);
}
[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;
margin-top: 0px;
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;
}
/* 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;
}
/* Mobile Visibility Utilities */
.mobile-visible-only {
display: none !important;
}
@media (max-width: 768px) {
.mobile-visible-only {
display: block !important;
}
}
/* 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;
}
}
/* AI Comment — subtle badge only */
.atk-comment.atk-ai-comment .atk-badge {
display: inline-flex;
align-items: center;
padding: 2px 8px;
font-size: 10px;
font-weight: 600;
letter-spacing: 0.05em;
color: #fff;
background: linear-gradient(135deg, #c9a84c, #a07d30);
border-radius: 20px;
box-shadow: 0 1px 3px rgba(160, 125, 48, 0.2);
}
.atk-comment.atk-ai-comment .atk-nick {
display: none;
}
.atk-comment.atk-ai-comment .atk-avatar img {
transition: transform 0.3s ease;
}
.atk-comment.atk-ai-comment:hover .atk-avatar img {
transform: rotate(6deg);
}
[data-theme="dark"] .atk-comment.atk-ai-comment .atk-badge {
color: #1a1a1a;
box-shadow: 0 1px 4px rgba(160, 125, 48, 0.3);
}
/* Lazy Load Animation */
.lazyload {
opacity: 1;
transform: none;
filter: none;
transition: none;
will-change: auto;
}
.lazyload.lazy-loaded {
opacity: 1;
transform: none;
filter: none;
}
[data-theme="dark"] .ai-comment-card .atk-content p {
color: var(--text-content-dark-color);
}
/* 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%;
/* background: rgba(0,0,0,0.6); */
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%;
width: fit-content;
min-width: 320px;
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;
gap: 12px;
}
.reward-qr-img-wrapper {
width: 160px;
height: 160px;
background: rgba(255,255,255,0.5);
border-radius: 16px;
overflow: hidden;
padding: 10px;
/* border: 1px solid rgba(0,0,0,0.05); */
transition: transform 0.3s ease;
}
.reward-qr-img-wrapper:hover {
transform: translateY(-5px);
}
[data-theme='dark'] .reward-qr-img-wrapper {
background: rgba(255,255,255,0.05);
border-color: rgba(255,255,255,0.1);
}
.reward-qr-item img {
width: 100%;
height: 100%;
object-fit: contain;
display: block;
border-radius: 8px;
}
.reward-qr-item span {
font-size: 0.9rem;
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;
}
.reward-qr-img-wrapper {
width: 120px;
height: 120px;
}
.reward-title {
font-size: 1.1rem;
margin-bottom: 20px;
}
}
/* Dark Mode Background Mask */
body {
position: relative;
}
[data-theme='dark'] body::before {
content: '';
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
z-index: -1;
pointer-events: none;
transition: background 0.3s ease;
}