@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");

:root {
  color-scheme: dark;
  --bg: #0b0914;
  --surface: #151121;
  --surface-soft: #1b162b;
  --border: rgba(178, 148, 255, .15);
  --purple: #9864ff;
  --purple-light: #c5a6ff;
  --white: #f7f4ff;
  --muted: #a29bb4;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body.cobra-login {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--white);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.cobra-login button,
.cobra-login input {
  font: inherit;
}

.cobra-login a {
  color: inherit;
  text-decoration: none;
}

.cobra-login button,
.cobra-login a,
.cobra-login summary {
  -webkit-tap-highlight-color: transparent;
}

.cobra-login :focus-visible {
  outline: 2px solid #c6a9ff;
  outline-offset: 4px;
}

.cobra-background {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  background: radial-gradient(ellipse at 48% 40%, #171025 0%, #0b0914 72%);
}

.cobra-glow {
  position: absolute;
  width: 650px;
  height: 650px;
  border-radius: 50%;
  filter: blur(105px);
  opacity: .19;
}

.cobra-glow-one {
  top: -300px;
  left: -220px;
  background: #7439ec;
}

.cobra-glow-two {
  right: -270px;
  bottom: -350px;
  background: #8650f5;
}

.cobra-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(162, 119, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(162, 119, 255, .035) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: radial-gradient(ellipse at center, #000 0%, transparent 80%);
}

.cobra-header {
  width: min(1340px, calc(100% - 80px));
  height: 105px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, .055);
}

.cobra-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
}

.cobra-brand-icon {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(178, 148, 255, .4);
  border-radius: 13px;
  background: linear-gradient(145deg, #33204e, #171023);
  color: #d1b9ff;
  font-size: 26px;
  font-weight: 900;
  box-shadow: 0 0 25px rgba(145, 83, 255, .12);
}

.cobra-brand-name {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.8px;
}

.cobra-brand-name span {
  color: var(--purple-light);
}

.cobra-online,
.cobra-auth-badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #c9b5ef;
}

.cobra-online-dot,
.cobra-auth-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #a783ff;
  box-shadow: 0 0 13px #a783ff;
  animation: cobra-dot 2.2s ease-in-out infinite;
}

.cobra-main {
  width: min(1260px, calc(100% - 80px));
  min-height: calc(100vh - 185px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 72px 0;
}

.cobra-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
  align-items: center;
  gap: clamp(55px, 7vw, 115px);
  width: 100%;
}

.cobra-hero {
  min-width: 0;
}

.cobra-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #b99af9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.5px;
  margin-bottom: 25px;
}

.cobra-eyebrow-line {
  width: 28px;
  height: 2px;
  border-radius: 3px;
  background: #9e6cff;
  box-shadow: 0 0 13px rgba(158, 108, 255, .65);
}

.cobra-title {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-weight: 900;
  letter-spacing: -3px;
}

.cobra-title-small {
  color: #e2d8f4;
  font-size: clamp(22px, 2.7vw, 34px);
  letter-spacing: -.8px;
}

.cobra-title-main {
  display: flex;
  flex-direction: column;
  font-size: clamp(53px, 6.2vw, 87px);
  line-height: 1.04;
}

.cobra-title-glow {
  width: fit-content;
  max-width: 100%;
  color: #d8c5ff;
  text-shadow:
    0 0 18px rgba(159, 108, 255, .58),
    0 0 46px rgba(140, 77, 255, .3);
  animation: cobra-title-pulse 3.4s ease-in-out infinite;
}

.cobra-description {
  max-width: 580px;
  margin: 31px 0 0;
  color: #e1daee;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
}

.cobra-description-secondary {
  max-width: 530px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}

.cobra-features {
  display: grid;
  gap: 19px;
  margin-top: 35px;
}

.cobra-feature {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cobra-feature-icon {
  flex: 0 0 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(173, 129, 255, .2);
  border-radius: 11px;
  background: rgba(143, 86, 255, .09);
  color: #c3a4ff;
  font-size: 18px;
}

.cobra-feature div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cobra-feature strong {
  color: #f2edfc;
  font-size: 13px;
  font-weight: 700;
}

.cobra-feature div span {
  color: #9c94af;
  font-size: 12px;
  line-height: 1.5;
}

.cobra-invite {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 42px;
  padding: 23px;
  border: 1px solid rgba(163, 116, 255, .19);
  border-radius: 17px;
  background: linear-gradient(110deg, rgba(133, 74, 239, .13), rgba(50, 33, 82, .16));
}

.cobra-invite-content {
  min-width: 0;
}

.cobra-invite-label {
  color: #bb9aff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.7px;
}

.cobra-invite h2 {
  margin: 8px 0;
  color: #f5f0ff;
  font-size: 14px;
  font-weight: 800;
}

.cobra-invite p {
  max-width: 335px;
  margin: 0;
  color: #a9a0bb;
  font-size: 11px;
  line-height: 1.7;
}

.cobra-invite-button {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 43px;
  padding: 0 15px;
  border: 1px solid rgba(185, 153, 255, .4);
  border-radius: 10px;
  background: rgba(145, 92, 255, .17);
  color: #e6d9ff !important;
  font-size: 11px;
  font-weight: 800;
  transition: background .2s, transform .2s, border-color .2s;
}

.cobra-invite-button:hover {
  transform: translateY(-2px);
  background: rgba(145, 92, 255, .3);
  border-color: #bb9aff;
}

.cobra-auth {
  position: relative;
  width: 100%;
  padding: clamp(27px, 3.5vw, 43px);
  border: 1px solid rgba(174, 132, 255, .24);
  border-radius: 23px;
  background: linear-gradient(145deg, rgba(30, 23, 45, .97), rgba(16, 13, 27, .98));
  box-shadow:
    0 25px 85px rgba(0, 0, 0, .32),
    0 0 65px rgba(132, 75, 247, .055),
    inset 0 1px rgba(255, 255, 255, .045);
}

.cobra-auth::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 17%;
  width: 66%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #aa80ff, transparent);
  box-shadow: 0 0 19px rgba(170, 128, 255, .6);
}

.cobra-auth-top {
  text-align: center;
}

.cobra-auth-badge {
  padding: 9px 12px;
  border: 1px solid rgba(169, 125, 255, .18);
  border-radius: 100px;
  background: rgba(150, 92, 255, .075);
  font-size: 9px;
}

.cobra-auth-symbol {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  margin: 27px auto 23px;
  border: 1px solid rgba(180, 138, 255, .34);
  border-radius: 19px;
  background: linear-gradient(145deg, #382354, #1a1329);
  color: #d7c2ff;
  font-size: 39px;
  font-weight: 900;
  box-shadow: 0 0 32px rgba(147, 84, 255, .15);
}

.cobra-auth-top h2 {
  max-width: 340px;
  margin: 0 auto;
  color: #faf8ff;
  font-size: clamp(22px, 2.3vw, 29px);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -1.1px;
}

.cobra-auth-top p {
  max-width: 340px;
  margin: 15px auto 0;
  color: #aaa2bc;
  font-size: 12px;
  line-height: 1.85;
}

.cobra-alert {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 20px;
  padding: 12px;
  border: 1px solid rgba(255, 117, 147, .3);
  border-radius: 10px;
  background: rgba(255, 82, 116, .075);
  color: #ffbdcc;
  font-size: 12px;
  line-height: 1.5;
}

.cobra-alert[hidden] {
  display: none;
}

.cobra-discord-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  width: 100%;
  min-height: 58px;
  margin-top: 32px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  background: linear-gradient(110deg, #5865f2, #7783ff);
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 30px rgba(88, 101, 242, .19);
  transition: transform .2s, filter .2s, box-shadow .2s;
}

.cobra-discord-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.09);
  box-shadow: 0 12px 36px rgba(88, 101, 242, .3);
}

.cobra-button-arrow {
  margin-left: auto;
  font-size: 19px;
}

.cobra-auth-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 17px;
  color: #958da9;
  font-size: 10px;
  line-height: 1.6;
  text-align: center;
}

.cobra-auth-note span {
  color: #b899ff;
  font-size: 17px;
}

.cobra-auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 32px 0 18px;
}

.cobra-auth-divider > span {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, .085);
}

.cobra-auth-divider p {
  margin: 0;
  color: #80768f;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.3px;
  white-space: nowrap;
}

.cobra-admin {
  border: 1px solid rgba(166, 128, 238, .12);
  border-radius: 12px;
  background: rgba(255, 255, 255, .018);
}

.cobra-admin summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 67px;
  padding: 13px;
  cursor: pointer;
  list-style: none;
}

.cobra-admin summary::-webkit-details-marker {
  display: none;
}

.cobra-admin-lock {
  flex: 0 0 37px;
  height: 37px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(180, 138, 255, .13);
  border-radius: 10px;
  background: rgba(165, 110, 255, .07);
  color: #c1a5f4;
  font-size: 20px;
}

.cobra-admin-summary-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.cobra-admin-summary-text strong {
  color: #e9e1f5;
  font-size: 11px;
  font-weight: 700;
}

.cobra-admin-summary-text small {
  color: #8f869f;
  font-size: 10px;
  line-height: 1.5;
}

.cobra-admin-chevron {
  color: #b7a4d4;
  font-size: 21px;
  transition: transform .2s;
}

.cobra-admin[open] .cobra-admin-chevron {
  transform: rotate(180deg);
}

.cobra-admin-content {
  padding: 0 15px 17px;
}

.cobra-admin-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .07);
}

.cobra-admin-form label {
  color: #a89abf;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
}

.cobra-password-wrap {
  display: flex;
  align-items: center;
  border: 1px solid rgba(180, 151, 232, .17);
  border-radius: 10px;
  background: #0e0b18;
  transition: border-color .2s;
}

.cobra-password-wrap:focus-within {
  border-color: #a983ff;
}

.cobra-password-wrap input {
  width: 100%;
  min-width: 0;
  height: 45px;
  padding: 0 13px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #f8f4ff;
  font-size: 12px;
}

.cobra-password-wrap input::placeholder {
  color: #756b85;
}

.cobra-password-toggle {
  flex: 0 0 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: #b5a3d3;
  cursor: pointer;
  font-size: 18px;
}

.cobra-admin-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 45px;
  padding: 0 14px;
  border: 1px solid rgba(185, 148, 255, .28);
  border-radius: 10px;
  background: linear-gradient(110deg, #7742d5, #975cf2);
  color: white;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  transition: filter .2s, transform .2s;
}

.cobra-admin-submit:hover {
  transform: translateY(-1px);
  filter: brightness(1.12);
}

.cobra-admin-submit span:last-child {
  font-size: 18px;
}

.cobra-auth-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 27px;
  color: #7d748e;
  font-size: 9px;
  line-height: 1.7;
  text-align: center;
}

.cobra-footer-lock {
  color: #ac8ae8;
  font-size: 10px;
}

.cobra-footer {
  width: min(1340px, calc(100% - 80px));
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 auto;
  border-top: 1px solid rgba(255, 255, 255, .055);
  color: #716981;
  font-size: 10px;
}

@keyframes cobra-title-pulse {
  0%, 100% {
    opacity: 1;
    text-shadow:
      0 0 18px rgba(159, 108, 255, .58),
      0 0 46px rgba(140, 77, 255, .3);
  }

  50% {
    opacity: .72;
    text-shadow:
      0 0 7px rgba(159, 108, 255, .3),
      0 0 18px rgba(140, 77, 255, .12);
  }
}

@keyframes cobra-dot {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 13px #a783ff;
  }

  50% {
    opacity: .45;
    box-shadow: 0 0 4px #a783ff;
  }
}

@media (max-width: 1100px) {
  .cobra-layout {
    gap: 45px;
    grid-template-columns: minmax(0, 1fr) minmax(350px, .9fr);
  }

  .cobra-title-main {
    font-size: clamp(49px, 5.8vw, 70px);
  }

  .cobra-invite {
    flex-direction: column;
    align-items: stretch;
  }

  .cobra-invite-button {
    width: 100%;
  }
}

@media (max-width: 850px) {
  .cobra-header,
  .cobra-main,
  .cobra-footer {
    width: min(600px, calc(100% - 36px));
  }

  .cobra-header {
    height: 78px;
  }

  .cobra-main {
    min-height: auto;
    padding: 54px 0;
  }

  .cobra-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }

  .cobra-title-main {
    font-size: clamp(48px, 10vw, 77px);
  }

  .cobra-invite {
    flex-direction: row;
    align-items: center;
  }

  .cobra-invite-button {
    width: auto;
  }

  .cobra-auth {
    max-width: 510px;
    margin: 0 auto;
  }
}

@media (max-width: 520px) {
  .cobra-header,
  .cobra-main,
  .cobra-footer {
    width: calc(100% - 28px);
  }

  .cobra-brand-name {
    font-size: 17px;
  }

  .cobra-online {
    font-size: 8px;
    letter-spacing: .7px;
  }

  .cobra-main {
    padding: 42px 0;
  }

  .cobra-eyebrow {
    font-size: 9px;
  }

  .cobra-title {
    letter-spacing: -1.5px;
  }

  .cobra-title-small {
    font-size: 22px;
  }

  .cobra-title-main {
    font-size: clamp(39px, 11vw, 57px);
  }

  .cobra-description {
    font-size: 14px;
  }

  .cobra-invite {
    flex-direction: column;
    align-items: stretch;
  }

  .cobra-invite-button {
    width: 100%;
  }

  .cobra-auth {
    padding: 25px 19px;
    border-radius: 18px;
  }

  .cobra-auth-top h2 {
    font-size: 24px;
  }

  .cobra-footer {
    min-height: 85px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cobra-login *,
  .cobra-login *::before,
  .cobra-login *::after {
    animation: none !important;
    transition: none !important;
  }
}


/* ==================================================
   ITSBYCOBRA — IDENTITÉ VISUELLE OFFICIELLE
   ================================================== */

.cobra-brand-icon,
.cobra-auth-symbol {
  overflow: hidden;
  padding: 0;
  background: #100918;
}

.cobra-brand-logo,
.cobra-auth-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.cobra-brand-logo {
  transition: transform .25s ease;
}

.cobra-brand:hover .cobra-brand-logo {
  transform: scale(1.08);
}

.cobra-hero-banner {
  position: relative;
  width: 100%;
  margin-bottom: 36px;
  overflow: hidden;
  border: 1px solid rgba(181, 129, 255, .3);
  border-radius: 18px;
  background: #0c0713;
  box-shadow:
    0 15px 45px rgba(0, 0, 0, .28),
    0 0 35px rgba(153, 73, 255, .12);
}

.cobra-hero-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 28px rgba(149, 69, 255, .08);
  pointer-events: none;
}

.cobra-hero-banner img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 850px) {
  .cobra-hero-banner {
    margin-bottom: 30px;
  }
}

@media (max-width: 520px) {
  .cobra-hero-banner {
    margin-bottom: 25px;
    border-radius: 12px;
  }
}
