# themeScope

> Re-declares the surface tokens that derive from the neutral palette on the element that scopes its own `--ui-color-neutral-*` scale, so raised cards, frames and hairlines inside take that palette's hue in light and dark instead of the page root's.

```ts
import { themeScope } from "@sdxc/ui/styles";
```

Re-declares the surface tokens that derive from the neutral palette on the element that
scopes its own `--ui-color-neutral-*` scale, so raised cards, frames and hairlines inside
take that palette's hue in light and dark instead of the page root's.

## Signature

```ts
themeScope<Node extends Element = Element>(): MixinDescriptor<
	Node,
	[styles: CSSStyles],
	ElementProps
>
```

Returns: A `css()` mixin for the element that overrides a palette scale.

## Examples

```tsx
<div style="--ui-color-neutral-950: oklch(0.165 0.006 55)" mix={[themeScope()]}>{page}</div>;
```

## Used with it

The events, constants and types its module publishes, each imported from `@sdxc/ui/styles` too.

### LandingSectionSpacing

How much block padding a landing band leaves around its content.
`"hero"` is the first viewport, `"normal"` the repeating mid-page rhythm,
`"compact"` a tighter strip such as a proof row, `"cta"` a closing band.

#### Signature

```ts
type LandingSectionSpacing = "hero" | "normal" | "compact" | "cta"
```

One of `"hero"`, `"normal"`, `"compact"`, `"cta"`.

### LandingDisplayLevel

Outline depth displayHeading sizes for: `1` is the page H1,
`2` a section chapter, `3` a quieter in-band title.

#### Signature

```ts
type LandingDisplayLevel = 1 | 2 | 3
```

### LandingLeadStep

Which lead landingLead sizes: a band's, or the larger hero step.

#### Signature

```ts
type LandingLeadStep = "band" | "hero"
```

One of `"band"`, `"hero"`.

### LandingEyebrowVariant

How an eyebrow reads: `mono` a quiet uppercase label for section headers,
`quiet` a hairline pill for hero announcements, `soft` a filled muted pill,
`pill` the brand pill, `numbered` a brand-ringed pill led by its index.

#### Signature

```ts
type LandingEyebrowVariant = "mono" | "quiet" | "soft" | "pill" | "numbered"
```

One of `"mono"`, `"quiet"`, `"soft"`, `"pill"`, `"numbered"`.
