:root { color-scheme: dark; font-family: system-ui, sans-serif; color: #e1e7e5; background: #111916; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 1100px; margin: 42px auto; padding: 0 24px; }
header { display: flex; align-items: center; justify-content: space-between; }
.eyebrow { color: #88b6a0; letter-spacing: .15em; font-size: 12px; margin: 0 0 8px; }
h1 { font-size: 30px; font-weight: 550; margin: 0; }
.badge { border: 1px solid #3a5146; padding: 5px 10px; border-radius: 4px; color: #a9b9b1; font-size: 12px; }
.intro, .keys, .storage p { color: #a3b4ab; font-size: 14px; line-height: 1.6; }
nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 16px; }
button { background: #23372d; color: #edf5ef; border: 1px solid #3a5445; padding: 10px 14px; border-radius: 5px; font: inherit; font-size: 13px; cursor: pointer; }
button:hover:not(:disabled) { background: #345441; }
button.primary { background: #b8dfba; color: #122618; border-color: #b8dfba; }
button:disabled { opacity: .4; cursor: default; }
.screen-wrap { overflow-x: auto; background: #080f0a; padding: 1em; }
#terminal { width: 80ch; height: 24em; margin: 0 auto; font: 20px/1 "DejaVu Sans Mono", "Liberation Mono", Consolas, monospace; color: #bae6b2; white-space: pre; outline: none; user-select: text; }
#terminal:focus { outline: 1px solid #36583b; outline-offset: 6px; }
.reverse { color: #080f0a; background: #bae6b2; }
.cursor { box-shadow: inset 0 -2px #eaffdb; }
.status { display: flex; gap: 12px; justify-content: space-between; color: #b4c9b6; font-size: 12px; margin-top: 12px; min-height: 20px; }
kbd { font: inherit; color: #dde8df; border-bottom: 1px solid #58675d; }
.storage { border-top: 1px solid #2b3e31; margin-top: 28px; padding-top: 22px; display: flex; align-items: start; gap: 24px; justify-content: space-between; }
.storage strong { font-size: 14px; }.storage p { margin: 5px 0; font-size: 12px; }
#reset { background: transparent; white-space: nowrap; }
details { margin: 24px 0; color: #a3b4ab; font-size: 13px; }
#errors { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 220px; overflow: auto; color: #e6b2a9; }
@media (max-width: 700px) { main { padding: 0 12px; margin: 24px auto; }.storage { display: block; }#reset { margin-top: 12px; } }
