julbly38-a11y

lsmd

No description provided

julbly38-a11y 0 Updated 1w ago

Resources

35
GitHub

Install

npx skillscat add julbly38-a11y/lsmd

Install via the SkillsCat registry.

SKILL.md

/* ============================================================
ЛСМД — Colors & Type
Editorial monochrome system. Warm paper background, near-black
ink, IBM Plex Sans for prose, IBM Plex Mono for UI/labels.
============================================================ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
/* ---------- Surfaces (warm grayscale) ---------- /
--bg: #f5f4f0; /
page background — warm off-white paper /
--bg2: #eeecea; /
secondary surface — table headers, code blocks /
--surface: #ffffff; /
elevated surface — sidebar, cards, inputs /
--border: #d8d5cf; /
hairline divider, 1px /
--border-2: #c4c0b8; /
slightly stronger border on hover */

/* ---------- Ink ---------- /
--text: #1a1917; /
primary text, also the accent — near-black /
--text2: #6b6760; /
secondary text, captions /
--text3: #9c9890; /
tertiary, placeholders, labels /
--text-inv: #f5f4f0; /
text on dark fills */

/* ---------- Brand accent ---------- /
/
Medical red — used sparingly for primary CTAs, brand mark,
active nav, links, and stat indicators. NOT for state/error. /
--brand: #c0392b; /
medical cross red /
--brand-hover: #a93222; /
darker on hover /
--brand-soft: #fbecea; /
tinted bg for badges/chips */

/* Ink-as-accent (kept for chat surface — it stays monochrome) */
--accent: #1a1917;
--accent-bg: #1a1917;
--accent-text: #f5f4f0;

/* ---------- Semantic ---------- /
--green: #16a34a; /
"free" / success / positive delta /
--red: #c0392b; /
errors — same hex as brand by coincidence; semantically distinct /
--amber: #b45309; /
warnings */

/* ---------- Type families ---------- */
--sans: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
--mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

/* ---------- Type scale ---------- /
/
Display headings use Plex Mono with light weight (300) — the
editorial signature. Body uses Plex Sans 400. UI labels and
metadata use Plex Mono 400 with tracking. /
--fs-display: 28px; /
welcome H1 /
--fs-h1: 22px;
--fs-h2: 18px;
--fs-body: 14px;
--fs-small: 13px;
--fs-meta: 12px;
--fs-label: 11px; /
uppercase mono labels */
--fs-micro: 10px;

--lh-tight: 1.3;
--lh-normal: 1.5;
--lh-loose: 1.8; /* mono metadata blocks */

--tracking-label: 0.08em; /* uppercase mono labels /
--tracking-cap: 0.05em; /
table headers */

/* ---------- Weights ---------- /
--w-light: 300; /
display headings, logo "+" /
--w-regular: 400;
--w-medium: 500; /
logo wordmark, table headers, buttons /
--w-semi: 600; /
reserved, rarely used */

/* ---------- Spacing (4-pt grid) ---------- */
--s-1: 4px;
--s-2: 8px;
--s-3: 12px;
--s-4: 16px;
--s-5: 20px;
--s-6: 24px;
--s-8: 32px;
--s-10: 40px;
--s-12: 48px;

/* ---------- Radii ---------- /
/
Small radii everywhere. The signature is the bubble:
asymmetric 4 / 18 corners on chat surfaces. /
--r-1: 4px; /
tight corners on tables, code, sql block /
--r-2: 6px; /
buttons, chips, example items /
--r-3: 8px; /
inputs, send button /
--r-bubble-user: 18px 18px 4px 18px; /
user bubble /
--r-bubble-agent: 4px 18px 18px 18px; /
agent bubble */

/* ---------- Elevation ---------- /
/
The system is FLAT. No drop shadows. Elevation = surface +
hairline border. The only "shadow" is the chat bubble shape. /
--shadow-none: none;
--shadow-focus: 0 0 0 3px rgba(26, 25, 23, 0.08); /
keyboard focus ring */

/* ---------- Motion ---------- */
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--dur-fast: 0.15s;
--dur-normal: 0.25s;
}

/* ============================================================
Semantic type — apply directly to elements
============================================================ */

html, body {
background: var(--bg);
color: var(--text);
font-family: var(--sans);
font-size: var(--fs-body);
line-height: var(--lh-normal);
-webkit-font-smoothing: antialiased;
}

.h-display {
font-family: var(--mono);
font-weight: var(--w-light);
font-size: var(--fs-display);
line-height: var(--lh-tight);
letter-spacing: -0.01em;
}

.h-1 {
font-family: var(--mono);
font-weight: var(--w-light);
font-size: var(--fs-h1);
line-height: var(--lh-tight);
}

.h-2 {
font-family: var(--sans);
font-weight: var(--w-medium);
font-size: var(--fs-h2);
line-height: var(--lh-tight);
}

.t-body {
font-family: var(--sans);
font-weight: var(--w-regular);
font-size: var(--fs-body);
line-height: var(--lh-normal);
color: var(--text);
}

.t-secondary {
color: var(--text2);
}

.t-tertiary {
color: var(--text3);
}

.t-mono {
font-family: var(--mono);
}

/* The signature label style — uppercase Plex Mono with tracking,
used for sidebar section titles, table headers, metadata. */
.t-label {
font-family: var(--mono);
font-weight: var(--w-medium);
font-size: var(--fs-label);
text-transform: uppercase;
letter-spacing: var(--tracking-label);
color: var(--text3);
}

.t-meta {
font-family: var(--mono);
font-size: var(--fs-meta);
color: var(--text2);
line-height: var(--lh-loose);
}

.t-micro {
font-family: var(--mono);
font-size: var(--fs-micro);
color: var(--text3);
line-height: var(--lh-loose);
}

.t-num-big {
font-family: var(--mono);
font-weight: var(--w-light);
font-size: 48px;
line-height: 1;
color: var(--text);
}

Categories