@font-face {
  font-family: 'Uni Sans';
  src: url('./assets/trifecta_uni_sans_heavy.otf') format('opentype');
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

:root {
  color-scheme: dark;
  /* Sampled from 1080x360.jpg: background, pattern, smoke, and mark. */
  --background: #161616;
  --grid: #303330;
  --smoke: #1e201f;
  --foreground: #dcdcdc;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--background);
  color: var(--foreground);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-width: 240px; min-height: 100%; }
body { -webkit-font-smoothing: antialiased; }

.coming-soon {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100svh;
  min-height: 240px;
  overflow: hidden;
  background: var(--background);
}

.grid-vignette, .triangle-grid, .light-waves, .edge-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.grid-vignette {
  opacity: 1;
}

.triangle-grid {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='%23303330' d='M4.5 5h5L7 9.4z'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-position: center;
  background-size: 10px 10px;
}

.grid-vignette::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 58% 52% at 50% 48%, transparent 4%, #16161680 42%, #161616 90%);
}

.light-waves {
  opacity: 0.85;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

.wave-fallback {
  background: radial-gradient(ellipse 65% 3% at 45% 49%, #8b988529, transparent 85%);
  animation: fallback-drift 14s ease-in-out infinite alternate;
}

@keyframes fallback-drift {
  from { transform: translateY(-2%) rotate(-5deg); }
  to { transform: translateY(2%) rotate(5deg); }
}

.edge-shade {
  background: radial-gradient(ellipse at center, transparent 24%, #16161630 65%, #161616b3 100%);
}

.brand {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translate(-50%, -42%);
  user-select: none;
}

.trinity {
  display: block;
  width: clamp(64px, 6.15vw, 88px);
  height: auto;
  filter: invert(1);
  opacity: 0.86;
}

.stake {
  position: relative;
  width: clamp(29px, 2.8vw, 40px);
  aspect-ratio: 447 / 222;
  margin-top: -1px;
}

.stake img {
  display: block;
  width: 100%;
  height: 100%;
  filter: invert(1);
  opacity: 0.62;
}

.stake-sheen {
  position: absolute;
  inset: 0;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20447%20222%22%3E%3Cg%20fill%3D%22white%22%20transform%3D%22matrix%281.1284878%2C0%2C0%2C1.1216599%2C5.6467546e-4%2C6.2903155e-4%29%22%3E%3Cpath%20d%3D%22M%2025.68%2C56.89%20C%2025.58%2C30.42%2042.52%2C15.74%2073.62%2C15.63%2096%2C15.55%20100%2C30.19%20100%2C35.51%20c%200%2C10.19%20-14.42%2C21%20-14.42%2C21%200%2C0%200.8%2C6.35%2013.18%2C6.3%2012.38%2C-0.05%2024.44%2C-8.22%2024.37%2C-28.67%20C%20123.07%2C10.65%2098.46%2C-0.09%2074.13%2C0%2053.78%2C0.07%20-0.19%2C2.93%200%2C56.51%20c%200.18%2C47.59%2090%2C51.79%2090.07%2C82.26%200.12%2C33.09%20-37%2C42%20-49.56%2C42%20-12.56%2C0%20-17.67%2C-8.89%20-17.69%2C-13.77%20-0.09%2C-26.8%2026.58%2C-34.26%2026.58%2C-34.26%200%2C-2%20-1.56%2C-10.91%20-11.89%2C-10.87%20-26.61%2C0.05%20-37.21%2C22.93%20-37.13%2C45.27%200.07%2C19%2013.5%2C30.86%2033.78%2C30.78%2038.78%2C-0.14%2082.51%2C-19.06%2082.35%2C-61.08%20C%20116.37%2C97.54%2025.79%2C87.28%2025.68%2C56.89%20Z%22%2F%3E%3Cpath%20d%3D%22m%20395.37%2C162.18%20c%20-0.31%2C-0.75%20-1.18%2C-0.57%20-2.33%2C0.38%20-4.4%2C3.63%20-14.46%2C13.91%20-38%2C14%20-42.92%2C0.16%20-50.37%2C-70.58%20-50.37%2C-70.58%200%2C0%2032.71%2C-24.42%2037.82%2C-34.27%205.11%2C-9.85%20-11.15%2C-12%20-11.15%2C-12%200%2C0%20-22.88%2C27.84%20-39.1%2C36%20C%20294%2C83.6%20306%2C56%20306.69%2C40.13%20c%200.69%2C-15.87%20-19.11%2C-12%20-22.27%2C-10.48%200%2C6.93%20-17.49%2C69.84%20-23.86%2C104.42%20-3.75%2C6%20-9.11%2C12.86%20-13.91%2C12.87%20-2.78%2C0%20-3.8%2C-5.15%20-3.83%2C-12.53%200%2C-10.24%205.64%2C-26.65%205.6%2C-36.62%200%2C-6.9%20-3.17%2C-7.31%20-5.9%2C-7.3%20-0.59%2C0%20-3.87%2C0.09%20-4.47%2C0.09%20-7%2C0%20-4.7%2C-6%20-11%2C-5.94%20-19.28%2C0.07%20-43.84%2C21.12%20-44.91%2C52.89%20-6.51%2C4.31%20-15.62%2C9.74%20-20.27%2C9.76%20-4.88%2C0%20-6.09%2C-4.51%20-6.1%2C-8.41%200%2C-6.85%2011.08%2C-47.55%2011.08%2C-47.55%200%2C0%2014.11%2C-3.62%2020.27%2C-4.81%204.66%2C-0.91%206%2C-1.25%207.81%2C-3.5%201.81%2C-2.25%205.35%2C-6.9%208.21%2C-11.08%202.86%2C-4.18%200.05%2C-7.41%20-5.24%2C-7.39%20-6.94%2C0%20-25.51%2C4.4%20-25.51%2C4.4%200%2C0%208.92%2C-38.46%208.91%2C-39.24%20-0.01%2C-0.78%20-1%2C-1.19%20-2.51%2C-1.18%20-3.38%2C0%20-9.41%2C1.82%20-13.27%2C3.2%20-5.91%2C2.11%20-10.72%2C9.35%20-11.69%2C12.72%20-0.97%2C3.37%20-7.65%2C29.76%20-7.65%2C29.76%200%2C0%20-35.77%2C12.35%20-40.66%2C14.2%20a%200.74%2C0.74%200%200%200%20-0.5%2C0.7%20c%200%2C0.32%204.09%2C16%2012.48%2C15.94%206%2C0%2023.63%2C-7.22%2023.63%2C-7.22%200%2C0%20-9.06%2C36%20-9%2C48%200%2C7.7%203.63%2C16.72%2018.67%2C16.67%2014%2C0%2026.25%2C-7.23%2033.11%2C-12.26%203.75%2C9.49%2012.61%2C12.09%2018.66%2C12.07%2013.56%2C0%2024%2C-10.82%2025.34%2C-12.27%201.76%2C4.16%205.91%2C12.15%2015.39%2C12.12%205.36%2C0%2010.91%2C-6%2015%2C-11.82%20a%2023.38%2C23.38%200%200%200%200.05%2C3.63%20c%201.64%2C14.92%2023.79%2C6.15%2025%2C4.07%200.75%2C-10.79%200.28%2C-32.85%204.59%2C-46.47%205.72%2C46.46%2027.42%2C77.71%2066.43%2C77.57%2021.81%2C-0.08%2033%2C-6.35%2037.63%2C-11.52%20a%2015.9%2C15.9%200%200%200%203.37%2C-15.44%20z%20M%20208.2%2C146.86%20c%20-18.73%2C0.07%205.73%2C-48.48%2021.71%2C-48.54%200.02%2C6.26%20-0.33%2C48.47%20-21.71%2C48.54%20z%22%2F%3E%3Cpath%20d%3D%22m%20360.26%2C161.74%20c%2016.91%2C-0.06%2030%2C-11.19%2032.4%2C-14.81%203.1%2C-4.71%20-3.6%2C-11.82%20-5.73%2C-11.7%20-5.34%2C5.11%20-10.92%2C11.29%20-23.45%2C11.33%20-14.75%2C0.06%20-11.41%2C-16.17%20-11.41%2C-16.17%200%2C0%2028.39%2C3.67%2039.8%2C-16.74%203.65%2C-6.53%203.8%2C-15.56%202.33%2C-19.45%20-1.47%2C-3.89%20-9.73%2C-11.09%20-22.87%2C-10%20-16.14%2C1.36%20-36.48%2C18.19%20-40.95%2C38.4%20-3.59%2C16.26%203.2%2C39.24%2029.88%2C39.14%20z%20m%2018%2C-68.1%20c%202.66%2C-0.09%202.42%2C4.29%201.71%2C8.87%20-1%2C6.21%20-9.53%2C22%20-25.81%2C21.38%201.13%2C-9.19%2013.24%2C-29.89%2024.13%2C-30.25%20z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20447%20222%22%3E%3Cg%20fill%3D%22white%22%20transform%3D%22matrix%281.1284878%2C0%2C0%2C1.1216599%2C5.6467546e-4%2C6.2903155e-4%29%22%3E%3Cpath%20d%3D%22M%2025.68%2C56.89%20C%2025.58%2C30.42%2042.52%2C15.74%2073.62%2C15.63%2096%2C15.55%20100%2C30.19%20100%2C35.51%20c%200%2C10.19%20-14.42%2C21%20-14.42%2C21%200%2C0%200.8%2C6.35%2013.18%2C6.3%2012.38%2C-0.05%2024.44%2C-8.22%2024.37%2C-28.67%20C%20123.07%2C10.65%2098.46%2C-0.09%2074.13%2C0%2053.78%2C0.07%20-0.19%2C2.93%200%2C56.51%20c%200.18%2C47.59%2090%2C51.79%2090.07%2C82.26%200.12%2C33.09%20-37%2C42%20-49.56%2C42%20-12.56%2C0%20-17.67%2C-8.89%20-17.69%2C-13.77%20-0.09%2C-26.8%2026.58%2C-34.26%2026.58%2C-34.26%200%2C-2%20-1.56%2C-10.91%20-11.89%2C-10.87%20-26.61%2C0.05%20-37.21%2C22.93%20-37.13%2C45.27%200.07%2C19%2013.5%2C30.86%2033.78%2C30.78%2038.78%2C-0.14%2082.51%2C-19.06%2082.35%2C-61.08%20C%20116.37%2C97.54%2025.79%2C87.28%2025.68%2C56.89%20Z%22%2F%3E%3Cpath%20d%3D%22m%20395.37%2C162.18%20c%20-0.31%2C-0.75%20-1.18%2C-0.57%20-2.33%2C0.38%20-4.4%2C3.63%20-14.46%2C13.91%20-38%2C14%20-42.92%2C0.16%20-50.37%2C-70.58%20-50.37%2C-70.58%200%2C0%2032.71%2C-24.42%2037.82%2C-34.27%205.11%2C-9.85%20-11.15%2C-12%20-11.15%2C-12%200%2C0%20-22.88%2C27.84%20-39.1%2C36%20C%20294%2C83.6%20306%2C56%20306.69%2C40.13%20c%200.69%2C-15.87%20-19.11%2C-12%20-22.27%2C-10.48%200%2C6.93%20-17.49%2C69.84%20-23.86%2C104.42%20-3.75%2C6%20-9.11%2C12.86%20-13.91%2C12.87%20-2.78%2C0%20-3.8%2C-5.15%20-3.83%2C-12.53%200%2C-10.24%205.64%2C-26.65%205.6%2C-36.62%200%2C-6.9%20-3.17%2C-7.31%20-5.9%2C-7.3%20-0.59%2C0%20-3.87%2C0.09%20-4.47%2C0.09%20-7%2C0%20-4.7%2C-6%20-11%2C-5.94%20-19.28%2C0.07%20-43.84%2C21.12%20-44.91%2C52.89%20-6.51%2C4.31%20-15.62%2C9.74%20-20.27%2C9.76%20-4.88%2C0%20-6.09%2C-4.51%20-6.1%2C-8.41%200%2C-6.85%2011.08%2C-47.55%2011.08%2C-47.55%200%2C0%2014.11%2C-3.62%2020.27%2C-4.81%204.66%2C-0.91%206%2C-1.25%207.81%2C-3.5%201.81%2C-2.25%205.35%2C-6.9%208.21%2C-11.08%202.86%2C-4.18%200.05%2C-7.41%20-5.24%2C-7.39%20-6.94%2C0%20-25.51%2C4.4%20-25.51%2C4.4%200%2C0%208.92%2C-38.46%208.91%2C-39.24%20-0.01%2C-0.78%20-1%2C-1.19%20-2.51%2C-1.18%20-3.38%2C0%20-9.41%2C1.82%20-13.27%2C3.2%20-5.91%2C2.11%20-10.72%2C9.35%20-11.69%2C12.72%20-0.97%2C3.37%20-7.65%2C29.76%20-7.65%2C29.76%200%2C0%20-35.77%2C12.35%20-40.66%2C14.2%20a%200.74%2C0.74%200%200%200%20-0.5%2C0.7%20c%200%2C0.32%204.09%2C16%2012.48%2C15.94%206%2C0%2023.63%2C-7.22%2023.63%2C-7.22%200%2C0%20-9.06%2C36%20-9%2C48%200%2C7.7%203.63%2C16.72%2018.67%2C16.67%2014%2C0%2026.25%2C-7.23%2033.11%2C-12.26%203.75%2C9.49%2012.61%2C12.09%2018.66%2C12.07%2013.56%2C0%2024%2C-10.82%2025.34%2C-12.27%201.76%2C4.16%205.91%2C12.15%2015.39%2C12.12%205.36%2C0%2010.91%2C-6%2015%2C-11.82%20a%2023.38%2C23.38%200%200%200%200.05%2C3.63%20c%201.64%2C14.92%2023.79%2C6.15%2025%2C4.07%200.75%2C-10.79%200.28%2C-32.85%204.59%2C-46.47%205.72%2C46.46%2027.42%2C77.71%2066.43%2C77.57%2021.81%2C-0.08%2033%2C-6.35%2037.63%2C-11.52%20a%2015.9%2C15.9%200%200%200%203.37%2C-15.44%20z%20M%20208.2%2C146.86%20c%20-18.73%2C0.07%205.73%2C-48.48%2021.71%2C-48.54%200.02%2C6.26%20-0.33%2C48.47%20-21.71%2C48.54%20z%22%2F%3E%3Cpath%20d%3D%22m%20360.26%2C161.74%20c%2016.91%2C-0.06%2030%2C-11.19%2032.4%2C-14.81%203.1%2C-4.71%20-3.6%2C-11.82%20-5.73%2C-11.7%20-5.34%2C5.11%20-10.92%2C11.29%20-23.45%2C11.33%20-14.75%2C0.06%20-11.41%2C-16.17%20-11.41%2C-16.17%200%2C0%2028.39%2C3.67%2039.8%2C-16.74%203.65%2C-6.53%203.8%2C-15.56%202.33%2C-19.45%20-1.47%2C-3.89%20-9.73%2C-11.09%20-22.87%2C-10%20-16.14%2C1.36%20-36.48%2C18.19%20-40.95%2C38.4%20-3.59%2C16.26%203.2%2C39.24%2029.88%2C39.14%20z%20m%2018%2C-68.1%20c%202.66%2C-0.09%202.42%2C4.29%201.71%2C8.87%20-1%2C6.21%20-9.53%2C22%20-25.81%2C21.38%201.13%2C-9.19%2013.24%2C-29.89%2024.13%2C-30.25%20z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
}

.stake-sheen::after {
  content: '';
  position: absolute;
  inset: -25% auto -25% 0;
  width: 65%;
  background: linear-gradient(90deg, transparent, #fff5 30%, #fff 50%, #fff5 70%, transparent);
  transform: translateX(-150%) skewX(-18deg);
  animation: sheen-pass 9s ease-in-out infinite;
}

.launch-status {
  position: absolute;
  z-index: 2;
  right: max(25px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 12px;
}

.launch-status h1 {
  -webkit-user-select: none;
  user-select: none;
  margin: 0;
  color: #8b8d8b;
  font-family: 'Uni Sans', Arial, Helvetica, sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 900;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.spinner {
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: #e4e6e4;
}

.spinner path { animation: spinner-glow 1s linear infinite; }
.spinner path:nth-child(1) { animation-delay: -0.25s; }
.spinner path:nth-child(2) { animation-delay: -0.375s; }
.spinner path:nth-child(3) { animation-delay: -0.125s; }
.spinner path:nth-child(4) { animation-delay: -0.5s; }
.spinner path:nth-child(5) { animation-delay: 0s; }
.spinner path:nth-child(6) { animation-delay: -0.625s; }
.spinner path:nth-child(7) { animation-delay: -0.875s; }
.spinner path:nth-child(8) { animation-delay: -0.75s; }

@keyframes sheen-pass {
  0% { transform: translateX(-150%) skewX(-18deg); }
  12%, 100% { transform: translateX(200%) skewX(-18deg); }
}

@keyframes spinner-glow {
  from { opacity: 1; }
  to { opacity: 0.12; }
}

@media (max-width: 600px) {
  .grid-vignette::after {
    background: radial-gradient(ellipse 85% 50% at center, transparent 4%, #16161699 50%, #161616 94%);
  }
  .launch-status { right: max(20px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom)); gap: 10px; }
  .spinner { width: 20px; height: 20px; flex-basis: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .stake-sheen::after, .spinner path, .wave-fallback { animation: none; }
}
