/* [project]/public/site.css [app-client] (css) */
:root {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --background-color: oklch(10% 0 0);
  --local-background: var(--background-color);
  --darker-bg: oklch(0% 0 0);
  --disabled-bg: oklch(20% 0 0);
  --light-bg: oklch(25% 0 0);
  --dark-hover-bg: oklch(30% 0 0);
  --interactive-bg: oklch(35% 0 0);
  --hovered-bg: oklch(40% 0 0);
  --selected-bg: oklch(40% 0 0);
  --accent-color: oklch(72% .135 88);
  --relic-color: #efe383;
  --passed-text: oklch(45% 0 0);
  --muted-text: oklch(60% 0 0);
  --between-text: oklch(65% 0 0);
  --dimmed-text: oklch(70% 0 0);
  --foreground-color: oklch(85% 0 0);
  --disabled-fg: oklch(45% 0 0);
  --border-size: .084rem;
  --thick-border-size: .168rem;
  --neutral-border: oklch(85% 0 0);
  --hidden-border: oklch(28% 0 0);
  --base-faction-color: oklch(66% .37 0);
  --red-hue: 29;
  --orange-hue: 70;
  --yellow-hue: 95;
  --green-hue: 142;
  --blue-hue: 260;
  --purple-hue: 297;
  --magenta-hue: 352;
  --red-faction-color: oklch(66% .22 29);
  --orange-faction-color: oklch(66% .14 70);
  --yellow-faction-color: oklch(66% .13 90);
  --green-faction-color: oklch(66% .22 142);
  --blue-faction-color: oklch(66% .18 260);
  --purple-faction-color: oklch(66% .2 297);
  --magenta-faction-color: oklch(66% .24 352);
  --black-faction-color: oklch(66% 0 0);
  --red-faction-border: oklch(30% .12 29);
  --orange-faction-border: oklch(30% .06 70);
  --yellow-faction-border: oklch(30% .06 90);
  --green-faction-border: oklch(30% .1 142);
  --blue-faction-border: oklch(30% .12 260);
  --purple-faction-border: oklch(30% .16 297);
  --magenta-faction-border: oklch(30% .12 352);
  --black-faction-border: oklch(30% 0 0);
  --blue-tech-color: oklch(85% .074 260);
  --yellow-tech-color: oklch(85% .074 90);
  --red-tech-color: oklch(85% .074 29);
  --green-tech-color: oklch(85% .074 142);
}

:root[data-theme="light"] {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --background-color: oklch(97.5% 0 0);
  --local-background: var(--background-color);
  --darker-bg: oklch(95% 0 0);
  --disabled-bg: oklch(95% 0 0);
  --light-bg: oklch(92.5% 0 0);
  --dark-hover-bg: oklch(92.5% 0 0);
  --interactive-bg: oklch(90% 0 0);
  --hovered-bg: oklch(87.5% 0 0);
  --selected-bg: oklch(87.5% 0 0);
  --disabled-fg: oklch(75% 0 0);
  --accent-color: oklch(72% .135 88);
  --relic-color: #b3a302;
  --passed-text: oklch(80% 0 0);
  --neutral-border: oklch(25% 0 0);
  --muted-text: oklch(70% 0 0);
  --between-text: oklch(65% 0 0);
  --dimmed-text: oklch(60% 0 0);
  --foreground-color: oklch(45% 0 0);
  --hidden-border: oklch(92.5% 0 0);
  --red-faction-color: oklch(50% .134 29);
  --orange-faction-color: oklch(50% .14 70);
  --yellow-faction-color: oklch(50% .13 90);
  --green-faction-color: oklch(50% .22 142);
  --blue-faction-color: oklch(50% .18 260);
  --purple-faction-color: oklch(50% .2 297);
  --magenta-faction-color: oklch(50% .24 352);
  --black-faction-color: oklch(50% 0 0);
  --red-faction-border: oklch(80% .1 29);
  --orange-faction-border: oklch(80% .1 70);
  --yellow-faction-border: oklch(80% .1 90);
  --green-faction-border: oklch(80% .1 142);
  --blue-faction-border: oklch(80% .1 260);
  --purple-faction-border: oklch(80% .1 297);
  --magenta-faction-border: oklch(80% .1 352);
  --black-faction-border: oklch(80% 0 0);
  --blue-tech-color: oklch(45% .0914 260);
  --yellow-tech-color: oklch(54.92% .112 95);
  --red-tech-color: oklch(45% .0914 29);
  --green-tech-color: oklch(45% .0914 142);
}

html {
  box-sizing: border-box;
  font-size: clamp(16px, 1.25vw, 32px);
}

*, :before, :after {
  box-sizing: inherit;
}

@font-face {
  font-family: Slider;
  src: url("../media/Slider_Updated.4dc1d1e7.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Russo One;
  src: url("../media/RussoOne-Regular.cb406946.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Myriad Pro;
  font-style: normal;
  font-weight: normal;
  src: local(Myriad Pro), url("../media/MYRIADPRO-REGULAR.2abe49f0.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: Source Sans;
  font-style: normal;
  font-weight: normal;
  src: local(Source Sans), url("../media/SourceSans3-Regular.28a4f8ce.ttf") format("truetype");
  font-display: swap;
}

body {
  --main-font: "Slider";
  font-family: var(--primary-font);
  background-color: var(--background-color);
  color: var(--foreground-color);
  margin: 0 3rem;
}

input {
  font-size: .75rem;
}

.icon {
  box-sizing: border-box;
  align-items: center;
  margin-right: .5em;
  display: flex;
}

.clickable {
  cursor: pointer;
  font-weight: bold;
}

.icon.positive, .positive {
  color: #006400;
  font-size: 120%;
}

.icon.negative, .negative {
  color: #b22222;
  aspect-ratio: 1;
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 1.2em;
  height: 1.2em;
  font-size: .8em;
  display: flex;
}

.smallFont {
  font-size: .875rem;
}

.mediumFont {
  font-size: 1rem;
}

.largeFont {
  font-size: 1.125rem;
}

.hugeFont {
  font-size: 1.25rem;
}

.extraLargeFont {
  font-size: 1.5rem;
}

a {
  all: unset;
  cursor: pointer;
}

a.primary {
  background-color: #454545;
  background-color: var(--interactive-bg);
}

a:focus-visible {
  outline: 2px solid #d09c01;
}

a.primary:hover {
  text-shadow: none;
  color: var(--foreground-color);
}

a.primary {
  font-family: var(--main-font);
  background-color: #454545;
  background-color: var(--interactive-bg);
  border-inline-start: .25em solid var(--accent-color);
  border-inline-end: .25em solid var(--interactive-bg);
  text-align: center;
  border-radius: .25rem;
  padding: .25em .55em;
  line-height: 1.2em;
  transition: border-color .2s, background-color .2s;
}

a.primary:hover {
  background-color: var(--hovered-bg);
  border-inline-end-color: var(--hovered-bg);
}

a.outline {
  --border-color: var(--interactive-bg);
  --hover-color: var(--accent-color);
  background-color: var(--background-color);
  border: var(--border-size) solid var(--border-color);
  text-align: center;
  border-radius: .25rem;
  padding: .25em .75em;
  line-height: 1.2em;
  transition: border-color .2s, background-color .2s;
}

a.outline:not(:disabled):hover {
  background-color: var(--disabled-bg);
  border-color: var(--hover-color);
}

a.outline:disabled {
  color: var(--interactive-bg);
}

svg {
  display: block;
}

button {
  all: unset;
  background-color: var(--background-color);
  color: var(--foreground-color);
  cursor: pointer;
  border-radius: .25rem;
  padding: .1875rem .3125rem;
  line-height: 1.2em;
  transition: border-color .2s, background-color .2s;
}

button:hover {
  background-color: var(--dark-hover-bg);
}

button:focus-visible {
  outline: 2px solid #d09c01;
}

button.faded {
  color: var(--selected-bg);
  filter: saturate(.25);
}

button.selected {
  border: var(--border-size) solid #aaa;
  background-color: var(--selected-bg);
  color: var(--foreground-color);
}

button:disabled {
  background-color: var(--background-color);
  color: var(--interactive-bg);
  box-shadow: none;
  cursor: default;
}

button:disabled.selected {
  background-color: var(--disabled-bg);
  color: #fff;
  box-shadow: none;
  cursor: default;
}

button.iconButton {
  background: none;
  border: none;
  border-radius: 100%;
  padding: .125em;
}

button.iconButton:hover {
  background-color: var(--light-bg);
}

button.primary {
  font-family: var(--main-font);
  background-color: #454545;
  background-color: var(--interactive-bg);
  border: none;
  border-inline: .25em solid var(--accent-color);
  border-inline-end-color: var(--interactive-bg);
  text-align: center;
  padding: .25em .5em;
  line-height: 1em;
}

button.primary:disabled {
  background-color: var(--disabled-bg);
  border-color: var(--disabled-bg);
}

button.primary:not(:disabled):hover {
  background-color: var(--hovered-bg);
  border-inline-end-color: var(--hovered-bg);
}

button.outline {
  --border-color: var(--interactive-bg);
  --hover-color: var(--accent-color);
  background-color: var(--background-color);
  border: var(--border-size) solid var(--border-color);
  padding: .25em .75em;
}

button.outline:not(:disabled):hover {
  background-color: var(--disabled-bg);
  border-color: var(--hover-color);
}

button.outline:disabled {
  border-color: var(--interactive-bg);
  color: var(--interactive-bg);
}

input[type="text"] {
  background-color: var(--dark-hover-bg);
  color: var(--foreground-color);
  box-sizing: border-box;
}

input[type="textbox"] {
  background-color: var(--dark-hover-bg);
  color: var(--foreground-color);
  border: var(--border-size) solid var(--hidden-border);
  border-radius: .25rem;
  outline: none;
}

input[type="textbox"]:focus-visible {
  border: var(--border-size) solid var(--accent-color);
}

input[type="textbox"]:invalid {
  background-color: var(--dark-hover-bg);
  color: var(--foreground-color);
  border: var(--border-size) solid red;
  border-radius: .25rem;
  outline: none;
}

.flexRow {
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.flexColumn {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.popupIcon {
  cursor: pointer;
  z-index: inherit;
  font-size: 1rem;
  line-height: 1em;
  position: relative;
}

.arrowUp {
  --color: var(--interactive-bg);
  border-left: .375rem solid #0000;
  border-right: .375rem solid #0000;
  border-bottom: .5rem solid var(--color);
  box-sizing: border-box;
  cursor: pointer;
  width: 0;
  height: 0;
}

.arrowDown {
  --color: var(--interactive-bg);
  border-left: .375rem solid #0000;
  border-right: .375rem solid #0000;
  border-top: .5rem solid var(--color);
  box-sizing: border-box;
  cursor: pointer;
  width: 0;
  height: 0;
}

.downArrow:after {
  content: "";
  box-sizing: border-box;
  cursor: pointer;
  border-top: .5rem solid #ddd;
  border-left: .375rem solid #0000;
  border-right: .375rem solid #0000;
  width: 0;
  height: 0;
  margin-left: .25rem;
  position: relative;
  top: .5rem;
}

.upArrow:after {
  content: "";
  box-sizing: border-box;
  cursor: pointer;
  border-bottom: .5rem solid #ddd;
  border-left: .375rem solid #0000;
  border-right: .375rem solid #0000;
  width: 0;
  height: 0;
  margin-left: .25rem;
  position: relative;
  bottom: .5rem;
}

.hoverInfo {
  visibility: hidden;
  transform-origin: 0 0;
  transition: display .2s allow-discrete, visibility .2s allow-discrete, clip-path .2s;
  box-sizing: border-box;
  clip-path: polygon(0% 0%, 0% 0%, 0% 0%, 0% 0%);
  position: absolute;
}

.hoverRadio {
  transform-origin: 0 0;
  box-sizing: border-box;
  clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
  transition: clip-path .2s;
  position: absolute;
}

.hoverRadio.left {
  clip-path: polygon(100% 0%, 100% 100%, 100% 100%, 100% 0%);
}

.hoverRadio.down {
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
}

.keyword {
  font-weight: bold;
}

.ability {
  font-family: var(--main-font);
  font-size: 90%;
  font-weight: normal;
}

.hoverInfo.down {
  clip-path: polygon(0% 0%, 0% 0%, 0% 0%, 0% 0%);
}

.hoverInfo.up {
  clip-path: polygon(0% 101%, 0% 101%, 0% 101%, 0% 101%);
}

.hoverInfo.left {
  clip-path: polygon(101% 0%, 101% 0%, 101% 0%, 101% 0%);
}

.hoverInfo.down.left {
  clip-path: polygon(0% 0%, 0% 0%, 0% 0%, 0% 0%);
}

.hoverInfo.up.left {
  clip-path: polygon(101% 101%, 101% 101%, 101% 101%, 101% 101%);
}

.hiddenButton {
  opacity: 0;
  z-index: -1;
  transition: opacity .2s, z-index .2s;
}

.hoverParent {
  position: relative;
}

.hoverParent.hover, .hoverParent:focus-within {
  z-index: 1005;
}

.hoverParent.hover > .hoverInfo, .hoverParent:focus-within > .hoverInfo {
  visibility: visible;
  z-index: 1000;
  clip-path: polygon(0% 0%, 0% 101%, 101% 101%, 101% 0%);
  display: flex;
  position: absolute;
}

@starting-style {
  .hoverParent.hover > .hoverInfo, .hoverParent:focus-within > .hoverInfo {
    clip-path: polygon(0% 0%, 0% 0%, 0% 0%, 0% 0%);
  }
}

.hoverParent.hover > .hoverRadio, .hoverParent:focus-within > .hoverRadio {
  z-index: 1000;
  clip-path: polygon(0% 0%, 0% 101%, 101% 101%, 101% 0%);
  display: flex;
  position: absolute;
}

@supports not selector(:has(.hoverParent.hover)) {
  .hoverParent.hover > .hoverInfo {
    clip-path: polygon(-1000% -1000%, -1000% 1000%, 1000% 1000%, 1000% -1000%);
  }
}

:is(.hoverInfo:has(.hoverParent.hover), .hoverInfo:has(.hoverParent:focus-within)) {
  clip-path: polygon(-1000% -1000%, -1000% 1000%, 1000% 1000%, 1000% -1000%);
}

:is(.hoverInfo:has(.hover), .hoverInfo:has(:focus-within)) {
  clip-path: polygon(-1000% -1000%, -1000% 1000%, 1000% 1000%, 1000% -1000%) !important;
}

.hoverInfo:has(.modal.shown) {
  clip-path: polygon(-1000% -1000%, -1000% 1000%, 1000% 1000%, 1000% -1000%);
}

.hiddenButtonParent:hover .hiddenButton {
  opacity: 1;
  z-index: 1000;
  transition: opacity .2s, z-index .2s;
}

.fade-enter {
  opacity: 0;
  -webkit-backdrop-filter: blur();
  backdrop-filter: blur();
}

.fade-enter-active, .fade-exit {
  opacity: 1;
  -webkit-backdrop-filter: blur(.5rem);
  backdrop-filter: blur(.5rem);
}

.fade-exit-active {
  opacity: 0;
  -webkit-backdrop-filter: blur();
  backdrop-filter: blur();
}

.fade-enter-active, .fade-exit-active {
  transition: opacity .3s, -webkit-backdrop-filter .3s linear, backdrop-filter .3s linear;
}

.modal-enter {
  opacity: 0;
  transform: scale(.9);
}

.modal-enter-active {
  opacity: 1;
  transition: opacity .3s, transform .5s;
  transform: scale(1);
}

.modal-exit {
  opacity: 1;
  transform: scale(1);
}

.modal-exit-active {
  opacity: 0;
  transition: opacity .3s, transform .5s;
  transform: scale(.9);
}

.grow-enter {
  transform-origin: top;
  transform: scaleY(0);
}

.grow-enter-active {
  transform-origin: top;
  transition: transform .5s;
  transform: scaleY(1);
}

.grow-exit {
  transform-origin: top;
  transform: scaleY(1);
}

.grow-exit-active {
  transform-origin: top;
  transition: transform .5s;
  transform: scaleY(0);
}

.mobileOnly {
  display: none;
}

.nonMobile {
  display: flex;
}

.tabletOnly {
  display: none;
}

.centered {
  text-align: center;
}

@media only screen and (max-width: 68.75rem) {
  .tabletOnly {
    display: flex;
  }

  .nonTablet {
    display: none;
  }

  body {
    margin: 0 .5rem;
  }

  .mobileOnly {
    display: flex;
  }

  .hiddenButton {
    opacity: 1;
    transition: opacity .2s;
  }

  .nonMobile {
    display: none !important;
  }
}

/* [project]/src/components/Circle/Circle.module.scss.module.css [app-client] (css) */
.Circle-module-scss-module__X1qgkW__Circle {
  border: var(--border-size) solid var(--border-color);
  width: var(--size);
  height: var(--size);
  border-radius: 100%;
}

.Circle-module-scss-module__X1qgkW__tag {
  background-color: var(--local-background);
  z-index: 1;
  border-radius: 100%;
  margin-top: 58%;
  margin-left: 60%;
  position: absolute;
  top: 0;
  left: 0;
}

/* [project]/src/components/LangSelectHoverMenu/LangSelectHoverMenu.module.scss.module.css [app-client] (css) */
.LangSelectHoverMenu-module-scss-module__2zDuxq__hoverMenu {
  background-color: var(--background-color);
  white-space: nowrap;
  z-index: 1000;
  justify-content: flex-start;
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
}

@media only screen and (max-width: 37.5rem) {
  .LangSelectHoverMenu-module-scss-module__2zDuxq__hoverMenu {
    clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
    flex-direction: column;
  }
}

.LangSelectHoverMenu-module-scss-module__2zDuxq__hoverRadial {
  white-space: nowrap;
  z-index: 1;
  top: 0;
  left: 0;
  top: calc(var(--size) * -1);
  left: calc(var(--size) * -1);
  width: calc(var(--size) * 3);
  height: calc(var(--size) * 3);
  clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
  justify-content: flex-start;
  transition: clip-path .2s;
  position: absolute;
}

.LangSelectHoverMenu-module-scss-module__2zDuxq__hoverBackground {
  border: var(--border-size) solid var(--border-color);
  background-color: var(--light-bg);
  width: calc(var(--size) * 1);
  height: calc(var(--size) * 1);
  opacity: 0;
  border-radius: 100%;
  transition: top .1s linear, left .1s linear, width .1s linear, height .1s linear, opacity 0s linear .1s;
  position: absolute;
  top: 0;
  left: 0;
}

.hoverParent.hover > .LangSelectHoverMenu-module-scss-module__2zDuxq__hoverRadial {
  top: calc(var(--size) * -1);
  left: calc(var(--size) * -1);
  width: calc(var(--size) * 3);
  height: calc(var(--size) * 3);
  padding-top: 0;
  padding-left: 0;
}

.hoverParent.hover > .LangSelectHoverMenu-module-scss-module__2zDuxq__hoverBackground {
  top: calc(var(--size) * -1);
  left: calc(var(--size) * -1);
  width: calc(var(--size) * 3);
  height: calc(var(--size) * 3);
  opacity: 1;
  transition: top .25s, left .25s, width .25s, height .25s;
}

@media only screen and (max-width: 37.5rem) {
  .LangSelectHoverMenu-module-scss-module__2zDuxq__hoverMenu {
    clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
    flex-direction: column;
  }
}

.LangSelectHoverMenu-module-scss-module__2zDuxq__faded {
  opacity: .25;
}

.LangSelectHoverMenu-module-scss-module__2zDuxq__tag {
  background-color: var(--background-color);
  z-index: 2;
  border-radius: 100%;
  margin-top: 58%;
  margin-left: 60%;
  position: absolute;
  top: 0;
  left: 0;
}

.LangSelectHoverMenu-module-scss-module__2zDuxq__factionSelect {
  cursor: pointer;
  top: calc(var(--initial-y) * 1);
  left: calc(var(--initial-x) * 1);
  opacity: 0;
  border-radius: 100%;
  transition: top .25s, left .25s, opacity .15s;
  position: relative;
}

.LangSelectHoverMenu-module-scss-module__2zDuxq__oldFactionSelect {
  cursor: pointer;
  border-radius: 100%;
  position: relative;
}

.hoverParent.hover > .LangSelectHoverMenu-module-scss-module__2zDuxq__hoverRadio > .LangSelectHoverMenu-module-scss-module__2zDuxq__factionSelect {
  top: calc(var(--y-pos) * 1);
  left: calc(var(--x-pos) * 1);
  opacity: var(--opacity);
  transition: top .3s, left .3s;
}

.LangSelectHoverMenu-module-scss-module__2zDuxq__factionSelect:hover, .LangSelectHoverMenu-module-scss-module__2zDuxq__oldFactionSelect:hover {
  background-color: var(--interactive-bg);
}

/* [project]/src/components/Sidebars/Sidebars.module.scss.module.css [app-client] (css) */
.Sidebars-module-scss-module__KM2Kqa__Sidebar {
  --edge-distance: .5em;
  font-family: var(--main-font);
  background-color: var(--darker-bg);
  border-block: 1px solid var(--disabled-bg);
  color: var(--passed-text);
  letter-spacing: 3px;
  text-align: center;
  transform-origin: 0 0;
  width: 100svh;
  padding: .25em 0;
  font-size: 1.25rem;
  line-height: 1em;
  position: fixed;
  top: 100%;
}

.Sidebars-module-scss-module__KM2Kqa__SidebarLine {
  display: none;
}

.Sidebars-module-scss-module__KM2Kqa__Sidebar.Sidebars-module-scss-module__KM2Kqa__left {
  left: var(--edge-distance);
  transform-origin: 0 0;
  transform: rotate(-90deg);
}

.Sidebars-module-scss-module__KM2Kqa__Sidebar.Sidebars-module-scss-module__KM2Kqa__right {
  right: var(--edge-distance);
  transform-origin: 100% 0;
  transform: rotate(90deg);
}

@media only screen and (max-width: 68.75rem) {
  .Sidebars-module-scss-module__KM2Kqa__Sidebar {
    display: none;
  }

  .Sidebars-module-scss-module__KM2Kqa__SidebarLine {
    z-index: 1;
    background-color: var(--background-color);
    width: 100%;
    margin-bottom: .25rem;
    display: flex;
    position: sticky;
    top: 3.25rem;
  }
}

/* [project]/src/components/LabeledLine/LabeledLine.module.scss.module.css [app-client] (css) */
.LabeledLine-module-scss-module__7XNDia__LabeledLine {
  width: 100%;
  color: var(--color);
  border-radius: .3125rem;
  align-items: flex-start;
  gap: 0;
  position: relative;
}

.LabeledLine-module-scss-module__7XNDia__LabeledLine hr {
  border: 1px solid var(--border-color);
  width: 100%;
  margin: .5rem 0;
}

.LabeledLine-module-scss-module__7XNDia__label {
  --side-spacing: 6px;
  white-space: nowrap;
  background-color: var(--local-background);
  border-radius: .3125rem;
  padding: .125rem .25rem;
  font-size: 1rem;
  position: absolute;
}

.LabeledLine-module-scss-module__7XNDia__label.LabeledLine-module-scss-module__7XNDia__left {
  left: var(--side-spacing);
}

.LabeledLine-module-scss-module__7XNDia__label.LabeledLine-module-scss-module__7XNDia__center {
  top: -.125rem;
}

.LabeledLine-module-scss-module__7XNDia__label.LabeledLine-module-scss-module__7XNDia__right {
  right: var(--side-spacing);
}

.LabeledLine-module-scss-module__7XNDia__hiddenLabel {
  visibility: hidden;
  z-index: -1;
  white-space: nowrap;
  flex-direction: row;
  gap: .5rem;
  height: 0;
  padding: 0 .5rem;
  font-size: 1rem;
  display: flex;
  position: relative;
}

/* [project]/src/components/SiteLogo/SiteLogo.module.scss.module.css [app-client] (css) */
.SiteLogo-module-scss-module__eFOCxW__Logo {
  width: 100%;
  height: 100%;
  position: relative;
}

/* [project]/src/components/GenericModal/GenericModal.module.scss.module.css [app-client] (css) */
.GenericModal-module-scss-module__tdlQwa__Modal {
  visibility: hidden;
  width: 100vw;
  height: 100dvh;
  color: var(--foreground-color);
  -webkit-backdrop-filter: blur(.5rem);
  backdrop-filter: blur(.5rem);
  flex-direction: column;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
}

.GenericModal-module-scss-module__tdlQwa__Modal .GenericModal-module-scss-module__tdlQwa__Content {
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  width: 100dvw;
  height: 100dvh;
  padding: .375rem;
  display: flex;
  position: relative;
  overflow-y: auto;
}

.GenericModal-module-scss-module__tdlQwa__Modal .GenericModal-module-scss-module__tdlQwa__Button {
  background-color: var(--interactive-bg);
  border: var(--border-size) solid var(--background-color);
  aspect-ratio: 1;
  width: 2.25rem;
  color: var(--foreground-color);
  cursor: pointer;
  z-index: 2;
  border-radius: 100%;
  font-size: 1.125rem;
  position: absolute;
  top: .5rem;
  left: 1rem;
}

.GenericModal-module-scss-module__tdlQwa__Modal .GenericModal-module-scss-module__tdlQwa__Button:hover {
  background-color: var(--hovered-bg);
  border: var(--border-size) solid var(--neutral-border);
}

.GenericModal-module-scss-module__tdlQwa__Modal .GenericModal-module-scss-module__tdlQwa__Button div {
  text-align: center;
  width: 100%;
  height: 100%;
  text-shadow: none;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  display: flex;
}

.GenericModal-module-scss-module__tdlQwa__Modal .GenericModal-module-scss-module__tdlQwa__Title {
  text-align: center;
  flex-basis: 100%;
  padding: .25rem 2rem;
  font-size: 2.5rem;
}

.GenericModal-module-scss-module__tdlQwa__Modal .GenericModal-module-scss-module__tdlQwa__Body {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 .25rem .25rem;
  display: flex;
}

@media only screen and (max-width: 37.5rem) {
  .GenericModal-module-scss-module__tdlQwa__Modal .GenericModal-module-scss-module__tdlQwa__Button {
    top: .5rem;
    left: .5rem;
  }
}

/* [project]/src/components/Map/GameMap.module.scss.module.css [app-client] (css) */
.GameMap-module-scss-module__Mafm-q__rotateSixty {
  transform: rotate(60deg);
}

.GameMap-module-scss-module__Mafm-q__rotateOneTwenty {
  transform: rotate(120deg);
}

.GameMap-module-scss-module__Mafm-q__rotateOneEighty {
  transform: rotate(180deg);
}

.GameMap-module-scss-module__Mafm-q__rotateTwoForty {
  transform: rotate(240deg);
}

.GameMap-module-scss-module__Mafm-q__rotateThreeHundred {
  transform: rotate(300deg);
}

.GameMap-module-scss-module__Mafm-q__Map {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.GameMap-module-scss-module__Mafm-q__Map.GameMap-module-scss-module__Mafm-q__Fracture {
  width: 88%;
  height: 88%;
  margin-top: 11.5%;
  margin-left: 6%;
}

.GameMap-module-scss-module__Mafm-q__MapBody, .GameMap-module-scss-module__Mafm-q__SystemSelectBody {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: flex;
}

.GameMap-module-scss-module__Mafm-q__Legend {
  margin-left: -120%;
  position: absolute;
}

.GameMap-module-scss-module__Mafm-q__LegendContent {
  flex-direction: column;
  justify-content: stretch;
  align-items: stretch;
  gap: .25rem;
  display: flex;
}

@media only screen and (max-width: 37.5rem) {
  .GameMap-module-scss-module__Mafm-q__Map {
    flex-direction: column;
  }

  .GameMap-module-scss-module__Mafm-q__Legend {
    margin-left: 0;
    bottom: -20dvh;
  }
}

/* [project]/src/components/FactionIcon/FactionIcon.module.scss.module.css [app-client] (css) */
.FactionIcon-module-scss-module__xhXnjq__FactionIcon {
  width: var(--size);
  height: var(--size);
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

/* [project]/src/components/PlanetIcon/PlanetIcon.module.scss.module.css [app-client] (css) */
.PlanetIcon-module-scss-module__n7AUNW__PlanetIcon {
  width: var(--size);
  height: var(--size);
  position: relative;
}

.PlanetIcon-module-scss-module__n7AUNW__DoubleIcon {
  height: var(--size);
  width: var(--size);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-flow: row;
  place-items: center;
  gap: 0;
  display: grid;
}

.PlanetIcon-module-scss-module__n7AUNW__DoubleIcon > div {
  aspect-ratio: 1;
  height: 100%;
  position: relative;
}

.PlanetIcon-module-scss-module__n7AUNW__DoubleIcon > div:first-child {
  grid-column: 1 / 3;
}

.PlanetIcon-module-scss-module__n7AUNW__DoubleIcon > div:last-child {
  grid-column: 2 / 4;
}

.PlanetIcon-module-scss-module__n7AUNW__TripleIcon {
  height: var(--size);
  width: var(--size);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  place-items: center;
  display: grid;
}

.PlanetIcon-module-scss-module__n7AUNW__TripleIcon > div {
  aspect-ratio: 1;
  height: 100%;
  position: relative;
}

.PlanetIcon-module-scss-module__n7AUNW__TripleIcon > div:last-child {
  grid-column: 1 / -1;
}

/* [project]/src/components/TechIcon/TechIcon.module.scss.module.css [app-client] (css) */
.TechIcon-module-scss-module__ce4ePG__OuterIcon {
  width: var(--width);
  height: var(--height);
  justify-content: center;
  align-items: center;
  display: flex;
}

.TechIcon-module-scss-module__ce4ePG__TechIcon {
  width: var(--width);
  height: var(--height);
  position: relative;
}

/* [project]/src/components/Chip/Chip.module.scss.module.css [app-client] (css) */
.Chip-module-scss-module__1pr7bG__ChipElement {
  flex-direction: column;
  align-items: flex-start;
  gap: .25em;
  display: flex;
}

.Chip-module-scss-module__1pr7bG__ChipElement > label {
  font-size: .75em;
}

.Chip-module-scss-module__1pr7bG__ChipGroupOuter {
  flex-direction: column;
  gap: .25em;
  font-size: .75em;
  display: flex;
}

.Chip-module-scss-module__1pr7bG__ChipGroup {
  --border-color: var(--disabled-bg);
  border: .125rem solid var(--light-bg);
  background-color: var(--light-bg);
  border-radius: 2.25rem;
  justify-content: center;
  gap: 0;
  width: fit-content;
  display: flex;
}

.Chip-module-scss-module__1pr7bG__ChipContainer {
  --border-color: green;
  --font-size: .75rem;
  color: var(--foreground-color);
  white-space: nowrap;
  font-size: var(--font-size);
  padding: .125rem calc(2 * var(--font-size) / 3);
  cursor: pointer;
  border-radius: 1.25rem;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0;
  line-height: 1em;
  display: flex;
}

.Chip-module-scss-module__1pr7bG__ChipContainer:first-child {
  border-top-left-radius: 1.25rem;
  border-bottom-left-radius: 1.25rem;
}

.Chip-module-scss-module__1pr7bG__ChipContainer:last-child {
  border-top-right-radius: 1.25rem;
  border-bottom-right-radius: 1.25rem;
}

.Chip-module-scss-module__1pr7bG__ChipContainer:hover {
  background-color: var(--hovered-bg);
  color: var(--foreground-color);
}

.Chip-module-scss-module__1pr7bG__ChipContainer.Chip-module-scss-module__1pr7bG__disabled, .Chip-module-scss-module__1pr7bG__ChipContainer.Chip-module-scss-module__1pr7bG__disabled:hover {
  background-color: var(--light-bg);
  opacity: .4;
  cursor: default;
}

.Chip-module-scss-module__1pr7bG__ChipContainer > input[type="radio"] {
  appearance: none;
  margin: unset;
}

.Chip-module-scss-module__1pr7bG__ChipContainer:has(input[type="radio"]:focus-visible) {
  outline: 2px solid #d09c01;
}

.Chip-module-scss-module__1pr7bG__ChipContainer:has(input[type="radio"]:checked) {
  background-color: var(--background-color);
  cursor: default;
  border-radius: 1.25rem;
}

.Chip-module-scss-module__1pr7bG__ChipContainer > * {
  cursor: pointer;
}

.Chip-module-scss-module__1pr7bG__ChipContainer.Chip-module-scss-module__1pr7bG__disabled * {
  cursor: default;
}

/* [project]/src/components/LabeledDiv/LabeledDiv.module.scss.module.css [app-client] (css) */
.LabeledDiv-module-scss-module__LfLjgW__LabeledDiv {
  --side-spacing: .375rem;
  border: var(--border-size) solid var(--border-color);
  box-sizing: border-box;
  border-radius: .3125rem;
  align-items: flex-start;
  gap: .5rem;
  width: 100%;
  margin-top: .25rem;
  position: relative;
}

.LabeledDiv-module-scss-module__LfLjgW__LabeledDiv .LabeledDiv-module-scss-module__LfLjgW__blurBox {
  z-index: -2;
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(.25rem);
  backdrop-filter: blur(.25rem);
  filter: blur();
  border-radius: .3125rem;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.LabeledDiv-module-scss-module__LfLjgW__innerDiv {
  box-sizing: border-box;
  flex-direction: column;
  align-items: flex-start;
  gap: .5rem;
  width: 100%;
  height: 100%;
  padding: .7rem .375rem .375rem;
  display: flex;
  position: relative;
}

.LabeledDiv-module-scss-module__LfLjgW__label {
  --side-spacing: .375rem;
  white-space: nowrap;
  background-color: var(--local-background);
  color: var(--color);
  border-radius: .3125rem;
  padding: 0 4px;
  position: absolute;
  top: 0;
  transform: translateY(calc(-50% - 2px));
}

.LabeledDiv-module-scss-module__LfLjgW__label.LabeledDiv-module-scss-module__LfLjgW__left {
  left: var(--side-spacing);
}

.LabeledDiv-module-scss-module__LfLjgW__label.LabeledDiv-module-scss-module__LfLjgW__right {
  right: var(--side-spacing);
}

.LabeledDiv-module-scss-module__LfLjgW__hiddenLabel {
  visibility: hidden;
  z-index: -1;
  white-space: nowrap;
  flex-direction: row;
  gap: .5rem;
  height: 0;
  padding: 0 .5rem;
  display: flex;
  position: relative;
}

/* [project]/src/HoverMenu.module.scss.module.css [app-client] (css) */
.HoverMenu-module-scss-module__d2tScW__hoverLabel:before {
  content: "";
  border-right: .75rem solid #0000;
  border-top: .75rem solid var(--corner-color);
  box-sizing: border-box;
  border-radius: .375rem 0 0;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.HoverMenu-module-scss-module__d2tScW__hoverLabel.HoverMenu-module-scss-module__d2tScW__left:before {
  right: 0;
  left: unset;
  border-left: .75rem solid #0000;
  border-right: unset;
  border-radius: 0 .375rem 0 0;
}

.HoverMenu-module-scss-module__d2tScW__hoverLabel.HoverMenu-module-scss-module__d2tScW__up:before {
  bottom: 0;
  top: unset;
  border-bottom: .75rem solid var(--corner-color);
  border-top: unset;
  border-radius: 0 0 0 .375rem;
}

.HoverMenu-module-scss-module__d2tScW__hoverLabel.HoverMenu-module-scss-module__d2tScW__up.HoverMenu-module-scss-module__d2tScW__left:before {
  border-radius: 0 0 .375rem;
}

.HoverMenu-module-scss-module__d2tScW__innerHoverLabel:before {
  content: "";
  width: 0;
  height: 0;
  top: 0;
  left: 0;
  top: round(-1 * var(--border-size), .5px);
  left: round(-1 * var(--border-size), .5px);
  border-right: .75rem solid #0000;
  border-top: .75rem solid var(--corner-color);
  box-sizing: border-box;
  border-top-left-radius: .375rem;
  position: absolute;
}

.HoverMenu-module-scss-module__d2tScW__innerHoverLabel.HoverMenu-module-scss-module__d2tScW__left:before {
  right: round(-1 * var(--border-size), .5px);
  left: unset;
  border-left: .75rem solid #0000;
  border-right: unset;
  border-radius: 0 .375rem 0 0;
}

.HoverMenu-module-scss-module__d2tScW__innerHoverLabel.HoverMenu-module-scss-module__d2tScW__up:before {
  bottom: round(-1 * var(--border-size), .5px);
  top: unset;
  border-bottom: .75rem solid var(--corner-color);
  border-top: unset;
  border-radius: 0 0 0 .375rem;
}

.HoverMenu-module-scss-module__d2tScW__innerHoverLabel.HoverMenu-module-scss-module__d2tScW__up.HoverMenu-module-scss-module__d2tScW__left:before {
  border-radius: 0 0 .375rem;
}

/* [project]/app/[locale]/setup/components/ColorPicker.module.scss.module.css [app-client] (css) */
.ColorPicker-module-scss-module__rowMEG__ColorPicker {
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  justify-content: flex-start;
  gap: .25rem;
  padding: .5rem;
  display: grid;
  overflow-x: auto;
}

.ColorPicker-module-scss-module__rowMEG__ColorPicker > button {
  width: 1.125rem;
  height: 1.375rem;
}

/* [project]/app/[locale]/setup/components/PlayerNameInput.module.scss.module.css [app-client] (css) */
.PlayerNameInput-module-scss-module__ckDgYW__PlayerNameInput {
  font-size: .833rem;
  font-family: var(--primary-font);
  font-variant: normal;
  letter-spacing: 0;
}

/* [project]/src/components/FormattedDescription/FormattedDescription.module.scss.module.css [app-client] (css) */
.FormattedDescription-module-scss-module__YeKXlG__Ability {
  font-family: var(--main-font);
  letter-spacing: 0;
  font-size: 90%;
  font-weight: normal;
}

.FormattedDescription-module-scss-module__YeKXlG__Keyword {
  font-weight: bold;
}

/* [project]/src/components/Modal/Modal.module.scss.module.css [app-client] (css) */
.Modal-module-scss-module__k1ZY8q__Modal {
  visibility: hidden;
  width: 100vw;
  height: 100dvh;
  color: var(--foreground-color);
  -webkit-backdrop-filter: blur(.5rem);
  backdrop-filter: blur(.5rem);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

.Modal-module-scss-module__k1ZY8q__Overlay {
  width: 100vw;
  height: 100dvh;
  position: absolute;
}

.Modal-module-scss-module__k1ZY8q__ModalContent {
  width: 100vw;
  height: 100dvh;
  color: var(--foreground-color);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 5%;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.Modal-module-scss-module__k1ZY8q__ModalContent .Modal-module-scss-module__k1ZY8q__Content {
  background-color: var(--background-color);
  border: 1px solid var(--hidden-border);
  border-radius: .625rem;
  max-width: 85%;
  margin-block: auto;
  position: relative;
}

.Modal-module-scss-module__k1ZY8q__ModalContent .Modal-module-scss-module__k1ZY8q__Header {
  border-bottom: var(--border-size) solid var(--hidden-border);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: .25rem 2.25rem;
  display: flex;
}

.Modal-module-scss-module__k1ZY8q__ModalContent .Modal-module-scss-module__k1ZY8q__CloseButton {
  color: gray;
  cursor: pointer;
  margin-left: .375rem;
  font-size: 1.25rem;
  position: absolute;
  top: .25rem;
  left: .25rem;
}

.Modal-module-scss-module__k1ZY8q__ModalContent .Modal-module-scss-module__k1ZY8q__Title {
  font-family: var(--main-font);
  text-align: center;
  font-size: 2.5rem;
}

.Modal-module-scss-module__k1ZY8q__ModalContent .Modal-module-scss-module__k1ZY8q__Body {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 0 .25rem .25rem;
  display: flex;
}

.hoverInfo:has(.Modal-module-scss-module__k1ZY8q__Modal.Modal-module-scss-module__k1ZY8q__shown) {
  clip-path: polygon(-1000% -1000%, -1000% 1000%, 1000% 1000%, 1000% -1000%);
}

/* [project]/src/components/ResourcesIcon/ResourcesIcon.module.scss.module.css [app-client] (css) */
.ResourcesIcon-module-scss-module__mB8z-q__ResourcesIcon {
  width: calc(var(--height) * .75);
  height: calc(var(--height) * .92);
  font-size: 4px;
  position: relative;
}

.ResourcesIcon-module-scss-module__mB8z-q__ResourcesIcon > div {
  --font-size: 4px;
  line-height: var(--size);
  font-size: var(--font-size);
  width: var(--width);
  height: var(--size);
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
}

.ResourcesIcon-module-scss-module__mB8z-q__ResourceValue {
  --size: calc(var(--height) * .44);
  --font-size: calc(var(--height) * .24);
  --width: var(--size);
  top: 0;
  left: 0;
}

.ResourcesIcon-module-scss-module__mB8z-q__ResourceSymbol {
  --size: calc(var(--height) * .55);
  --font-size: var(--size);
  --width: var(--size);
  color: #fad54d;
  -webkit-user-select: none;
  user-select: none;
  font-weight: bold;
  top: 0;
  left: 0;
}

.ResourcesIcon-module-scss-module__mB8z-q__InfluenceValue {
  --size: calc(var(--height) * .7);
  --font-size: calc(var(--height) * .24);
  --width: calc(var(--height) * .56);
  bottom: 0;
  right: 0;
}

.ResourcesIcon-module-scss-module__mB8z-q__InfluenceSymbol {
  --size: calc(var(--height) * .55);
  --font-size: var(--size);
  --width: var(--size);
  color: #72d4f7;
  -webkit-user-select: none;
  user-select: none;
  bottom: 0;
  right: 0;
}

/* [project]/src/components/TechSkipIcon/TechSkipIcon.module.scss.module.css [app-client] (css) */
.TechSkipIcon-module-scss-module__8IYRAa__TechSkipIcon {
  width: var(--size);
  height: var(--size);
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1px;
  display: grid;
}

/* [project]/src/components/PlanetSummary/PlanetSummary.module.scss.module.css [app-client] (css) */
.PlanetSummary-module-scss-module__CS2oyq__PlanetSummary {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: .125rem;
  display: flex;
  position: relative;
}

.PlanetSummary-module-scss-module__CS2oyq__ResourceSection {
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: .5rem;
  width: 3.2rem;
  height: 3.5rem;
  padding-bottom: .125rem;
  display: flex;
  position: relative;
}

.PlanetSummary-module-scss-module__CS2oyq__PlanetTotal {
  font-family: var(--main-font);
  border: 1px solid var(--interactive-bg);
  border-radius: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: 1.7rem;
  height: 1.7rem;
  font-size: 1.125rem;
  display: flex;
  position: absolute;
  top: .1rem;
  right: 0;
}

.PlanetSummary-module-scss-module__CS2oyq__OceanElement {
  box-sizing: border-box;
  cursor: pointer;
  z-index: 2;
  border-radius: 50%;
  width: .25rem;
  height: .25rem;
  position: absolute;
}

.PlanetSummary-module-scss-module__CS2oyq__OceanElement.PlanetSummary-module-scss-module__CS2oyq__viewOnly {
  cursor: default;
}

.PlanetSummary-module-scss-module__CS2oyq__CountSection {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.PlanetSummary-module-scss-module__CS2oyq__PlanetTypeGrid {
  grid-template-columns: repeat(2, 1fr);
  place-items: center;
  gap: .125rem .25rem;
  font-size: 1rem;
  display: grid;
}

.PlanetSummary-module-scss-module__CS2oyq__Attachments {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  font-size: 1.25rem;
  line-height: 1rem;
  display: flex;
}

.PlanetSummary-module-scss-module__CS2oyq__centered {
  text-align: center;
}

/* [project]/src/components/UnitStats/UnitStats.module.scss.module.css [app-client] (css) */
.UnitStats-module-scss-module__Ltloxa__UnitStatsGrid {
  font-family: var(--main-font);
  box-sizing: border-box;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: column;
  gap: .05em;
  width: fit-content;
  display: grid;
}

.UnitStats-module-scss-module__Ltloxa__UnitStat {
  border: 1px solid var(--foreground-color);
  text-align: center;
  border-radius: .625rem;
  width: 1em;
}

/* [project]/src/components/TechTree/TechTree.module.scss.module.css [app-client] (css) */
.TechTree-module-scss-module__0BwpMG__TechTree {
  flex-direction: column;
  display: flex;
}

.TechTree-module-scss-module__0BwpMG__TechTree > div {
  box-sizing: border-box;
  width: 100%;
  padding-bottom: 1px;
}

.TechTree-module-scss-module__0BwpMG__TechTree :nth-child(2) {
  padding-bottom: 0;
}

.TechTree-module-scss-module__0BwpMG__TechTree :nth-child(n+5) {
  grid-column: span 2;
  justify-content: center;
  align-items: center;
  display: flex;
}

.TechTree-module-scss-module__0BwpMG__TechTreeRow {
  flex-direction: row;
  justify-content: center;
  gap: .125rem;
  width: 100%;
  display: flex;
}

.TechTree-module-scss-module__0BwpMG__TechTreeElement {
  box-sizing: border-box;
  border-radius: 50%;
  width: .25rem;
  height: .25rem;
}

.TechTree-module-scss-module__0BwpMG__TechTreeElement:not(.TechTree-module-scss-module__0BwpMG__viewOnly) {
  cursor: pointer;
}

.TechTree-module-scss-module__0BwpMG__UnitStats {
  font-size: 12rem;
}

.TechTree-module-scss-module__0BwpMG__UpgradeTechAbilities {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: row;
  font-size: 2rem;
  display: grid;
}

@media only screen and (max-width: 56.25rem) {
  .TechTree-module-scss-module__0BwpMG__UnitStats {
    font-size: 5rem;
  }

  .TechTree-module-scss-module__0BwpMG__UpgradeTechAbilities {
    flex-direction: column;
    align-items: flex-start;
    font-size: 1.2rem;
    display: flex;
  }
}

/* [project]/src/components/TechSummary/TechSummary.module.scss.module.css [app-client] (css) */
.TechSummary-module-scss-module__c1he7W__TechSummaryGrid {
  grid-template-columns: repeat(2, min-content);
  grid-auto-flow: row;
  gap: .125rem .25rem;
  width: min-content;
  font-size: .875rem;
  display: grid;
}

.TechSummary-module-scss-module__c1he7W__TechSummarySection {
  flex-direction: row;
  justify-content: space-between;
  gap: .25rem;
  display: flex;
}

.TechSummary-module-scss-module__c1he7W__TechSummaryNumber {
  text-align: center;
  flex-direction: row;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: .75rem;
  display: flex;
}

.TechSummary-module-scss-module__c1he7W__TechSummaryGrid.TechSummary-module-scss-module__c1he7W__Horizontal {
  grid-template-columns: repeat(15, 1fr);
  gap: .1875rem;
  font-size: 1.125rem;
}

.TechSummary-module-scss-module__c1he7W__TechSummaryGrid.TechSummary-module-scss-module__c1he7W__Horizontal > .TechSummary-module-scss-module__c1he7W__UnitUpgradeNumber {
  grid-column: 5 / 6;
}

.TechSummary-module-scss-module__c1he7W__TechSummaryGrid.TechSummary-module-scss-module__c1he7W__Horizontal > .TechSummary-module-scss-module__c1he7W__UnitUpgradeText {
  grid-column: 5 / 12;
}

.TechSummary-module-scss-module__c1he7W__TechSummaryGrid.TechSummary-module-scss-module__c1he7W__Horizontal > .TechSummary-module-scss-module__c1he7W__UnitUpgradeTree {
  grid-column: 12 / 15;
  align-items: center;
  height: 100%;
  display: flex;
}

.TechSummary-module-scss-module__c1he7W__TechSummaryGrid.TechSummary-module-scss-module__c1he7W__Horizontal > .TechSummary-module-scss-module__c1he7W__FactionTechTree {
  grid-area: 1 / 16 / 4 / 17;
}

/* [project]/src/FactionSummary.module.scss.module.css [app-client] (css) */
.FactionSummary-module-scss-module__FhNF1G__FactionSummary {
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  padding: 0 0 0 .25rem;
  display: flex;
  position: relative;
}

.FactionSummary-module-scss-module__FhNF1G__VPGrid {
  font-family: var(--main-font);
  flex-direction: column;
  place-items: center;
  gap: 0;
  font-size: 1.75rem;
  display: flex;
  position: relative;
}

.FactionSummary-module-scss-module__FhNF1G__VPGrid :last-child {
  grid-column: 1 / 4;
}

/* [project]/src/components/NumberInput/NumberInput.module.scss.module.css [app-client] (css) */
.NumberInput-module-scss-module__MZrfva__NumberInput {
  --up-arrow-color: var(--interactive-bg);
  --down-arrow-color: var(--interactive-bg);
  grid-template-columns: 1fr auto 1fr;
  grid-auto-flow: column;
  align-items: center;
  gap: .25rem;
  font-size: 1.25rem;
  display: grid;
}

.NumberInput-module-scss-module__MZrfva__arrow {
  cursor: pointer;
  border-left: .375rem solid #0000;
  border-right: .375rem solid #0000;
  width: 0;
  height: 0;
}

.NumberInput-module-scss-module__MZrfva__arrowUp {
  border-bottom: .5rem solid var(--up-arrow-color);
}

.NumberInput-module-scss-module__MZrfva__arrowDown {
  border-top: .5rem solid var(--down-arrow-color);
}

.NumberInput-module-scss-module__MZrfva__InputBox {
  --input-border-color: var(--hidden-border);
  background-color: var(--dark-hover-bg);
  width: 2.25rem;
  color: var(--foreground-color);
  border-radius: .25rem;
  justify-content: center;
  padding-block: .06125rem;
  display: flex;
}

.NumberInput-module-scss-module__MZrfva__InputBox:focus-visible {
  outline: 2px solid var(--accent-color);
}

/* [project]/app/[locale]/root.module.scss.module.css [app-client] (css) */
.root-module-scss-module__am2nWW__NavBar {
  background-color: var(--background-color);
  z-index: 1;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: .25rem;
  width: 100%;
  padding-block: .5rem;
  padding-inline: .25rem;
  font-size: 1rem;
  display: flex;
  position: sticky;
  inset-block-start: 0;
  inset-inline-start: 0;
}

.root-module-scss-module__am2nWW__HomeLink {
  cursor: pointer;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
  display: flex;
}

.root-module-scss-module__am2nWW__FullName {
  font-family: var(--main-font);
  display: none;
}

.root-module-scss-module__am2nWW__ShortName {
  font-family: var(--main-font);
  display: inline-block;
}

.root-module-scss-module__am2nWW__Logo {
  width: 1.75rem;
  height: 1.75rem;
  position: relative;
}

.root-module-scss-module__am2nWW__Loader {
  font-family: var(--main-font);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  width: 100%;
  height: 100dvh;
  font-size: 2rem;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.root-module-scss-module__am2nWW__LoadingLogo {
  width: 4rem;
  height: 4rem;
  position: relative;
}

/* [next]/internal/font/google/finlandica_4dec420c.module.css [app-client] (css) */
@font-face {
  font-family: Finlandica;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../media/fb38f89583a23603-s.fae7cc5c.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Finlandica;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../media/9b0f2e5b3a5985f3-s.p.7e769058.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Finlandica;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../media/7d847a23055c4d74-s.0cca7f05.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Finlandica;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../media/8487866524327f45-s.p.88bc008f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Finlandica Fallback;
  src: local(Arial);
  ascent-override: 99.42%;
  descent-override: 26.16%;
  line-gap-override: 0.0%;
  size-adjust: 95.56%;
}

.finlandica_4dec420c-module__IIO3wW__className {
  font-family: Finlandica, Finlandica Fallback;
  font-style: normal;
}

.finlandica_4dec420c-module__IIO3wW__variable {
  --primary-font: "Finlandica", "Finlandica Fallback";
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__4caa6baf._.css.map*/