// Paint [SPEC 6, 10, 11.3]: gradients (two-stop auto-angle, multi-stop,
// explicit angle, radial, gradient-on-stroke, oklch stops), `gap-fill`
// painting the gutters between children (thickness = gap, per-axis), and the
// built-in light/dark theming — every palette var here flips with the OS or a
// `data-theme` toggle. Pick a fixed palette with --theme:
// lini samples/paint.lini --theme dark --bake-vars -o dark.svg
// lini theme dark > my-theme.css // a starting point for your own
{
gap: 26; padding: 26; font-size: 13;
|card::box| { width: 240; height: 70; stroke: none; color: white; }
}
"Paint — gradients, gutters, themes" { font-size: 18; font-weight: bold; }
|row#r1| { gap: 16; } [
|card| "gradient(--teal, --blue)" { fill: gradient(--teal, --blue); }
|card| "three stops, auto-angled" { fill: gradient(--rose, --amber, --sky); }
]
|row#r2| { gap: 16; } [
|card| "linear-gradient(90, …)" {
fill: linear-gradient(90, --blue, --purple);
}
|card| "radial-gradient(…)" { fill: radial-gradient(--purple, --rose); }
]
|row#r3| { gap: 16; } [
|card| "gradient on stroke" {
fill: --gray-wash; color: --gray-ink; stroke: gradient(--teal, --purple); stroke-width: 3;
}
|card| "oklch stops" {
fill: gradient(oklch(0.72, 0.16, 25), oklch(0.72, 0.16, 285));
}
]
|row#bands| { gap: 12; gap-fill: --sky-soft; } [
|box#a| "one" { fill: --sky-wash; stroke: --sky-ink; color: --sky-ink; }
|box#b| "two" { fill: --sky-wash; stroke: --sky-ink; color: --sky-ink; }
|box#c| "three" { fill: --sky-wash; stroke: --sky-ink; color: --sky-ink; }
]
|grid#week| { columns: 80, 80, 80; gap: 8 0; gap-fill: --teal-ink; } [
"Mon" "Tue" "Wed"
"Thu" "Fri" "Sat"
]
|group#service| { gap: 12; } [
|caption| "Service"
|box#web| [
"Web"
|badge| "v2"
]
|box#api| "API"
|cyl#db| "Postgres"
web -> api
api -> db "query"
]