hypnagaga_old/src/assets/css/global/blocks/code.css
2025-01-10 13:13:33 +01:00

230 lines
3.6 KiB
CSS

:root {
--color-code-orange: hsl(30, 70%, 60%);
--color-code-blue: var(--color-secondary);
--color-code-indigo: hsl(260, 48%, 56%);
--color-code-violet: hsl(314, 70%, 60%);
--color-code-pink: hsl(350, 70%, 60%);
--color-code-gray: hsl(0, 0%, 58%);
--color-code-bg: color-mix(in oklab, var(--color-bg) 92%, black);
}
code,
pre {
font-family: var(--font-mono);
font-size: var(--size-step-min-1);
background-color: var(--color-code-bg);
border-radius: var(--border-radius-medium);
}
code[class*='language-'],
pre[class*='language-'] {
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
hyphens: none;
}
/* Specific Styles for <pre> Elements */
pre {
grid-column: popout !important;
overflow-x: auto;
padding: var(--space-s) var(--space-l);
}
/* Style Adjustments for <code> within different contexts */
:where(:not(pre)) > code {
position: relative;
top: -0.05em;
padding: 0.1em 0.4em;
}
pre[class*='language-'] {
overflow: auto;
position: relative;
}
[class*='language-'] .namespace {
opacity: 0.7;
}
.token.atrule {
color: var(--color-code-pink);
}
.token.attr-name {
color: var(--color-code-orange);
}
.token.attr-value {
color: var(--color-text-accent);
}
.token.attribute {
color: var(--color-code-blue);
}
.token.boolean {
color: var(--color-code-pink);
}
.token.builtin {
color: var(--color-code-orange);
}
.token.cdata {
color: var(--color-code-orange);
}
.token.char {
color: var(--color-code-orange);
}
.token.class {
color: var(--color-code-orange);
}
.token.class-name {
color: var(--color-code-orange);
}
.token.color {
color: var(--color-code-orange);
}
.token.comment {
color: var(--color-code-gray);
}
.token.constant {
color: var(--color-code-pink);
}
.token.deleted {
color: var(--color-code-pink);
}
.token.doctype {
color: var(--color-code-orange);
}
.token.entity {
color: var(--color-code-pink);
}
.token.function {
color: var(--color-code-pink);
}
.token.hexcode {
color: var(--color-code-orange);
}
.token.id {
color: var(--color-code-pink);
font-weight: var(--font-bold);
}
.token.important {
color: var(--color-code-pink);
font-weight: var(--font-bold);
}
.token.inserted {
color: var(--color-code-orange);
}
.token.keyword {
color: var(--color-code-pink);
font-style: italic;
}
.token.number {
color: var(--color-text-accent);
}
.token.operator {
color: var(--color-code-gray);
}
.token.prolog {
color: var(--color-code-orange);
}
.token.property {
color: var(--color-code-orange);
}
.token.pseudo-class {
color: var(--color-code-blue);
}
.token.pseudo-element {
color: var(--color-code-blue);
}
.token.punctuation {
color: var(--color-code-gray);
}
.token.regex {
color: var(--color-code-orange);
}
.token.selector {
color: var(--color-code-pink);
}
.token.string {
color: var(--color-text-accent);
}
.token.symbol {
color: var(--color-code-pink);
}
.token.tag {
color: var(--color-code-pink);
}
.token.unit {
color: var(--color-code-pink);
}
.token.url {
color: var(--color-code-violet);
}
.token.variable {
color: var(--color-code-pink);
}
/* CodePen iframe */
.codepen a {
--icon-size: 1.2em;
display: flex;
align-items: center;
gap: var(--space-2xs);
}
.prose .cp_embed_wrapper,
.prose .cp_embed_wrapper + script + *:not(h2) {
--flow-space: var(--space-l);
}
.cp_embed_wrapper {
grid-column: popout;
position: relative;
overflow: auto;
display: grid;
place-items: center;
grid-template-areas: 'container';
resize: horizontal;
}
.cp_embed_wrapper iframe {
grid-area: container;
width: 100%;
}