72 lines
2.5 KiB
CSS
72 lines
2.5 KiB
CSS
:root {
|
|
color-scheme: light;
|
|
font-family: Inter, ui-sans-serif, system-ui, sans-serif;
|
|
color: #20211f;
|
|
background: #e9e5dc;
|
|
}
|
|
|
|
* { box-sizing: border-box; }
|
|
|
|
body { margin: 0; }
|
|
|
|
main {
|
|
width: min(100% - 2rem, 70rem);
|
|
margin: 0 auto;
|
|
padding: 2.5rem 0 4rem;
|
|
}
|
|
|
|
header { margin-bottom: 1.5rem; }
|
|
header p { max-width: 42rem; }
|
|
h1 { margin: 0; font-size: clamp(2rem, 6vw, 4rem); line-height: 1; }
|
|
.eyebrow { margin-bottom: .5rem; font-size: .75rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
|
|
|
|
.boot-panel {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 1rem;
|
|
align-items: end;
|
|
padding: 1rem;
|
|
border: 1px solid #c8c2b6;
|
|
border-radius: .75rem;
|
|
background: #f7f4ed;
|
|
}
|
|
|
|
label { display: grid; gap: .4rem; font-size: .85rem; font-weight: 700; }
|
|
input, select, button { font: inherit; }
|
|
input, select { min-height: 2.6rem; padding: .5rem; border: 1px solid #aaa398; border-radius: .4rem; background: white; }
|
|
button { min-height: 2.75rem; padding: .55rem 1rem; border: 1px solid #55534e; border-radius: .5rem; color: #fff; background: #343532; font-weight: 750; cursor: pointer; touch-action: none; }
|
|
button:hover:not(:disabled) { background: #11120f; }
|
|
button:focus-visible { outline: 3px solid #d2752b; outline-offset: 2px; }
|
|
button:disabled { cursor: not-allowed; opacity: .4; }
|
|
button.active { transform: translateY(2px); background: #d2752b; }
|
|
|
|
.status { min-height: 1.5rem; margin: 1rem 0; }
|
|
.status.error { color: #a52d20; font-weight: 700; }
|
|
|
|
.device {
|
|
display: grid;
|
|
grid-template-columns: minmax(18rem, 33rem) minmax(14rem, 20rem);
|
|
gap: clamp(1.5rem, 5vw, 4rem);
|
|
align-items: center;
|
|
}
|
|
|
|
.screen-shell { padding: 1.1rem; border-radius: 1.2rem; background: #30312e; box-shadow: 0 1rem 2.5rem #5d584c40; }
|
|
canvas { display: block; width: 100%; height: auto; background: #fff; image-rendering: pixelated; }
|
|
|
|
.controls { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: center; }
|
|
.controls > button { min-height: 4rem; }
|
|
.power { background: #8e3228; }
|
|
.dpad { grid-column: 1 / -1; display: grid; grid-template: repeat(3, 4.25rem) / repeat(3, 4.25rem); justify-content: center; }
|
|
.dpad button { border-radius: 50%; padding: .25rem; }
|
|
.up { grid-area: 1 / 2; }
|
|
.left { grid-area: 2 / 1; }
|
|
.confirm { grid-area: 2 / 2; }
|
|
.right { grid-area: 2 / 3; }
|
|
.down { grid-area: 3 / 2; }
|
|
|
|
@media (max-width: 48rem) {
|
|
main { padding-top: 1.5rem; }
|
|
.device { grid-template-columns: 1fr; }
|
|
.controls { max-width: 24rem; width: 100%; margin: 0 auto; }
|
|
}
|