/**
 * Docsify dark mode 样式（v5 重构版）
 * 原 docsify-dark-mode@0.6.2 样式，按钮部分重构为：
 * 固定悬浮在右下角的半透明圆形毛玻璃按钮（参考 Day/Night 玻璃拟态开关）
 * 日间显示月亮图标（点击进入夜间），夜间显示太阳图标（点击返回日间）
 */
:root{--text_color:var(--theme-color);--docsify_dark_mode_bg:#fff;--docsify_dark_mode_btn:var(--theme-color)}
.sidebar,.sidebar-toggle,aside,body,html,main{background:#fff;background:var(--docsify_dark_mode_bg)}

/* ===== 夜间模式全站配色：翻转 v5 主题核心变量 =====
   菜单(--sidebar-link-color)、标题(--heading-color)、强调、灰阶（代码块/表格/搜索框）
   均由 --color-bg/--color-text/--strong-color/--theme-color 派生，此处一处翻转全站适配 */
html.dark-mode{
  --color-bg:#1c2022;
  --color-text:#b4b4b4;
  --strong-color:#d7dee1;
  --theme-color:#4fb8c9;
}
html.dark-mode .page_toc div{border-left-color:#454b4e}
html.dark-mode .page_toc div[class^=lv] a,
html.dark-mode .page_toc div[class^=lv] a span{color:var(--color-text)}
html.dark-mode .page_toc div[class^=lv] a:hover span,
html.dark-mode .page_toc div.active a span{color:var(--theme-color)}
@media only screen and (max-width:1299px){html.dark-mode aside.toc-nav{background:var(--color-bg)}}

/* ===== 悬浮玻璃圆形切换按钮（桌面醒目版：常驻可见+主题色描边+轻阴影；触屏保持低调） ===== */
#dark_mode{position:fixed;right:14px;bottom:14px;z-index:55}
#cheer-button{
  position:fixed;right:14px;bottom:110px;z-index:55;
  display:flex;justify-content:center;align-items:center;
  width:40px;height:40px;padding:0;border-radius:50%;
  color:var(--text_color);cursor:pointer;
  background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(6px) saturate(1.2);
  backdrop-filter:blur(6px) saturate(1.2);
  border:1px solid rgba(37,121,138,.4);
  box-shadow:0 2px 10px rgba(0,0,0,.15);
  opacity:.88;
  transition:opacity .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
#cheer-button:hover{opacity:1;transform:scale(1.1);background:rgba(255,255,255,.85);border-color:rgba(37,121,138,.65);box-shadow:0 4px 18px rgba(0,0,0,.22)}
#cheer-button:active{transform:scale(.92)}
#cheer-button:focus-visible{outline:2px solid var(--theme-color);outline-offset:3px}
#cheer-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#cheer-status{
  position:fixed;right:62px;bottom:110px;z-index:56;
  display:none;max-width:calc(100vw - 76px);padding:8px 12px;
  border-radius:6px;background:rgba(40,44,48,.9);color:#fff;
  font-size:13px;line-height:1.4;white-space:nowrap;
}
#cheer-status.is-visible{display:block}
#cheer-fireworks{position:fixed;inset:0;z-index:54;width:100%;height:100%;pointer-events:none}
@media (hover:none){#cheer-button{opacity:.7;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);box-shadow:none}}
#music-player-toggle{
  position:fixed;right:14px;bottom:158px;z-index:55;
  display:flex;justify-content:center;align-items:center;
  width:40px;height:40px;padding:0;border-radius:50%;
  color:var(--text_color);cursor:pointer;
  background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(6px) saturate(1.2);
  backdrop-filter:blur(6px) saturate(1.2);
  border:1px solid rgba(37,121,138,.4);
  box-shadow:0 2px 10px rgba(0,0,0,.15);
  opacity:.88;
  transition:opacity .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
#music-player-toggle:hover{opacity:1;transform:scale(1.1);background:rgba(255,255,255,.85);border-color:rgba(37,121,138,.65);box-shadow:0 4px 18px rgba(0,0,0,.22)}
#music-player-toggle:active{transform:scale(.92)}
#music-player-toggle:focus-visible{outline:2px solid var(--theme-color);outline-offset:3px}
#music-player-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#music-player-toggle .music-icon-pause{display:none}
#music-player-toggle[aria-pressed=true] .music-icon-play{display:none}
#music-player-toggle[aria-pressed=true] .music-icon-pause{display:block}
@media (hover:none){#music-player-toggle{opacity:.7;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);box-shadow:none}}
#fullscreen-toggle{
  position:fixed;right:14px;bottom:62px;z-index:55;
  display:flex;justify-content:center;align-items:center;
  width:40px;height:40px;padding:0;border-radius:50%;
  color:var(--text_color);cursor:pointer;
  background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(6px) saturate(1.2);
  backdrop-filter:blur(6px) saturate(1.2);
  border:1px solid rgba(37,121,138,.4);
  box-shadow:0 2px 10px rgba(0,0,0,.15);
  opacity:.88;
  transition:opacity .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
#fullscreen-toggle:hover{opacity:1;transform:scale(1.1);background:rgba(255,255,255,.85);border-color:rgba(37,121,138,.65);box-shadow:0 4px 18px rgba(0,0,0,.22)}
#fullscreen-toggle:active{transform:scale(.92)}
#fullscreen-toggle:focus-visible{outline:2px solid var(--theme-color);outline-offset:3px}
#fullscreen-toggle:disabled{cursor:not-allowed;opacity:.45}
#fullscreen-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#fullscreen-status{
  position:fixed;right:62px;bottom:62px;z-index:56;
  display:none;max-width:calc(100vw - 76px);padding:8px 12px;
  border-radius:6px;background:rgba(40,44,48,.9);color:#fff;
  font-size:13px;line-height:1.4;
}
#fullscreen-status.is-visible{display:block}
@media (hover:none){#fullscreen-toggle{opacity:.7;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);box-shadow:none}}
html.controls-scrolling #cheer-button,
html.controls-scrolling #music-player-toggle,
html.controls-scrolling #fullscreen-toggle,
html.controls-scrolling #dark_mode>label,
html.controls-scrolling #dark_mode>label:hover,
html.controls-scrolling #dark_mode>label.dark:hover{
  opacity:.12!important;
  pointer-events:none;
  transform:none;
}
#dark_mode>input[type=checkbox]{display:none}
#dark_mode>label{
  display:flex;justify-content:center;align-items:center;
  width:40px;height:40px;border-radius:50%;
  cursor:pointer;user-select:none;
  font-size:18px;line-height:1;text-indent:0;
  background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(6px) saturate(1.2);
  backdrop-filter:blur(6px) saturate(1.2);
  border:1px solid rgba(37,121,138,.4);
  box-shadow:0 2px 10px rgba(0,0,0,.15);
  opacity:.88;
  transition:opacity .25s ease,transform .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
#dark_mode>label:hover{opacity:1;transform:scale(1.1);background:rgba(255,255,255,.85);border-color:rgba(37,121,138,.65);box-shadow:0 4px 18px rgba(0,0,0,.22)}
#dark_mode>label:active{transform:scale(.92)}
#dark_mode .dm-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
/* 触屏设备无 hover：仍保持低调（原"不遮挡文章"诉求），桌面醒目样式不影响移动端 */
@media (hover:none){#dark_mode>label{opacity:.7;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);box-shadow:none}}
/* 日间（未选中）：显示月亮，按钮亮玻璃 */
#dark_mode .dm-sun{display:none}
/* 夜间（选中）：显示太阳，按钮暗玻璃。
   .dark 类由 dark.js 维护（v5 适配：不再依赖 checkbox 的 :checked）；
   保留 input:checked 选择器兼容旧缓存 JS */
#dark_mode>input:checked+label,#dark_mode>label.dark{opacity:.78;background:rgba(40,44,48,.55);border-color:rgba(79,184,201,.45)}
#dark_mode>input:checked+label:hover,#dark_mode>label.dark:hover{opacity:1;background:rgba(40,44,48,.75);border-color:rgba(79,184,201,.7)}
#dark_mode>input:checked+label .dm-sun,#dark_mode>label.dark .dm-sun{display:inline}
#dark_mode>input:checked+label .dm-moon,#dark_mode>label.dark .dm-moon{display:none}

html.transition,html.transition *,html.transition :after,html.transition :before{transition:.42s cubic-bezier(.68,-.55,.27,1.55)!important;transition-delay:0!important}
p{color:var(--theme-color);color:var(--text_color)}
