.highlight {
background-color: var(--bg-surface, #313244);
border-radius: var(--radius-md, 0.375rem);
padding: var(--space-4, 1rem);
margin: var(--space-4, 1rem) 0;
overflow-x: auto;
border: 1px solid var(--color-surface1, #45475a);
box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.4));
}
.highlight pre {
margin: 0;
background-color: transparent;
border: none;
padding: 0;
overflow: visible;
}
.highlight code {
font-family: var(--font-mono, 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace);
font-size: 0.875rem;
line-height: 1.5;
background-color: transparent;
padding: 0;
border-radius: 0;
color: var(--color-text, #cdd6f4);
}
.highlight .lineno {
color: var(--color-overlay0, #6c7086);
user-select: none;
padding-right: var(--space-3, 0.75rem);
border-right: 1px solid var(--color-surface1, #45475a);
margin-right: var(--space-3, 0.75rem);
}
.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt {
color: var(--color-lavender, #b4befe);
font-weight: var(--font-medium, 500);
}
.highlight .s,
.highlight .sa,
.highlight .sb,
.highlight .sc,
.highlight .dl,
.highlight .sd,
.highlight .s2,
.highlight .se,
.highlight .sh,
.highlight .si,
.highlight .sx,
.highlight .sr,
.highlight .s1,
.highlight .ss {
color: var(--color-green, #a6e3a1);
}
.highlight .c,
.highlight .ch,
.highlight .cm,
.highlight .cp,
.highlight .cpf,
.highlight .c1,
.highlight .cs {
color: var(--color-overlay1, #7f849c);
font-style: italic;
}
.highlight .nf,
.highlight .fm,
.highlight .nd,
.highlight .ni {
color: var(--color-blue, #89b4fa);
font-weight: var(--font-medium, 500);
}
.highlight .n,
.highlight .na,
.highlight .nb,
.highlight .bp,
.highlight .nc,
.highlight .no,
.highlight .ne,
.highlight .nl,
.highlight .nn,
.highlight .nx,
.highlight .py,
.highlight .nt,
.highlight .nv,
.highlight .vc,
.highlight .vg,
.highlight .vi,
.highlight .vm {
color: var(--color-text, #cdd6f4);
}
.highlight .m,
.highlight .mb,
.highlight .mf,
.highlight .mh,
.highlight .mi,
.highlight .mo,
.highlight .il {
color: var(--color-peach, #fab387);
font-weight: var(--font-medium, 500);
}
.highlight .o,
.highlight .ow,
.highlight .p {
color: var(--color-sapphire, #74c7ec);
}
.highlight .gd {
color: var(--color-red, #f38ba8);
background-color: rgba(243, 139, 168, 0.1);
}
.highlight .gi {
color: var(--color-green, #a6e3a1);
background-color: rgba(166, 227, 161, 0.1);
}
.highlight .gh {
color: var(--color-mauve, #cba6f7);
font-weight: var(--font-bold, 700);
}
.highlight .gu {
color: var(--color-lavender, #b4befe);
font-weight: var(--font-semibold, 600);
}
.highlight .ge {
font-style: italic;
}
.highlight .gs {
font-weight: var(--font-bold, 700);
}
.highlight .err {
color: var(--color-red, #f38ba8);
background-color: rgba(243, 139, 168, 0.1);
border-radius: var(--radius-sm, 0.25rem);
padding: 0 var(--space-1, 0.25rem);
}
.highlight .w {
color: var(--color-surface2, #585b70);
}
.language-javascript .highlight .kr,
.language-typescript .highlight .kr,
.language-js .highlight .kr,
.language-ts .highlight .kr {
color: var(--color-yellow, #f9e2af);
}
.language-css .highlight .nt,
.language-scss .highlight .nt,
.language-sass .highlight .nt {
color: var(--color-pink, #f5c2e7);
}
.language-css .highlight .na,
.language-scss .highlight .na,
.language-sass .highlight .na {
color: var(--color-teal, #94e2d5);
}
.language-html .highlight .nt,
.language-xml .highlight .nt {
color: var(--color-red, #f38ba8);
}
.language-html .highlight .na,
.language-xml .highlight .na {
color: var(--color-yellow, #f9e2af);
}
.language-json .highlight .nt {
color: var(--color-blue, #89b4fa);
}
.language-bash .highlight .nv,
.language-sh .highlight .nv,
.language-shell .highlight .nv {
color: var(--color-teal, #94e2d5);
}
.language-bash .highlight .s2,
.language-sh .highlight .s2,
.language-shell .highlight .s2 {
color: var(--color-green, #a6e3a1);
}
.language-python .highlight .bp {
color: var(--color-mauve, #cba6f7);
}
.language-python .highlight .nb {
color: var(--color-sky, #89dceb);
}
.language-rust .highlight .k {
color: var(--color-lavender, #b4befe);
}
.language-rust .highlight .kt {
color: var(--color-yellow, #f9e2af);
}
.language-go .highlight .kt {
color: var(--color-yellow, #f9e2af);
}
.language-go .highlight .kd {
color: var(--color-mauve, #cba6f7);
}
.language-elixir .highlight .ss {
color: var(--color-pink, #f5c2e7);
}
.language-elixir .highlight .nd {
color: var(--color-yellow, #f9e2af);
}
.language-yaml .highlight .nt,
.language-yml .highlight .nt {
color: var(--color-blue, #89b4fa);
}
.language-dockerfile .highlight .k {
color: var(--color-lavender, #b4befe);
}
.language-sql .highlight .k {
color: var(--color-lavender, #b4befe);
}
.language-sql .highlight .kt {
color: var(--color-yellow, #f9e2af);
}
:not(pre) > code {
background-color: var(--bg-surface, #313244);
color: var(--color-text, #cdd6f4);
padding: var(--space-1, 0.25rem) var(--space-2, 0.5rem);
border-radius: var(--radius-sm, 0.25rem);
font-family: var(--font-mono, 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace);
font-size: 0.875em;
border: 1px solid var(--color-surface1, #45475a);
box-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.1));
}
a code {
color: inherit;
}
.highlight {
position: relative;
}
.highlight:hover .copy-code-btn {
opacity: 1;
}
.copy-code-btn {
position: absolute;
top: var(--space-2, 0.5rem);
right: var(--space-2, 0.5rem);
background-color: var(--bg-surface-hover, #45475a);
color: var(--color-text, #cdd6f4);
border: 1px solid var(--color-surface2, #585b70);
border-radius: var(--radius-sm, 0.25rem);
padding: var(--space-1, 0.25rem) var(--space-2, 0.5rem);
font-size: 0.75rem;
cursor: pointer;
opacity: 0;
transition: opacity var(--transition-fast, 150ms ease);
z-index: 10;
}
.copy-code-btn:hover {
background-color: var(--color-blue, #89b4fa);
color: var(--bg-primary, #1e1e2e);
}
@media (max-width: 768px) {
.highlight {
padding: var(--space-3, 0.75rem);
margin: var(--space-3, 0.75rem) 0;
border-radius: var(--radius-sm, 0.25rem);
}
.highlight code {
font-size: 0.8125rem;
}
.highlight .lineno {
padding-right: var(--space-2, 0.5rem);
margin-right: var(--space-2, 0.5rem);
}
}
@media (prefers-color-scheme: dark) {
.highlight {
}
}
@media (prefers-contrast: high) {
.highlight {
border-width: 2px;
border-color: var(--color-text, #cdd6f4);
}
.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt {
color: #ffffff;
font-weight: var(--font-bold, 700);
}
.highlight .s,
.highlight .s2,
.highlight .s1 {
color: #90ff90;
}
.highlight .c,
.highlight .c1,
.highlight .cm {
color: #cccccc;
}
}
@media print {
.highlight {
background-color: #f8f9fa !important;
border: 1px solid #dee2e6 !important;
color: #212529 !important;
box-shadow: none !important;
}
.highlight code {
color: #212529 !important;
}
.highlight .k,
.highlight .kc,
.highlight .kd,
.highlight .kn,
.highlight .kp,
.highlight .kr,
.highlight .kt {
color: #0066cc !important;
font-weight: bold !important;
}
.highlight .s,
.highlight .s2,
.highlight .s1 {
color: #006600 !important;
}
.highlight .c,
.highlight .c1,
.highlight .cm {
color: #666666 !important;
}
.copy-code-btn {
display: none !important;
}
}