/* Reconstructed from the shipped 2023 Armory CSS and its rendered homepage.
   The original used a 1600px container that overflowed smaller displays. The
   same visual measurements are retained while clamping to the viewport. */
:root { color-scheme: dark; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; color: #fff; background: #222225; }
@font-face { font-family: "YourFavoriteFont"; src: url('./assets/YourFavoriteFont.otf') format('opentype'); font-weight: normal; font-style: normal; font-display: swap; }
* { box-sizing: border-box; }
body { margin: 0; font-size: 16px; line-height: 1.42857143; min-height: 100vh; isolation: isolate; }
.backgroundimg { position: absolute; inset: 0 0 auto; height: 350px; z-index: -1; pointer-events: none; background: url('./assets/background.png') center top / cover no-repeat; opacity: .5; -webkit-mask-image: linear-gradient(to bottom, #000 45px, transparent 345px); mask-image: linear-gradient(to bottom, #000 45px, transparent 345px); }
[hidden] { display: none !important; }
a { color: inherit; text-decoration: underline; }
button, input, select, summary { font: inherit; }
button, select, summary { cursor: pointer; }
button, input, select { color: inherit; }
button { border: 0; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "YourFavoriteFont", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; line-height: 1.1; }
h1 { font-size: 32px; }
h2 { font-size: 30px; }
img { max-width: 100%; }
:focus-visible { outline: 2px solid #becdfb; outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; left: 12px; padding: 10px 16px; background: #313135; z-index: 100; }
.skip-link:focus { top: 8px; }
.globalHeader { width: min(100%, max(1600px, 90%)); margin: 0 auto; height: 46px; border-bottom: 1px solid #eee; }
.globalHeader nav { display: flex; align-items: center; gap: 10px; padding-top: 10px; margin: 0 auto; height: 35px; font-size: 15px; font-weight: 700; }
.globalHeader a, .globalHeader summary { text-decoration: none; color: #fafafa; }
.globalHeader a[aria-current=page] { border-bottom: 3px solid #fff; }
.globalHeader a:hover, .globalHeader summary:hover { color: #fff; }
.nav-divider { color: #d0d0cf; font-weight: 400; }
.nav-menu { position: relative; }
.nav-menu summary { list-style: none; }
.nav-menu summary::-webkit-details-marker { display: none; }
.caret { display: inline-block; border-top: 4px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; vertical-align: middle; margin-left: 3px; }
.dropdown-menu { position: absolute; left: -10px; top: calc(100% + 9px); min-width: 215px; padding: 7px 0; z-index: 20; background: #313134; border: 1px solid #555; box-shadow: 0 6px 12px #0003; font-size: 14px; font-weight: 400; }
.dropdown-menu a { display: block; padding: 8px 16px; border: 0 !important; }
.dropdown-menu a:hover, .dropdown-menu a:focus-visible { background: #4e4e54; }
.server-status { font-size: 14px; font-weight: 400; white-space: nowrap; }
.players-online { font-style: italic; padding-left: 12px; }
.server-status.unavailable { opacity: .65; }
.container { width: min(100%, max(1600px, 90%)); margin: 30px auto 0; min-height: 300px; }
.container:focus { outline: none; }
.home-page { text-align: center; }
.home-page h1 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 32px; line-height: 45.7143px; margin: 0; font-weight: 400; }
.reborn-text { color: #fcd020; font-size: 14px; line-height: 20px; margin: 0; }
.search-form { width: calc(50% + 6px); margin: 0 auto; }
.container > .search-form { height: 82px; }
.home-page .search-form { margin-top: 50px; }
.search-field { display: flex; width: 100%; height: 54px; background: #313135; border: 1px solid #ccc; border-radius: 5px; }
.search-field:focus-within { outline: 2px solid #becdfb; outline-offset: 3px; }
.search-field select { width: 96px; flex-shrink: 0; border: 0; border-right: 1px solid #ccc; border-radius: 3px; background: #313135; padding: 0 7px; margin: 2px 0; font-size: 14px; }
.search-field input { min-width: 0; width: 100%; padding: 1px 2px; text-align: center; font-size: 20px; background: none; border: 0; color: #fff; }
.search-field input::placeholder { color: #858585; opacity: 1; }
.search-field input:focus, .search-field select:focus, .search-submit:focus { outline: none; }
.search-field input::-webkit-search-cancel-button { margin-right: 8px; cursor: pointer; }
.search-submit { display: flex; flex-shrink: 0; justify-content: center; align-items: center; width: 96px; padding: 0; background: none; border: 0; border-radius: 3px; }
.search-submit:hover { background: #4e4e54; }
.search-submit svg { height: 27px; width: 27px; fill: none; stroke: currentColor; stroke-width: 3.5; }
.site-footer { position: fixed; bottom: 0; right: 10px; display: flex; gap: 12px; padding: 2px 0; color: #aaa; font-size: 65%; }
.site-footer span + span::before { content: '·'; padding-right: 12px; }
.button { background: #313135; padding: 9px 18px; color: white; border: 1px solid #888; border-radius: 3px; }
.button:hover { background: #4e4e54; }
.page-loading { display: flex; justify-content: center; align-items: center; gap: 15px; min-height: 220px; padding: 20px; text-align: center; color: #ddd; }
.spinner { display: inline-block; width: 32px; height: 32px; border: 3px solid #555; border-right-color: #becdfb; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.notice { max-width: 760px; margin: 45px auto; padding: 20px; text-align: center; overflow-wrap: anywhere; }
.notice h1, .notice h2 { font-size: 26px; }
.notice.error { color: #ffc7c7; }
.empty-state { padding: 35px 15px; color: #ccc; text-align: center; }
.item-dialog { width: min(360px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; color: #fff; background: transparent; overflow-y: auto; }
.item-dialog::backdrop { background: #0006; }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); padding: 12px 18px; background: #313135; border: 1px solid #becdfb; border-radius: 3px; max-width: calc(100% - 32px); opacity: 0; pointer-events: none; z-index: 50; text-align: center; }
.toast.visible { opacity: 1; }
@media (max-width: 1199px) { .globalHeader nav { padding-left: 15px; padding-right: 15px; } .search-form { width: 70%; } }
@media (max-width: 600px) {
  .site-footer { position: static; justify-content: flex-end; padding: 15px 10px; }
  .globalHeader nav { padding-left: 10px; padding-right: 10px; gap: 9px; }
  .home-page h1 { font-size: 26px; line-height: 40px; }
  .search-form { width: 90%; }
  .search-field select { width: 92px; font-size: 13px; }
  .search-field input { font-size: 17px; }
  .search-submit { width: 46px; }
  .search-submit svg { height: 23px; width: 23px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
