/* Planet Bluesabre — discontinued landing page styles. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --color-bg: #161826;
  --color-text: #e9e9ed;
  --color-accent: #9184d9;
  --color-accent-300: #d2cefd;
  --color-divider: color-mix(in srgb, #e9e9ed 16%, transparent);

  --font-heading: "Inter", system-ui, sans-serif;
  --font-heading-weight: 500;
  --font-body: "Inter", system-ui, sans-serif;

  --space-2: 5.6px;
  --space-3: 8.4px;
  --space-4: 11.2px;
  --space-6: 16.8px;

  --radius-sm: 4px;
  --radius-md: 8px;
}

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

body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
}
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2);
}
h1 { font-size: 42px; }
h2 { font-size: 32px; }
h3 { font-size: 25px; }
h4 { font-size: 20px; }
h5 { font-size: 16px; }
h6 { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
p { margin: 0 0 var(--space-3); }
a { color: var(--color-accent); text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
::selection { background: color-mix(in srgb, var(--color-accent) 30%, transparent); }

.lighten { mix-blend-mode: lighten; background-color: transparent; }

.tag {
  display: inline-flex; align-items: center; font-size: 11px;
  letter-spacing: 0.02em; padding: 3px 10px;
  border-radius: calc(var(--radius-md) * 0.75);
}
.tag-outline { border: 1px solid var(--color-accent); color: var(--color-accent); }

@keyframes drift {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(0, -18px) rotate(2deg); }
}
@keyframes twinkle {
  0%, 100% { opacity: 0.25; }
  50% { opacity: 0.9; }
}

.pb-page {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.pb-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.35;
  background-image:
    radial-gradient(1.5px 1.5px at 8% 22%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1.5px 1.5px at 22% 68%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1px 1px at 38% 12%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1px 1px at 54% 78%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1.5px 1.5px at 68% 34%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1px 1px at 79% 58%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1.5px 1.5px at 91% 20%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1px 1px at 12% 88%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1px 1px at 47% 45%, #e9e9ed 100%, transparent 100%),
    radial-gradient(1.5px 1.5px at 85% 82%, #e9e9ed 100%, transparent 100%);
}
.pb-star-a { animation: twinkle 4.5s ease-in-out infinite; }
.pb-star-b { animation: twinkle 5.5s ease-in-out infinite 1.2s; }

.pb-planet {
  position: absolute;
  top: 8%;
  right: -6%;
  width: min(620px, 42vw);
  min-width: 220px;
  opacity: 0.6;
  animation: drift 14s ease-in-out infinite;
  z-index: 1;
}

.pb-hero {
  position: relative;
  z-index: 2;
  flex: 1;
  padding: 140px 64px 64px;
}

.pb-content {
  max-width: 620px;
}

.pb-status {
  margin-bottom: var(--space-4);
}

.pb-title {
  font-size: 52px;
  margin: 0 0 var(--space-3);
  letter-spacing: -0.02em;
}

.pb-subhead {
  font-size: 18px;
  color: var(--color-accent-300);
  margin: 0 0 var(--space-4);
}

.pb-body {
  font-size: 15px;
  line-height: 1.6;
  color: color-mix(in srgb, var(--color-text) 70%, transparent);
  margin: 0 0 var(--space-6);
}

.pb-links {
  display: flex;
  flex-direction: column;
  max-width: 620px;
}

.pb-link {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 16px;
  text-decoration: none;
  color: inherit;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--color-divider);
  border-radius: var(--radius-sm);
}
.pb-links a.pb-link:last-child {
  border-bottom: none;
}
.pb-link-name {
  font-family: var(--font-heading);
  font-size: 18px;
  color: var(--color-accent);
}
.pb-link-desc {
  font-size: 13px;
  color: color-mix(in srgb, var(--color-text) 60%, transparent);
}
.pb-link:hover,
.pb-link:focus-visible {
  background: color-mix(in srgb, var(--color-accent) 8%, transparent);
  padding-left: var(--space-3);
  padding-right: var(--space-3);
  margin: 0 calc(var(--space-3) * -1);
}
.pb-link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: -2px;
}

.pb-redirect-banner {
  max-width: 620px;
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-accent) 8%, transparent);
  font-size: 14px;
}
.pb-redirect-banner p {
  margin: 0;
}
.pb-redirect-banner a {
  color: var(--color-accent-300);
}

.pb-footer {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 16px;
  padding: var(--space-3) 64px;
  border-top: 1px solid var(--color-divider);
  font-size: 12px;
  color: color-mix(in srgb, var(--color-text) 55%, transparent);
}
.pb-footer strong {
  color: var(--color-text);
}

@media (max-width: 640px) {
  .pb-hero {
    padding: 96px 24px 48px;
  }
  .pb-footer {
    padding: var(--space-3) 24px;
  }
  .pb-title {
    font-size: 36px;
  }
  .pb-planet {
    width: min(360px, 60vw);
    opacity: 0.4;
  }
}
