taste-skill / Style guides / Turso style

How to build a UI in the Turso style

Turso (turso.tech) reads as Deep Oceanic Teal & Neon Aquamarine Edge Database — Dark oceanic #0F1317 / #0D1318 canvas with rgba(40,57,68,0.6) slate-teal borders, heavy 800-weight 60px Inter display headlines (-0.025em), and high-contrast #4FF8D2 aquamarine pill CTAs. This guide turns its extracted computed styles into an implementation kit: a live preview, the exact palette and type scale, real button and card recipes, the rules to avoid, and drop-in CSS variables, Tailwind config and a Cursor / Claude Code SKILL.md snippet.

Source: computed styles extracted from https://turso.tech on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Turso is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Turso.

Live preview with Turso tokens

Turso style · dark
Ship the product, not the pixels.
Preview text rendered with the extracted Turso canvas, text, muted and accent tokens.
Try Cloud free
Card on extracted card recipe
Accent link: #4FF8D2 · border #283945

Color palette (dark mode)

RoleValueTailwindUsage
canvasBg#0F1317bg-[#0F1317]Primary Turso page canvas
surfaceElevated#0D1318bg-[#0D1318]Primary elevated card & bento surface
surfaceSecondary#0D1318bg-[#0D1318]Secondary interactive container / hover fill
borderPrimary#283945border-[#283945]Primary structural divider (1px solid #283945)
borderSecondary#283945border-[#283945]Secondary nested module or pill border
textPrimary#FFFFFFtext-whiteHero H1, section H2 & high-contrast foreground
textMutedrgba(255, 255, 255, 0.5)text-white/[0.5]Lead paragraphs, descriptions & muted labels
accentPrimary#4FF8D2bg-[#4FF8D2]Primary interactive CTA & brand highlight (9999px (Pill))
accentSecondary#D946EFtext-[#D946EF]Secondary badge, syntax or telemetry highlight

Typography

Heading Inter (800 ExtraBold) · body Inter · mono JetBrains Mono

LevelComputed spec
Hero H160px | line-height 60px (leading-[1]) | letter-spacing -1.5px (tracking-[-0.025em]) | weight 800 (font-[800]) | color #FFFFFF (text-white) | font __Inter_f367f3
Section H2 (Primary)36px | line-height 40px (leading-[1.11]) | letter-spacing -0.9px (tracking-[-0.025em]) | weight 700 (font-[700]) | color #FFFFFF (text-white) | font __Inter_f367f3
Card / Feature H336px | line-height 40px (leading-[1.11]) | letter-spacing 0px (tracking-[0em]) | weight 700 (font-[700]) | color #FFFFFF (text-white) | font __Inter_f367f3
Body Copy (Paragraph)18px | line-height 32px (leading-[1.78]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(255, 255, 255, 0.5) (text-white/[0.5]) | font __Inter_f367f3
Monospace / Code Block13px | line-height 24px (leading-[1.85]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(255, 255, 255, 0.9) (text-white/[0.9]) | font monospace

Spacing, radius, depth and motion

Token familyMost frequent values (count on page)
Border radius8px ×19 · 16px ×17 · 12px ×10
Box shadowrgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px ×2
Grid / flex gap6px ×12 · 24px ×6 · 4px ×5 · 56px ×4 · 16px ×3 · 8px ×3
Container max-width1280px ×12 · 672px ×4 · 768px ×1 · 896px ×1
Section vertical padding56px / 56px ×9 · 40px / 40px ×1
Easingcubic-bezier(0.4, 0, 0.2, 1) ×77
Duration0.15s ×77

Component recipes

Buttons (1 distinct)

RenderedHeightPaddingRadiusBackground / TextBorderFont
Try Cloud free44px12px 24px9999px#4FF8D2
#000000
none14px / 600

Cards (8 distinct)

#BackgroundBorderRadiusPaddingShadow
1#0D13181px solid rgba(40, 57, 69, 0.8)12px0px 0pxrgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px
2transparent1px solid rgba(40, 57, 68, 0.6)12px0px 0pxnone
3transparent2px solid #3A4E5C12px12px 12pxnone
4rgba(14, 20, 24, 0.5)1px solid rgba(40, 57, 68, 0.6)16px20px 20pxnone

Rules: what never to do in the Turso style

Copy-paste kit

CSS variables
:root {
  /* Turso style — extracted from turso.tech by taste-skill */
  --canvas: #0F1317;
  --surface: #0D1318;
  --text: #FFFFFF;
  --text-muted: rgba(255, 255, 255, 0.5);
  --accent: #4FF8D2;
  --border: #283945;
  --font-heading: 'Inter (800 ExtraBold)', Inter, system-ui, -apple-system, sans-serif;
  --font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', 'JetBrains Mono', ui-monospace, monospace;
  --h1-size: 60px;
  --h1-tracking: -0.025em;
  --h1-weight: 800;
  --radius-button: 9999px;
  --radius-common: 8px;
  --shadow-common: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --duration: 0.15s;
}
tailwind.config.js
// tailwind.config.js — Turso style tokens (taste-skill)
module.exports = {
  theme: {
    extend: {
      colors: {
        canvas: "#0F1317",
        surface: "#0D1318",
        ink: "#FFFFFF",
        muted: "rgba(255, 255, 255, 0.5)",
        accent: "#4FF8D2",
        line: "#283945",
      },
      fontFamily: {
        heading: ["Inter (800 ExtraBold)", 'Inter', 'system-ui', 'sans-serif'],
        sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
        mono: ["JetBrains Mono", 'ui-monospace', 'monospace'],
      },
      fontSize: { display: ["60px", { letterSpacing: "-0.025em", fontWeight: "800" }] },
      borderRadius: { button: "9999px", card: "8px" },
      boxShadow: { brand: "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px" },
      transitionTimingFunction: { brand: "cubic-bezier(0.4, 0, 0.2, 1)" },
    },
  },
};
.cursor/skills/turso-style/SKILL.md
---
name: turso-style
description: Build UI in the Turso visual style (Deep Oceanic Teal & Neon Aquamarine Edge Database). Use when the user asks for a Turso-like look.
---

# Turso Style — Quick Rules (source: turso.tech, extracted by taste-skill)

## Tokens
- canvasBg: #0F1317 — Primary Turso page canvas
- surfaceElevated: #0D1318 — Primary elevated card & bento surface
- surfaceSecondary: #0D1318 — Secondary interactive container / hover fill
- borderPrimary: #283945 — Primary structural divider (1px solid #283945)
- borderSecondary: #283945 — Secondary nested module or pill border
- textPrimary: #FFFFFF — Hero H1, section H2 & high-contrast foreground
- textMuted: rgba(255, 255, 255, 0.5) — Lead paragraphs, descriptions & muted labels
- accentPrimary: #4FF8D2 — Primary interactive CTA & brand highlight (9999px (Pill))
- accentSecondary: #D946EF — Secondary badge, syntax or telemetry highlight

## Typography
- Heading font: Inter (800 ExtraBold); body: Inter; mono: JetBrains Mono
- Hero H1: 60px | line-height 60px (leading-[1]) | letter-spacing -1.5px (tracking-[-0.025em]) | weight 800 (font-[800]) | color #FFFFFF (text-white) | font __Inter_f367f3
- Section H2 (Primary): 36px | line-height 40px (leading-[1.11]) | letter-spacing -0.9px (tracking-[-0.025em]) | weight 700 (font-[700]) | color #FFFFFF (text-white) | font __Inter_f367f3
- Card / Feature H3: 36px | line-height 40px (leading-[1.11]) | letter-spacing 0px (tracking-[0em]) | weight 700 (font-[700]) | color #FFFFFF (text-white) | font __Inter_f367f3
- Body Copy (Paragraph): 18px | line-height 32px (leading-[1.78]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color rgba(255, 255, 255, 0.5) (text-white/[0.5]) | font __Inter_f367f3

## Components
- Primary button: height 44px, padding 12px 24px, radius 9999px, bg #4FF8D2, text #000000, 14px / 600
- Card: bg #0D1318, border 1px solid rgba(40, 57, 69, 0.8), radius 12px, padding 0px 0px

## Never
- NEVER substitute generic uncalibrated gray backgrounds for Turso’s exact #0F1317 canvas and #0D1318 surface pairing.
- NEVER replace Inter (800 ExtraBold) display typography or ignore its signature scale (60px / -0.025em (w800)).
- NEVER use thick opaque borders that clash with #283945 (1px solid #283945).
- NEVER deviate from the signature button geometry (9999px (Pill)) or introduce off-brand saturated gradients.
- NEVER use default browser monospace when rendering code or telemetry—always pair with JetBrains Mono.

Full 120-line spec: https://taste-skill.pages.dev/taste/turso/
Or install the full spec
npx taste-skill add turso

Related

Similar styles

Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.

See taste-skill Pro →