Skip to content

Theme gallery · six directions

A palette for your ambition.

Six distinct signatures. Real surfaces, real components, and a look you can make your own.

Same foundation. Your point of view.

Compare every palette in light or dark, with your chosen finish.

Preview theme
Surface finish
Aureform palette

Aurora

Electric optimism. A bright beginning.

Project momentum

128ideas in motion

+24%
Aurora project momentum
Aurora project momentumProgress
Mon28
Tue42
Wed36
Thu64
Fri82
Dark · Elevated
View complete example
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function AuroraExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Mon", value: 28 },
    { label: "Tue", value: 42 },
    { label: "Wed", value: 36 },
    { label: "Thu", value: 64 },
    { label: "Fri", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#8B5CF6","#22D3EE","#34D399"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Aurora"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Make your next move."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Electric optimism. A bright beginning."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Launch overview"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Project momentum" valueLabel="Progress" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Project name"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Your next great idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Create project"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Start again"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Your preview is ready."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "aurora",
  "colors": {
    "primary": "#8B5CF6",
    "secondary": "#22D3EE",
    "tertiary": "#34D399"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#8B5CF6",
        "position": 0
      },
      {
        "color": "#22D3EE",
        "position": 0.5
      },
      {
        "color": "#34D399",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredAuroraExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <AuroraExample />
    </AppearanceScope>
  );
}
Aureform palette

Violet

A little mystery. A lot of confidence.

Project momentum

128ideas in motion

+24%
Violet project momentum
Violet project momentumProgress
Mon28
Tue42
Wed36
Thu64
Fri82
Dark · Elevated
View complete example
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function VioletExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Mon", value: 28 },
    { label: "Tue", value: 42 },
    { label: "Wed", value: 36 },
    { label: "Thu", value: 64 },
    { label: "Fri", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#8B5CF6","#E879F9","#6366F1"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Violet"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Make your next move."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"A little mystery. A lot of confidence."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Launch overview"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Project momentum" valueLabel="Progress" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Project name"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Your next great idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Create project"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Start again"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Your preview is ready."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "violet",
  "colors": {
    "primary": "#8B5CF6",
    "secondary": "#E879F9",
    "tertiary": "#6366F1"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#8B5CF6",
        "position": 0
      },
      {
        "color": "#E879F9",
        "position": 0.5
      },
      {
        "color": "#6366F1",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredVioletExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <VioletExample />
    </AppearanceScope>
  );
}
Aureform palette

Ocean

Clarity, in every direction.

Project momentum

128ideas in motion

+24%
Ocean project momentum
Ocean project momentumProgress
Mon28
Tue42
Wed36
Thu64
Fri82
Dark · Elevated
View complete example
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function OceanExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Mon", value: 28 },
    { label: "Tue", value: 42 },
    { label: "Wed", value: 36 },
    { label: "Thu", value: 64 },
    { label: "Fri", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#3B82F6","#06B6D4","#38BDF8"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Ocean"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Make your next move."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Clarity, in every direction."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Launch overview"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Project momentum" valueLabel="Progress" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Project name"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Your next great idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Create project"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Start again"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Your preview is ready."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "ocean",
  "colors": {
    "primary": "#3B82F6",
    "secondary": "#06B6D4",
    "tertiary": "#38BDF8"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#3B82F6",
        "position": 0
      },
      {
        "color": "#06B6D4",
        "position": 0.5
      },
      {
        "color": "#38BDF8",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredOceanExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <OceanExample />
    </AppearanceScope>
  );
}
Aureform palette

Mint

Fresh thinking. Lasting energy.

Project momentum

128ideas in motion

+24%
Mint project momentum
Mint project momentumProgress
Mon28
Tue42
Wed36
Thu64
Fri82
Dark · Elevated
View complete example
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function MintExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Mon", value: 28 },
    { label: "Tue", value: 42 },
    { label: "Wed", value: 36 },
    { label: "Thu", value: 64 },
    { label: "Fri", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#10B981","#A3E635","#2DD4BF"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Mint"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Make your next move."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Fresh thinking. Lasting energy."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Launch overview"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Project momentum" valueLabel="Progress" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Project name"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Your next great idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Create project"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Start again"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Your preview is ready."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "mint",
  "colors": {
    "primary": "#10B981",
    "secondary": "#A3E635",
    "tertiary": "#2DD4BF"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#10B981",
        "position": 0
      },
      {
        "color": "#A3E635",
        "position": 0.5
      },
      {
        "color": "#2DD4BF",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredMintExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <MintExample />
    </AppearanceScope>
  );
}
Aureform palette

Ember

A spark worth following.

Project momentum

128ideas in motion

+24%
Ember project momentum
Ember project momentumProgress
Mon28
Tue42
Wed36
Thu64
Fri82
Dark · Elevated
View complete example
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function EmberExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Mon", value: 28 },
    { label: "Tue", value: 42 },
    { label: "Wed", value: 36 },
    { label: "Thu", value: 64 },
    { label: "Fri", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#F97316","#F43F5E","#FBBF24"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Ember"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Make your next move."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"A spark worth following."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Launch overview"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Project momentum" valueLabel="Progress" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Project name"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Your next great idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Create project"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Start again"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Your preview is ready."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "ember",
  "colors": {
    "primary": "#F97316",
    "secondary": "#F43F5E",
    "tertiary": "#FBBF24"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#F97316",
        "position": 0
      },
      {
        "color": "#F43F5E",
        "position": 0.5
      },
      {
        "color": "#FBBF24",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredEmberExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <EmberExample />
    </AppearanceScope>
  );
}
Aureform palette

Rose

Warmth with a creative edge.

Project momentum

128ideas in motion

+24%
Rose project momentum
Rose project momentumProgress
Mon28
Tue42
Wed36
Thu64
Fri82
Dark · Elevated
View complete example
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function RoseExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Mon", value: 28 },
    { label: "Tue", value: 42 },
    { label: "Wed", value: 36 },
    { label: "Thu", value: 64 },
    { label: "Fri", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#EC4899","#A78BFA","#FB7185"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Rose"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Make your next move."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Warmth with a creative edge."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Launch overview"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Project momentum" valueLabel="Progress" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Project name"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Your next great idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Create project"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Start again"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Your preview is ready."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "rose",
  "colors": {
    "primary": "#EC4899",
    "secondary": "#A78BFA",
    "tertiary": "#FB7185"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#EC4899",
        "position": 0
      },
      {
        "color": "#A78BFA",
        "position": 0.5
      },
      {
        "color": "#FB7185",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredRoseExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <RoseExample />
    </AppearanceScope>
  );
}

Found your direction? Refine every shade in the studio.

Make it yours