:root { color-scheme: dark; font: 16px/1.5 system-ui, sans-serif; color: #f3f6fb; background: #101923; }
* { box-sizing: border-box; }
body { margin: 0; padding: 14px; }
main { max-width: 720px; margin: 0 auto; }
h1 { margin: 0; font-size: clamp(1.35rem, 4vw, 1.85rem); }
p { margin: 8px 0 14px; }
form { padding: 14px; border: 1px solid #46586c; border-radius: 6px; background: #182635; }
label { display: block; margin-bottom: 8px; }
select, input, button { max-width: 100%; font: inherit; }
.firmware { margin-top: 10px; }
.firmware input { display: block; margin-top: 4px; }
button { border: 1px solid #e6a330; border-radius: 4px; padding: 8px 12px; color: #19202c; background: #ffd069; font-weight: 700; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
button:focus-visible, canvas:focus-visible, a:focus-visible { outline: 2px solid #9bddff; outline-offset: 3px; }
canvas { width: min(100%, 512px); display: block; margin: auto; aspect-ratio: 4 / 3; background: #000; image-rendering: pixelated; }
#pad { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
#pad button { touch-action: none; min-height: 44px; }
kbd { padding: 2px 5px; background: #304258; border-radius: 3px; }
a { color: #ffd684; }
.small { font-size: .88rem; }
[hidden] { display: none !important; }
