/* Reset */
* {
  margin: 0;
  box-sizing: border-box;
}

body {
  font-family: "Segoe UI";
  background-color: black;
  color: white;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Header */
header {
  background: darkgreen;
  padding: 1.5rem;
  text-align: center;
}

/* Navigation */
nav {
  margin-top: 10px;
}
nav a {
  color: white;
  margin: 15px;
  text-decoration: none;
  font-weight: 600;
}
nav a:hover {
  color: greenyellow;
}
nav a.active {
  border-bottom: 2px solid greenyellow;
  padding-bottom: 2px;
}

/* Main area */
main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 100px;
}

.hidden {
  display: none !important;
}

/* Container */
.container {
  width: 100%;
  max-width: 600px;
  background: #111a11;
  border-radius: 15px;
  border: 1px solid green;
  padding: 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

input, select {
  width: 100%;
  padding: 12px 15px;
  border-radius: 10px;
  border: 1px solid green;
  background-color: #0f1a11;
  color: #fff;
  font-size: 1rem;
}

input:focus, select:focus {
  outline: none;
  box-shadow: 0 0 10px green;
}

/* Buttons */
button {
  background: green;
  color: white;
  padding: 12px 28px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-size: 1.05em;
  font-weight: 600;
}
button:hover {
  box-shadow: 0 0 10px green;
}

/* Results */
#codeResult,
#keywordResult,
#coordsResult {
  display: none;
  padding: 12px 15px;
  border-radius: 10px;
  font-size: 1rem;
}

.result-success {
  background-color: rgba(45, 125, 50, 0.08);
  color: green;
  border: 1px solid green;
}

.result-error {
  background-color: rgba(180, 30, 30, 0.08);
  color: darkred;
  border: 1px solid darkred;
}

/* Footer */
footer {
  text-align: center;
  padding: 20px;
  font-size: 0.9rem;
  border-top: 1px solid green;
  color: green;
  background: #111a11;
}

/* Coordinates form */
.coords-form {
  display: flex;
  flex-direction: column; /* stack rows vertically */
  gap: 10px; /* spacing between N and E */
  align-items: center;
}

.coord-row {
  display: flex;
  gap: 6px; /* spacing between inputs in the row */
  justify-content: center;
  align-items: center;
}

.coords-form select,
.coords-form input {
  width: auto;
  min-width: 60px;
  text-align: center;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid green;
  background: #0f1a11;
  color: #fff;
  font-size: 1rem;
}
