/* 粉色主题配色覆盖 */
:root {
--primary: rgb(219 39 119);
--btn: rgb(219 39 119);
--btn-hover: rgb(190 24 93);
--btn-plain-bg-hover: rgb(252 231 243);
--btn-content: rgb(190 24 93);
--btn-regular-bg: rgb(252 231 243);
--btn-regular-bg-hover: rgb(251 207 232);
--btn-regular-bg-active: rgb(249 168 219);
--btn-plain-bg-active: rgb(253 242 248);
--btn-card-bg-hover: rgb(252 247 248);
--btn-card-bg-active: rgb(242 224 232);
--title-active: rgb(219 39 119);
--selection-bg: rgb(251 207 232);
}

:root.dark {
--page-bg: rgb(20 12 18);
--primary: rgb(244 114 182);
--btn-plain-bg-hover: rgb(63 30 47);
--card-bg: rgb(35 22 32);
--btn-content: rgb(244 114 182);
--btn-regular-bg: rgb(50 30 42);
--btn-regular-bg-hover: rgb(70 40 58);
--btn-regular-bg-active: rgb(90 50 75);
--btn-plain-bg-active: rgb(40 25 35);
--btn-card-bg-hover: rgb(50 35 45);
--btn-card-bg-active: rgb(65 45 58);
--selection-bg: rgb(80 30 55);
}
/* 深色模式灰色背景覆盖为偏粉深色 */
.dark .bg-white { background-color: rgb(38 24 34) !important; }
.dark .bg-gray-50 { background-color: rgb(42 27 38) !important; }
.dark .bg-gray-100 { background-color: rgb(46 30 42) !important; }
.dark .bg-gray-200 { background-color: rgb(50 33 46) !important; }
.dark .bg-gray-300 { background-color: rgb(54 36 50) !important; }
.dark .bg-gray-400 { background-color: rgb(58 39 54) !important; }
.dark .bg-gray-500 { background-color: rgb(62 42 58) !important; }
.dark .bg-gray-600 { background-color: rgb(52 35 48) !important; }
.dark .bg-gray-700 { background-color: rgb(46 30 42) !important; }
.dark .bg-gray-800 { background-color: rgb(40 26 38) !important; }
.dark .bg-gray-900 { background-color: rgb(32 20 30) !important; }
.dark .bg-gray-950 { background-color: rgb(25 15 24) !important; }
.dark .bg-slate-50 { background-color: rgb(42 27 38) !important; }
.dark .bg-slate-100 { background-color: rgb(46 30 42) !important; }
.dark .bg-slate-200 { background-color: rgb(50 33 46) !important; }
.dark .bg-slate-300 { background-color: rgb(54 36 50) !important; }
.dark .bg-slate-400 { background-color: rgb(58 39 54) !important; }
.dark .bg-slate-500 { background-color: rgb(62 42 58) !important; }
.dark .bg-slate-600 { background-color: rgb(52 35 48) !important; }
.dark .bg-slate-700 { background-color: rgb(46 30 42) !important; }
.dark .bg-slate-800 { background-color: rgb(40 26 38) !important; }
.dark .bg-slate-900 { background-color: rgb(32 20 30) !important; }
.dark .bg-slate-950 { background-color: rgb(25 15 24) !important; }
/* 蓝色文字/按钮覆盖为粉色 */
.text-sky-300{color:rgb(249 168 219)!important}
.text-sky-400{color:rgb(244 114 182)!important}
.text-sky-500{color:rgb(219 39 119)!important}
.text-sky-600{color:rgb(190 24 93)!important}
.text-sky-700{color:rgb(157 23 77)!important}
.text-blue-400, .text-blue-500, .text-blue-600, .text-blue-700 { color: rgb(244 114 182) !important; }
.hover\:text-sky-400:hover, .hover\:text-sky-500:hover, .hover\:text-sky-600:hover { color: rgb(244 114 182) !important; }
.hover\:text-blue-400:hover, .hover\:text-blue-500:hover, .hover\:text-blue-600:hover { color: rgb(244 114 182) !important; }
.bg-sky-400, .bg-sky-500, .bg-sky-600 { background-color: rgb(244 114 182) !important; }
.bg-blue-400, .bg-blue-500, .bg-blue-600 { background-color: rgb(244 114 182) !important; }
.hover\:bg-sky-400:hover, .hover\:bg-sky-500:hover, .hover\:bg-sky-600:hover { background-color: rgb(236 72 153) !important; }
.hover\:bg-blue-400:hover, .hover\:bg-blue-500:hover, .hover\:bg-blue-600:hover { background-color: rgb(236 72 153) !important; }
.border-sky-400, .border-sky-500, .border-sky-600 { border-color: rgb(244 114 182) !important; }
.border-blue-400, .border-blue-500, .border-blue-600 { border-color: rgb(244 114 182) !important; }
/* 导航栏和页脚深色模式背景覆盖 */
.dark nav, .dark .footer, .dark .fixed.inset-x-0.top-0 { background-color: rgba(18, 10, 16, 0.95) !important; }
/* 背景图片遮罩层 */
#app { position: relative; z-index: 0; }
#app::before {
    content: '';
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.4);
    z-index: -1;
    pointer-events: none;
}
.dark #app::before {
    background: rgba(0, 0, 0, 0.55);
}

::-webkit-scrollbar{width:3px;height:3px}
::-webkit-scrollbar-thumb{background:#909090;}
::-webkit-scrollbar-track{background:rgba(203,213,224);}
::-webkit-scrollbar-thumb:hover{background:#000000;}
.dark ::-webkit-scrollbar-thumb{background:rgba(203,213,224);}
.dark ::-webkit-scrollbar-track{background:#909090;}
* {
  outline: none;
}
html{
    min-height: 100vh;
    height:100%;
    scrollbar-color: #2d3748 rgba(203,213,224,0.4);
    scrollbar-width: thin;
    min-height: -webkit-fill-available;
    scroll-padding-top:60px;
}
#app{
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: start;
  min-height:100%;margin:0;padding:0;
    background-image: var(--app-bg-img, none);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}
/* 手机端 Edge/Chrome 底部工具栏收起/展开会改变视口高度，background-attachment:fixed+cover
  按视口重算尺寸导致背景图跳动。移动端改用 fixed 伪图层并锁定 100lvh（最大视口高）：
  工具栏状态不影响图层尺寸，背景完全稳定；桌面端保持原 fixed 挂载不变 */
/* 图片层用 ::after(z:-2)：::before 已被暗化遮罩占用（.dark #app::before 的简写 background
  会整组重置 image/size，曾致暗色模式下背景图消失），z 序 = 遮罩(-1)在图片(-2)上方，暗化效果保留 */
@media (max-width:1023.9px){
  #app{background-image:none}
  #app::after{
    content:"";
    position:fixed;top:-24px;left:-24px;
    width:calc(100vw + 48px);height:calc(100lvh + 48px);
    z-index:-2;
    background-image:var(--app-bg-img, none);
    background-repeat:no-repeat;background-position:center;background-size:cover;
    filter:blur(5px);
  }
}
/* 背景图轻微模糊：桌面端同样改走 ::after 固定图层 + blur(5px)，
  四周外扩 24px 遮住模糊软边；z 序不变 = 暗化遮罩(-1) 在图片层(-2) 上方 */
@media (min-width:1024px){
  #app{background-image:none}
  #app::after{
    content:"";
    position:fixed;inset:-24px;
    z-index:-2;
    background-image:var(--app-bg-img, none);
    background-repeat:no-repeat;background-position:center;background-size:cover;
    filter:blur(5px);
  }
}
@font-face {
  font-family: Emoji;
  src: local("Apple Color Emojiji"), local("Segoe UI Emoji"), local("Segoe UI Symbol"), local("Noto Color Emoji");
  unicode-range: U+1F000-1F644, U+203C-3299;
}
body{
  min-height:100%;
  height:100%;
  margin:0;
  padding:0;
  min-height: -webkit-fill-available;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Emoji, Helvetica, Arial, sans-serif;
}
button{
  cursor: pointer;
}
[x-cloak] { display: none !important; }
aside .mobilemenu svg{
  width: 1.25rem !important;
  height: 1.25rem !important;
}

.text-shadow {
  text-shadow: 0 0.1875rem 0.3125rem #1c1f21;
}

.text-stroke{
      position: relative;
      z-index: 0;
      letter-spacing: 7.5px;
  }
.text-stroke::after {
      content: attr(data-text);
      position: absolute; left: 0;top: 0;
      z-index: -1;
  }
.text-stroke::after {
  -webkit-text-stroke:9px var(--primary);
  }

footer img {
  display: initial;
  vertical-align: sub;
}
center {
  display: block;
  text-align: -webkit-center;
}
.scroll-hidden::-webkit-scrollbar {
  height: 0px;
  background: transparent; /* make scrollbar transparent */
}
.scroll-hidden{
  scrollbar-width:none;
}

/*解决ios16以下bug*/
.translate-x-full{
  transform: translate3d(100%, 0, 0) !important;
}
.translate-x-0{
  transform: translate3d(0, 0, 0) !important;
}
.-translate-x-full{
  transform: translate3d(-100%, 0, 0) !important;
}

/*通用文章样式草案*/
.markdown-section {
    margin: 0 auto;
    padding: 15px 0 0;
    position: relative;
}

.markdown-section img{
    max-height: 60vh;
    border-radius: 5px;
    width: auto;
}

.markdown-section>* {
    box-sizing: border-box;
    font-size: inherit
}

.markdown-section>:first-child {
    margin-top: 0!important
}

.markdown-section hr {
    border: none;
    border-bottom: 1px solid #eee;
    margin: 2em 0
}

.markdown-section table {
    border-collapse: collapse;
    border-spacing: 0;
    display: block;
    margin-bottom: 1rem;
    overflow: auto;
    width: 100%
}

.markdown-section th {
    font-weight: 700
}

.markdown-section td,.markdown-section th {
    border: 1px solid #ddd;
    padding: 6px 13px
}
.dark .markdown-section td, .dark .markdown-section th {
    border: 1px solid #454545;
}

.markdown-section tr {
    border-top: 1px solid #ccc
}

.dark .markdown-section em {
    color: #cad9da;
}
.markdown-section p.warn {
    background: rgba(66,185,131,.1);
    border-radius: 2px;
    padding: 1rem
}

.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong {
    color: #2c3e50;
    font-weight: 600
}
.dark .markdown-section h1,.dark .markdown-section h2,.dark .markdown-section h3,.dark .markdown-section h4,.dark .markdown-section strong {
    color: #ffffff;
}
.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4 {
    position: relative;
    padding-top:.75rem;
}
.markdown-section h1:before,.markdown-section h2:before,.markdown-section h3:before,.markdown-section h4:before {
    content: '';
    position: absolute;
    width: 50px;
    height: 5px;
    border-radius: 10px;
    left: 0;
    top: 0;
    z-index: 1;
    background: var(--primary);
    -webkit-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
}
.markdown-section a {
    color: var(--primary,#2196F3);
    font-weight: 600;
    cursor: pointer;
}

.markdown-section h1 {
    font-size: 1.5rem;
    margin: 1em 0 1em 0;
}

.markdown-section h2 {
    font-size: 1.4rem;
    margin: 1em 0 1em 0;
}

.markdown-section h3 {
    font-size: 1.3rem;
    margin: 1em 0 1em 0;
}

.markdown-section h4 {
    font-size: 1.2rem;
    margin: 1em 0 0.5em 0;
}

.markdown-section h5 {
    font-size: 1.1rem;
    margin: 1em 0 0.5em 0;
}

.markdown-section h6 {
    font-size: 1rem;
    margin: 1em 0 0.5em 0;
}

.markdown-section figure,.markdown-section p {
    margin: 1.2em 0
}

.markdown-section ol,.markdown-section p,.markdown-section ul {
    line-height: 1.6rem;
    word-spacing: .05rem;
    list-style: inherit;
}
.markdown-section ol {
    list-style: auto;
}
.markdown-section ol,.markdown-section ul {
    padding-left: 1.5rem;
    margin-bottom: 1.2em;
}
.markdown-section ul li::marker, .markdown-section ol li::marker {
  color: var(--primary);
}
.markdown-section blockquote {
    border-left: 4px solid var(--theme-color,#2196F3);
    color: #858585;
    margin: 2em 0;
    padding-left: 20px
}
.markdown-section blockquote blockquote {
    margin: 0;
}

.markdown-section blockquote p {
    font-weight: 600;
    margin-left: 0
}

.markdown-section iframe {
    margin: 1em 0
}

.markdown-section em {
    color: #7f8c8d
}

.markdown-section code,.post-comment code {
    border-radius: 2px;
    font-size: .8rem;
    margin: 0 2px;
    white-space: pre-wrap;
    background-color: var(--inline-code-bg);
    padding: .125rem .25rem;
    color: var(--inline-code-color);
}

.markdown-section pre,.post-comment pre {
    background-color: #faf8fa;
    font-family: ui-monospace,SFMono-Regular,Consolas,'Courier New',monospace
}

.markdown-section pre,.post-comment pre {
    -moz-osx-font-smoothing: initial;
    -webkit-font-smoothing: initial;
    line-height: 1.5rem;
    margin: 1.2em 0;
    overflow: auto;
    padding: 0 1.4rem;
    position: relative;
    word-wrap: normal
}

.markdown-section pre>code,.post-comment pre>code {
    -moz-osx-font-smoothing: initial;
    -webkit-font-smoothing: initial;
    background-color: transparent;
    border-radius: 0;
    color: #4b3b45;
    display: block;
    font-family: ui-monospace,SFMono-Regular,Consolas,'Courier New',monospace;
    font-size: .84rem;
    line-height: 1.75;
    margin: 0;
    max-width: inherit;
    overflow: inherit;
    padding: 0;
    white-space: inherit
}

.markdown-section code:after,.markdown-section code:before,.post-comment code:after,.post-comment code:before {
    letter-spacing: .05rem
}

code .token {
    -moz-osx-font-smoothing: initial;
    -webkit-font-smoothing: initial;
    min-height: 1.5rem
}

pre:after {
    color: rgba(219,39,119,.6);
    content: attr(data-lang);
    font-size: .62rem;
    font-weight: 700;
    height: auto;
    line-height: 1.3;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: .6rem .95rem 0 0;
    position: absolute;
    right: 0;
    text-align: right;
    top: 0
}
/*加密文章密码输入框样式*/
form.protected {
    text-align: center;
}
.protected input.text {
    background: #f7f7f7;
    border-radius: 5px;
    padding: 4px 8px;
}
.dark .protected input.text {
    background: #374151;
}
.protected .submit {
    cursor: pointer;
    background: #2196F3;
    color: white;
    padding: 4px 8px;
    font-size: 14px;
    border-radius: 5px;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: 100ms;
}
.protected .submit:hover {
    background: #3F51B5;
}
/*--------------------------------------------------------------
## Media
--------------------------------------------------------------*/
iframe,
embed {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.media {
  position: relative;
  display: block;
  padding: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  overflow: hidden;
}

.media:after {
  content: '';
  display: block;
  padding-top: 100%;
}
.media:after{
    background-repeat: no-repeat;
    background-position: 50%;
}
.media iframe,
.media-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: 0;
  margin: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: rgba(120, 120, 120, 0.1);
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
img.media-content{
    max-height: 100%;
}
.media-diy:after {
  padding-top: calc(var(--bili) * 1%);
}
/* 代码高亮：扁平代码块，无 macOS 红黄绿三圆点 */
.markdown-section pre:before, .post-comment pre:before {
  content: none;
  display: none;
}
button.copy:before {
  content: '\590d\5236';
}
button.copyed:before {
  content: '\590d\5236\5b8c\6210';
}
button.copyerror:before {
  content: '\590d\5236\5931\8d25';
}
.markdown-section pre, .post-comment pre{
    font-size: 100%;
    border-radius: .55rem;
    position: relative;
    margin: 20px 0 20px 0;
    padding: 1.7rem 1.15rem 1.05rem;
    border: 1px solid rgba(219,39,119,.14);
    border-left: 3px solid var(--primary,#db2777);
    overflow: auto;
    max-height: unset;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.dark .markdown-section pre,.dark .post-comment pre{
    background-color: #221a20;
    border-color: rgba(244,114,182,.16);
    border-left-color: #f472b6;
}
.markdown-section pre code ul {
    counter-reset: items;
    margin: 0 !important;
    padding: 0px;
    list-style: disc;
}
.markdown-section pre li {
    display: block;
    counter-increment: items;
    margin: 0 !important;
    line-height: 1.38em;
    word-break: break-all;
    word-wrap: break-word;
}
.markdown-section pre code ul li:before {
    content: "00" counter(items)" ";
  }
.markdown-section pre code ul li:nth-child(n+10):before {
    content: "0" counter(items)" ";
  }
.markdown-section pre code ul li:nth-child(n+100):before {
    content: counter(items)" ";
  }

.hljs {
  display: block;
  overflow: auto;
  padding: 0 !important;
  background: transparent !important;
  color: #4b3b45 !important;
  border-radius: 0px !important;
  max-height: none;
  margin: 0 !important;
}
.dark .hljs{
  background: transparent !important;
  color: #eadfe8 !important;
}
/* 浅色模式高亮配色：Gruvbox 亮色系在浅底上对比过低，另配一套 */
html:not(.dark) .hljs-deletion,
html:not(.dark) .hljs-formula,
html:not(.dark) .hljs-keyword,
html:not(.dark) .hljs-selector-tag { color: #c2185b; }
html:not(.dark) .hljs-addition,
html:not(.dark) .hljs-meta-string,
html:not(.dark) .hljs-section,
html:not(.dark) .hljs-selector-attr,
html:not(.dark) .hljs-selector-class,
html:not(.dark) .hljs-string,
html:not(.dark) .hljs-symbol { color: #0f7b52; }
html:not(.dark) .hljs-builtin-name,
html:not(.dark) .hljs-code,
html:not(.dark) .hljs-doctag,
html:not(.dark) .hljs-literal,
html:not(.dark) .hljs-meta,
html:not(.dark) .hljs-number,
html:not(.dark) .hljs-regexp,
html:not(.dark) .hljs-selector-id,
html:not(.dark) .hljs-template-variable { color: #1565c0; }
html:not(.dark) .hljs-built_in,
html:not(.dark) .hljs-class,
html:not(.dark) .hljs-name,
html:not(.dark) .hljs-quote,
html:not(.dark) .hljs-strong,
html:not(.dark) .hljs-title,
html:not(.dark) .hljs-variable { color: #6a3fb5; }
html:not(.dark) .hljs-attr,
html:not(.dark) .hljs-attribute,
html:not(.dark) .hljs-bullet,
html:not(.dark) .hljs-params,
html:not(.dark) .hljs-selector-pseudo,
html:not(.dark) .hljs-tag,
html:not(.dark) .hljs-template-tag,
html:not(.dark) .hljs-type { color: #b45309; }
html:not(.dark) .hljs-comment { color: #8b8794; }
.hljs,
.hljs-subst {
  color: #ebdbb2;
}

/* Gruvbox Red */
.hljs-deletion,
.hljs-formula,
.hljs-keyword,
.hljs-link,
.hljs-selector-tag {
  color: #fb4934;
}

/* Gruvbox Blue */
.hljs-built_in,
.hljs-emphasis,
.hljs-name,
.hljs-quote,
.hljs-strong,
.hljs-title,
.hljs-variable {
  color: #83a598;
}

/* Gruvbox Yellow */
.hljs-attr,
.hljs-params,
.hljs-template-tag,
.hljs-type {
  color: #fabd2f;
}

/* Gruvbox Purple */
.hljs-builtin-name,
.hljs-doctag,
.hljs-literal,
.hljs-number {
  color: #8f3f71;
}

/* Gruvbox Orange */
.hljs-code,
.hljs-meta,
.hljs-regexp,
.hljs-selector-id,
.hljs-template-variable {
  color: #fe8019;
}

/* Gruvbox Green */
.hljs-addition,
.hljs-meta-string,
.hljs-section,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-string,
.hljs-symbol {
  color: #b8bb26;
}

/* Gruvbox Aqua */
.hljs-attribute,
.hljs-bullet,
.hljs-class,
.hljs-function,
.hljs-function .hljs-keyword,
.hljs-meta-keyword,
.hljs-selector-pseudo,
.hljs-tag {
  color: #8ec07c;
}

/* Gruvbox Gray */
.hljs-comment {
  color: #928374;
}

/* Gruvbox Purple */
.hljs-link_label,
.hljs-literal,
.hljs-number {
  color: #d3869b;
}

.hljs-comment,
.hljs-emphasis {
  font-style: italic;
}

.hljs-section,
.hljs-strong,
.hljs-tag {
  font-weight: bold;
}


.post-comment p{
  padding: .25rem 0;
}
.post-comment .comment-list .children {
  margin-left: 3.25rem;
}
.post-comment .comment-list .children .children{
  margin-left: 0px;
}

@media (max-width: 767.98px) {
.post-comment .comment-list .children {
    margin-left: 1.5rem;
  }
}

/*隐私评论样式适配*/
#PrivateComments + label {
	-webkit-transition: all 0.1s ease-in;
	transition: all 0.1s ease-in;
	width: 30px;
	height: 1rem;
}
#PrivateComments + label:after {
	content: ' ';
	position: absolute;
	top: 0;
	-webkit-transition: box-shadow 0.1s ease-in;
	transition: box-shadow 0.1s ease-in;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 100px;
}
#PrivateComments + label:before {
	content: ' ';
	position: absolute;
	background: white;
	top: 0;
	left: 1px;
	z-index: 9;
	width: 1rem;
	-webkit-transition: all 0.1s ease-in;
	transition: all 0.1s ease-in;
	height: 1rem;
	border-radius: 100px;
}
/*隐私评论样式适配*/
#PrivateComments:active + label:before {
	width: 1.15rem;
}

#PrivateComments:checked:active + label:before {
	width: 1.15rem;
	left: 10px;
}
#PrivateComments:checked + label:before {
	content: ' ';
	position: absolute;
	left: 16px;
	border-radius: 100px;
}

#PrivateComments:checked + label:after {
	content: ' ';
	position: absolute;
	background: #ef4444;
}
/*表情*/
.OwO{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;   }.OwO.OwO-open .OwO-body{display:block}.OwO.OwO-up .OwO-body{top:inherit;bottom:21px;border-radius:4px 4px 4px 0}.OwO.OwO-up .OwO-body .OwO-bar .OwO-packages li:nth-child(1){border-radius:0}.OwO.OwO-up.OwO-open .OwO-logo{border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none}.OwO .OwO-logo{position:relative;display:inline-block;cursor:pointer;box-sizing:border-box;z-index:2;}.OwO .OwO-logo:hover span{display:inline-block;-webkit-animation:a 5s infinite ease-in-out;animation:a 5s infinite ease-in-out}.OwO .OwO-body{display:none;position:relative;;max-width:400px;border:1px solid #ddd;z-index:1;border-radius:0 4px 4px 4px;}.OwO .OwO-body .OwO-items{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:none;padding:10px;margin:0;overflow-y:scroll;font-size:0;}.OwO .OwO-body .OwO-items .OwO-item{list-style-type:none;background:#f7f7f7;padding:5px 10px;border-radius:5px;display:inline-block;font-size:12px;line-height:14px;margin:0 10px 12px 0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.OwO .OwO-body .OwO-items .OwO-item:hover{background:#eee;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);-webkit-animation:a 5s infinite ease-in-out;animation:a 5s infinite ease-in-out}.OwO .OwO-body .OwO-items-emoji .OwO-item{font-size:20px;line-height:19px}.OwO .OwO-body .OwO-items-image .OwO-item{max-width:calc(25% - 10px);box-sizing:border-box}.OwO .OwO-body .OwO-items-image .OwO-item img{max-width:100%}.OwO .OwO-body .OwO-items-show{display:block}.OwO .OwO-body .OwO-bar{width:100%;height:30px;border-top:1px solid #ddd;background:#fff;border-radius:0 0 4px 4px;color:#444}.OwO .OwO-body .OwO-bar .OwO-packages{margin:0;padding:0;font-size:0}.OwO .OwO-body .OwO-bar .OwO-packages li{list-style-type:none;display:inline-block;line-height:30px;font-size:14px;padding:0 10px;cursor:pointer;margin:0}.OwO .OwO-body .OwO-bar .OwO-packages li:nth-child(1){border-radius:0 0 0 3px}.OwO .OwO-body .OwO-bar .OwO-packages li:hover{background:#eee}.OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active{background:#eee;-webkit-transition:.3s;transition:.3s}
.OwO-jio{position: absolute;top: -10px;left: 10px;width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-bottom: 10px solid #ddd;}
.OwO-jio:before{content: '';display: block;width: 0;height: 0;border-left: 8px solid transparent;border-right: 8px solid transparent;border-bottom: 8px solid #FFF;position: absolute;left: -8px;top: 2px;}
.dark .OwO .OwO-body .OwO-items .OwO-item,.dark .OwO .OwO-body .OwO-items .OwO-item:hover {background: #374151;}
.dark .OwO .OwO-body .OwO-bar {border-top: 1px solid #1f2937;background: #1f2937;color: #fff;}
.dark .OwO .OwO-body .OwO-bar .OwO-packages .OwO-package-active,.dark .OwO .OwO-body .OwO-bar .OwO-packages li:hover {background: #111827;}
.dark .OwO .OwO-body {border: 1px solid #374151;}
.dark .OwO-jio {border-bottom: 10px solid #374151;}
.dark .OwO-jio:before {border-bottom: 8px solid #1f2937;}
img.biaoqing{
    display: inline-block;
    height: 40px;
    vertical-align: bottom;
    margin: 0;
}

.OwO-bar img {
    top: 0 !important;
    height: auto;
}

#widget-to-top:hover .num{
display: none;
}
#widget-to-top:hover .up{
  display: block !important;
  }
.footer a{
  color:var(--primary);
}

/*数字动画*/
@property --seed{
  syntax:"<integer>";
  inherits:true;
  initial-value:0;
}
@keyframes seed {
  from {--seed:0;}
  to {--seed:100;}
}
@keyframes changeColor {
  0% {color: transparent;}
  99% {color: transparent;}
  100% {color:#fff;}
}
.ani-num{
  position: relative;
  color: transparent;
  animation: changeColor .8s forwards;
}
.ani-num::before{
  position: absolute;
  counter-reset: num calc(var(--seed) * var(--num) / 100);
  content:counter(num);
  color: #fff;
  animation: seed .5s forwards;
}


/*--------------------------------------------------------------
    tips close btn
--------------------------------------------------------------*/
.btn-close-tips {
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 100%;
  z-index: 44;
  cursor: pointer;
  transform: translateY(150%);
  text-align: center;
}
@-webkit-keyframes tips-open {
  0% {
      opacity: 0;
      -webkit-transform: translate3d(0, 50px, 0)
  }

  100% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0)
  }

}

@keyframes tips-open {
  0% {
      opacity: 0;
      -webkit-transform: translate3d(0, 50px, 0);
      transform: translate3d(0, 50px, 0)
  }

  100% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0)
  }

}

@-webkit-keyframes tips-close {
  0% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0)
  }

  100% {
      opacity: 0;
      -webkit-transform: translate3d(0, 50px, 0)
  }

}

@keyframes tips-close {
  0% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0)
  }

  100% {
      opacity: 0;
      -webkit-transform: translate3d(0, 50px, 0);
      transform: translate3d(0, 50px, 0)
  }

}
.sinner-tips .tips-body{
  -webkit-animation-duration: .3s;
  animation-duration: .3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.sitips-open .tips-body{
  -webkit-animation-name: tips-open;
  animation-name: tips-open
}
.sitips-close .tips-body {
  -webkit-animation-name: tips-close;
  animation-name: tips-close
}
/*打赏二维码切换逻辑代替js方案*/
#wxpay:checked ~ .wx-img,#alipay:checked ~ .tb-img{
  display: block;
}
#wxpay:checked ~ .rounded-full label[for="wxpay"] span,#alipay:checked ~ .rounded-full label[for="alipay"] span{
  background: #fff;
}
.dark #wxpay:checked ~ .rounded-full label[for="wxpay"] span,.dark #alipay:checked ~ .rounded-full label[for="alipay"] span{
background-color: rgba(31, 41, 55, 1);
}

/* 图片加载动画 */
.load {
  background-color: var(--page-bg); 
  -webkit-transition: .5s ease-in-out opacity;
  transition: .5s ease-in-out opacity;
  filter: blur(35px);
  -webkit-mask: radial-gradient(circle at center, white 100%, transparent 100%);
  mask: radial-gradient(circle at center, white 100%, transparent 100%);
}

.loaded {
  filter: blur(0px);
  opacity: 1;
  transition: .5s filter linear, .5s -webkit-filter linear;
}

/*模式切换动画*/
.ze_DarkSky, .ze_DarkSky:before {
	content: "";
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 88888888;
}

.ze_DarkSky {
	background: linear-gradient(#feb8b0, #fef9db)
}

.ze_DarkSky:before {
	transition: 1.5s ease all;
	opacity: 0;
	background: linear-gradient(#4c3f6d, #6c62bb, #93b1ed)
}

.dark .ze_DarkSky:before {
	opacity: 1
}

.ze_DarkPlanet {
	z-index: 99999999;
	position: fixed;
	left: -50%;
	top: -50%;
	width: 200%;
	height: 200%;
	-webkit-animation: zePlanetMove 1.5s cubic-bezier(.7, 0, 0, 1);
	animation: zePlanetMove 1.5s cubic-bezier(.7, 0, 0, 1);
	transform-origin: center bottom
}

@-webkit-keyframes zePlanetMove {
	0% {
		transform: rotate(0)
	}
	to {
		transform: rotate(360deg)
	}
}

@keyframes zePlanetMove {
	0% {
		transform: rotate(0)
	}
	to {
		transform: rotate(360deg)
	}
}

.ze_DarkPlanet svg {
	position: absolute;
	left: 35%;
	top: 40%;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	content: "";
}
/* ========== 粉色主题：覆盖所有 Tailwind blue-* 硬编码类为粉色（2026-08-30） ========== */
:root { --theme-color: rgb(236 72 153); }
.bg-blue-50{background-color:rgb(253 242 248)!important}
.bg-blue-100{background-color:rgb(252 231 243)!important}
.bg-blue-200{background-color:rgb(251 207 232)!important}
.bg-blue-300{background-color:rgb(249 168 219)!important}
.bg-blue-400{background-color:rgb(244 114 182)!important}
.bg-blue-500{background-color:rgb(236 72 153)!important}
.bg-blue-600{background-color:rgb(219 39 119)!important}
.bg-blue-700{background-color:rgb(190 24 93)!important}
.bg-blue-800{background-color:rgb(157 23 77)!important}
.bg-blue-900{background-color:rgb(131 24 67)!important}
.text-blue-50{color:rgb(253 242 248)!important}
.text-blue-100{color:rgb(252 231 243)!important}
.text-blue-200{color:rgb(251 207 232)!important}
.text-blue-300{color:rgb(249 168 219)!important}
.text-blue-400{color:rgb(244 114 182)!important}
.text-blue-500{color:rgb(236 72 153)!important}
.text-blue-600{color:rgb(219 39 119)!important}
.text-blue-700{color:rgb(190 24 93)!important}
.text-blue-800{color:rgb(157 23 77)!important}
.text-blue-900{color:rgb(131 24 67)!important}
.border-blue-400{border-color:rgb(244 114 182)!important}
.border-blue-500{border-color:rgb(236 72 153)!important}
.border-blue-600{border-color:rgb(219 39 119)!important}
.shadow-blue-100{--tw-shadow-color:rgb(252 231 243)!important}
.shadow-blue-500{--tw-shadow-color:rgb(236 72 153)!important}
.hover\:bg-blue-50:hover{background-color:rgb(253 242 248)!important}
.hover\:bg-blue-100:hover{background-color:rgb(252 231 243)!important}
.hover\:bg-blue-400:hover{background-color:rgb(244 114 182)!important}
.hover\:bg-blue-500:hover{background-color:rgb(236 72 153)!important}
.hover\:bg-blue-600:hover{background-color:rgb(219 39 119)!important}
.hover\:bg-blue-700:hover{background-color:rgb(190 24 93)!important}
.hover\:text-blue-400:hover{color:rgb(244 114 182)!important}
.hover\:text-blue-500:hover{color:rgb(236 72 153)!important}
.hover\:text-blue-600:hover{color:rgb(219 39 119)!important}
.group:hover .group-hover\:text-blue-500{color:rgb(236 72 153)!important}
.group:hover .group-hover\:text-blue-600{color:rgb(219 39 119)!important}
.dark .dark\:bg-blue-400{background-color:rgb(244 114 182)!important}
.dark .dark\:bg-blue-500{background-color:rgb(236 72 153)!important}
.dark .dark\:bg-blue-600{background-color:rgb(219 39 119)!important}
.dark .dark\:bg-blue-700{background-color:rgb(190 24 93)!important}
.dark .dark\:bg-blue-800{background-color:rgb(157 23 77)!important}
.dark .dark\:text-blue-400{color:rgb(244 114 182)!important}
.dark .dark\:text-blue-500{color:rgb(236 72 153)!important}
.dark .dark\:hover\:bg-blue-500\/20:hover{background-color:rgb(236 72 153 / .2)!important}
.dark .dark\:hover\:bg-blue-500:hover{background-color:rgb(236 72 153)!important}
.dark .dark\:hover\:text-blue-400:hover{color:rgb(244 114 182)!important}

/* ===== 无障碍修复 ===== */
/* sr-only：分页"上一页/下一页"等读屏文本（tw.min.css 未编译此工具类，手动补齐） */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
/* 侧栏"解压密码"说明卡文字：亮色 gray-400(2.8:1)→gray-600(7.6:1) 达 AA；暗色维持原灰 */
p.text-sm.text-gray-400{color:#4b5563!important}
:root.dark p.text-sm.text-gray-400{color:#9ca3af!important}


/* ===== 全站无障碍 ===== */
/* light: gray-400 小字 2.8:1 不足 -> gray-500(4.83:1)；dark 下回亮 gray-400 */
.text-gray-400{color:rgb(107 114 128)!important}
:root.dark .text-gray-400{color:rgb(156 163 175)!important}
/* dark: gray-500 文字在深棕底 3.6:1 不足 -> 提亮 gray-400 */
:root.dark .text-gray-500{color:rgb(156 163 175)!important}
/* dark: sky 链接/图标在深底需亮粉（light 映射已加深为 #db2777） */
:root.dark .text-sky-400,:root.dark .text-sky-500,:root.dark .text-sky-600,:root.dark .text-sky-700{color:rgb(244 114 182)!important}
/* dark: 标题标签（post.php h1 tags）深紫棕底上的浅字已由 dark:text-gray-200 保证 */

/* ===== 文章页配套：猜你喜欢卡片 / 侧栏 chip / 公告弹窗 ===== */
/* 猜你喜欢卡片（recommen.php）：与文章页 {post} 引用卡片同语言 */
.yf-rec{position:relative;display:flex;align-items:center;gap:.85rem;padding:.7rem .8rem;border-radius:.9rem;
  background:linear-gradient(135deg,rgba(219,39,119,.05),rgba(219,39,119,.012) 60%,transparent);
  border:1px solid rgba(219,39,119,.15);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.yf-rec:hover{transform:translateY(-3px);border-color:rgba(219,39,119,.42);box-shadow:0 12px 26px rgba(219,39,119,.15)}
.dark .yf-rec{background:linear-gradient(135deg,rgba(244,114,182,.08),rgba(244,114,182,.02) 60%,transparent);border-color:rgba(244,114,182,.20)}
.dark .yf-rec:hover{border-color:rgba(244,114,182,.50);box-shadow:0 12px 26px rgba(0,0,0,.40)}
.yf-rec-thumb{flex:none;width:4.3rem;height:3.2rem;border-radius:.55rem;overflow:hidden;
  border:1px solid rgba(219,39,119,.14);background:#f3f4f6}
.dark .yf-rec-thumb{border-color:rgba(244,114,182,.18);background:#374151}
.yf-rec-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.yf-rec-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.yf-rec-title{font-weight:700;font-size:.9rem;line-height:1.4;color:#1f2937;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.dark .yf-rec-title{color:#e5e7eb}
.yf-rec:hover .yf-rec-title{color:var(--primary)}
.yf-rec-excerpt{font-size:.78rem;line-height:1.5;color:#9ca3af;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.yf-rec-arrow{flex:none;width:1.7rem;height:1.7rem;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(219,39,119,.08);color:var(--primary);transition:background-color .25s ease,color .25s ease,transform .25s ease}
.yf-rec-arrow{font-size:0}
.yf-rec-arrow use{width:.8rem;height:.8rem}
.yf-rec:hover .yf-rec-arrow{background:var(--btn,#db2777);color:#fff;transform:translateX(2px)}
/* 侧栏 chip（标签云/友情链接）：粉描边胶囊，悬停填充+上浮，替代旧实心 pill */
.yf-chip{display:inline-block;margin:0 .7rem .42rem 0;padding:0;font-size:.8rem;font-weight:700;line-height:1.6;white-space:nowrap;
  color:#374151;background:none;border:none;border-radius:0;transform-origin:left center;transition:color .2s ease,transform .2s ease}
.yf-chip::before{content:'';display:inline-block;width:.3rem;height:.3rem;border-radius:50%;background:var(--btn,#db2777);
  opacity:.55;margin-right:.42rem;vertical-align:.16em;transition:transform .2s ease,opacity .2s ease}
.yf-chip:hover{color:var(--btn,#db2777);background:none;box-shadow:none;transform:scale(1.12)}
.yf-chip:hover::before{transform:scale(1.7);opacity:1}
.dark .yf-chip{color:#d1d5db}
.dark .yf-chip:hover{color:#f472b6}
/* 公告弹窗（main.tangg → sinnertips yf-ggbody）：粉色顶带+羽毛笔标题+右上角关闭 */
.yf-ggbody{position:relative;border-radius:1.1rem!important;overflow:hidden;
  background:#fff!important;border:1px solid rgba(219,39,119,.20)!important;
  box-shadow:0 24px 60px rgba(219,39,119,.25)!important}
.dark .yf-ggbody{background:#241d24!important;border-color:rgba(244,114,182,.26)!important;box-shadow:0 24px 60px rgba(0,0,0,.55)!important}
.yf-gghead{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.2rem 3rem .1rem;
  font-size:1.08rem;font-weight:800;letter-spacing:.05em;color:var(--btn,#db2777)}
.dark .yf-gghead{color:#f472b6}
.yf-gg-ico{width:1.25rem;height:1.25rem;flex:none}
.yf-gg-text{font-size:.86rem;line-height:1.85}
.yf-ggbody .btn-close-tips{display:none}
/* 「点击进入」按钮 + 整卡可点 */
.yf-gg-click{cursor:pointer}
.yf-gg-enter{display:block;width:100%;margin-top:1.1rem;padding:.68rem 1rem;border:none;border-radius:.8rem;cursor:pointer;
  font-size:.9rem;font-weight:800;letter-spacing:.18em;color:#fff;text-indent:.18em;
  background:linear-gradient(135deg,var(--btn,#db2777),#ec4899);
  box-shadow:0 8px 20px rgba(219,39,119,.30);transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.yf-gg-enter:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 12px 26px rgba(219,39,119,.42)}
.dark .yf-gg-enter{box-shadow:0 8px 20px rgba(0,0,0,.45)}
/* 公告弹窗宽度下限：内容窄时保持卡片形态 */
.yf-ggbody{min-width:min(78vw,21rem)}
/* 卡片标题装饰：粉渐变小菱形 */
.yf-title-gem{display:inline-block;width:.52rem;height:.52rem;flex:none;margin-right:.6rem;border-radius:1.5px;transform:rotate(45deg);
  background:linear-gradient(135deg,var(--btn,#db2777),#ec4899);box-shadow:0 1px 4px rgba(219,39,119,.35)}

/* 暗色模式压暗 900 反馈页封面图 */
.dark img[src*="900.webp"]{filter:brightness(.75)}

/* {collapse} 折叠框短代码：粉调卡片（对齐 blockquote / STAFF 表的描边 + 浅粉染风格） */
.yf-collapse{margin:1.4em 0;border:1px solid rgba(219,39,119,.20);border-radius:.9rem;overflow:hidden;
  box-shadow:0 4px 16px rgba(219,39,119,.07)}
.yf-collapse-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem 1rem;
  font-size:.93rem;font-weight:700;color:#be185d;background:rgba(219,39,119,.07);cursor:pointer;user-select:none;
  transition:background .2s}
.yf-collapse-head:hover{background:rgba(219,39,119,.13)}
.yf-collapse-head .transform{color:var(--primary,#db2777);flex:none}
.yf-collapse .transition-all{color:#4b5563}
.dark .yf-collapse{border-color:rgba(244,114,182,.26);box-shadow:0 4px 16px rgba(0,0,0,.35)}
.dark .yf-collapse-head{color:#f472b6;background:rgba(244,114,182,.10)}
.dark .yf-collapse-head:hover{background:rgba(244,114,182,.16)}
.dark .yf-collapse-head .transform{color:#f472b6}
.dark .yf-collapse .transition-all{color:#cfd4dc}
