/* Base Reset + Layout */
html, body {
  height: 100%;
  margin: 0;
  font-family: "Shentox-Regular", sans-serif !important;
  background: #0d0d0d;
  color: #e0e0e0;
  display: flex;
  flex-direction: column;
}

@font-face {
  font-family: 'Shentox-Regular';
  font-style: normal;
  font-weight: normal;
  src: local('Shentox Regular'), url('fonts/Shentox-Regular.ttf') format('trueType');
}

@font-face {
  font-family: 'Shentox-Medium';
  font-style: normal;
  font-weight: normal;
  src: local('Shentox Medium'), url('fonts/Shentox-Medium.ttf') format('trueType');
}

header, footer {
  background: #111;
  color: #ccc;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: "Shentox-Regular", sans-serif !important;
}

header { border-bottom: 2px solid #222; font-family: "Shentox-Regular", sans-serif !important;}

header .app-title a { 
  font-family: "Shentox-Regular", sans-serif !important;
  font-size: 1.5rem; 
  color: #fff; 
  text-decoration: none; 
}
header .app-title a:hover { color: #fff; }

nav { flex: 1; text-align: center; }

nav a { color: #aaa; margin: 0 15px; text-decoration: none; font-weight: bold; }
nav a.active, nav a:hover { color: #fff; border-bottom: 2px solid #fff; padding-bottom: 2px; }

nav f { color: #aaa; margin: 0 15px; text-decoration: none; font-weight: bold; }
nav f.active, nav f:hover { color: #fff; border-bottom: 2px solid #fff; padding-bottom: 2px; }

links {
  flex: 1;
}

links a {
  color: #aaa;
  text-decoration: none;
  font-weight: bold;
}

links a.active, links a:hover {
  color: #fff;
  border-bottom: 2px solid #fff;
  padding-bottom: 2px;
}

#onlineCounter { font-size: 0.9rem; color: rgb(72,72,71); }

/* Main Content */
main { flex: 1; padding: 20px; font-family: "Shentox-Regular", sans-serif !important;}
.container { max-width: 600px; margin: 0 auto; font-family: "Shentox-Regular", sans-serif !important;}

h2 { margin-bottom: 15px; border-bottom: 1px solid #333; padding-bottom: 5px; }

.route-search {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  position: relative;
}

.route-search .search-group {
  width: 100%;
  max-width: 300px; 
  border-bottom: none;
}

.search-group {
  position: relative;
  flex: 1;
  border-bottom: none;
}

.search-group input {
  width: 100%;
  padding: 8px;
  border: 1px solid #333;
  color: #eee;
  background: #1a1a1a;
  border-radius: 4px;
  box-sizing: border-box;
  outline: none;
  box-shadow: none;
  font-family: "Shentox-Regular", sans-serif !important;
  border-bottom: none;
}

/* Suggestions dropdown */
.suggestions {
  position: absolute;
  top: 100%;   /* directly under input */
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #ccc;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
  color: #000;
  font-family: "Shentox-Regular", sans-serif !important;
}

.suggestions .suggestion {
  padding: 5px 10px;
  cursor: pointer;
}

.suggestions .suggestion:hover,
.suggestions .active {
  background-color: #eee;
}

/* Button */
#routeBtn {
  padding: 8px 16px;
  background: #222;
  color: #eee;
  border: 1px solid #555;
  border-radius: 4px;
  cursor: pointer;
  align-self: flex-start;
  margin: 0;
  font-family: "Shentox-Regular", sans-serif !important;
}

#routeBtn:hover {
  background: #333;
}

.suggestion span.region { font-style: italic; color: #555; margin-left: 5px; }

/* Table */
table { width: 100%; border-collapse: collapse; margin-top: 15px; font-size: 0.9rem; }
th, td { border: 1px solid #333; padding: 8px; text-align: center; }
th { background: #1a1a1a; }
tr:nth-child(even) { background: #141414; }

/* Route options */
.route-options-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px; /* small spacing between radios, avoid container, and button */
}

.route-options {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
}

.flag-select {
  display: flex;
  gap: 15px;
  font-size: 0.9rem;
}

.flag-select input { margin-right: 5px; }

.avoid-container {
  display: flex;
  flex-wrap: wrap; /* so tags wrap if too many */
  gap: 5px;
  align-items: center; /* vertically center tags and input */
  margin: 0;
}

.avoid-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  background-color: #333;
  color: #fff;
  border-radius: 3px;
  font-size: 0.9em;
}

.avoid-tag .remove-btn {
  margin-left: 4px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
}

.avoid-container .search-group {
  display: inline-flex;
  flex: 1;
  min-width: 120px; /* or whatever fits */
}

.avoid-container input {
  flex: 1;
  min-width: 120px;
  padding: 4px;
}

/* Security colors */
.sec-blue { color: #2e74dc; } /* 1.0 */
.sec-lighter-blue { color: #3c9ced; } /* 0.9 */
.sec-high-blue { color: #4bcef4; } /* 0.8 */
.sec-sea { color:#60daa6; } /* 0.7 */
.sec-green { color:#71e452; } /* 0.6 */
.sec-yellow { color: #eeff8a; } /* 0.5 */
.sec-low { color: #dc6c09; } /* 0.4 */
.sec-rorange { color: #d1440d; } /* 0.3 */
.sec-red { color: #bc1116; } /* 0.2 */
.sec-purple { color: #6e221a; } /* 0.1 */
.sec-null { color: #8f2f69; } /* 0 >= */

/* High kills color */
.kills-high { color: #f00; }

/* Footer */
footer {
  border-top: 2px solid #222;
  flex-shrink: 0;
  flex-grow: 0;
  text-align: center;
  flex-direction: column;
  display: flex;
  justify-content: center;
  padding: 15px 20px;
  background: #111;
  margin-top: auto;
  font-family: "Shentox-Regular", sans-serif !important;
}

footer p { margin: 5px 0; }

footer a { color: #888; text-decoration: none; }

footer a:hover { color: #fff; }

#onlineCounter {
  margin-top: 6px;
  padding-right: 20px;
  font-family: "Shentox-Medium", sans-serif !important;
}

#eveTime {
  margin-top: 6px;
  font-size: 0.9em;
  color: #ccc; /* lighter so it looks secondary */
}