:root {
  --侧边栏宽度: 250px;
  --侧边栏颜色-鼠标悬停: #2a303a;
  --侧边栏颜色-已选中: rgb(106, 50, 83);
  /*--侧边栏背景: linear-gradient(60deg, #141518 0%, #171c21 100%);*/
  --侧边栏背景: #ffffff05;
  --专题内容区背景: linear-gradient(90deg, #181c20 0%, #262d35 100%);
  --超链接颜色-正文: yellowgreen;
  --超链接-悬停颜色: rgb(173, 104, 238);
  --超链接-下划线颜色: #ffa500a0;
  --超链接-下划线悬停颜色: orange;
  --正文分区-宽度: 800px;
  --正文颜色: #c0c5ca;
  --专题标记-原创: rgb(76, 179, 160);
  --专题标记-转载: orange;
  --表身区-奇数行背景色: #234;
  --章节区位置-高度: 0px;
  --章节区位置-偏移-top: 0px;
  --专题高亮色: #789bde;
  --行内专业名词颜色: #709de8;
  --行内代码颜色: #4aa66f;
  --标题字体集: "Titillium Web", "Segoe UI Emoji", "Noto Sans SC", sans-serif;
  --代码字体集: "JetBrains Mono", "Segoe UI Emoji", "Noto Sans SC", monospace;
  --font-awesome-字体集: "Font Awesome 6 Free", ui-rounded;
  --代码块字体集: "Jetbrains Mono", Monaco, "Andale Mono", "Ubuntu Mono", "Segoe UI Emoji", "Noto Sans SC", monospace !important;
  --分区列表项-字体颜色: #9ab;
  --已激活章节标题-字体颜色: rgb(129, 206, 129) !important;
  --正文字体: /* "IBM Plex Sans",  */ "Noto Sans SC", sans-serif, "Noto Sans Mono", "Segoe UI Emoji", monospace;
}

html {
  scroll-padding-top: 100px;
  scroll-behavior: smooth;
}

body {
  width: 100dvw;
}

body::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: 0 0 / cover no-repeat fixed url("/Images/Background-Images/宇宙.jpg");
  filter: brightness(35%);
}

body:has(.图像对话框[open], #收藏栏[open], .技术栈对话框[open]) {
  overflow: hidden;
}

/*body:has(dialog[open]) > *:not(dialog[open]) {
  filter: brightness(35%);
}*/

#公共页脚 {
  padding-left: var(--侧边栏宽度);
  gap: 5vw;
}

#页脚信息区 {
  gap: 2.5vw;
}

.行内代码.左外边距-无 {
  margin-left: 0;
}

.行内代码.右外边距-无 {
  margin-right: 0;
}

.行内代码.左外边距-四分之一,
.标题序号-3级 + .行内代码.左外边距-四分之一 {
  margin-left: 0.25em;
}

/* ------------------- ↓ 章节区 ------------------- */
#章节区容器 {
  position: absolute;
  height: calc(99.5% + 175px);
  top: 75px;
  left: calc(100% + 5vw);
}

#章节区 {
  position: sticky;
  top: 75px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 450px;
  height: calc(97.5vh - 75px);
  overflow-y: auto;
}

#章节区::-webkit-scrollbar {
  width: 10px;
}

#章节区::-webkit-scrollbar-track {
  background-color: #222;
}

#章节区::-webkit-scrollbar-thumb {
  background-color: #5193ad;
}

#章节区::-webkit-scrollbar-thumb:hover {
  background-color: skyblue;
}

#章节区 img {
  width: 1em;
  height: 1em;
  margin-right: 7px;
}

.章节区标题 {
  padding: 0 25px 10px;
  color: gold;
}

.章节区内容 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 25px;
}

.章节区内容::before {
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #fff2;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  content: "";
}

.章节区内容::after {
  position: absolute;
  width: 4px;
  height: var(--章节区位置-高度);
  top: 0;
  left: 0;
  content: "";
  background-color: var(--已激活章节标题-字体颜色);
  translate: 0 var(--章节区位置-偏移-top);
  opacity: 0;
  transition: 400ms;
}

.章节区内容:has(.已激活)::after {
  opacity: 1;
}

#章节区 a {
  position: relative;
  isolation: isolate;
}

#章节区 .已激活::before {
  position: absolute;
  width: calc(100% + 20px);
  height: 100%;
  border-radius: 5px;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  content: "";
  background-color: #9b65ff50;
  box-shadow: inset 0 0 0 1px #dd90e550;
  /*background-color: rgba(177, 80, 106, 0.5);*/
  z-index: -1;
}

#章节区 .已激活 > span:nth-child(1) {
  border: solid 2px var(--已激活章节标题-字体颜色);
  color: var(--已激活章节标题-字体颜色);
}

.锚链接-2级标题 {
  position: relative;
  padding: 10px 0;
  margin-bottom: 5px;
  font-size: 16px;
  color: lightskyblue;
  font-weight: 500;
  display: flex;
  align-items: center;
}

.锚链接-2级标题::before {
  position: absolute;
  width: calc(100% + 30px);
  height: 100%;
  top: 50%;
  left: -11px;
  translate: 0 -50%;
  z-index: -1;
  background-color: rgb(58, 67, 72);
  content: "";
  border-radius: 5px;
  /* mask-image: linear-gradient(
    90deg,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  ); */
}

.锚链接-2级标题:hover::before {
  background-color: #744882;
}

.锚链接-2级标题:hover .行内代码 {
  color: #5abe83;
}

.锚链接-2级标题:link {
  color: lightskyblue;
}

.锚链接-2级标题:visited {
  color: lightskyblue;
}

.锚链接-2级标题:not(:first-child) {
  margin-top: 25px;
}

.锚链接-2级标题 > .标题序号-2级 {
  margin-right: 10px;
  width: 45px;
  padding: 0.5em 0;
  font-size: 0.8em;
}

.锚链接-3级标题,
.锚链接-3级标题:link {
  padding: 4px 0;
  font-size: 14px;
  display: flex;
  align-items: center;
  color: silver;
}

.锚链接-3级标题:hover,
.锚链接-3级标题.已激活 {
  color: white;
}

.锚链接-3级标题:hover::before,
.锚链接-3级标题:link:hover::before {
  position: absolute;
  width: calc(100% + 25px);
  height: 100%;
  top: 50%;
  left: -10px;
  translate: 0 -50%;
  content: "";
  z-index: -1;
  border-radius: 5px;
  background-color: #1a202a;
  box-shadow: inset 0 0 1px 1px #fff1;
}

.锚链接-3级标题 > .标题序号-3级 {
  margin-right: 10px;
  width: 45px;
  height: 1.75em;
  font-size: 0.8em;
}

.锚链接-3级标题:hover > .标题序号-3级 {
  color: white;
  border-color: #fff8;
}

/* ------------------- ↑ 章节区 ------------------- */

/* ------------------- ↓ 收藏栏 ------------------- */
#收藏栏 {
  position: fixed;
  top: 50px;
  left: 50%;
  translate: -50% -100%;
  background-color: #22282d;
  box-shadow: 0 15px 45px 0 #0005;
  z-index: 9998;
  width: 100%;
  height: fit-content;
  max-height: 65vh;
  overflow-x: hidden;
  backdrop-filter: blur(20px);
  border: none;
  transition: translate 0.25s, display 0.25s allow-discrete;
}

#收藏栏[open] {
  translate: -50% 0;
  @starting-style {
    translate: -50% -100%;
  }
}

#收藏栏::backdrop {
  animation: 收藏栏开启过渡动画 250ms linear forwards;
}

@keyframes 收藏栏开启过渡动画 {
  from {
    backdrop-filter: brightness(100%);
  }
  to {
    backdrop-filter: brightness(25%);
  }
}

#收藏栏布局区 {
  width: 100%;
  translate: 0 -100%;
  height: fit-content;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  gap: 35px;
  padding: 50px 75px;
  transition: 0.5s;
}

#关闭收藏栏 {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  background-color: transparent;
  color: #aaa;
  display: flex;
  justify-content: center;
  align-items: center;
}

#关闭收藏栏:hover {
  border: none;
  background-color: #aaa;
  color: black;
}

#关闭收藏栏:active {
  background-color: white;
}

.收藏条目 {
  position: relative;
  width: 220px;
  height: 250px;
  outline: solid 1px #fff5;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: white;
  transition: 250ms;
}

.收藏条目:hover {
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
  background-color: #fff2;
  outline: solid 1px #acb5;
}

.删除条目按钮 {
  position: absolute;
  width: 30px;
  height: 30px;
  top: -10px;
  right: -10px;
  border-radius: 100px;
  background-color: #fff0;
  border: none;
  color: black;
  visibility: hidden;
  opacity: 0;
  transition: 150ms;
}

.收藏条目:hover .删除条目按钮 {
  visibility: visible;
  opacity: 1;
}

.删除条目按钮:hover {
  filter: brightness(150%);
}

.删除条目按钮:active {
  background-color: white;
}

#收藏条目-添加 {
  overflow: hidden;
}

#收藏条目-添加 > button {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 5rem;
  border: none;
  background-color: transparent;
  color: #fffa;
  transition: 0.25s;
}

#收藏条目-添加:hover > button {
  filter: brightness(150%);
}

#收藏条目-添加 > button:active {
  background-color: #fff4;
}

#收藏栏重复提示 {
  display: block;
  width: 100%;
  padding: 20px 0;
  text-align: center;
  position: absolute;
  bottom: 10%;
  left: 50%;
  translate: -50%;
  background-color: rgb(44, 54, 75);
  color: yellow;
  opacity: 0;
  pointer-events: none;
}

@keyframes 收藏栏重复提示动画 {
  from {
    opacity: 1;
    bottom: 10%;
  }
  75% {
    opacity: 1;
  }
  to {
    opacity: 0;
    bottom: 35%;
  }
}

.收藏条目-标志 {
  width: 100%;
  height: 45%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.收藏条目-标志 > img {
  width: 80%;
  height: 80%;
  object-fit: contain;
}

.收藏信息区 {
  width: fit-content;
  max-width: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 5px;
  padding: 0 15px;
}

.收藏信息 {
  width: fit-content;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.收藏信息-技术栈 .收藏信息-标志 {
  translate: 0 4px;
}

.收藏信息-技术栈 .收藏信息-文本 {
  font-size: 0.9rem;
  font-weight: bold;
}

.收藏信息-标志 {
  font-size: 0.9rem;
  translate: 0 3px;
  color: gold;
}

.收藏信息-文本 {
  width: fit-content;
  font-size: 0.8rem;
}

.收藏信息:nth-child(1) .收藏信息-文本 {
  color: lightseagreen;
}

.收藏信息:nth-child(3) .收藏信息-文本 {
  color: #aaa;
}

/* ------------------- ↑ 收藏栏 ------------------- */

/* ------------------- ↓ 收藏区 ------------------- */
.收藏区 {
  position: fixed;
  z-index: 9999;
  right: 50px;
  bottom: calc(40px + 150px);
  width: 65px;
  height: 150px;
  border-radius: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
  gap: 15px;
}

body:has(.图像对话框[open], #收藏栏[open], .技术栈对话框[open]) .收藏区 {
  right: calc(50px + var(--scrollbar-width));
}

.收藏区 button {
  width: 50px;
  height: 50px;
  border-radius: 200px;
  background-color: transparent;
  border: none;
  color: white;
  font-size: 2rem;
  position: relative;
}

.收藏区 button:hover {
  filter: drop-shadow(0 0 10px #fffc);
}

/*.收藏区 button:hover::after {
  position: absolute;
  top: 50%;
  right: 115%;
  translate: 0 -50%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  color: orange;
  font-family: var(--font-awesome-字体集);
  font-size: 0.5em;
  content: "\f30b";
}*/

#收藏按钮:focus {
  outline: none;
}

.收藏区 .已收藏状态按钮 {
  color: gold;
}

.收藏区 .已收藏状态按钮::after {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  content: "\f164";
  font-family: var(--font-awesome-字体集), emoji;
  font-size: 0.7em;
  display: flex;
  justify-content: center;
  align-items: center;
  filter: drop-shadow(1px 1px 5px #000a);
}

.收藏区 .未收藏状态按钮 {
  color: white;
}

#收藏数量 {
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 100px;
  background-color: brown;
  color: white;
  bottom: 60%;
  left: 60%;
  font-size: 0.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
}

#收藏提示 {
  position: absolute;
  top: 100%;
  right: 140%;
  display: block;
  width: 200px;
  text-align: right;
  font-size: 1.15rem;
  color: gray;
  font-family: "JetBrains Mono", "思源黑体 CN", monospace;
  opacity: 0;
  pointer-events: none;
}

#收藏提示.添加收藏提示动画,
#收藏提示.删除收藏提示动画 {
  animation: 收藏提示动画 1.25s ease-out;
}

@keyframes 收藏提示动画 {
  from {
    opacity: 0;
    top: 25%;
  }
  25% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  to {
    opacity: 0;
    top: -100%;
  }
}

/* ------------------- ↑ 收藏区 ------------------- */

/* --------------------- ↓ 技术栈选择 --------------------- */
.技术栈选择器 {
  position: fixed;
  z-index: 9999;
  width: 65px;
  height: 65px;
  border-radius: 50px;
  background: no-repeat center/contain url("./选择器修饰.png"),
    radial-gradient(circle at center, #80d0c744 0%, #13547a11 50%);
  bottom: 40px;
  right: 50px;
  pointer-events: all;
  animation: 旋转技术栈选择器 5s linear infinite;
  transition: scale 0.25s, filter 250ms;
}

body:has(.图像对话框[open], #收藏栏[open], .技术栈对话框[open]) .技术栈选择器 {
  right: calc(50px + var(--scrollbar-width));
}

.技术栈选择器:hover {
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
  animation-play-state: paused !important;
  filter: invert(1);
}

@keyframes 旋转技术栈选择器 {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}

/*.技术栈选择器::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  opacity: 0;
  box-shadow: 0 0 5px 2px #fff1;
  animation: 技术栈选择器伪元素盒子阴影动画 2.5s linear infinite;
  animation-play-state: paused;
  transition: 250ms;
}

.技术栈选择器:hover::before {
  opacity: 1;
  animation-play-state: running;
}

@keyframes 技术栈选择器伪元素盒子阴影动画 {
  from {
    box-shadow: 5px 5px 5px 2px #fff1;
  }
  25% {
    box-shadow: -5px 5px 20px 2px #fff4;
  }
  50% {
    box-shadow: -5px -5px 35px 2px #fff8;
  }
  75% {
    box-shadow: 5px -5px 20px 2px #fff4;
  }
  to {
    box-shadow: 5px 5px 5px 2px #fff1;
  }
}*/

.技术栈对话框 {
  position: fixed;
  width: min(1100px, 90%);
  height: min(1000px, 90%);
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: 10px;
  background-color: #111a2060;
  box-shadow: 10px 10px 30px 0 #000a;
  backdrop-filter: blur(20px);
  border: solid 2px #3a3a3a;
  clip-path: inset(50% 50% 50% 50%);
  transition: clip-path 250ms, display 250ms allow-discrete;
  overflow: hidden;
}

.技术栈对话框[open] {
  translate: calc(-50% - var(--scrollbar-width) / 2) -50%;
  clip-path: inset(0 0 0 0);
  @starting-style {
    clip-path: inset(50% 50% 50% 50%);
  }
}

.技术栈对话框::backdrop {
  backdrop-filter: brightness(100%);
  transition: backdrop-filter 250ms;
}

.技术栈对话框[open]::backdrop {
  backdrop-filter: brightness(25%);
  @starting-style {
    backdrop-filter: brightness(100%);
  }
}

.关闭技术栈对话框 {
  width: 30px;
  height: 30px;
  position: absolute;
  z-index: 1;
  top: 8px;
  right: 8px;
  font-size: 2rem;
  outline: none;
  border: none;
  background-color: transparent;
  border-radius: 5px;
}

.关闭技术栈对话框:hover {
  background-color: #920808;
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
}

.关闭技术栈对话框 > span {
  color: #ccc;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-content: center;
  transition: 100ms;
  font-size: 0.9rem;
}

.关闭技术栈对话框:hover span {
  color: white;
}

.技术栈内容 {
  color: white;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  padding: 45px 30px;
  border-radius: 10px;
  overflow-x: hidden;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(85px, 1fr));
  grid-auto-rows: 105px;
  gap: 10px;
  place-content: start space-evenly;
  pointer-events: all;
  transition: 0.25s;
}

.技术栈 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  border-radius: 5px;
}

.技术栈内容 .空技术栈 {
  filter: brightness(25%);
  pointer-events: none;
}

.经验之谈 {
  grid-area: 1 / 1 / 3 / 3;
}

.技术栈[未完成] {
  pointer-events: none;
  filter: brightness(50%);
}

.技术栈:hover {
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
  background: linear-gradient(-45deg, #8d5240, #962c54, #1f718f, #11614f);
  background-size: 400% 400%;
  animation: 技术栈背景动画 5s ease infinite;
  box-shadow: 1px 1px 4px 0 #0005;
}

@keyframes 技术栈背景动画 {
  0% {
    background-position: 0 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}

.技术栈 > img {
  width: 80%;
  height: 50px;
  object-fit: contain;
}

.技术栈 > p {
  height: 36px;
  font-size: 0.8rem;
  padding-top: 2px;
}

.技术栈:nth-child(1) {
  background-color: #acf2;
  box-shadow: 2px 2px 4px 0 #0008;
  gap: 10px;
  padding-bottom: 7.5%;
}

.技术栈:nth-child(1) > img {
  height: 125px;
}

.技术栈:nth-child(1) > p {
  font-size: 1.125rem;
  padding-top: 2px;
  height: fit-content;
}

/* --------------------- ↑ 技术栈选择 --------------------- */

/* -------------------------- ↓ 侧边栏样式 -------------------------- */
.侧边栏收缩容器 {
  position: fixed;
  z-index: 1;
  width: 40px;
  height: 40px;
  /* background-color: red; */
  top: 60px;
  right: 10px;
  font-size: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
}

.侧边栏收缩容器 > i {
  width: 100%;
  height: 100%;
}

.侧边栏收缩容器:hover {
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
}

.侧边栏 {
  width: var(--侧边栏宽度);
  height: 100dvh;
  position: fixed;
  left: 0;
  top: 0;
  background: var(--侧边栏背景);
  backdrop-filter: blur(10px);
  /*border-right: solid 1px #ced2;*/
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  row-gap: 20px;
  padding-top: 150px;
  z-index: 9991;
  transition: translate 500ms;
}

.侧边栏.侧边栏隐藏 {
  translate: -100%;
}

#侧边栏布局标签 {
  position: absolute;
  top: 80px;
  left: 0;
  padding: 0 15px;
}

#侧边栏布局 {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  width: 100px;
  height: 30px;
  background-color: #4a4a4a;
  border-radius: 200px;
}

#侧边栏布局:hover {
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
}

#侧边栏布局::before {
  position: absolute;
  content: "";
  width: 75%;
  height: 110%;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background-color: #3f3f3f;
  border: solid 2px gray;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 200px;
  pointer-events: none;
  transition: left 250ms, border 250ms;
}

#侧边栏布局:hover::before {
  border: solid 2px #bbb;
}

#侧边栏布局::after {
  position: absolute;
  /* content: attr(layout); */
  font-family: var(--font-awesome-字体集);
  content: "\f03a";
  width: 75%;
  height: 110%;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 200px;
  pointer-events: none;
  transition: left 250ms, scale 250ms;
}

#侧边栏布局[layout="紧凑"]::after {
  scale: 1;
}

#侧边栏布局[layout="宽松"]::after {
  scale: 1 1.5;
}

#侧边栏布局:not(:checked)::before,
#侧边栏布局:not(:checked)::after {
  left: 25%;
}

.专题名称 {
  position: relative;
  width: 100%;
  padding: 0 10px;
  font-size: 1.125rem;
  color: rgb(255, 255, 255);
  font-family: "Titillium Web", "Noto Sans SC", sans-serif;
  font-weight: 600;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.专题名称 > img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  margin-right: 10px;
}

.专题列表 {
  width: 100%;
  height: fit-content;
  overflow-y: auto;
}

.专题列表::-webkit-scrollbar {
  width: 6px;
}

.专题列表::-webkit-scrollbar-track {
  background-color: #222426;
}

.专题列表::-webkit-scrollbar-thumb {
  /* background-color: #426556; */
  background-color: rgb(127, 127, 127);
  /*border-radius: 100px;*/
}

.专题列表::-webkit-scrollbar-thumb:hover {
  /* background-color: #577e6d; */
  background-color: rgb(160, 160, 160);
}

.专题 {
  width: 100%;
  padding: 3px 8px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  transition: padding 250ms;
  font-size: 0.75em;
}

.侧边栏:has(#侧边栏布局:not(:checked)) .专题 {
  padding: 6px;
}

.专题:hover {
  background: var(--侧边栏颜色-鼠标悬停) !important;
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
}

.专题.当前专题 {
  background-color: var(--侧边栏颜色-已选中) !important;
}

.专题-标记 {
  flex-shrink: 0;
  width: 15px;
  height: 100%;
  text-align: center;
}

.专题[原创] .专题-标记 {
  color: var(--专题标记-原创);
}

.专题[转载] .专题-标记 {
  color: var(--专题标记-转载);
}

.专题[未完成] {
  filter: brightness(35%);
}

.专题-内容 {
  font-family: "Noto Sans SC", sans-serif, "Noto Sans Mono", monospace;
  display: flex;
  align-items: center;
  overflow-x: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.9rem;
  color: #ccc;
}

.专题.当前专题 .专题-内容 {
  color: white;
}

.标题内符号 {
  margin: 0 5px;
  color: orange;
}

.专题-内容 .专题内名词,
.专题-内容 .行内专业名词 {
  font-family: "Fira Sans", "Noto Sans SC", sans-serif;
  color: #5e7ccb;
  font-weight: 500;
}

.专题.当前专题 .专题内名词,
.专题.当前专题 .行内专业名词 {
  color: #78ade1;
}

.次要 {
  color: #aaa;
  font-size: 0.9em;
  margin: 0 0.25ch;
}

.代码 .次要 {
  font-size: 1em;
}

.专题-内容 .次要 {
  font-size: 0.95em;
  margin: 0 2px;
}

.专题.当前专题 .专题-内容 .次要 {
  color: #ccc;
}

.标题序号-3级 > .次要 {
  color: #666;
}

.锚链接-3级标题:hover > .标题序号-3级 > .次要 {
  color: #aaa;
}

.锚链接-3级标题.已激活 > .标题序号-3级 > .次要 {
  color: rgb(93, 153, 93);
}

/*.专题-内容 .专题内名词.左 {
  margin-right: 0.25em;
}

.专题-内容 .专题内名词.中 {
  margin: 0 0.25em;
}

.专题-内容 .专题内名词.右 {
  margin-left: 0.25em;
}*/

/* -------------------------- ↑ 侧边栏样式 -------------------------- */

.专题内容区 {
  width: 100%;
  min-height: 100vh;
  /*background-image: var(--专题内容区背景);*/
  padding: 50px 50px 250px calc(var(--侧边栏宽度) + 15vw);
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 25px;
}

.超链接 {
  font-family: "Fira Sans", "Noto Sans SC", sans-serif;
  color: var(--超链接颜色-正文);
  margin: 0 3px;
  text-decoration: underline;
  text-decoration-color: #ffa500a0;
  text-underline-offset: 3px;
  transition: 125ms;
}

.超链接:link {
  color: var(--超链接颜色-正文);
}

.原文链接 > .超链接 {
  margin-left: 0;
}

.超链接:hover {
  text-decoration-color: orange;
}

.超链接 *:not(.代码, .行内代码, .行内专业名词, .专业名词) {
  margin: 0 !important;
  padding: 0 !important;
}

.超链接 > img {
  margin-top: 15px !important;
}

.表格 .超链接 {
  text-decoration: none;
}

.表格 .超链接:hover {
  text-decoration: underline;
  text-decoration-color: orange;
  text-underline-offset: 3px;
}

.超链接:visited {
  color: var(--超链接颜色-正文);
}

.超链接:hover {
  color: var(--超链接-悬停颜色) !important;
}

.超链接:hover > * {
  color: var(--超链接-悬停颜色) !important;
}

/*-------------- ↓ 内容区顶栏 --------------*/
.专题简介 {
  position: relative;
  width: min(90%, 850px);
  height: fit-content;
  border-bottom: solid 1px #aaaa;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 50px;
  padding: 25px 0;
  overflow: hidden;
}

.简介标题 {
  font-family: “Fira Sans”, "Noto Sans SC", sans-serif;
  font-size: 2.25rem;
  letter-spacing: 1px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: #fff;
}

.简介标题 .简介标题内名词 {
  color: #0778d5;
  letter-spacing: 0.05ch;
}

.简介标题 .简介标题内名词.左 {
  margin-right: 0.25em;
}

.简介标题 .简介标题内名词.中 {
  margin: 0 0.25em;
}

.简介标题 .简介标题内名词.右 {
  margin-left: 0.25em;
}

.原创,
.转载 {
  font-size: 1rem;
  letter-spacing: normal;
  background-color: #ffffff15;
  padding: 5px 30px;
  border-radius: 5px;
  border: solid 2px #fff2;
}

.原创 {
  color: var(--专题标记-原创);
}

.转载 {
  color: var(--专题标记-转载);
}

.简介信息 {
  width: 500px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px;
}

.简介信息文本 {
  width: fit-content;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.作者,
.日期,
.原文,
.译者 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.前缀 {
  width: 50px;
  text-align: right;
  font-size: 0.9rem;
  color: #aaa;
}

.作者姓名,
.日期文本,
.原文链接,
.译者姓名 {
  max-width: 300px;
  padding: 1px 5px;
  border-radius: 3px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.作者姓名,
.译者姓名 {
  color: rgb(134, 162, 249);
}

.日期文本 {
  color: rgb(131, 150, 175);
  /* color: rgb(106, 132, 209); */
  font-family: "Google Sans Code", "Noto Sans SC", sans-serif;
}

.日期文本-数字 {
  color: lightblue;
  margin: 0 2px;
}

.日期文本-数字:first-child {
  margin-left: 0;
}

.原文链接 {
  display: inline-flex;
  align-items: center;
}

.原文链接 > a {
  text-decoration: none;
  display: inline-block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: 150ms;
}

.原文链接 > a:hover {
  color: #962c54;
  text-decoration: underline;
  text-decoration-color: goldenrod;
}

.简介信息图像 {
  width: 125px;
  aspect-ratio: 1;
}

.简介信息图像 > img {
  /* width: 100%; */
  height: 100%;
  object-fit: contain;
}

.联系方式列表 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px 25px;
  flex-wrap: wrap;
}

.联系方式项 {
  width: 25px;
  height: 25px;
  display: flex;
  justify-content: center;
  align-content: center;
}

.联系方式项 > a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
}

.联系方式项:not(:last-child) > a:hover {
  filter: sepia(80%) saturate(2500%) hue-rotate(320deg);
}

.联系方式项:last-child > a:hover {
  filter: sepia(100%) saturate(500%) hue-rotate(320deg);
}

.联系方式项 > a > img {
  width: 95%;
  height: 95%;
  object-fit: contain;
}

.专题简介 .fa-solid,
.专题简介 .fa-brands {
  font-size: 1.25rem;
}

/*-------------- ↑ 内容区顶栏 --------------*/

/*-------------- ↓ 专题正文区 --------------*/
.专题正文区 {
  position: relative;
  width: min(97.5%, 850px);
  border-radius: 10px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 35px;
  font-family: var(--正文字体), sans-serif;
}

.正文分区 {
  width: 100%;
  display: flex;
  flex-direction: column;
  color: #ccc;
}

.分区标题 {
  position: relative;
  color: white;
  border-radius: 5px;
  width: fit-content;
}

.分区2级标题 {
  background: linear-gradient(50deg, #2c3e50, #4b5157);
  color: lightskyblue;
  padding: 8px 20px;
  margin: 100px 0 0 0;
  font-size: 2rem;
  box-shadow: 5px 5px 5px 0 #0007;
  display: flex;
  align-items: center;
}

.分区2级标题::before {
  position: absolute;
  top: 50%;
  right: 0;
  translate: 150% -50%;
  font-family: var(--font-awesome-字体集), emoji;
  content: "\f1dc";
  font-weight: 900;
  color: lightskyblue;
}

.标题序号-2级 {
  font-family: "Google Sans Code", monospace;
  font-size: 0.65em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  margin-right: 20px;
  border-radius: 10em;
  background-image: linear-gradient(150deg, rgba(96, 104, 107, 0.667) 0%, rgba(137, 149, 152, 0.667) 100%);
  color: #eee;
  box-shadow: 2px 2px 3px 0 #0005;
}

.分区3级标题 {
  margin: 75px 0 15px 0;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
}

.分区2级标题 + .分区3级标题 {
  margin: 50px 0 15px 0;
}

.分区3级标题 > .行内专业名词 > .代码 {
  font-size: 0.75em;
}

.分区3级标题 i {
  font-size: 0.75em;
}

.标题序号-3级 {
  font-family: "Google Sans Code", monospace;
  font-size: 0.65em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 3.25em;
  height: 1.625em;
  margin-right: 20px;
  border-radius: 10em;
  border: solid 2px #333;
  color: #aaa;
  box-shadow: 2px 2px 2px 0 #0003;
}

.分区3级标题::before {
  position: absolute;
  content: "\f1ea";
  top: 50%;
  right: 0;
  translate: 150% -50%;
  font-family: var(--font-awesome-字体集), emoji;
  font-weight: 900;
  color: orange;
}

.分区3级标题 i {
  /*margin-left: 5px;*/
  color: orange;
}

.分区列表 {
  margin: 15px 0;
}

.分区列表.有序列表 {
  counter-reset: li;
}

.分区列表项 {
  list-style-type: disc;
  list-style-position: inside;
  padding: 3px 0;
  color: var(--分区列表项-字体颜色);
  line-height: 1.5em;
}

.分区列表项 > .分区列表 {
  margin-top: 5px;
}

.分区列表项:has(.截图容器):not(:first-child) {
  margin-top: 25px;
}

.分区列表项:has(.截图容器 + .分区普通文本:last-child, .截图容器 ~ .提醒:last-child) + .分区列表项 {
  margin-top: 50px;
}

.分区列表项 > .分区列表 > .分区列表项 {
  list-style-type: circle;
}

.分区列表:not(.有序列表) > .分区列表项 {
  padding-left: 1.5em;
  text-indent: -1.425em;
  line-height: 1.75rem;
}

.分区列表项:has(.分区列表:last-child) + .分区列表项 {
  /*margin-top: 25px;*/
}

.分区列表项:has(.分区普通文本:last-child) + .分区列表项 {
  margin-top: 15px;
}

.分区列表项:has(img:last-child) + .分区列表项 {
  margin-top: 30px;
}

.分区列表:not(.有序列表) > .分区列表项 p {
  text-indent: 0;
}

.分区列表 .截图序号,
.分区列表 pre,
.分区列表 .code-toolbar,
.分区列表 .提醒,
.分区列表 i {
  text-indent: 0;
}

.有序列表 .有序列表项缩进区 {
  padding-left: 1.85em;
}

.分区列表.有序列表 > .分区列表项 {
  list-style-type: none;
  counter-increment: li;
}

.分区列表.有序列表 > .分区列表项:not(:first-child):has(.截图容器, .提醒, pre) {
  margin-top: 50px;
}

.分区列表.有序列表 > .分区列表项::before {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  content: counter(li);
  width: 1.5em;
  height: 1.5em;
  font-family: "Google Sans Code", monospace;
  font-size: 0.8em;
  font-weight: 500;
  border-radius: 3em;
  margin-right: 0.5em;
  background-color: #222;
  outline: solid 1px #666;
  color: silver;
  translate: 0 -0.075em;
}

.分区列表项::marker {
  color: darkgoldenrod;
}

.圆圈序号 {
  margin-right: 5px;
}

.分区列表:has(.有序列表项) {
  counter-reset: li;
}

.分区列表项.有序列表项 {
  list-style-type: none;
}

.分区列表项.有序列表项::before {
  position: absolute;
  width: 23px;
  height: 23px;
  display: flex;
  justify-content: center;
  align-items: center;
  content: counter(li);
  counter-increment: li;
  translate: -35px 0;
  background-color: #8b939a;
  color: black;
  border-radius: 50%;
}

.截图容器 {
  width: fit-content;
  max-width: 100%;
  margin: 15px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: linear-gradient(#555 0%, #555 100%) content-box, linear-gradient(#678 0%, #555 95%) border-box;
  /*background-color: #fff1;*/
  border: solid 2px transparent;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 2px 2px 4px 0 #0007;
}

/*.分区普通文本 + .截图容器 {
  margin-top: 35px;
}*/

.截图容器:has(+ .分区普通文本) {
  margin-bottom: 5px;
}

.截图容器 > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.截图容器 > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.截图容器 > img:hover {
  cursor: url("/Images/Common/鼠标-指向.cur"), pointer;
}

.截图容器:has(.video-js) {
  width: 100%;
}

.截图序号 {
  color: #ccc;
  font-size: 15px;
  padding: 10px 0;
  font-family: "Google Sans Code", "Consolas", sans-serif;
}

.行内截图序号 {
  color: lightskyblue;
}

.专业名词 {
  color: white;
  background-color: rgb(33, 40, 54);
  box-shadow: inset 0 0 0 1px rgb(85, 96, 115);
  border-radius: 3px;
  padding: 2px 5px;
  margin: 0 0.25em;
  font-size: 0.925em;
  font-family: "JetBrains Mono", "Ubuntu Mono", "Noto Sans SC", sans-serif;
}

.专业名词.亮 {
  background-color: rgb(153, 168, 183);
  color: black;
}

:where(.分区2级标题, .分区3级标题) > .专业名词 {
  font-size: 0.75em;
  translate: 0 0.1em;
}

.行内专业名词 {
  color: var(--行内专业名词颜色);
  margin: 0 0.25ch;
}

.代码 .行内专业名词 {
  color: #5be;
}

.提醒 .行内专业名词 {
  color: #92c4ec;
}

.附加说明 .行内专业名词 {
  color: #9bc5f5;
}

.表格标题 .行内专业名词 {
  mix-blend-mode: color-dodge;
}

.代码 {
  font-family: "JetBrains Mono", "Segoe UI Emoji", "Noto Sans SC", monospace;
  background-color: #222;
  box-shadow: inset 0 1px 1px 0 #fff5, 0 1px 0 0 #fff2;
  color: white;
  padding: 2px 5px;
  margin: 0 0.25em;
  border-radius: 3px;
  font-size: 0.9em;
}

.提醒 .代码 {
  box-shadow: inset 0 1px 1px 0 #fff6, 0 1px 0 0 #fff2;
}

*[class*="2级标题"] > .代码 {
  background-color: #678;
}

.等宽 {
  font-family: "Google Sans Code", "Consolas", "Noto Sans SC", sans-serif;
  font-size: 0.95em;
}

.专题内名词.等宽 {
  font-family: "Google Sans Code", "Fira Sans", "Noto Sans SC", sans-serif;
}

.行内代码 {
  font-family: "JetBrains Mono", "Segoe UI Emoji", "Noto Sans SC", monospace;
  color: var(--行内代码颜色);
  margin: 0 0.25em;
  font-size: 0.95em;
}

.简介标题 .行内代码 {
  letter-spacing: 0.05ch;
}

.专题.当前专题 .行内代码,
.代码 .行内代码,
.附加说明 .行内代码 {
  color: rgb(104, 250, 182);
}

.表格标题 .行内代码 {
  mix-blend-mode: color-dodge;
}

.标题序号-3级 + .行内代码 {
  margin-left: 0;
}

:where(.分区2级标题, .分区3级标题) > .行内代码 {
  font-size: 0.85em;
  translate: 0 0.1em;
}

.章节区内容 .行内代码 {
  /*font-size: 0.85em;*/
  translate: 0 0.1em;
}

.侧边栏 .行内代码 {
  font-size: 1.075em;
  font-family: "Ubuntu Mono", monospace;
}

.附加说明 {
  font-size: 0.9em;
  background-color: rgb(53, 89, 157);
  color: white;
  padding: 2px 5px;
  border-radius: 3px;
  margin: 0 0.25em;
}

.专业名词 > .附加说明:last-child {
  margin-right: 0;
}

*[class*="2级标题"] > .附加说明 {
  background-color: rgb(62, 101, 169);
  font-size: 0.8em;
  box-shadow: 2px 2px 0.1em 0 #0002;
  translate: 0 0.075em;
}

sup,
sub {
  font-family: "Ubuntu Mono", "Noto Sans SC", sans-serif;
  color: rgb(134, 194, 224);
  color: yellowgreen;
}

.专题正文区 .fa-star {
  color: goldenrod;
}

.分区普通文本 {
  font-size: 1.05em;
  line-height: 2rem;
  padding: 20px 0;
  /*color: #b4c5d7;*/
  color: var(--正文颜色);
}

.分区列表 .分区普通文本 {
  font-size: 1.05em;
}

.分区普通文本:has(+ .分区列表) {
  padding-bottom: 0;
}

.分区普通文本 > .fa-1 {
  font-size: 0.8em;
  background-color: #fff3;
  width: 1.5em;
  height: 1.5em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 2em;
}

.提醒 {
  background-color: #2b4162;
  /*color: #b4c5d7;*/
  color: var(--正文颜色);
  border-radius: 10px;
  padding: 30px;
  margin: 10px 0;
  display: flex;
  flex-direction: column;
  /*gap: 5px;*/
}

.分区2级标题 + .提醒 {
  margin-top: 50px;
}

.提醒标题 {
  position: relative;
  color: lightseagreen;
  text-align: center;
  width: fit-content;
  margin: 0 auto 15px;
}

.提醒标题::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: -150% -50%;
  content: "\f05a";
  color: yellow;
  font-family: var(--font-awesome-字体集), emoji;
}

.提醒标题 > i {
  color: yellow;
  margin-right: 15px;
}

.提醒 > p {
  line-height: 2rem;
}

.强调 {
  color: #e86686;
  margin: 0 2px;
}

.代码 .强调 {
  color: #ff84a1;
}

.附加说明 .强调 {
  mix-blend-mode: color-dodge;
}

.强调:has(+ .专业名词, + .代码, + .行内专业名词, + .行内代码) {
  margin-right: 0;
}

br + :is(.代码, .专业名词, .附加说明) {
  margin-left: 0;
}

/*-------------- ↑ 专题正文区 --------------*/

/*---------- ↓ 图像对话框样式 ----------*/
.图像对话框 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000a;
  backdrop-filter: blur(15px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
}

.图像对话框.图像对话框出现 {
  animation: 图像对话框元素出现 ease-out 250ms forwards;
}

.图像对话框.图像对话框消失 {
  animation: 图像对话框元素消失 ease-out 250ms forwards;
}

@keyframes 图像对话框元素出现 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes 图像对话框元素消失 {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.图像对话框 .图像对话框关闭按钮 {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 45px;
  height: 45px;
  border-radius: 5px;
  outline: none;
  background-color: transparent;
  color: #aaa;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
}

.图像对话框 .图像对话框关闭按钮:hover {
  background-color: #444;
  color: white;
}

.图像对话框 .原始图 {
  width: fit-content;
  height: fit-content;
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  transition: 250ms;
  /*opacity: 0;*/
  /*animation: 图像对话框元素出现 ease-out 250ms forwards;*/
}

/*---------- ↑ 图像对话框样式 ----------*/

/*-------------- ↓ 单独表格样式 --------------*/
.表格 {
  width: 100%;
  border-collapse: collapse;
  margin-top: 50px;
  outline: solid 2px lightslategray;
}

.分区3级标题 + .表格 {
  margin-top: 15px;
}

.表格标题 {
  padding: 20px 0;
  background-color: #678;
  color: white;
  font-size: 2rem;
  font-weight: bolder;
  filter: drop-shadow(0 2px 2px #0006);
}

.表头区 {
  background-color: rgb(70, 81, 92);
  border-bottom: solid 3px lightslategray;
}

.表头区 > tr {
  height: 60px;
  font-size: 1.25rem;
}

.表头区 > tr > th {
  color: skyblue;
  padding: 0 10px;
}

.表脚区 > tr > th {
  padding: 20px 0;
  background-color: #fff1;
}

.表格 th,
.表格 td {
  border: solid 1px gray;
}

.表格 tbody th {
  font-size: 1em;
}

.表格 td {
  padding: 20px 15px;
  font-size: 0.965em;
}

.单元格-居中 {
  text-align: center;
}

#终端表 td {
  text-align: center;
}

.表身区 > tr > th {
  color: rgb(218, 113, 32);
  padding: 0 10px;
}

.表身区 > tr > th > i {
  font-size: 0.8rem;
  width: 20px;
  height: 20px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
}

.表脚区 {
  color: darkgoldenrod;
  border-top: solid 3px lightslategray;
}

.终端-默认 {
  font-size: 1.5rem;
}

/*-------------- ↑ 单独表格样式 --------------*/

/* ------------------- ↓ 代码格式化 ------------------- */
pre::-webkit-scrollbar {
  height: 10px;
}

pre::-webkit-scrollbar-track {
  background-color: #222426;
}

pre::-webkit-scrollbar-thumb {
  background-color: #426556;
  /*border-radius: 100px;*/
}

pre::-webkit-scrollbar-thumb:hover {
  background-color: #577e6d;
}

.token.space {
  visibility: hidden;
}

.token.cr:before,
.token.lf:before,
.token.space:before,
.token.tab:not(:empty):before {
  visibility: hidden;
}

pre[class*="language-"] {
  border-radius: 10px;
  /* background: linear-gradient(315deg, #424e59 0%, #36434f 74%) !important; */
  background: linear-gradient(90deg, #202020 0%, #202020 100%) !important;
  box-shadow: inset 0 1px 1px 0 #fff3;
}

div.code-toolbar > .toolbar > .toolbar-item > button[data-copy-state="copy"] {
  border-radius: 2px 5px 2px 2px !important;
}

.提醒 pre[class*="language-"] {
  outline: solid 1px #fff3;
}

code[class*="language-"],
pre[class*="language-"] {
  font-family: "Jetbrains Mono", Monaco, "Andale Mono", "Ubuntu Mono", "Noto Sans SC", monospace !important;
  font-size: 0.9rem !important; /*修改字号会导致行号高度无法匹配*/
}

/*此样式是修正因修改代码字体导致行号高度无法匹配的问题*/
.line-numbers .line-numbers-rows {
  /*font-size: calc(100% * (100 / 92.5)) !important;*/
  /*translate: 0 -0.075em;*/
}

div.code-toolbar > .toolbar > .toolbar-item > a,
div.code-toolbar > .toolbar > .toolbar-item > button,
div.code-toolbar > .toolbar > .toolbar-item > span {
  margin-left: 2px;
  background-color: #0007 !important;
  border-radius: 2px !important;
}

div.code-toolbar > .toolbar {
  transition: opacity 250ms !important;
}

.分区列表 div.code-toolbar > .toolbar {
  top: -0.175em; /*分区列表中的代码工具栏会偏移，此为修正值*/
}

.分区列表 .分区列表项:has(.分区列表项) div.code-toolbar > .toolbar {
  top: 0.25em; /*二级分区列表中的代码工具栏会偏移，此为修正值*/
}

/* ------------------- ↑ 代码格式化 ------------------- */

/* ------------------------------ ↓ 响应式设计 ------------------------------ */
@media screen and (width <= 1920px) {
  .专题内容区 {
    padding-left: calc(var(--侧边栏宽度) + 7.5vw);
  }

  code[class*="language-"],
  pre[class*="language-"] {
    font-family: "Jetbrains Mono", Monaco, "Andale Mono", "Ubuntu Mono", "Noto Sans SC", monospace !important;
    /*font-size: 0.925rem !important;*/
  }
}

@media screen and (width < 1800px) {
  #章节区 {
    right: 10px;
  }

  .专题内容区 {
    padding-left: calc(var(--侧边栏宽度) + 5vw);
  }

  .技术栈选择器 {
    right: 25px;
  }

  .收藏区 {
    right: 25px;
  }

  body:has(.图像对话框[open], #收藏栏[open], .技术栈对话框[open]) .收藏区 {
    right: calc(25px + var(--scrollbar-width));
  }
}

@media screen and (width < 1700px) {
  .专题内容区 {
    padding-left: calc(var(--侧边栏宽度) + 50px);
  }
}

@media screen and (width < 1600px) {
  #公共页脚 {
    flex-direction: column;
    gap: 50px;
  }

  #页脚Logo区 {
    height: 250px !important;
  }

  #页脚版权提示区 {
    width: min(600px, 85%);
    translate: calc(-50% + var(--侧边栏宽度) / 2) 0;
  }
}

@media screen and (width < 1300px) {
  .专题正文区 {
    padding: 25px 0;
  }
}

@media screen and (width < 1200px) {
  .专题简介 {
    width: 100%;
    flex-direction: column;
    row-gap: 20px;
  }

  #永恒代码统计图表 {
    display: none;
  }
}

@media screen and (width < 1000px) {
  .专题简介 {
    width: 95dvw;
    min-width: auto;
    padding: 25px 0;
  }

  .专题正文区 {
    width: 100%;
  }

  .简介标题 {
    font-size: 2rem;
  }

  .侧边栏收缩容器 {
    visibility: visible;
    opacity: 1;
    z-index: 2;
  }

  .专题内容区 {
    padding: 50px 25px 25px;
  }

  #公共页脚 {
    padding-left: 0;
  }

  #页脚版权提示区 {
    width: min(600px, 85%);
    translate: -50% 0;
  }
}

@media screen and (width < 800px) {
  #公共页脚 {
    padding-left: 5vw;
  }

  .技术栈对话框 {
    width: 97.5% !important;
    height: 90%;
    margin: 0 auto;
  }

  .技术栈内容 {
    gap: 15px 5px;
    width: 95%;
    position: absolute;
    right: 2.5%;
    bottom: 1%;
  }
}

@media screen and (width < 550px) {
  .收藏区 {
    width: 50px;
  }

  .简介标题 {
    display: flex;
    flex-direction: column;
  }

  .原创,
  .转载 {
    margin-left: 0;
    text-align: center;
  }

  .简介信息 {
    width: 90dvw;
    flex-direction: column;
    align-items: center;
  }

  .简介信息文本 {
    width: 100%;
  }

  .简介信息图像 > img {
    width: 100%;
  }

  .原文链接 {
    max-width: calc(90dvw - 50px);
  }

  .联系方式列表 {
    width: 75dvw;
  }

  .技术栈选择器 {
    width: 50px;
    height: 50px;
  }
}

@media screen and (height < 1200px) {
  .锚链接-2级标题:not(:first-child) {
    margin-top: 15px;
  }

  .锚链接-3级标题,
  .锚链接-3级标题:link {
    padding: 2px 0;
  }
}

@media screen and (height < 1080px) {
  .章节区标题 {
    font-size: 1.25em;
  }

  .锚链接-2级标题 {
    padding: 7px 0;
    margin-bottom: 10px;
    font-size: 1em;
  }

  .锚链接-3级标题 {
    font-size: 0.85em;
  }

  .锚链接-2级标题 > .标题序号-2级 {
    margin-right: 10px;
    width: 40px;
    padding: 0.5em 0;
    font-size: 0.8em;
  }

  .锚链接-3级标题 > .标题序号-3级 {
    margin-right: 10px;
    width: 40px;
    height: 1.65em;
    font-size: 0.85em;
    border: solid 2px #fff2;
  }

  #章节区 .已激活 > span:nth-child(1) {
    border: solid 1px rgb(73, 208, 136);
  }
}

/* ------------------------------ ↑ 响应式设计 ------------------------------ */

/* ------------------ ↓ 个别单独 -------------------- */
#盒子阴影范例容器,
#投影范例容器,
#文本阴影范例容器,
#阴影叠加范例容器 {
  width: 800px;
  height: 500px;
  border: solid 2px #fff4;
  padding: 20px;
}

#盒子阴影范例区 {
  --盒子阴影偏移-x: 300px;
  --盒子阴影偏移-y: 100px;
  width: 250px;
  height: 250px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #6b7a89;
  font-size: 2rem;
  transform-origin: 0 0;
  animation: 盒子阴影范例动画 10s ease-out 1s infinite;
}

@keyframes 盒子阴影范例动画 {
  from {
    scale: 1;
    box-shadow: 0 0 0 0 transparent;
    border-radius: 0;
  }
  4.167% {
    /*修改位移和颜色*/
    scale: 1;
    box-shadow: var(--盒子阴影偏移-x) 100px 0 0 black;
    border-radius: 0;
  }
  8.333% {
    /*维持位移和颜色*/
    scale: 1;
    box-shadow: var(--盒子阴影偏移-x) 100px 0 0 black;
    border-radius: 0;
  }
  12.5% {
    /*修改圆角*/
    scale: 1;
    border-radius: 300px;
  }
  16.667% {
    /*维持圆角*/
    scale: 1;
    border-radius: 300px;
  }
  20.833% {
    /*修改缩放*/
    scale: 1.25;
    border-radius: 300px;
  }
  25% {
    /*维持缩放*/
    background-color: #6b7a89;
    scale: 1.25;
    border-radius: 300px;
  }
  29.167% {
    /*修改背景色*/
    background-color: #6b7a8900;
    border-radius: 300px;
  }
  37.5% {
    /*维持背景色*/
    background-color: #6b7a8900;
    border-radius: 300px;
  }
  41.667% {
    /*还原背景色*/
    background-color: #6b7a89;
    scale: 1.25;
    border-radius: 300px;
  }
  45.833% {
    /*还原缩放*/
    scale: 1;
    border-radius: 300px;
  }
  50% {
    /*维持缩放*/
    scale: 1;
    border-radius: 300px;
  }
  54.167% {
    /*还原圆角*/
    border-radius: 0;
  }
  58.333% {
    /*维持圆角*/
    box-shadow: var(--盒子阴影偏移-x) 100px 0 0 black;
  }
  62.5% {
    /*修改模糊*/
    box-shadow: var(--盒子阴影偏移-x) 100px 50px 0 black;
  }
  66.667% {
    /*维持模糊*/
    box-shadow: var(--盒子阴影偏移-x) 100px 50px 0 black;
  }
  70.833% {
    /*还原模糊*/
    box-shadow: var(--盒子阴影偏移-x) 100px 0 0 black;
  }
  75% {
    /*维持模糊*/
    box-shadow: var(--盒子阴影偏移-x) 100px 0 0 black;
  }
  79.167% {
    /*修改扩展*/
    box-shadow: var(--盒子阴影偏移-x) 100px 0 100px black;
  }
  87.5% {
    /*维持扩展*/
    box-shadow: var(--盒子阴影偏移-x) 100px 0 100px black;
  }
  91.667% {
    /*还原扩展*/
    box-shadow: var(--盒子阴影偏移-x) 100px 0 0 black;
  }
  95.833% {
    /*维持扩展*/
    box-shadow: var(--盒子阴影偏移-x) 100px 0 0 black;
  }
  to {
    /*还原位移*/
    box-shadow: 0 0 0 0 transparent;
  }
}

#投影范例区 {
  --投影范例区背景色: lightcyan;
  background-color: var(--投影范例区背景色);
  width: 250px;
  height: 250px;
  transform-style: preserve-3d;
  filter: drop-shadow(125px 125px 4px black);
  animation: 投影范例动画 5s ease-out infinite;
}

#投影范例区 > figure {
  width: 100%;
  height: 100%;
}

#投影范例区 > figure > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@keyframes 投影范例动画 {
  from {
    background-color: var(--投影范例区背景色);
  }
  5% {
    background-color: var(--投影范例区背景色);
  }
  15% {
    background-color: transparent;
  }
  25% {
    rotate: y 0deg;
  }
  45% {
    rotate: y 300deg;
  }
  55% {
    rotate: y 300deg;
  }
  75% {
    rotate: y 0deg;
  }
  85% {
    rotate: y 0deg;
    background-color: transparent;
  }
  95% {
    background-color: var(--投影范例区背景色);
  }
  to {
    background-color: var(--投影范例区背景色);
  }
}

#文本阴影范例区 {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 4.5rem;
  text-shadow: 0 0 0 black;
  animation: 文本阴影范例动画 8s ease-out infinite;
  --文本阴影范例位移: 80px;
}

@keyframes 文本阴影范例动画 {
  from {
    text-shadow: 0 0 0 black;
  }
  5% {
    text-shadow: 0 0 0 black;
  }
  18% {
    text-shadow: var(--文本阴影范例位移) var(--文本阴影范例位移) 0 black;
  }
  31% {
    text-shadow: var(--文本阴影范例位移) var(--文本阴影范例位移) 0 black;
  }
  44% {
    text-shadow: var(--文本阴影范例位移) var(--文本阴影范例位移) 20px black;
  }
  57% {
    text-shadow: var(--文本阴影范例位移) var(--文本阴影范例位移) 20px black;
  }
  70% {
    text-shadow: var(--文本阴影范例位移) var(--文本阴影范例位移) 0 black;
  }
  83% {
    text-shadow: var(--文本阴影范例位移) var(--文本阴影范例位移) 0 black;
  }
  95% {
    text-shadow: 0 0 0 black;
  }
  to {
    text-shadow: 0 0 0 black;
  }
}

#阴影叠加范例容器 {
  animation: 文本阴影叠加动画 8s ease-out infinite;
}

@keyframes 文本阴影叠加动画 {
  from {
    text-shadow: 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent;
  }
  5% {
    text-shadow: 15px 15px 0 black, 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent;
  }
  10% {
    text-shadow: 15px 15px 0 black, -15px 15px 0 gold, 0 0 0 transparent, 0 0 0 transparent;
  }
  15% {
    text-shadow: 15px 15px 0 black, -15px 15px 0 gold, -15px -15px 0 seagreen, 0 0 0 transparent;
  }
  20% {
    text-shadow: 15px 15px 0 black, -15px 15px 0 gold, -15px -15px 0 seagreen, 15px -15px 0 lightskyblue;
  }
  40% {
    text-shadow: 200px 100px 0 black, -200px 100px 0 gold, -200px -100px 0 seagreen, 200px -100px 0 lightskyblue;
  }
  60% {
    text-shadow: 200px 100px 20px black, -200px 100px 20px gold, -200px -100px 20px seagreen,
      200px -100px 20px lightskyblue;
  }
  80% {
    text-shadow: 200px 100px 0 black, -200px 100px 0 gold, -200px -100px 0 seagreen, 200px -100px 0 lightskyblue;
  }
  to {
    text-shadow: 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent, 0 0 0 transparent;
  }
}

/* ------------------ ↑ 个别单独 -------------------- */

@keyframes 反复旋转-Y {
  from {
    rotate: y 0deg;
  }
  15% {
    rotate: y 0deg;
  }
  40% {
    rotate: y 180deg;
  }
  60% {
    rotate: y 180deg;
  }
  85% {
    rotate: y 360deg;
  }
  to {
    rotate: y 360deg;
  }
}

@keyframes 反复旋转-Y-相反 {
  from {
    rotate: y -180deg;
  }
  15% {
    rotate: y -180deg;
  }
  40% {
    rotate: y 0deg;
  }
  60% {
    rotate: y 0deg;
  }
  85% {
    rotate: y 180deg;
  }
  to {
    rotate: y 180deg;
  }
}
