Dark Mode Premium App

A premium dark-themed application landing page with refined shadows, subtle borders, and elegant contrast.

Screenshot of the site generated from the Dark Mode Premium App prompt
Real output: this prompt with its default settings, generated by Claude Opus 5.5 on Oct 13, 2026. One attempt, no edits.Open full site
Works with:ClaudeChatGPTv0CursorBolt
dark-modepremiumappmodernsleek

Prompt

Create a premium dark mode landing page for a software product. Precise and expensive, like a top-tier fintech or developer tool, through restraint rather than effects.


Brief

  • Subject: Ledger — real-time cash visibility for finance teams at mid-size companies
  • Write specific copy: what it does and for whom, real feature names, integration names, prices, quotes with roles. Show the actual product with plausible data
  • Precise and expensive through restraint: the product screens carry the page, the chrome around them stays quiet

  • Design Tokens

    Use these exact values. Where the spec is silent, stay consistent with them.

    colors:
      accent: "#7dd3fc"
      accentHover: "color-mix(in srgb, #7dd3fc 70%, #ffffff)"
      background: "#09090b"
      border: "color-mix(in srgb, #fafafa 6%, transparent)"
      borderMid: "color-mix(in srgb, #fafafa 8%, transparent)"
      borderStrong: "color-mix(in srgb, #fafafa 10%, transparent)"
      footer: "color-mix(in srgb, #09090b 65%, #000)"
      muted: "color-mix(in srgb, #fafafa 64%, #09090b)"
      mutedLow: "color-mix(in srgb, #fafafa 56%, #09090b)"
      negative: "#f0a3a3"
      onAccent: "color-mix(in srgb, #7dd3fc 12%, #000)"
      surface: "#18181d"
      surface1: "color-mix(in srgb, #18181d 17%, #09090b)"
      surface2: "color-mix(in srgb, #18181d 33%, #09090b)"
      surface3: "color-mix(in srgb, #18181d 50%, #09090b)"
      surface4: "color-mix(in srgb, #18181d 67%, #09090b)"
      surface5: "color-mix(in srgb, #18181d 83%, #09090b)"
      text: "#fafafa"
    effects:
      heroGlow: "behind the product window, centred, width min(1000px, 110%), 70% of its height from 8% down: radial-gradient(ellipse, accent at 16%, accent at 5% at 40%, transparent 70%), blur 40px"
    fonts:
      body:
        fallback: "ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif"
        family: Geist
        weights: [400, 500]
      display:
        fallback: "ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif"
        family: Geist
        weights: [600]
      mono:
        fallback: "ui-monospace, SFMono-Regular, Menlo, monospace"
        family: Geist Mono
        weights: [400, 500]
    layout:
      breakpoints:
        mobile: 600px
        nav: 860px
        window: 980px
      container: 1200px including the gutters
      gutter: "24px, 16px under 600px"
    motion:
      durations:
        colour: 160ms
        windowIn: 1000ms after a 150ms delay
      easings:
        all: "cubic-bezier(0.2, 0.7, 0.2, 1)"
    radii:
      control: 8px
      panel: 10px
      tag: 4px
      window: 14px
    shadows:
      highlight: "inset 0 1px 0 0 the text colour at 6%"
      window: the highlight plus 0 30px 80px -30px rgb(0 0 0 / 0.8)
    spacing:
      featureRows: "72px column gap, 120px between rows"
      hero: "96px top, 48px bottom"
      section: "120px top and bottom, 80px under 700px; section heads max 640px, 64px above their content"
    type:
      body:
        font: body
        lineHeight: 1.6
        size: "16px; lead clamp(17px, 2vw, 19px)"
        tracking: 0
        weight: 400
      caption:
        font: body
        lineHeight: 1.45
        size: 13px
        tracking: 0
        weight: 400
      display:
        font: display
        lineHeight: 1.04
        size: "clamp(38px, 6vw, 64px)"
        tracking: -0.035em
        weight: 600
      headline:
        font: display
        lineHeight: 1.15
        size: "clamp(30px, 4vw, 44px)"
        tracking: -0.03em
        weight: 600
      title:
        font: display
        lineHeight: 1.2
        size: "clamp(24px, 3vw, 30px)"
        tracking: -0.025em
        weight: 600

    Style Rules

  • Hierarchy comes from the neutral steps: page on the background, panels on steps 3–4, inner chrome on steps 1–2, selected items on steps 5–6
  • Every raised panel: 1px border (6–10% of the text colour) and the top highlight; no drop shadows except the product window
  • The accent is a signal under 5% of the page: primary buttons, focus rings, positive figures, live dots, chart lines, the recommended border
  • Headings in the primary text colour at weight 600 with negative tracking; body copy in the muted colour; secondary details in muted-low
  • Numbers are tabular everywhere; ids, axis labels and currency codes use the mono font
  • Colour transitions only, 160ms; nothing moves on hover
  • Left-aligned, generous section padding with 1px rules between sections

  • Page Layout

    container 1200px incl. gutters, everything left-aligned
    ◆ Name   Product Integrations Customers Pricing Docs        Sign in [Get started]  ← sticky nav
    Headline, one sentence (≤ 760px)                                                    ← hero
    Subtext (≤ 620px)
    [Get started] [Book a demo]   ✓ trial  ✓ setup  ✓ SOC 2
                ░░░░░░░░░░ accent glow ░░░░░░░░░░
    ┌ ● ● ●  Org / Cash position ··························· ● synced 2m ago (ME) ┐
    │ org ▾     │ Consolidated cash        $48,312,904.17   [7D|30D|90D|YTD]      │
    │ ▣ Cash    │ +$6.2M vs 30 days ago                                           │
    │   Forecast│ [KPI] [KPI] [KPI] [KPI]                                         │
    │   Rules   │ [ line chart ·························· ]                       │
    │ entities  │ [ bank │ account │ USD │ balance │ change ]  × 5                 │
    └───────────┴──────────────────────────────────────────────────────────────────┘
    Trusted by  WORD  WORD  WORD  WORD  WORD  WORD
    ───────────────────────────────────────────────────────────────────────────────
    Section head                                                                        ← features
    Copy · list         [ crop: accounts by entity ]
    [ crop: 13-week forecast, policy line ]         Copy · list
    Copy · list         [ crop: alert rules ]
    ───────────────────────────────────────────────────────────────────────────────
    Section head / Banks: [ 6-column wordmark grid ] / ERP: [ grid ] / Payroll: [ grid ]   ← integrations
    [ 34px result / quote / person ]   [ 34px result / quote / person ]                    ← testimonials
    Section head ································· [Monthly|Yearly] Save 20%               ← pricing
    [ Starter ]  [ Growth · accent border ]  [ Enterprise ]
    ▓ footer colour: brand · 4 columns / © · ● status · legal                              ← footer

    Sections

  • Navbar — Sticky, 60px tall, the background at 82% with a 12px backdrop blur and a 1px bottom border; logo, links 32px after it, actions pushed right
  • Content:
  • Five links: Product, Integrations, Customers, Pricing, Docs
  • Components:
  • Logo: a 22px mark and the product name, 16px weight 600
  • Links: 14px muted, padding 6px 10px, 6px radius; hover turns them primary on surface 3
  • Actions: a ghost 'Sign in' and a 40px primary 'Get started'
  • Mobile: Under 860px the links and Sign in go behind a 40px menu button; the menu opens below as full-width rows split by 1px rules
  • Hero — 96px top, 48px bottom. Left-aligned copy capped at 760px: headline (display), subtext 22px below (max 620px), buttons 32px below, note 18px below. The product window spans the container 64px below with the hero glow behind; the customer row 40px under it
  • Content:
  • Headline: one sentence, 8–12 words, naming the single number or answer the product gives
  • Subtext: one sentence on what it connects and who it is for
  • Buttons: 'Get started' and 'Book a 20-min demo'
  • Note: trial terms, setup time, a security certification
  • Then a 'Trusted by' row of six customer wordmarks
  • Components:
  • Buttons: primary (accent fill, on-accent text, 46px, 8px radius, hover lighter) and secondary (surface 5 fill, 1px strong border, top highlight)
  • Note row: three short facts, each with a 14px check icon, in muted-low caption
  • Product window (window radius, surface 2, 1px strong border, window shadow): a 44px app bar on surface 3 with three grey dots, the breadcrumb (org / page), a live dot with 'synced 2m ago' and an avatar; a 208px sidebar on surface 1 with an org switcher, nav (active item on surface 5 with the highlight) and entity balances; the main area with the headline figure (40px, cents in muted-low), a change line in the accent, a 7D/30D/90D/YTD segmented control, four KPI panels, a line chart panel and an accounts table
  • Accounts table: bank chip and name, account, a mono currency tag, balance right-aligned, change in the accent or the negative colour; 1px row rules
  • Mobile: Under 980px the window hides its sidebar and KPIs go two by two; under 520px the app bar hides the breadcrumb and avatar; the table scrolls sideways
  • Motion: The window rises from translateY(28px) scale(0.985) and fades in over 1000ms, 150ms after load
  • Feature Showcase — Under a 1px rule, section padding. Section head (max 640px, 64px below). Three rows of copy and crop, 1fr / 1.25fr with a 72px gap, 120px apart; the middle row puts the crop on the left
  • Content:
  • Section head: one headline on who it's built for and one sentence on what it does every morning
  • Three features named after real capabilities, each with concrete numbers
  • Components:
  • Copy: a title-size heading, one paragraph, and a list of three points with a 16px icon and a bold lead phrase
  • UI crop: surface 3, 1px border, window radius, top highlight, 18px padding, a header row with a title and a muted status
  • Crop 1: accounts grouped by entity, each row with name, institution, balance and a sync dot (accent when fresh)
  • Crop 2: a 13-week forecast as bars (actuals lighter than forecast), a dashed policy-minimum line in the negative colour with a mono label, a tooltip on the low week, and a drivers list below
  • Crop 3: alert rules, each with a title, trigger time, a sentence with the threshold in bold and tags for the actions taken (done ones ticked in the accent)
  • Mobile: Under 900px each row stacks with the copy first, 36px gap, rows 88px apart
  • Integration Grid — Section head, then the three category grids 40px apart, the facts row 28px below
  • Content:
  • Headline on connecting to existing systems and a sentence on read-only access and setup time
  • Three categories (banks, ERP and accounting, payroll and spend) with 6–12 real-sounding names each
  • A facts row: extra coverage, chat alerts, API
  • Components:
  • Category heading: caption size, muted-low, with the count right-aligned
  • Grid: 6 columns of 84px cells on surface 1, split by 1px lines inside a 1px-bordered panel; each cell a centred wordmark; hover lifts the cell to surface 4 and the text to primary
  • Mobile: 3 columns under 900px, 2 under 480px with 72px cells
  • Testimonials — Section head, then two equal cards with a 20px gap
  • Content:
  • Two customers with names, roles and companies; each result is a number with its unit
  • Components:
  • Quote card: surface 3, 1px border, window radius, top highlight, 36px padding; a result row (34px figure and a muted label) above a 1px rule, the quote in 18px primary, then a person row with a 40px avatar, name and role
  • Mobile: One column under 860px; padding 28px 22px
  • Pricing — Section head on the left and the toggle on the right, aligned to the bottom, 48px above three equal plans with a 20px gap
  • Content:
  • A headline on how it's priced and a sentence on who counts
  • Three plans with real prices; the top one 'from'
  • A footnote with a link
  • Components:
  • Toggle: a segmented control on surface 2 (Monthly / Yearly), the pressed one on surface 6 with the highlight, and 'Save 20% yearly' beside it in muted-low
  • Plan: surface 3, 1px border, window radius, 32px 28px padding; name (17px, 600), a two-line audience, the price at 44px weight 600 tabular with its unit, a billing note, a full-width button, a feature list under a 1px rule
  • Recommended plan: surface 4 with a 1px accent border and a faint accent ring, a mono 'Recommended' label, the primary button; the others use the secondary button
  • States:
  • Switching the toggle updates every price and billing note in place
  • Mobile: One column under 960px, max 520px wide
  • Footer — The footer colour under a 1px rule, 72px top and 32px bottom: brand 1.6fr and four columns with a 40px gap; the bottom row 64px below under a 1px rule
  • Content:
  • Brand with one sentence
  • Four link columns: Product, Company, Resources, Legal
  • Bottom row: © year, a status line with an accent dot, and legal links
  • Mobile: Brand on its own row, then two columns under 860px

  • Imagery & Icons

  • No photos or illustrations: the product window and the three feature crops are HTML/CSS with inline SVG charts
  • Icons: 14–16px inline SVG strokes, 1.5px, in the muted-low colour
  • Integration and customer names are typeset wordmarks in one light grey, varying weight, case and tracking to suggest each brand; no logos
  • Avatars and bank chips: initials on the card colour with a 1px strong border

  • Implementation Notes

  • The pricing toggle and the mobile menu are the only scripts; prices live in data attributes

  • Don'ts

  • No heavy or coloured shadows, glows on cards, or gradients on surfaces; the hero glow is the only gradient
  • No uppercase mono eyebrow labels above section headings
  • No accent on headings, icons, large fills or decorative lines
  • No marketing illustrations, stock photos or 3D renders: the product UI is the imagery
  • No call-to-action band or sections beyond those listed
  • No fonts, colours, radii or shadows outside the design tokens and rules above
  • No sections, features or effects that this spec doesn't list
  • No placeholder copy (lorem ipsum, "Elevate your workflow"): every word comes from the subject
  • No pill-shaped eyebrow labels above headings and no gradient text, unless this spec asks for them
  • No grid of identical icon cards: vary size and emphasis by importance

  • Quality Floor

  • Mobile-first and responsive from 360px to 1440px and wider, with no horizontal scrolling
  • Text contrast meets WCAG 2.1 AA: 4.5:1 for body text, 3:1 for large text
  • Semantic landmarks (header, nav, main, section, footer), one h1, descriptive alt text
  • Every interactive element has hover, visible focus and active states and works from the keyboard
  • Honour prefers-reduced-motion: keep opacity fades, drop movement

  • Tech Stack

  • Framework: HTML/CSS/JS — Deliver one self-contained index.html: styles in a <style> block, scripts in a <script type="module"> block, no build step.
  • Styling: Vanilla CSS — Plain CSS. Declare every design token as a custom property on :root (--color-accent, --font-display, --radius-card…) and use only those properties for colours, fonts, radii, shadows and timing.
  • Language: JavaScript — JavaScript as ES modules; no TypeScript.
  • UI library: None — No component library: build every component from the design tokens.
  • Motion: CSS only — CSS transitions and keyframes only, with durations and easings from the design tokens.
  • Icons: Inline SVG — Inline SVG icons drawn for this style, with one stroke width and corner treatment across the page.

  • Acceptance Checklist

  • Every surface is one of the five neutral steps, the card colour or the footer colour; none is a fixed hex
  • Raised panels have a 1px border and the top highlight; only the product window casts a drop shadow
  • The accent covers under 5% of the page: primary buttons, focus rings, positive figures, the live dot, chart lines and the recommended plan's border
  • Headings use the primary text colour; body text uses the muted colour and passes 4.5:1
  • All figures are tabular; ids, axes and currencies use the mono font
  • The hero product window sits within the first 1440×900 viewport with a balance, four KPIs, a chart and an accounts table
  • Feature rows alternate the side of their UI crop and each crop shows different real data
  • The monthly/yearly toggle really switches every price and billing note
  • No uppercase eyebrow labels above headings anywhere
  • Under reduced motion the window entrance is skipped and colour transitions remain
  • Related Prompts