/* ============================================================
   🌸 二次元粉樱主题 custom.css （配合 Butterfly 5.x）
   ============================================================ */

/* ---------- 变量 ---------- */
:root {
  --anime-main: #ff7ea8;
  --anime-sub: #b58cf0;
  --anime-grad: linear-gradient(135deg, #ff9ec7 0%, #b58cf0 100%);
  --card-bg: rgba(255, 255, 255, 0.88);
  --text-bg-hover: rgba(255, 126, 168, 0.28);
  --blockquote-bg: rgba(255, 126, 168, 0.07);
  --anime-card-border: rgba(255, 158, 199, 0.35);
  --anime-shadow: 0 8px 24px -6px rgba(255, 126, 168, 0.2);
  --anime-shadow-hover: 0 14px 34px -8px rgba(255, 126, 168, 0.42);
}
[data-theme='dark'] {
  --anime-main: #ff8fb5;
  --card-bg: rgba(33, 25, 52, 0.86);
  --text-bg-hover: rgba(255, 126, 168, 0.35);
  --blockquote-bg: rgba(255, 126, 168, 0.1);
  --anime-card-border: rgba(255, 143, 181, 0.22);
  --anime-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.45);
  --anime-shadow-hover: 0 14px 34px -8px rgba(255, 126, 168, 0.3);
}

/* ---------- 全站背景 ---------- */
body {
  background: url('/img/anime/bg.svg') center / cover no-repeat fixed;
}
[data-theme='dark'] body {
  background: url('/img/anime/bg-dark.svg') center / cover no-repeat fixed;
}

/* ---------- 可爱光标（爱心 / 猫爪）---------- */
body {
  cursor: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%2020.5C10%2019%203.5%2014.6%201.9%2010.7C0.5%207.2%202.6%204%205.9%203.8C7.8%203.7%209.6%204.6%2010.7%206.2L12%207.9L13.3%206.2C14.4%204.6%2016.2%203.7%2018.1%203.8C21.4%204%2023.5%207.2%2022.1%2010.7C20.5%2014.6%2014%2019%2012%2020.5Z'%20fill='%23ff7ea8'%20stroke='%23ffffff'%20stroke-width='1.5'/%3E%3C/svg%3E") 3 3, auto;
}
a, button, [role='button'], .menus_item, #site-name, .site-page,
.post_cover, .recent-post-info > a, .article-title, .rightside-button,
#rightside > div > button, #rightside > div > a, .avatar-img, .toc-link,
.card-tag-cloud a, .card-archive-list-link, .card-category-list-link,
#pagination a, .footer-map a, .social-icon, input[type='submit'], label {
  cursor: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3E%3Cg%20fill='%23ff5f97'%20stroke='%23ffffff'%20stroke-width='1.3'%3E%3Cellipse%20cx='12'%20cy='16'%20rx='5.2'%20ry='4.4'/%3E%3Ccircle%20cx='5.2'%20cy='10.4'%20r='2.5'/%3E%3Ccircle%20cx='12'%20cy='7.8'%20r='2.6'/%3E%3Ccircle%20cx='18.8'%20cy='10.4'%20r='2.5'/%3E%3C/g%3E%3C/svg%3E") 8 6, pointer;
}

/* ---------- 文字选中 ---------- */
::selection {
  background: rgba(255, 126, 168, 0.8);
  color: #fff;
}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #ff9ec7, #b58cf0);
  border-radius: 10px;
}
::-webkit-scrollbar-track {
  background: rgba(255, 126, 168, 0.06);
}

/* ---------- 毛玻璃卡片 ---------- */
#recent-posts > .recent-post-item,
#aside-content .card-widget,
#post, #page, #archive, #tag, #category {
  border-radius: 18px;
  border: 1px solid var(--anime-card-border);
  box-shadow: var(--anime-shadow);
  backdrop-filter: blur(10px) saturate(1.3);
  -webkit-backdrop-filter: blur(10px) saturate(1.3);
}
#recent-posts > .recent-post-item {
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
#recent-posts > .recent-post-item:hover {
  transform: translateY(-6px);
  box-shadow: var(--anime-shadow-hover);
  border-color: rgba(255, 126, 168, 0.65);
}

/* 首页文章标题 hover */
.recent-post-info > .article-title:hover {
  color: var(--anime-main) !important;
}

/* ---------- 导航栏 ---------- */
#nav #site-name::before {
  content: '🌸';
  margin-right: 6px;
  font-size: 0.85em;
  display: inline-block;
  animation: sakura-spin 8s linear infinite;
}
@keyframes sakura-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
#page-header.nav-fixed #nav {
  background: rgba(255, 245, 250, 0.8);
  backdrop-filter: blur(14px) saturate(1.6);
  -webkit-backdrop-filter: blur(14px) saturate(1.6);
  box-shadow: 0 4px 18px -6px rgba(255, 126, 168, 0.4);
}
[data-theme='dark'] #page-header.nav-fixed #nav {
  background: rgba(25, 19, 42, 0.8);
  box-shadow: 0 4px 18px -6px rgba(0, 0, 0, 0.6);
}
#nav .menus_items .menus_item > a {
  border-radius: 999px;
  transition: all 0.25s;
}
#nav .menus_items .menus_item > a:hover {
  transform: translateY(-2px);
}

/* ---------- 首页大标题 ---------- */
#page-header #site-title {
  font-weight: 700;
  letter-spacing: 3px;
  text-shadow: 0 3px 14px rgba(60, 34, 110, 0.55);
}
#page-header #site-subtitle {
  font-size: 1.12em;
  text-shadow: 0 2px 10px rgba(60, 34, 110, 0.55);
}
#page-header #scroll-down .scroll-down-effects {
  color: #fff;
  text-shadow: 0 2px 8px rgba(60, 34, 110, 0.6);
}

/* ---------- 头像 ---------- */
#aside-content .avatar-img {
  border: 4px solid rgba(255, 255, 255, 0.75);
  box-shadow: 0 6px 18px -4px rgba(90, 58, 158, 0.35);
  transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
}
#aside-content .avatar-img:hover {
  transform: rotate(360deg) scale(1.06);
}

/* ---------- 侧栏作者卡片 ---------- */
#aside-content .card-widget.card-info {
  background: linear-gradient(150deg, rgba(255, 158, 199, 0.95) 0%, rgba(181, 140, 240, 0.95) 100%);
}
#aside-content .card-info .author-info__name,
#aside-content .card-info .author-info__description {
  color: #fff;
  text-shadow: 0 1px 6px rgba(90, 58, 158, 0.3);
}
#aside-content .card-info .card-info-data .headline,
#aside-content .card-info .card-info-data .length-num {
  color: #fff !important;
}
#aside-content .card-info #card-info-btn {
  background: rgba(255, 255, 255, 0.92);
  color: #e0568f;
  border-radius: 999px;
  font-weight: 700;
  transition: transform 0.25s;
}
#aside-content .card-info #card-info-btn:hover {
  transform: scale(1.05);
  background: #fff;
}
#aside-content .card-info .card-info-social-icons i {
  color: #fff;
}

/* ---------- 侧栏小部件 ---------- */
#aside-content .card-widget .item-headline i {
  color: var(--anime-main);
}
#aside-content .card-tag-cloud a {
  display: inline-block;
  border-radius: 999px;
  padding: 2px 10px !important;
  margin: 3px 2px;
  background: rgba(255, 126, 168, 0.09);
  transition: all 0.22s;
}
#aside-content .card-tag-cloud a:hover {
  background: var(--anime-grad) !important;
  color: #fff !important;
  transform: scale(1.06);
  box-shadow: 0 4px 12px -2px rgba(255, 126, 168, 0.5);
}
#aside-content .card-archive-list-link:hover,
#aside-content .card-category-list-link:hover {
  color: var(--anime-main);
}

/* ---------- 文章内容 ---------- */
#article-container img {
  border-radius: 12px;
  box-shadow: 0 6px 20px -6px rgba(60, 34, 110, 0.18);
}
#article-container h2 {
  padding-bottom: 8px;
  background-image: linear-gradient(135deg, #ff9ec7 0%, #b58cf0 100%);
  background-repeat: no-repeat;
  background-size: 72px 4px;
  background-position: left bottom;
}
#article-container ul > li::marker {
  content: '❀ ';
  color: var(--anime-main);
  font-size: 0.9em;
}
#article-container a:not(.headerlink):not(.fancybox) {
  color: #8a6ee0;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px dotted rgba(255, 126, 168, 0.55);
  transition: all 0.22s;
}
#article-container a:not(.headerlink):not(.fancybox):hover {
  color: var(--anime-main);
  border-bottom: 2px solid var(--anime-main);
}

/* ---------- 分页 ---------- */
#pagination .page-number,
#pagination .extend {
  border-radius: 50% !important;
  margin: 0 4px;
  transition: all 0.25s;
}
#pagination .page-number.current {
  background: var(--anime-grad);
  box-shadow: 0 4px 12px -2px rgba(255, 126, 168, 0.55);
}

/* ---------- 右下角按钮 ---------- */
#rightside > div > button,
#rightside > div > a {
  border-radius: 50% !important;
  margin-bottom: 8px;
  box-shadow: 0 4px 14px -3px rgba(255, 126, 168, 0.55);
  transition: all 0.25s;
}
#rightside > div > button:hover,
#rightside > div > a:hover {
  transform: scale(1.12);
}

/* ---------- 页脚 ---------- */
#footer {
  background: linear-gradient(135deg, #f7a0c3 0%, #b58cf0 100%);
}
[data-theme='dark'] #footer {
  background: linear-gradient(135deg, #46284e 0%, #2b2158 100%);
}
#footer #footer-wrap,
#footer #footer-wrap a {
  color: #fff;
}
.footer-heart {
  display: inline-block;
  color: #ff4f87;
  animation: heartbeat 1.4s ease infinite;
}
@keyframes heartbeat {
  0%, 100% { transform: scale(1); }
  20% { transform: scale(1.35); }
  40% { transform: scale(1); }
  60% { transform: scale(1.25); }
}
.cute-badges {
  margin-top: 8px;
}
.cute-badge {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  border-radius: 6px;
  font-size: 12px;
  line-height: 20px;
  margin: 2px 3px;
  vertical-align: middle;
  box-shadow: 0 2px 6px rgba(60, 34, 110, 0.25);
}
.cute-badge .cb-l {
  background: #453a62;
  color: #fff;
  padding: 0 7px;
}
.cute-badge .cb-r {
  background: linear-gradient(135deg, #ff9ec7, #ff7ea8);
  color: #fff;
  padding: 0 7px;
}
.cute-badge .cb-r.purple { background: linear-gradient(135deg, #c1a1f5, #9a6ee8); }
.cute-badge .cb-r.blue { background: linear-gradient(135deg, #8ec9f5, #5ba8e8); }

/* ---------- 加载动画配色 ---------- */
#loading-box .loading-left-bg,
#loading-box .loading-right-bg {
  background: linear-gradient(135deg, #ffd9e8 0%, #d4c2f7 100%);
}
[data-theme='dark'] #loading-box .loading-left-bg,
[data-theme='dark'] #loading-box .loading-right-bg {
  background: linear-gradient(135deg, #2b1e3e 0%, #1e1838 100%);
}

/* ---------- 归档/标签页时间轴 ---------- */
#archive .article-sort-item:hover .article-sort-item-title,
#tag .article-sort-item:hover .article-sort-item-title,
#category .article-sort-item:hover .article-sort-item-title {
  color: var(--anime-main);
}

/* ---------- Live2D 看板娘 ---------- */
#live2dcanvas {
  border: 0 !important;
  opacity: 0.9;
}

/* ---------- 移动端 ---------- */
@media screen and (max-width: 768px) {
  body,
  [data-theme='dark'] body {
    background-attachment: scroll;
  }
  #recent-posts > .recent-post-item,
  #aside-content .card-widget,
  #post, #page, #archive, #tag, #category {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
