body { --bg: #fff; --fg: #000; --margin-color: #ad8052; --border-color: #e3c381; --padding-color: #b7c47f; --element-color: #87b2bc; } body.dark { --bg: #2b2a33; --fg: #eee; --margin-color: #926538; --border-color: #b39355; --padding-color: #7b8653; --element-color: #709aa3; } :root { width: 100%; height: 100%; } body { margin: 0; padding: 0; width: 100%; height: 100%; display: flex; flex-direction: column; font-family: sans-serif; --accent-color: #4a93d1; --width: 130px; --height: 50px; --margin-top: 10px; --margin-left: 10px; --margin-right: 10px; --margin-bottom: 10px; --border-top: 2px; --border-left: 2px; --border-right: 2px; --border-bottom: 2px; --padding-top: 5px; --padding-left: 5px; --padding-right: 5px; --padding-bottom: 5px; background-color: var(--bg); color: var(--fg); transition: color 0.4s ease 0s, background-color 0.4s ease 0s; } .example-wrapper { margin: 5px; flex-grow: 1; display: flex; justify-content: center; align-items: center; } .margin { background: var(--margin-color); } .border { background: var(--border-color); } .padding { background: var(--padding-color); } .element { background: var(--element-color); } .description { position: absolute; top: 0; left: 5px; font-size: 0.8rem; } .offsets-vert { position: relative; display: flex; flex-direction: column; align-items: center; } .offsets-vert > span { padding: 5px 0; } .offsets-horiz { display: flex; flex-direction: row; align-items: center; } .offsets-horiz > span { padding: 0 8px; } .example.wrapper:not(.hidden) .margin, .example-wrapper:not(.hidden) .padding { border: 1px dashed var(--fg); } .example-wrapper:not(.hidden) .border, .example-wrapper:not(.hidden) .element { border: 1px solid var(--fg); } .example-wrapper.hidden .offsets-vert > span, .example-wrapper.hidden .offsets-horiz > span { display: none; } .example-wrapper.hidden .padding { background: var(--margin-color); } .example-wrapper.hidden .element { margin-top: var(--margin-top); margin-left: var(--margin-left); margin-right: var(--margin-right); margin-bottom: var(--margin-bottom); border-color: var(--border-color); border-style: solid; border-top-width: var(--border-top); border-left-width: var(--border-left); border-right-width: var(--border-right); border-bottom-width: var(--border-bottom); padding-top: var(--padding-top); padding-left: var(--padding-left); padding-right: var(--padding-right); padding-bottom: var(--padding-bottom); } .element { width: var(--width); height: var(--height); display: flex; justify-content: center; align-items: center; } .controls-wrapper { display: flex; flex-direction: column; margin: 5px; } .controls { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: 5px; } .controls-column { display: flex; flex-direction: column; } .control { display: grid; grid-template-columns: 1fr 2fr; } .switches { display: flex; flex-direction: row; justify-content: space-between; } input[type=range] { width: 10rem; } input[type=checkbox] { display: none; } input[type=checkbox] ~ label { display: flex; flex-direction: row; cursor: pointer; } input[type=checkbox] ~ label > span { margin-left: 5px; } input[type=checkbox] ~ label::before { content: ''; width: 2rem; height: 1rem; border-radius: 5px; background: -moz-linear-gradient(90deg, #777 50%, #bbb 51%); background: -webkit-linear-gradient(90deg, #777 50%, #bbb 51%); background: linear-gradient(90deg, #777 50%, #bbb 51%); } input[type=checkbox]:checked ~ label::before { content: ''; width: 2rem; height: 1rem; border-radius: 5px; background: -moz-linear-gradient(270deg, var(--accent-color) 50%, #bbb 51%); background: -webkit-linear-gradient(270deg, var(--accent-color) 50%, #bbb 51%); background: linear-gradient(270deg, var(--accent-color) 50%, #bbb 51%); } textarea { display: none; } textarea.show { display: block; }