asw/assets/css/layers/07-chroma.css
Vigilio Desto ea51dbd7cf
M3: dead code purge + layer refs → semantic tokens
Dead code removed:
- 05-utilities: grid-2/card-grid/stats block (superseded by 08-layout)
- 02-semantic: dialog min-width:100% (conflicted with 03-components)
- 02-semantic: hgroup p dead font-family, redundant nested list margin
- All layers: [ai-disclosure] → [data-ai-disclosure] (bug fix)
- table.striped → [data-table="striped"] (classless alignment)

Ref cleanup: 12 --gray-N/--green-N/--blue-N replaced with semantic
tokens. 24 refs marked TODO (syntax highlighting needs --syntax-* aliases).
2026-04-10 19:44:05 +02:00

138 lines
4.4 KiB
CSS

/**
* 07-chroma.css
* CSS-only syntax highlighting — maps Hugo/Chroma class names to Open Props
* color tokens. Requires Hugo markup.highlight.noClasses = false.
*
* Generated class reference: hugo gen chromastyles --style=monokai
* Token palette: Open Props perceptual color scale.
* Part of: Agentic Semantic Web
*/
/* ── Wrapper ─────────────────────────────────────────────────────────── */
.chroma {
background: var(--surface-2);
border-radius: var(--radius-2);
overflow-x: auto;
}
.chroma pre {
background: var(--surface-2);
padding: var(--size-3);
border-radius: var(--radius-2);
overflow-x: auto;
margin: 0;
}
/* ── Keywords ────────────────────────────────────────────────────────── */
/* .k .kc .kd .kn .kp .kr .kt */
.chroma .k,
.chroma .kc,
.chroma .kd,
.chroma .kp,
.chroma .kr,
.chroma .kt {
color: var(--violet-4);
}
/* KeywordNamespace — import/from/as — pink accent to distinguish */
.chroma .kn {
color: var(--violet-3);
}
/* ── Strings ─────────────────────────────────────────────────────────── */
/* .s .sa .sb .sc .dl .sd .s2 .se .sh .si .sx .sr .s1 .ss */
.chroma .s,
.chroma .sa,
.chroma .sb,
.chroma .sc,
.chroma .dl,
.chroma .sd,
.chroma .s2,
.chroma .sh,
.chroma .si,
.chroma .sx,
.chroma .sr,
.chroma .s1,
.chroma .ss {
color: var(--accent-hover); /* --accent-hover = var(--green-4) */
}
/* LiteralStringEscape — \n \t etc — slightly lighter to distinguish */
.chroma .se {
color: var(--green-3); /* TODO: map to semantic token — no alias for green-3 (--accent-hover=green-4 is one step darker) */
}
/* ── Comments ────────────────────────────────────────────────────────── */
/* .c .c1 .ch .cm .cp .cpf .cs */
.chroma .c,
.chroma .c1,
.chroma .ch,
.chroma .cm,
.chroma .cp,
.chroma .cpf,
.chroma .cs {
color: var(--text-2);
font-style: italic;
}
/* ── Numbers ─────────────────────────────────────────────────────────── */
/* .m .mb .mf .mh .mi .mo .mx */
.chroma .m,
.chroma .mb,
.chroma .mf,
.chroma .mh,
.chroma .mi,
.chroma .il,
.chroma .mo,
.chroma .mx {
color: var(--orange-3);
}
/* ── Names / Functions ───────────────────────────────────────────────── */
/* .n .na .nb .nc .nd .ne .nf .ni .nl .nn .nx .py */
.chroma .na,
.chroma .nc,
.chroma .nd,
.chroma .ne,
.chroma .nf,
.chroma .nx,
.chroma .py {
color: var(--blue-3); /* TODO: map to semantic token — no alias for blue-3 (--link-hover=blue-4 is one step darker) */
}
/* ── Operators / Punctuation ─────────────────────────────────────────── */
/* .o .ow .p */
.chroma .o,
.chroma .ow {
color: var(--text);
}
/* ── Error ───────────────────────────────────────────────────────────── */
.chroma .err {
color: var(--red-4); /* TODO: map to semantic token — no alias for red-4 (--error=red-7 is much darker; syntax error highlight needs lighter shade) */
background: transparent;
}
/* ── Generic diffs / emphasis ────────────────────────────────────────── */
.chroma .gd { color: var(--red-4); /* TODO: map to semantic token — no alias for red-4; see --diff-remove-text=red-2 but that's even lighter */ }
.chroma .gi { color: var(--accent-hover); /* --accent-hover = var(--green-4) */ }
.chroma .ge { font-style: italic; }
.chroma .gs { font-weight: bold; }
/* ── Line number chrome ──────────────────────────────────────────────── */
.chroma .ln,
.chroma .lnt {
color: var(--text-3);
user-select: none;
padding-inline-end: var(--size-3);
}