248 lines
8.9 KiB
CSS
248 lines
8.9 KiB
CSS
* {
|
|
border: 0;
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
:root {
|
|
font-size: calc(12px + (32 - 12) * (100vw - 320px) / (1280 - 320));
|
|
}
|
|
|
|
body,
|
|
input {
|
|
font: 1em/1.5 sans-serif;
|
|
}
|
|
|
|
body {
|
|
background: linear-gradient(-45deg, #e3e4e8, #c7cad1);
|
|
height: 100vh;
|
|
min-height: 600px;
|
|
display: grid;
|
|
overflow-x: hidden;
|
|
place-items: center;
|
|
}
|
|
|
|
.cp {
|
|
background: linear-gradient(90deg, #676e7e, #9da2af);
|
|
border-radius: 2em;
|
|
box-shadow: 0.1em 0.1em 0 #b9bcc6, 0.25em 0.25em 0 #676e7e, 0.375em 0.375em 0.375em rgba(0, 0, 0, 0.6);
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
grid-template-rows: repeat(4, 1fr);
|
|
width: 16em;
|
|
height: 16em;
|
|
transform: rotateX(45deg) rotateZ(45deg);
|
|
}
|
|
.cp__color {
|
|
padding: 0.5em;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
.cp__color, .cp__color-input {
|
|
display: block;
|
|
}
|
|
.cp__color-input {
|
|
border-radius: 50%;
|
|
position: relative;
|
|
width: 3em;
|
|
height: 3em;
|
|
transform: translate3d(-0.5em, -0.5em, 0);
|
|
transform-style: preserve-3d;
|
|
transition: transform 0.15s linear;
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
}
|
|
.cp__color-input:after {
|
|
border-radius: inherit;
|
|
content: "";
|
|
display: block;
|
|
position: absolute;
|
|
inset: 0;
|
|
transform: translate3d(0.25em, 0.25em, -1px);
|
|
transition: box-shadow 0.15s linear;
|
|
}
|
|
.cp__color-input:checked {
|
|
transform: translate3d(-0.25em, -0.25em, 0);
|
|
}
|
|
.cp__color-input:focus {
|
|
outline: transparent;
|
|
}
|
|
.cp__color--brown .cp__color-input {
|
|
background-image: linear-gradient(90deg, #793206, #c2510a);
|
|
}
|
|
.cp__color--brown .cp__color-input:after {
|
|
background: linear-gradient(0deg, #491e04, black, #180a01);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(121, 50, 6, 0.6);
|
|
}
|
|
.cp__color--brown .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(121, 50, 6, 0.6);
|
|
}
|
|
.cp__color--red .cp__color-input {
|
|
background-image: linear-gradient(90deg, #f42f25, #f7756e);
|
|
}
|
|
.cp__color--red .cp__color-input:after {
|
|
background: linear-gradient(0deg, #da160b, #790c06, #aa1109);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(244, 47, 37, 0.6);
|
|
}
|
|
.cp__color--red .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(244, 47, 37, 0.6);
|
|
}
|
|
.cp__color--orange .cp__color-input {
|
|
background-image: linear-gradient(90deg, #f49725, #f7b96e);
|
|
}
|
|
.cp__color--orange .cp__color-input:after {
|
|
background: linear-gradient(0deg, #da7d0b, #794506, #aa6109);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(244, 151, 37, 0.6);
|
|
}
|
|
.cp__color--orange .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(244, 151, 37, 0.6);
|
|
}
|
|
.cp__color--yellow .cp__color-input {
|
|
background-image: linear-gradient(90deg, #f4db25, #f7e76e);
|
|
}
|
|
.cp__color--yellow .cp__color-input:after {
|
|
background: linear-gradient(0deg, #dac20b, #796c06, #aa9709);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(244, 219, 37, 0.6);
|
|
}
|
|
.cp__color--yellow .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(244, 219, 37, 0.6);
|
|
}
|
|
.cp__color--green .cp__color-input {
|
|
background-image: linear-gradient(90deg, #689108, #9cda0b);
|
|
}
|
|
.cp__color--green .cp__color-input:after {
|
|
background: linear-gradient(0deg, #456105, black, #233003);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(104, 145, 8, 0.6);
|
|
}
|
|
.cp__color--green .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(104, 145, 8, 0.6);
|
|
}
|
|
.cp__color--lime .cp__color-input {
|
|
background-image: linear-gradient(90deg, #93f425, #b7f76e);
|
|
}
|
|
.cp__color--lime .cp__color-input:after {
|
|
background: linear-gradient(0deg, #7ada0b, #447906, #5faa09);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(147, 244, 37, 0.6);
|
|
}
|
|
.cp__color--lime .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(147, 244, 37, 0.6);
|
|
}
|
|
.cp__color--cyan .cp__color-input {
|
|
background-image: linear-gradient(90deg, #25e9f4, #6ef0f7);
|
|
}
|
|
.cp__color--cyan .cp__color-input:after {
|
|
background: linear-gradient(0deg, #0bd0da, #067379, #09a2aa);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(37, 233, 244, 0.6);
|
|
}
|
|
.cp__color--cyan .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(37, 233, 244, 0.6);
|
|
}
|
|
.cp__color--lightblue .cp__color-input {
|
|
background-image: linear-gradient(90deg, #25b6f4, #6ecef7);
|
|
}
|
|
.cp__color--lightblue .cp__color-input:after {
|
|
background: linear-gradient(0deg, #0b9cda, #065779, #0979aa);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(37, 182, 244, 0.6);
|
|
}
|
|
.cp__color--lightblue .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(37, 182, 244, 0.6);
|
|
}
|
|
.cp__color--blue .cp__color-input {
|
|
background-image: linear-gradient(90deg, #255ff4, #6e95f7);
|
|
}
|
|
.cp__color--blue .cp__color-input:after {
|
|
background: linear-gradient(0deg, #0b46da, #062779, #0936aa);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(37, 95, 244, 0.6);
|
|
}
|
|
.cp__color--blue .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(37, 95, 244, 0.6);
|
|
}
|
|
.cp__color--purple .cp__color-input {
|
|
background-image: linear-gradient(90deg, #7d0bda, #a23df5);
|
|
}
|
|
.cp__color--purple .cp__color-input:after {
|
|
background: linear-gradient(0deg, #6109aa, #2a0449, #450679);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(125, 11, 218, 0.6);
|
|
}
|
|
.cp__color--purple .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(125, 11, 218, 0.6);
|
|
}
|
|
.cp__color--magenta .cp__color-input {
|
|
background-image: linear-gradient(90deg, #f425e9, #f76ef0);
|
|
}
|
|
.cp__color--magenta .cp__color-input:after {
|
|
background: linear-gradient(0deg, #da0bd0, #790673, #aa09a2);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(244, 37, 233, 0.6);
|
|
}
|
|
.cp__color--magenta .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(244, 37, 233, 0.6);
|
|
}
|
|
.cp__color--pink .cp__color-input {
|
|
background-image: linear-gradient(90deg, #f986a6, #fccfdc);
|
|
}
|
|
.cp__color--pink .cp__color-input:after {
|
|
background: linear-gradient(0deg, #f65583, #da0b46, #f4255f);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(249, 134, 166, 0.6);
|
|
}
|
|
.cp__color--pink .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(249, 134, 166, 0.6);
|
|
}
|
|
.cp__color--black .cp__color-input {
|
|
background-image: linear-gradient(90deg, #1a1a1a, #404040);
|
|
}
|
|
.cp__color--black .cp__color-input:after {
|
|
background: linear-gradient(0deg, black, black, black);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(26, 26, 26, 0.6);
|
|
}
|
|
.cp__color--black .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(26, 26, 26, 0.6);
|
|
}
|
|
.cp__color--gray .cp__color-input {
|
|
background-image: linear-gradient(90deg, #4d4d4d, #737373);
|
|
}
|
|
.cp__color--gray .cp__color-input:after {
|
|
background: linear-gradient(0deg, #333333, black, #1a1a1a);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(77, 77, 77, 0.6);
|
|
}
|
|
.cp__color--gray .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(77, 77, 77, 0.6);
|
|
}
|
|
.cp__color--lightgray .cp__color-input {
|
|
background-image: linear-gradient(90deg, #999999, #bfbfbf);
|
|
}
|
|
.cp__color--lightgray .cp__color-input:after {
|
|
background: linear-gradient(0deg, gray, #4d4d4d, #666666);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(153, 153, 153, 0.6);
|
|
}
|
|
.cp__color--lightgray .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(153, 153, 153, 0.6);
|
|
}
|
|
.cp__color--white .cp__color-input {
|
|
background-image: linear-gradient(90deg, #e6e6e6, white);
|
|
}
|
|
.cp__color--white .cp__color-input:after {
|
|
background: linear-gradient(0deg, #cccccc, #999999, #b3b3b3);
|
|
box-shadow: 0.25em 0.25em 0.25em rgba(0, 0, 0, 0.9), 0.5em 0.5em 0.5em rgba(230, 230, 230, 0.6);
|
|
}
|
|
.cp__color--white .cp__color-input:checked:after {
|
|
box-shadow: 0 0 0.125em rgba(0, 0, 0, 0.9), 0.25em 0.25em 0.25em rgba(230, 230, 230, 0.6);
|
|
}
|
|
.cp__sr-only {
|
|
clip: rect(1px, 1px, 1px, 1px);
|
|
overflow: hidden;
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
}
|
|
|
|
/* Dark theme */
|
|
@media (prefers-color-scheme: dark) {
|
|
body {
|
|
background: linear-gradient(-45deg, #2e3138, #17181c);
|
|
}
|
|
|
|
.cp {
|
|
background: linear-gradient(90deg, #2e3138, #5c6270);
|
|
box-shadow: 0.1em 0.1em 0 #737a8c, 0.25em 0.25em 0 #2e3138, 0.375em 0.375em 0.375em rgba(0, 0, 0, 0.6);
|
|
}
|
|
} |