/* Prism.js SBET Dark Theme — matches site dark theme */
code[class*="language-"],
pre[class*="language-"] {
  color: #e0e0f0;
  background: none;
  font-family: 'Space Mono', 'JetBrains Mono', 'Fira Code', monospace;
  font-size: 0.85em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.6;
  tab-size: 4;
  hyphens: none;
}

pre[class*="language-"] {
  padding: 1.25em 1.5em;
  margin: 1.5em 0;
  overflow: auto;
  border-radius: 10px;
  background: #0a0a14;
  border: 1px solid rgba(255,255,255,0.08);
}

:not(pre) > code[class*="language-"] {
  padding: 0.15em 0.4em;
  border-radius: 6px;
  background: #0a0a14;
}

/* Tokens */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata       { color: #6a6a8a; font-style: italic; }

.token.punctuation  { color: #9e9eb5; }
.token.namespace    { opacity: 0.7; }

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol       { color: #ef5350; }

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin      { color: #4ade80; }

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string { color: #facc15; }

.token.atrule,
.token.attr-value,
.token.keyword      { color: #c084fc; }

.token.function,
.token.class-name   { color: #60a5fa; }

.token.regex,
.token.important,
.token.variable     { color: #fb923c; }

.token.important,
.token.bold         { font-weight: bold; }
.token.italic       { font-style: italic; }
.token.entity       { cursor: help; }

/* Solidity-specific */
.token.keyword.keyword-pragma,
.token.keyword.keyword-import { color: #9ca3af; }

.token.keyword.keyword-contract,
.token.keyword.keyword-interface,
.token.keyword.keyword-library,
.token.keyword.keyword-abstract { color: #c084fc; font-weight: 600; }

.token.keyword.keyword-function { color: #60a5fa; }

.token.keyword.keyword-modifier,
.token.keyword.keyword-event,
.token.keyword.keyword-error,
.token.keyword.keyword-struct,
.token.keyword.keyword-enum { color: #f59393; }

.token.keyword.keyword-mapping,
.token.keyword.keyword-address,
.token.keyword.keyword-uint256,
.token.keyword.keyword-int256,
.token.keyword.keyword-bytes32,
.token.keyword.keyword-bool,
.token.keyword.keyword-string { color: #fb923c; }

.token.keyword.keyword-public,
.token.keyword.keyword-private,
.token.keyword.keyword-internal,
.token.keyword.keyword-external,
.token.keyword.keyword-view,
.token.keyword.keyword-pure,
.token.keyword.keyword-payable { color: #9ca3af; font-style: italic; }

.token.keyword.keyword-returns,
.token.keyword.keyword-return  { color: #c084fc; }

.token.keyword.keyword-emit,
.token.keyword.keyword-revert  { color: #ef5350; }

.token.keyword.keyword-require,
.token.keyword.keyword-assert  { color: #facc15; }

/* Line numbers */
.line-numbers .line-numbers-rows {
  border-right: 1px solid rgba(255,255,255,0.08);
}

.line-numbers-rows > span::before {
  color: #3d3d5c;
}

/* Line highlight */
.line-highlight {
  background: rgba(198,40,40,0.08);
  border-left: 3px solid #C62828;
}
