@charset "UTF-8";
:root {
  --spectate-background-color: transparent;
  --spectate-asteroids-color: black;
  --spectate-player-highlighting-color: black;
  --spectate-leaderboard-highlighting-color: yellow;
  --text-color: #0d1d31;
  --ship-icons-filter: invert(1);
  --color-theme: rgb(238, 238, 238);
}

.ship-icon-nautic {
  font-family: "Starblast Nautic Ships", sans-serif;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-theme) transparent;
  /* Supprimer les flèches des barres de défilement */
}

*::-webkit-scrollbar {
  width: 3px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background-color: var(--color-theme);
  border-radius: 10px;
  border: 2px solid transparent;
}

*::-webkit-scrollbar-button {
  display: none;
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--color-theme) transparent;
  /* Supprimer les flèches des barres de défilement */
}

*::-webkit-scrollbar {
  width: 3px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: transparent;
}

*::-webkit-scrollbar-thumb {
  background-color: var(--color-theme);
  border-radius: 10px;
  border: 2px solid transparent;
}

*::-webkit-scrollbar-button {
  display: none;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
}

body {
  min-height: 100vh;
  height: 100vh;
  min-width: 100vw;
  /* Cache le scroll horizontal */
  overflow-y: auto;
  /* Permet le scroll vertical seulement si nécessaire */
  margin: 0;
  /* Supprime les marges par défaut */
  padding: 0;
  overflow: hidden;
  color-scheme: light;
}
@media (max-width: 768px) {
  body {
    overflow-y: scroll;
  }
}

#bg-video {
  position: fixed;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -2;
}

.container-fluid {
  max-width: 80%;
}
@media (max-width: 1650px) {
  .container-fluid {
    max-width: 95%;
  }
}
@media (max-width: 1040px) {
  .container-fluid {
    max-width: 98%;
  }
}

#SR_TeamList {
  font-size: 14px;
}

#SR_PlayerList {
  max-height: 100px;
  font-size: 14px;
  overflow-y: scroll;
}

/* Fonts */
@font-face {
  font-family: "Ninja-title";
  src: url("../fonts/title/Counter Stream.ttf");
  font-display: swap;
}
@font-face {
  font-family: "Bankai-text";
  src: url("../fonts/span-label/Exo2.otf");
  font-display: swap;
}
.ship-icon {
  font-family: "SBGlyphs", sans-serif;
  font-size: 18px;
}

@font-face {
  font-family: "Starblast Vanilla Ships";
  src: url("../fonts/Starblast/starblast-vanilla-ships.ttf");
  font-display: swap;
}
.ship-icon-vanilla {
  font-family: "Starblast Vanilla Ships", sans-serif;
}

@font-face {
  font-family: "Starblast Intrusion Ships";
  src: url("../fonts/Starblast/starblast-intrusion-ships.ttf");
  font-display: swap;
}
.ship-icon-intrusion {
  font-family: "Starblast Intrusion Ships", sans-serif;
}

@font-face {
  font-family: "Starblast U-Series Ships";
  src: url("../fonts/Starblast/starblast-useries-ships.ttf");
  font-display: swap;
}
.ship-icon-useries {
  font-family: "Starblast U-Series Ships", sans-serif;
}

@font-face {
  font-family: "Starblast Nautic Ships";
  src: url("../fonts/Starblast/starblast-nautic-ships.ttf");
  font-display: swap;
}
#bg-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -2;
}

#survivalSpectatorModal {
  padding-top: 15vh;
}

.modal-body {
  background: black;
  border: 1px solid var(--color-theme);
  border-radius: 0.375rem;
}

.modal-body #spectateRow {
  color: var(--color-theme);
}

.modal-header {
  background-color: black;
  border-bottom: none !important;
  border-top: 1px solid var(--color-theme) !important;
  border-left: 1px solid var(--color-theme) !important;
  border-right: 1px solid var(--color-theme) !important;
}

#settingsModal,
#spectatorModal,
#aboutModal {
  overflow-y: hidden;
}

.custom-modal {
  /* Caché par défaut */
  display: none;
  opacity: 0;
  pointer-events: none;
  /* Évite clics sur l'arrière-plan */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* Pour la transition */
  transition: opacity 0.3s ease;
  /* Optionnel: un fond semi-transparent pour l'overlay */
  background: rgba(0, 0, 0, 0.6);
  /* Empêche le scroll en arrière-plan */
  overflow-y: auto;
  z-index: 9999;
  /* au-dessus du contenu */
}
.custom-modal .modal-dialog {
  width: 100%;
  max-width: 800px;
  /* ou ce que tu veux */
  margin: auto;
  /* centre horizontalement */
  transform: translateY(-30px);
  transition: transform 0.3s ease;
  padding: 0 1rem;
  /* petit padding sur les côtés pour éviter que ça touche les bords */
}
.custom-modal .credits {
  max-height: 500px;
  overflow-y: scroll;
}
.custom-modal .credits h2 {
  font-size: 24px;
}

/* Quand on ajoute la classe .open => on l'affiche */
.custom-modal.open {
  display: block;
  /* Devient visible dans le flux */
  opacity: 1;
  /* Commence la transition de 0 vers 1 */
  pointer-events: auto;
  /* Autorise les clics */
}

/* Optionnel : animer la montée du .modal-dialog (par ex) */
.custom-modal .modal-dialog {
  transform: translateY(-30px);
  transition: transform 0.3s ease;
}

.custom-modal.open .modal-dialog {
  transform: translateY(0);
}

@media (max-width: 990px) {
  #survivalSpectateRow .row {
    display: flex;
    padding-right: 0;
    flex-direction: column;
  }
}
@media (max-width: 990px) {
  #survivalSpectateRow .row .col-3 {
    width: 100%;
    padding-right: 0;
    max-height: 200px !important;
  }
}
@media (max-width: 990px) {
  #survivalSpectateRow .row .col-9 {
    width: 100%;
    padding-right: 0;
    max-height: 300px;
  }
  #survivalSpectateRow .row .col-9 div {
    max-height: 300px !important;
  }
}
@media (max-width: 990px) {
  #survivalSpectateRow .row .col-9 span {
    font-size: 13px;
  }
}
@media (max-width: 680px) {
  #survivalSpectateRow .row .col-9 span {
    font-size: 12px;
  }
}

h3,
h4,
h5,
b,
.btn-outline-light, h2, h1 {
  font-family: "Ninja-title", sans-serif;
  font-weight: lighter;
  letter-spacing: 3px;
}

span,
label {
  font-family: "Bankai-text", sans-serif;
  font-weight: lighter;
  letter-spacing: 2px;
}

h1,
h2 {
  font-weight: 600 !important;
  background-image: linear-gradient(to left, #b1b1b1, #ffffff) !important;
  color: transparent !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
}

h1 {
  font-size: 40px !important;
}
@media (max-width: 500px) {
  h1 {
    font-size: 20px !important;
  }
}

h2 {
  font-size: 13px;
}

h5 {
  color: white;
}

.adonys {
  font-size: 16px !important;
}

/* Card body*/
.system-list-item .card-body,
.system-report-card .card-body {
  --b: 0.15em;
  --c: 1.5em;
  --r: 0.2em;
  position: relative;
  border: solid var(--b) transparent;
  padding: 1em;
  background: rgba(0, 0, 0, 0.336);
}
.system-list-item .card-body::before,
.system-report-card .card-body::before {
  position: absolute;
  z-index: -1;
  inset: calc(-1 * var(--b));
  border: inherit;
  border-radius: var(--r);
  background: linear-gradient(rgb(255, 255, 255), rgb(255, 255, 255), rgb(255, 255, 255)) border-box;
  --corner:
      conic-gradient(from -90deg at var(--c) var(--c), rgb(255, 255, 255) 25%, #0000 0) 0 0/ calc(100% - var(--c)) calc(100% - var(--c)) border-box;
  --inner: conic-gradient(rgb(255, 255, 255) 0 0) padding-box;
  -webkit-mask: var(--corner), var(--inner);
  -webkit-mask-composite: source-out;
          mask: var(--corner) subtract, var(--inner);
  content: "";
}
@media (max-width: 680px) {
  .system-list-item .card-body h3,
  .system-report-card .card-body h3 {
    font-size: 22px;
  }
}
@media (max-width: 400px) {
  .system-list-item .card-body h3,
  .system-report-card .card-body h3 {
    font-size: 16px;
  }
}
@media (max-width: 680px) {
  .system-list-item .card-body div span,
  .system-report-card .card-body div span {
    font-size: 12px;
  }
}
@media (max-width: 680px) {
  .system-list-item .card-body .badge,
  .system-report-card .card-body .badge {
    font-size: 10px;
  }
}
.system-list-item h3,
.system-list-item #SR_StaticAPIRequired,
.system-list-item span,
.system-report-card h3,
.system-report-card #SR_StaticAPIRequired,
.system-report-card span {
  color: white;
}
@media (max-width: 680px) {
  .system-list-item h3,
  .system-list-item #SR_StaticAPIRequired,
  .system-list-item span,
  .system-report-card h3,
  .system-report-card #SR_StaticAPIRequired,
  .system-report-card span {
    font-size: 14px;
  }
}

/* Scroll sur Y pour les sections principales */
#systemReport,
#viewOptions {
  width: 100%;
  margin-bottom: 2rem;
}

#systemsListContainer {
  overflow-y: auto;
  max-height: 70vh;
}

/* System List Styling */
.system-list-item:hover {
  border-color: var(--color-theme);
  cursor: pointer;
}

/* System Info Styling */
#systemCopyLink,
#systemSpectateButton {
  min-width: 3rem;
  max-width: 3rem;
}

.system-report-card:hover {
  border-color: var(--color-theme);
}

/* Player box */
.player-view-box {
  display: flex;
  align-items: center;
  overflow: auto hidden;
  margin-bottom: 0.5rem;
}

span.ship-name {
  width: 70%;
  text-align: left;
  text-overflow: ellipsis;
}

span.ship-score {
  width: 30%;
  text-align: right;
  white-space: nowrap;
  overflow: auto hidden;
  overflow-x: hidden;
}

.mode-selection-container {
  width: 100%;
  position: relative;
}
.mode-selection-container .mode-selection {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}
@media (max-width: 768px) {
  .mode-selection-container .mode-selection span {
    display: none;
  }
}
@media (max-width: 960px) {
  .mode-selection-container .mode-selection {
    justify-content: center;
  }
}
@media (max-width: 480px) {
  .mode-selection-container .mode-selection {
    flex-wrap: wrap;
  }
}

.region-btn-group {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.region-choice {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.region-info {
  margin-bottom: 0.4rem;
  color: #fff;
  display: flex;
  gap: 0.3rem;
  align-items: center;
}
@media (max-width: 960px) {
  .region-info i,
  .region-info span {
    font-size: 12px;
  }
}

.region-btn {
  font-size: 18px;
}

.mode-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
}

.region-btn,
.mode-btn,
#togglePlayerPanel,
#settingsButton {
  --main-color: rgb(209, 209, 209);
  --main-bg-color: rgba(179, 179, 179, 0.36);
  --pattern-color: rgba(46, 213, 116, 0.073);
  text-transform: uppercase;
  letter-spacing: 0.5rem;
  background: transparent;
  -o-border-image: radial-gradient(circle, var(--main-color) 0%, rgba(0, 0, 0, 0) 0%) 1;
     border-image: radial-gradient(circle, var(--main-color) 0%, rgba(0, 0, 0, 0) 0%) 1;
  border-width: 1px 0 1px 0;
  color: var(--main-color);
  padding: 0.5rem 2rem;
}
.region-btn.selected,
.mode-btn.selected,
#togglePlayerPanel.selected,
#settingsButton.selected {
  -o-border-image: radial-gradient(circle, var(--main-color) 0%, rgba(0, 0, 0, 0) 100%) 1;
     border-image: radial-gradient(circle, var(--main-color) 0%, rgba(0, 0, 0, 0) 100%) 1;
  background: radial-gradient(circle, var(--main-bg-color) 0%, rgba(0, 0, 0, 0) 95%), linear-gradient(var(--pattern-color) 1px, transparent 1px), linear-gradient(to right, var(--pattern-color) 1px, transparent 1px);
}
@media (max-width: 1650px) {
  .region-btn,
  .mode-btn,
  #togglePlayerPanel,
  #settingsButton {
    padding: 0.5rem 1rem;
  }
  .region-btn span,
  .mode-btn span,
  #togglePlayerPanel span,
  #settingsButton span {
    font-size: 14px;
  }
}
@media (max-width: 1040px) {
  .region-btn span,
  .mode-btn span,
  #togglePlayerPanel span,
  #settingsButton span {
    font-size: 12px;
  }
}

@media (max-width: 960px) {
  #togglePlayerPanel {
    display: none;
  }
}

#systemSurvivalSpectateButton {
  margin-top: 1rem;
}
@media (max-width: 960px) {
  #systemSurvivalSpectateButton {
    font-size: 14px;
  }
}
@media (max-width: 450px) {
  #systemSurvivalSpectateButton {
    font-size: 12px;
    margin: 1rem auto;
    width: 100%;
  }
}

@media (max-width: 450px) {
  #systemReportLink {
    font-size: 12px;
  }
}

.container-title {
  display: flex;
  align-items: center;
}

.total-players {
  padding-bottom: 0.6rem;
  color: white;
}
@media (max-width: 1150px) {
  .total-players {
    display: none;
  }
}

.region-mode-wrapper {
  display: flex;
  flex-direction: row;
  align-items: end;
}
@media (max-width: 960px) {
  .region-mode-wrapper {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}

.system-custom-container {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
@media (max-width: 768px) {
  .system-custom-container {
    flex-direction: column;
  }
}

/*******************************************************
  1. Panel latéral
*******************************************************/
#playerPanel {
  position: fixed;
  top: 0;
  right: 0;
  width: 40%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.918);
  border-left: 1px grey solid;
  display: flex;
  flex-direction: column;
  color: #fff;
  padding: 10px;
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 9999;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
#playerPanel.open {
  transform: translateX(0);
}
#playerPanel h4 {
  font-size: 16px !important;
}

#spectatorCanvas {
  background-color: grey;
  border-radius: 0.375rem;
}/*# sourceMappingURL=main.css.map */