# Coy Denial
URL: https://remocn.dev/docs/typography/coy-denial

A huge "Don't check the site at nine." with a sheepish "(Do.)" tucked into the corner

- Install: `npx shadcn@latest add @remocn/coy-denial`
- Vibe: playful
- Natural length: 144f @ 30fps

## Installation

```bash
npx shadcn@latest add @remocn/coy-denial
```

## Usage

```tsx
// src/Root.tsx
import { Composition } from "remotion";
import { CoyDenial } from "@/components/remocn/coy-denial";

const CoyDenialScene = () => <CoyDenial rounds={[{ say: "Nothing is launching on Thursday.", aside: "(Something is.)" }]} />;

export const RemotionRoot = () => (
  <Composition
    id="CoyDenial"
    component={CoyDenialScene}
    durationInFrames={180}
    fps={30}
    width={1280}
    height={720}
  />
);
```

A big statement builds word by word, then a sheepish parenthetical aside appears in the corner that contradicts it; the round exits and the next one follows. Pass `rounds` (say and aside pairs); it fits the pace to the composition length.

## Props

| Prop | Type | Default | Description |
|---|---|---|---|
| `rounds` | `CoyDenialRound[]` | `DEFAULT_ROUNDS` | Statement and aside pairs, played in turn. |
| `accent` | `string` | — | Color of the corner aside; defaults to the theme accent. |
| `background` | `string` | — | Stage fill color; pass "transparent" to overlay your own footage. |
| `speed` | `number` | `1` | Playback multiplier for the whole timeline. |
| `theme` | `"dark" \| "light"` | `"dark"` | Color scheme; ships dark and light. |

## Use when
- A teaser where a loud denial is quietly undone by a tiny aside.
- A comedic beat in a launch video, pairing a statement with its contradiction.
- A short back-to-back sequence of two or three denial and aside pairs.

## Don't use when
- The punchline is an attribution below a quote — use `deadpan-box`.
- You want the answer to come first, big — use `answer-first`.
- You need a hesitant start answered by a bold reply — use `no-buts`.