@font-face {
    font-family: 'robo';
    src: url('/resources/subset-Roboto-Regular.woff2') format('woff2'),
         url('/resources/subset-Roboto-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'windlass';
    src: url('/resources/Windlass.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.logo-wrapper {
  display: flex;
  justify-content: center;
  margin: 1em auto;
}

.logo-wrapper a {
  display: inline-block;
}

.logo-wrapper img {
  display: block;
  max-width: 100%;
  height: auto;
}

table {
    margin-left: auto;
    margin-right: auto;
	margin-bottom: 2em;
	border-collapse: collapse; 
   	color: #ffffcc;
	width:600px;
}

tr:nth-child(odd) {
	background-color: rgba(0,0,0,0.25);
}

	th, td {
	padding-bottom:0.2em;
	padding-top:0.2em;
	}

a {
  color: #ffe470;
  font-weight: bold;
}

a:hover {
  color: #89f336;
}

body {
  text-align: center;
  margin: 0;
  font-family: 'robo', system-ui, sans-serif;
  font-size-adjust: 0.528;
  font-size: 1.2em;
  color: #ffffcc;
  background-color: #051504;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: url('/resources/alebg.jpg') center top / cover no-repeat;
    z-index: -1;
}


footer {
  font-size: 0.7em;
  color: #ffffcc;
  text-align: center;
  padding: 0.5em;
  margin-top: 2em;
}


img.flag {
	height: 1.5em;
	width: 2.5em;
	vertical-align: middle;
}

.social-table .icon {
  white-space: nowrap;
}

.social-table svg {
  width: 1.5em;
  height: 1.5em;
  margin-right: .5em;
  vertical-align: -0.3em;
  fill: currentColor;
}

.news-poster {
    margin: 30px auto;
    text-align: center;
}

.news-poster img{
  max-width: min(900px, 95%);
  max-height: 70vh;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Windlass for headings */
h2{
  font-family: 'windlass', serif;
  font-weight: normal;
  letter-spacing: 0.06em;
  line-height: 1.1;
  
    /* black outer glow */
  text-shadow:
    0 0 2px #000,
    0 0 4px #000,
    0 0 8px #000,
    0 0 14px rgba(0,0,0,0.95),
    0 0 22px rgba(0,0,0,0.9);
}


#menu .menu-sep {
  width: 1.35em;          /* slightly smaller */
  height: auto;
  margin: 0 0.2em;
  vertical-align: -0.45em; /* ~25% lower visually */
}

@media only screen and (max-width: 1000px) {
	
  table {
    width: 98%;
  }
	
  body {
    font-size: clamp(13px, 2.5vw, 16px);
  }
	
  body::before {
    background-position: center 20%;
  }
	
th,
td {
  padding: 1em 0;
}

  img.flag {
    height: 1.5em;
    width: 2.5em;
    vertical-align: middle;
  }

  /* hide full label text */
  #menu a {
    font-size: 0;              /* hides original text cleanly */
  }

  /* show short label */
  #menu a::after {
    content: attr(data-short);
    font-size: 1.2rem;         /* restore readable size */
  }

  /* smaller squids */
  #menu .menu-sep {
    width: 0.7em;
    vertical-align: -0.15em;
  }
}




/* ------------------------------------------------ */
/* Generic layout helpers */
/* ------------------------------------------------ */

.container {
  max-width: 800px;
  margin: 2em auto;
  padding: 0 1em;
}

.panel {
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,204,0.25);
  border-radius: 8px;
  padding: 1.5em;
  backdrop-filter: blur(4px);
}

/* ------------------------------------------------ */
/* Forms */
/* ------------------------------------------------ */

form {
  margin: 1.5em auto;
}

label {
  display: block;
  margin-bottom: 0.3em;
  font-weight: bold;
}

input,
select,
textarea,
button {
  font-family: 'robo', system-ui, sans-serif;
  font-size: 1em;
}

/* text inputs */

input[type="text"],
input[type="file"],
select,
textarea {
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(255,255,204,0.3);
  color: #ffffcc;
  padding: 0.6em 0.7em;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
}

/* nicer file input */

input[type="file"] {
  cursor: pointer;
}

/* ------------------------------------------------ */
/* Buttons */
/* ------------------------------------------------ */

button,
input[type="submit"] {
  background: #ffe470;
  color: #051504;
  border: none;
  border-radius: 6px;
  padding: 0.6em 1.1em;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.15s ease;
}

button:hover,
input[type="submit"]:hover {
  background: #89f336;
  transform: translateY(-1px);
}

button:active {
  transform: translateY(0);
}

/* ------------------------------------------------ */
/* Utility spacing */
/* ------------------------------------------------ */

.mt-1 { margin-top: 0.5em; }
.mt-2 { margin-top: 1em; }
.mt-3 { margin-top: 2em; }

.mb-1 { margin-bottom: 0.5em; }
.mb-2 { margin-bottom: 1em; }
.mb-3 { margin-bottom: 2em; }

/* ------------------------------------------------ */
/* Simple messages */
/* ------------------------------------------------ */

.notice {
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,204,0.25);
  border-radius: 6px;
  padding: 0.7em 1em;
  margin: 1em auto;
  max-width: 700px;
}

.notice.success {
  border-color: #89f336;
}

.notice.error {
  border-color: #ff7070;
}

/* ------------------------------------------------ */
/* Progress bar */
/* ------------------------------------------------ */

.progress {
  width: 100%;
  max-width: 600px;
  margin: 1em auto;
  background: rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,204,0.25);
  border-radius: 6px;
  overflow: hidden;
}

.progress-bar {
  height: 14px;
  width: 0%;
  background: linear-gradient(
    90deg,
    #ffe470,
    #89f336
  );
  transition: width 0.3s ease;
}

.progress-label {
  font-size: 0.8em;
  margin-top: 0.4em;
  color: #ffffcc;
}

/* ------------------------------------------------ */
/* Download box */
/* ------------------------------------------------ */

.download-box {
  margin: 2em auto;
  padding: 1.5em;
  max-width: 600px;
  background: rgba(0,0,0,0.55);
  border: 1px solid rgba(255,255,204,0.3);
  border-radius: 8px;
}

.download-box h3 {
  margin-top: 0;
  font-family: 'windlass', serif;
}

.download-button {
  display: inline-block;
  margin-top: 0.7em;
  background: #89f336;
  color: #051504;
  padding: 0.6em 1.2em;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
}

.download-button:hover {
  background: #ffe470;
}