html, body { position: relative; width: 100%; height: 100%; font-size: 16px; background-color: #222; } * { box-sizing: border-box; color: #ddd; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 1rem; user-select: none; } body { margin: 0; padding: 1rem; } .main { display: flex; flex-flow: column nowrap; align-items: stretch; justify-content: flex-start; } .header { font-size: 2rem; font-weight: 500; } .row, .row-2 { margin: 0 0 0.5rem 0; display: flex; flex-flow: row nowrap; align-items: flex-start; justify-content: stretch; } .row .label { flex: 1 1 0; } .row .input { flex: 2 2 0; } input, select { width: 100%; background-color: #444; color: #ddd; border: none; } button { font-size: 1rem; margin: 0.25rem; padding: 0.5rem; border-radius: 0.25rem; border: none; background-color: #444; } button:hover { background: #555; } button:active { background: #777; } .preview { width: 100%; display: flex; flex-flow: column nowrap; align-items: stretch; justify-content: flex-start; } .ground { position: relative; height: 3rem; } .ground-btn, .ground-led { height: 3rem; position:absolute; top: 0; left: 0; width: 100%; display: flex; flex-flow: column nowrap; align-items: stretch; justify-content: flex-start; } .ground-row { flex: 1; width: 100%; display: flex; flex-flow: row nowrap; align-items: stretch; justify-content: space-between; } .ground-btn > .ground-row > div { text-align: center; flex: 1 0 0; } .ground-led-0 { flex: 1 0 0; } .ground-led-1 { flex: 0.4rem 0 0; } .ground-led-2 { flex: 0.2rem 0 0; } .ground-btn { background-color: #0008; } .ground-data { padding: 0.1rem 0; font-size: 0.8rem; }