/* 1. 全局字体和背景 */
body {
  background: #000;
  color: #00ff00;
  font-family: 'Fira Mono', 'Consolas', 'Menlo', 'Monaco', monospace;
}

/* 2. 标题统一绿色 */
h1, h2, h3, h4, h5, h6 {
  color: #00ff00 !important;
  font-weight: bold;
  letter-spacing: 1px;
  margin-top: 2em;
  margin-bottom: 1em;
}

/* 3. 段落、列表、ul/ol/li */
p, ul, ol, li, div, span {
  color: #00ff00 !important;
}

/* 4. 链接：默认亮绿色，悬停青色 */
a, a:visited {
  color: #00ff00;
  text-decoration: underline;
  transition: color 0.2s;
  word-wrap: break-word;
  word-break: break-all;
  overflow-wrap: break-word;
}
a:hover, a:active {
  color: #00ffff;
  text-decoration: underline wavy;
}

/* 5. 表格风格 */
table {
  border-collapse: collapse;
  width: 100%;
  background: #111;
  color: #00ff00;
  display: block;
  overflow-x: auto;  /* 使表格可以水平滚动 */
  max-width: 100%;
}
th, td {
  border: 1px solid #00aa00;
  padding: 10px;
}
th {
  background: rgba(0, 100, 0, 0.3);
  color: #00ff00;
}

/* 修复表格内代码过长问题 */
td code, th code {
  max-width: 100% !important;
  white-space: normal !important;
  word-break: break-all !important;
  overflow-wrap: break-word !important;
  display: inline !important;
  font-size: 0.9em !important;
}

table td {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  max-width: 150px !important; /* 限制单元格最大宽度 */
}

/* 长URL和长路径的特殊处理 */
code.path, code.url, code:has([class*="url"]), code:has([class*="path"]) {
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  font-size: 0.9em !important;
}

/* 移动端的特殊处理 */
@media (max-width: 768px) {
  /* 为长URL、文件路径等提供更多强制换行 */
  .content code:not(pre code) {
    font-size: 0.85em !important;
    display: inline-block !important;
    max-width: 95% !important; 
    overflow-wrap: break-word !important;
    word-break: break-all !important;
  }
  
  /* 确保代码块内的长URL和路径可以正确换行 */
  .content pre code {
    font-size: 0.85em !important;
  }
}

/* 6. 代码块 - 完全覆盖所有可能的代码样式 */
code, pre, kbd, samp, tt,
*:not(pre) > code,
pre > code,
code[class*="language-"],
pre[class*="language-"],
.content code,
.markdown code,
.post code,
article code,
main code,
div code,
p code,
li code,
td code,
.highlight code,
.code,
.CodeMirror {
  background-color: #111 !important;
  color: #00ff00 !important;
  border-radius: 4px !important;
  padding: 0.2em 0.4em !important;
  font-size: 1em !important;
  border: 1px solid #00aa00 !important;
  font-family: 'Courier New', Consolas, Monaco, 'Andale Mono', monospace !important;
  text-shadow: none !important;
  box-shadow: none !important;
  display: inline-block !important;
  line-height: 1.4 !important;
  max-width: 100% !important;
  word-wrap: break-word !important;
  word-break: break-all !important;
  white-space: normal !important;
}

/* 移动端代码块特殊处理 */
@media (max-width: 768px) {
  code, *:not(pre) > code, p code, li code, td code {
    font-size: 0.9em !important;
    padding: 0.1em 0.3em !important;
    word-break: break-all !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
}

pre, pre[class*="language-"], .highlight pre, .code-block {
  background-color: #111 !important;
  border: 1px solid #00aa00 !important;
  border-radius: 4px !important;
  padding: 1rem !important;
  margin: 1rem 0 !important;
  overflow-x: auto !important;
  max-width: 100% !important;
}

pre code, 
pre[class*="language-"] code,
.highlight pre code,
.code-block code {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: block !important;
  color: #00ff00 !important;
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

/* 适配不同设备的代码块表现 */
@media (max-width: 768px) {
  pre, pre[class*="language-"], .highlight pre, .code-block {
    padding: 0.75rem !important;
    max-width: 100% !important;
    white-space: pre-wrap !important;
    overflow-wrap: break-word !important;
  }
  
  pre code, pre[class*="language-"] code, .highlight pre code, .code-block code {
    white-space: pre-wrap !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* 覆盖可能的语法高亮类 */
.token.comment, .token.prolog, .token.doctype, .token.cdata,
.token.punctuation, .token.string, .token.atrule,
.token.attr-value, .token.keyword, .token.property,
.token.tag, .token.boolean, .token.number,
.token.constant, .token.symbol, .token.deleted,
.token.selector, .token.attr-name, .token.char,
.token.builtin, .token.inserted, .token.entity,
.token.url, .token.operator, .token.function {
  color: #00ff00 !important;
  background: transparent !important;
  text-shadow: none !important;
}

/* 特殊高亮，保持与终端风格一致 */
.token.keyword, .token.key, .token.property, 
code span.kw, code span.dt, code span.dv, code span.st {
  color: #00ffff !important;
}
.token.string, .token.char, code span.st {
  color: #00ffaa !important;
}
.token.comment, code span.co {
  color: #009900 !important;
}

/* 7. 引用 */
blockquote {
  border-left: 4px solid #00aa00;
  background: #111;
  color: #00ff99;
  padding: 1em;
  margin: 1.5em 0;
  font-style: italic;
}

/* 8. 加粗和强调 */
strong, b {
  color: #00ffff;
  font-weight: bold;
}
em, i {
  color: #00ffaa;
}

/* 9. FAQ等自定义块 */
.faq, .faq p {
  color: #00ff00 !important;
  margin-bottom: 20px;
}

/* 10. 图片说明 */
img {
  border: 2px solid #00aa00;
  border-radius: 6px;
  margin: 1em 0;
}

/* 11. 滚动条美化（可选） */
::-webkit-scrollbar {
  width: 8px;
  background: #111;
}
::-webkit-scrollbar-thumb {
  background: #00aa00;
  border-radius: 4px;
}

/* 项目页面专用样式，确保跨页面统一 */
.project-single .content h1, 
.project-single .content h2, 
.project-single .content h3,
.project-single .content h4,
.project-single .content h5,
.project-single .content h6 {
  color: #00ff00 !important;
  font-weight: bold;
  letter-spacing: 1px;
  margin-top: 2em;
  margin-bottom: 1em;
}

.project-single .content p,
.project-single .content ul,
.project-single .content ol,
.project-single .content li,
.project-single .content blockquote {
  color: #00ff00 !important;
  margin-bottom: 1em;
}

/* 确保移动端头部菜单位置一致 */
@media (max-width: 768px) {
  .header-section {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 1rem) !important;
    max-width: 500px !important;
    margin: 0.5rem 0 !important;
    border-radius: 10px !important;
    padding: 0.5rem 0.8rem !important;
    position: fixed !important;
    top: 0 !important;
    z-index: 1000 !important;
  }
  
  .container {
    padding-top: 4rem !important;
  }
}

@media (max-width: 480px) {
  .header-section {
    width: calc(100% - 0.8rem) !important;
    margin: 0.3rem 0 !important;
    padding: 0.3rem 0.3rem !important;
  }
}

/* 移动端表格处理 */
@media (max-width: 768px) {
  table {
    font-size: 0.85em;
    border-radius: 4px;
    overflow-x: auto;
    white-space: nowrap;
    display: block;
    max-width: 100%;
  }
  
  th, td {
    padding: 6px 8px;
    word-break: break-word;
  }
  
  /* 指定最大列宽，超出则截断并显示省略号 */
  th:nth-child(n+2), td:nth-child(n+2) {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* 针对项目页面中的链接特别处理 */
.project-single .content a {
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  display: inline-block;
  max-width: 100%;
}

/* 移动端链接处理 */
@media (max-width: 768px) {
  a {
    word-break: break-all !important;
    overflow-wrap: anywhere !important;
    font-size: 0.9em;
  }
  
  /* 特别长的链接处理 */
  a[href^="http"]:not([href$=".com"]):not([href$=".org"]):not([href$=".net"]) {
    font-size: 0.85em;
    display: inline-block;
    max-width: 100%;
  }
}

/* 解决超长文本和URL问题 */
.content * {
  max-width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* 超长代码块和预格式化文本处理 */
.content pre, .content code, .content pre code {
  white-space: pre-wrap !important;
  word-break: break-all !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}

/* 处理超长URL的特殊规则 */
a[href*="//"], a[href*="www."], a[href^="http"] {
  word-break: break-all !important;
  overflow-wrap: break-word !important;
  display: inline-block;
  max-width: 100%;
}

/* 确保整个页面不会因为长内容而水平滚动 */
html, body, .section, .container, .content, article, main {
  max-width: 100%;
  overflow-x: hidden;
}

/* 移动端特殊优化 */
@media (max-width: 768px) {
  /* 确保所有内容都能在小屏幕上适当展示 */
  .content *, .project-single * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* 长URL特别处理，缩小字体并强制换行 */
  a[href*="//"]:not([href$=".com"]):not([href$=".org"]):not([href$=".net"]) {
    font-size: 0.8em !important;
  }
}

/* Ensure h1 inside section/article/nav/aside always has a clear font-size for browser compatibility */
section h1, article h1, nav h1, aside h1 {
  font-size: 2.5rem !important;
}