*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: #070707;
  color: #e9e9e9;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
a { color: #c5f135; text-underline-offset: 3px; }
a:hover { color: #d4ff40; }
:focus-visible { outline: 2px solid #c5f135; outline-offset: 3px; border-radius: 4px; }

.legal-top {
  position: sticky;
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem clamp(1.25rem, 5vw, 3rem);
  background: rgba(7, 7, 7, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  z-index: 10;
}
.legal-brand { color: #fff; font-weight: 700; font-size: 1.1rem; text-decoration: none; }
.legal-brand sup { font-size: 0.55em; }
.legal-back {
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 2rem;
}
.legal-back:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }

.legal {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(2.5rem, 8vw, 5rem) clamp(1.25rem, 5vw, 2rem) 4rem;
}
.legal-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.75rem;
  color: #c5f135;
  margin: 0 0 0.5rem;
}
.legal h1 {
  font-size: clamp(2.2rem, 6vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 0.5rem;
}
.legal-updated { color: #a3a3a3; font-size: 0.9rem; margin: 0 0 2.5rem; }
.legal h2 {
  color: #fff;
  font-size: 1.2rem;
  margin: 2.4rem 0 0.6rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.legal ul { padding-left: 1.2rem; }
.legal li { margin: 0.35rem 0; }
.legal code { background: rgba(255, 255, 255, 0.08); padding: 0.1em 0.4em; border-radius: 4px; font-size: 0.9em; }

.legal-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  justify-content: center;
  padding: 2rem 1.25rem 3rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.9rem;
  color: #a3a3a3;
}
.legal-foot a { color: #e9e9e9; text-decoration: none; }
.legal-foot a:hover { color: #c5f135; }

/* standalone 404 */
.nf {
  min-height: calc(100vh - 70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 760px;
  margin: 0 auto;
  padding: 3rem clamp(1.25rem, 5vw, 2rem);
}
.nf-code { font-size: clamp(5rem, 20vw, 11rem); font-weight: 800; line-height: 0.9; color: #c5f135; margin: 0; letter-spacing: -0.04em; }
.nf h1 { color: #fff; font-size: clamp(1.6rem, 5vw, 2.5rem); margin: 1rem 0 0.5rem; }
.nf p { color: #bdbdbd; margin: 0 0 1.5rem; }
.nf-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.nf-btn {
  display: inline-flex; align-items: center; min-height: 46px; padding: 0 1.4rem;
  border-radius: 2rem; border: 1px solid rgba(255, 255, 255, 0.25); color: #fff;
  text-decoration: none; font-weight: 600;
}
.nf-btn:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }
.nf-btn--primary { background: #c5f135; border-color: #c5f135; color: #0a0a0a; }
.nf-btn--primary:hover { background: #d4ff40; color: #0a0a0a; }
