$color-grey-900: hsl(240 5% 20%); $color-grey-800: hsl(240 5% 25%); $color-grey-700: hsl(240 5% 35%); $color-grey-600: hsl(240 5% 45%); $color-grey-500: hsl(240 5% 50%); $color-grey-400: hsl(240 5% 60%); $color-grey-300: hsl(240 5% 75%); $color-grey-200: hsl(240 5% 90%); $color-grey-100: hsl(240 10% 95%); $color-blue-900: hsl(240 100% 10%); $color-blue-800: hsl(240 100% 20%); $color-blue-700: hsl(240 100% 30%); $color-blue-600: hsl(240 100% 40%); $color-blue-500: hsl(235 100% 50%); $color-blue-400: hsl(230 100% 60%); $color-blue-300: hsl(225 100% 70%); $color-blue-200: hsl(220 100% 75%); $color-blue-100: hsl(220 100% 80%); $color-purple-900: hsl(280 100% 10%); $color-purple-800: hsl(280 100% 20%); $color-purple-700: hsl(280 100% 30%); $color-purple-600: hsl(280 100% 40%); $color-purple-500: hsl(280 100% 50%); $color-purple-400: hsl(280 100% 60%); $color-purple-300: hsl(270 100% 70%); $color-purple-200: hsl(265 100% 80%); $color-purple-100: hsl(260 100% 90%); $color-red-900: hsl(20 100% 10%); $color-red-800: hsl(20 100% 10%); $color-red-700: hsl(20 100% 10%); $color-red-600: hsl(20 100% 10%); $color-red-500: hsl(20 100% 50%); $color-red-400: hsl(20 100% 90%); $color-red-300: hsl(20 100% 90%); $color-red-200: hsl(20 100% 90%); $color-red-100: hsl(20 100% 90%); $shadow-900: rgba(0, 0, 0, .20); $shadow-500: rgba(0, 0, 0, .15); $shadow-100: rgba(0, 0, 0, .1); $colors: [ (grey-900, $color-grey-900), (grey-800, $color-grey-800), (grey-700, $color-grey-700), (grey-600, $color-grey-600), (grey-500, $color-grey-500), (grey-400, $color-grey-400), (grey-300, $color-grey-300), (grey-200, $color-grey-200), (grey-100, $color-grey-100), (blue-900, $color-blue-900), (blue-800, $color-blue-800), (blue-700, $color-blue-700), (blue-600, $color-blue-600), (blue-500, $color-blue-500), (blue-400, $color-blue-400), (blue-300, $color-blue-300), (blue-200, $color-blue-200), (blue-100, $color-blue-100), (purple-900, $color-purple-900), (purple-800, $color-purple-800), (purple-700, $color-purple-700), (purple-600, $color-purple-600), (purple-500, $color-purple-500), (purple-400, $color-purple-400), (purple-300, $color-purple-300), (purple-200, $color-purple-200), (purple-100, $color-purple-100), (red-900, $color-red-900), (red-500, $color-red-500), (red-100, $color-red-100), ]; @each $name, $value in $colors { .swatch-#{$name} { background-color: #{$value}; } } $border-color: $color-grey-600; $border-shadow: $color-grey-800; $background-color-light: $color-grey-100; $background-color-medium: $color-grey-200; $background-color-dark: $color-grey-300; $primary-color-light: $color-blue-100; $primary-color-medium: $color-blue-500; $primary-color-dark: $color-blue-700; $accent-color-light: $color-blue-100; $accent-color-medium: $color-blue-500; $accent-color-dark: $color-blue-900; $accent-color: $color-purple-500; $elevation-low: 1px 2px 3px $shadow-500, 0 1px 2px $shadow-900; $elevation-medium: 2px 6px 5px $shadow-500, 0 1px 2px $shadow-900; $elevation-high: 3px 8px 6px $shadow-900, 0 0px 3px $shadow-900; body { background-color: $background-color-medium; } .colorset { display: flex; gap: 4px; margin: 16px 0px 16px 0px; } .swatch { border: 1px solid black; border-radius: 5px; width: 100px; height: 50px; } .flex { display: flex; gap: 8px; margin: 16px 0px 16px 0px; } .currently-playing { padding: 8px; } .controls { padding: 8px; } .track-list { border: 1px solid black; display: flex; } .track-list__grouping { padding: 8px; border-style: solid; border-width: 0px 5px 0px 0px; } .bulletless-list { list-style: none; } .track-list__row { margin-top: 32px; } .card { border-radius: 5px; padding: 8px; width: 500px; height: 100px; } .card--low { border: 1px solid $border-color; box-shadow: $elevation-low; } .card--medium { border: 1px solid $border-color; box-shadow: $elevation-medium; } .card--high { border: 1px solid $border-color; box-shadow: $elevation-high; } .track-card { display: grid; gap: 4px 4px; border: 1px solid $border-color; background-color: $background-color-light; box-shadow: $elevation-low; } .track-card__name { display: block; grid-column: 1 / span 1; grid-row: 1 / span 1; color: $primary-color-dark; } .track-card__length { display: block; grid-column: 2 / span 1; grid-row: 1 / span 1; text-align: right; color: $color-blue-300; } .track-card__album { display: block; grid-column: 1 / span 1; grid-row: 2 / span 1; color: $color-grey-800; } .track-card__artist { display: block; grid-column: 2 / span 1; grid-row: 2 / span 1; color: $color-grey-800; }