:root { font-family: system-ui, sans-serif; background: #131a1c; color: #f2eee1; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; }
main { max-width: 48rem; margin: auto; padding: clamp(1rem, 4vw, 2rem); }
header { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
h1, h2, h3 { font-family: Georgia, serif; }
h1 { font-size: clamp(2rem, 7vw, 3.5rem); margin: .4em 0; }
form, article, #mission { padding: 1rem; background: #202a2c; border: 1px solid #4e5d59; border-radius: .65rem; }
form { display: grid; gap: .65rem; max-width: 26rem; }
#zones { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: .75rem; }
article h3 { margin-top: 0; }
button, input, select { font: inherit; min-height: 44px; padding: .5rem .75rem; border-radius: .4rem; border: 1px solid #9eaa9d; }
button { background: #d7b976; color: #171b1a; font-weight: 650; cursor: pointer; }
button:disabled { opacity: .55; cursor: default; }
:focus-visible { outline: 3px solid #a1ded5; outline-offset: 3px; }
#status { color: #f2cc91; }
article select { max-width: 100%; margin-bottom: .5rem; }

.city-action { display: grid; justify-items: start; gap: .25rem; margin-block: .65rem; }

.city-action input[type="number"] { width: 6rem; }
