/* ============================================
   highlight.css — Java 代码高亮主题
   ============================================ */

.code-block {
  background: #1a202c;
  color: #e2e8f0;
  border-radius: 8px;
  overflow-x: auto;
  font-size: 0.9rem;
  line-height: 1.65;
}

.code-block pre {
  padding: 1.25rem;
  margin: 0;
  font-family: "SF Mono", "Cascadia Code", "Fira Code", "JetBrains Mono", "Consolas", monospace;
  tab-size: 4;
}

.code-block code {
  font-family: inherit;
}

/* ---- Token Colors ---- */

/* Keywords: class, public, static, void, if, for, new, return, etc. */
.tk-keyword {
  color: #f470c6;
  font-weight: 600;
}

/* String literals: "hello" */
.tk-string {
  color: #68d391;
}

/* Single char literals: 'a' */
.tk-char {
  color: #68d391;
}

/* Comments: // and /* */
.tk-comment {
  color: #718096;
  font-style: italic;
}

/* Block comments */
.tk-block-comment {
  color: #718096;
  font-style: italic;
}

/* Annotations: @Override, @Test, @Service */
.tk-annotation {
  color: #fbd38d;
}

/* Numeric literals: 42, 3.14, 0xFF */
.tk-number {
  color: #fbd38d;
}

/* Type names: String, int, void, List */
.tk-type {
  color: #76e4f7;
}

/* Method names (optional differentiation) */
.tk-method {
  color: #faf089;
}

/* ---- Copy Button in Code Block ---- */
.code-block-wrapper .copy-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.6);
  padding: 0.25rem 0.6rem;
  border-radius: 4px;
  font-size: 0.72rem;
  cursor: pointer;
  transition: all 0.15s;
}

.code-block-wrapper .copy-btn:hover {
  background: rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.9);
}

.code-block-wrapper .copy-btn.copied {
  background: rgba(56, 161, 105, 0.3);
  border-color: rgba(56, 161, 105, 0.5);
  color: #68d391;
}

/* ---- Inline Code ---- */
:not(pre) > code {
  background: #edf2f7;
  color: #2d3748;
  padding: 0.15em 0.4em;
  border-radius: 3px;
  font-size: 0.9em;
  font-family: "SF Mono", "Cascadia Code", "Fira Code", "JetBrains Mono", "Consolas", monospace;
}

/* ---- Dark Section Code in Story/Analogy etc ---- */
.section-story code,
.section-analogy code {
  background: rgba(49, 130, 206, 0.12);
  color: #2b6cb0;
}

/* ---- Dark Theme ---- */
[data-theme="dark"] .code-block {
  background: #0d1117;
}

[data-theme="dark"] .code-block-wrapper .copy-btn {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.5);
}

[data-theme="dark"] .code-block-wrapper .copy-btn:hover {
  background: rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.85);
}
