// LCARS global functions
// Creates a % based grid provided a base number
build-grid(baseNum)
for i in 1..baseNum
base = i
for k in 1..base
num = k
.{prefix}column.u-{num}-{base}
width ( (100/base) * num )%
.{prefix}column.prefix-{num}-{base}
margin-left ( (100/base) * num )%
.{prefix}column.suffix-{num}-{base}
margin-right ( (100/base) * num )%
// Creates dynamic color classes
create-colors(prop, suffix, colors)
for c, v in colors
.{prefix}{c}-{suffix}
{prop} v!important
// Defines border radius sides for the LCARS buttons
create-sides(sides)
for side in sides
.{prefix}button.{side}
border-radius side radius-size
// Creates dynamic color divider classes
create-divider-colors(colors)
for colorName, colorValue in colors
for colorName2, colorValue2 in colors
.{prefix}{colorName}-{colorName2}-divide
if colorName != colorName2
background-image linear-gradient(90deg, transparent far-spacer, black far-spacer), linear-gradient(90deg, colorValue near-color-size, transparent near-color-size), linear-gradient(90deg, transparent far-color-size, colorValue2 far-color-size)