Sentry

An inspired interpretation of Sentri's design language — a developer-tools brand built on a deep purple-violet midnight canvas, electric lime accents, and a slightly subversive illustrated personality. The system pairs a custom display sans (chunky, playful, near-condensed) with the open Rubik family for UI copy and Monaco for code, then leans on dark-on-light pricing surfaces, sticker-style masco

Homepage Example

Sentry
Features Docs Sign Up Free
Revenue
$9207
Active Users
$3807
Uptime
$4916
Products
Product A$7020
Product B$8114
Product C$6240
© 2026 Sentry

Color Palette (21)

primary#150f23
ink-deep#1f1633
on-primary#ffffff
accent-lime#c2ef4e
accent-pink#fa7faa
accent-violet#6a5fc1
accent-violet-deep#422082
accent-violet-mid#79628c
surface-canvas-dark#1f1633
surface-canvas-light#ffffff
surface-night#150f23
surface-press-light#f0f0f0
surface-press-stronger#efefef
hairline-violet#362d59
hairline-cool#cfcfdb
hairline-cloud#e5e7eb
ink#1f1633
ink-press#1a1a1a
on-dark-muted#bdb8c0
on-dark-faint#3f3849
ring-focus#9dc1f5

Typography (16)

Sentry
display-hero88px · weight 700
Sentry
display-large60px · weight 500
Sentry
heading-xl30px · weight 500
Sentry
heading-lg27px · weight 500
Sentry
heading-md24px · weight 500
Sentry
heading-sm20px · weight 600
Sentry
body-lg16px · weight 400
Sentry
body-strong16px · weight 600
Sentry
body-md16px · weight 500
Sentry
eyebrow15px · weight 500
Sentry
button-cap14px · weight 700
Sentry
button-cap-light14px · weight 500
Sentry
caption14px · weight 400
Sentry
micro-cap10px · weight 600
Sentry
code16px · weight 400
Sentry
code-strong16px · weight 700

Components (21)

button-primary
button-primary
button-primary-pressed
button-primary-pressed
button-inverted
button-inverted
button-inverted-pressed
button-inverted-pressed
button-ghost-on-dark
button-ghost-on-dark
button-violet-token
button-violet-token
button-disabled
button-disabled
pill-neutral-dark
pill-neutral-dark
chip-lime-keyword
chip-lime-keyword
text-input
text-input
text-input-focused
text-input-focused
select-violet
select-violet
card-pricing
card-pricing
card-pricing-featured
card-pricing-featured
card-feature-dark
card-feature-dark
card-spotlight-violet
card-spotlight-violet
code-block
code-block
link-on-dark
link-on-dark
link-on-light
link-on-light
nav-bar-light
nav-bar-light
footer-light
footer-light

Border Radius

xs (4px)
sm (6px)
md (8px)
lg (10px)
xl (12px)
xxl (18px)
full (9999px)

Design Philosophy

Overview

Sentri's design language reads like a debugging console wearing a leather jacket. The home and product surfaces sit on a near-black violet midnight (`{colors.surface-canvas-dark}` / `{colors.surface-night}`), strewn with starfield textures and floating sticker-style mascots — astronauts, monsters, traffic cones — that puncture the seriousness of an observability product. Headlines run in a chunky proprietary display sans where the most important keywords are wrapped in lime-green highlight chips (`{colors.accent-lime}`), as if the copy itself has been marked up by a developer redlining their own console output.

The palette is deliberately narrow: deep midnight as the dominant canvas, electric lime as the primary attention-grabber, hot pink (`{colors.accent-pink}`) as a secondary punctuation, and a violet-mid (`{colors.accent-violet-mid}`) for tag chips and hairline strokes. White appears in two roles — as text on dark, and as the canvas for pricing, contact, and content-heavy pages where developers need to scan dense tables. The "single primary CTA" is visually inverted depending on context: filled black-violet (`{colors.primary}`) with white type on light surfaces, or filled white with dark type on dark surfaces. The button always reads as the strongest UI affordance regardless of polarity.

Typography splits cleanly between three families: a custom display sans for hero and section openers (chunky, near-condensed, slightly playful), Rubik for every UI text role (body, captions, eyebrow caps, button labels), and Monaco for code. Buttons and eyebrows almost always run in uppercase with a 0.2px tracking lift to give them the snap of console output.

**Key Characteristics:**

  • Two-polarity canvas system: deep violet midnight (`{colors.surface-canvas-dark}`) for marketing hero and product feature pages, white (`{colors.surface-canvas-light}`) for pricing, contact, and dense reference content — the system never tries to blur the two.
  • Lime keyword highlight (`{colors.accent-lime}`) treated as a typographic device, not a color swatch — it wraps single words inside the display headline to act as a syntax highlight on the reading flow.
  • Sticker illustration system: floating mascot characters with hand-drawn outlines, appearing at section junctions, never inside cards — they create rhythm and personality between dense info blocks.
  • Uppercase eyebrow + button caps in `{typography.button-cap}` and `{typography.eyebrow}`, with a consistent 0.2px tracking lift, give the brand its "developer console" cadence.
  • Single-primary CTA hierarchy: every page has one filled button reading either `{colors.primary}` on light or `{colors.on-primary}` on dark; outlined and ghost variants are downgraded.
  • Card surfaces follow the canvas: dark sections nest dark cards (`{colors.ink-deep}` with subtle hairline) and light sections nest white cards with `{colors.hairline-cloud}` borders — chrome stays consistent, only the polarity flips.
  • A pricing-page color rhythm of cream-white tiers with one dark inverted "featured" tier (`{colors.surface-night}`), avoiding the typical accent-bordered featured pattern.

Colors

> **Source pages:** home (`/welcome/`), product/error-monitoring, contact/enterprise, pricing.

Brand & Accent

  • **Midnight Violet** (`{colors.primary}` — `#150f23`): The system's primary action color and the deepest surface tone. Used for filled primary buttons on light surfaces, code-block backgrounds, and the strongest dark cards.
  • **Ink Violet** (`{colors.ink-deep}` — `#1f1633`): Slightly lifted from primary, this is the marketing hero canvas and the default body-text color on light surfaces — a single token doing double duty as background and ink.
  • **Electric Lime** (`{colors.accent-lime}` — `#c2ef4e`): The signature highlight color. Wrapped around individual headline keywords as a syntax-highlight chip (`{rounded.xs}` corner, no padding-y, 12px padding-x). Also used as the squiggly footer divider stroke. Never a button background.
  • **Hot Pink** (`{colors.accent-pink}` — `#fa7faa`): Secondary punctuation color used for sticker outlines, chart points, and supporting accents — never on buttons, never on type at body size.
  • **Violet Link** (`{colors.accent-violet}` — `#6a5fc1`): Inline link color when emphasis is needed beyond underline.
  • **Deep Violet** (`{colors.accent-violet-deep}` — `#422082`): The select-dropdown fill on contact forms; also used on spotlight cards inside dark sections.
  • **Mid Violet** (`{colors.accent-violet-mid}` — `#79628c`): Tag-chip fill and faint accent on dark surfaces.

Surface

  • **Dark Canvas** (`{colors.surface-canvas-dark}` — `#1f1633`): Hero, product, and feature-page background. Carries the deepest atmospheric weight.
  • **Night** (`{colors.surface-night}` — `#150f23`): Cards on dark canvas, code blocks, and the "featured" pricing tier.
  • **Light Canvas** (`{colors.surface-canvas-light}` — `#ffffff`): Pricing, contact, and dense-reference page background.
  • **Surface Press Light** (`{colors.surface-press-light}` — `#f0f0f0`) and **Press Stronger** (`{colors.surface-press-stronger}` — `#efefef`): The pressed/active fill of inverted buttons on dark surfaces.
  • **Hairline Violet** (`{colors.hairline-violet}` — `#362d59`): 1px borders on dark cards.
  • **Hairline Cool** (`{colors.hairline-cool}` — `#cfcfdb`): 1px borders on text inputs and form fields.
  • **Hairline Cloud** (`{colors.hairline-cloud}` — `#e5e7eb`): Pricing-table dividers and pricing-card borders on light canvas.

Text

  • **On Primary** (`{colors.on-primary}` — `#ffffff`): All text on dark canvas, all CTA labels on filled dark buttons.
  • **Ink** (`{colors.ink}` — `#1f1633`): Body text on light canvas; identical hex to the dark canvas, repurposed as type.
  • **Ink Press** (`{colors.ink-press}` — `#1a1a1a`): Reserved for the pressed/active state of inverted buttons.
  • **On Dark Muted** (`{colors.on-dark-muted}` — `rgba(255,255,255,0.72)`): Secondary text, captions, and table cell values on dark canvas.
  • **On Dark Faint** (`{colors.on-dark-faint}` — `rgba(255,255,255,0.18)`): Translucent surface-on-dark — used for ghost button fills and dimmed nav items.

Semantic

  • **Focus Ring** (`{colors.ring-focus}` — `rgba(59,130,246,0.5)`): Translucent blue focus ring — the only blue in the system, reserved for keyboard focus on form fields.

Typography

Font Family

The display tier is a proprietary geometric sans with chunky, near-condensed proportions and a slightly subversive personality (closing apertures, optical-stress letterforms). When unavailable, fall back to **Rubik** at heavier weights for visual continuity.

The UI tier is **Rubik** — an open-source Hebrew/Latin sans on Google Fonts — with system fallbacks (`-apple-system, system-ui, Segoe UI, Helvetica, Arial`). Rubik handles every body, caption, button, and eyebrow role.

The code tier is **Monaco** with Menlo and Ubuntu Mono fallbacks — used in code blocks, install snippets, and inline tokens.

Hierarchy

| Token | Size | Weight | Line Height | Letter Spacing | Use |

|---|---|---|---|---|---|

| `{typography.display-hero}` | 88px | 700 | 1.2 | 0 | Marketing hero headline (single line of attention) |

| `{typography.display-large}` | 60px | 500 | 1.1 | 0 | Section openers on dark surfaces |

| `{typography.heading-xl}` | 30px | 500 | 1.2 | 0 | Page titles on light surfaces (e.g., "Pricing plans for dev teams of all sizes") |

| `{typography.heading-lg}` | 27px | 500 | 1.25 | 0 | Sub-section headings, large card titles |

| `{typography.heading-md}` | 24px | 500 | 1.25 | 0 | Card titles, in-page section headings |

| `{typography.heading-sm}` | 20px | 600 | 1.25 | 0 | Compact card title, list-group title |

| `{typography.body-lg}` | 16px | 400 | 2.0 | 0 | Marketing-paragraph body — the airy, two-line-leading variant used in hero subtext |

| `{typography.body-strong}` | 16px | 600 | 1.5 | 0 | Emphasized body run, lead sentence |

| `{typography.body-md}` | 16px | 500 | 1.5 | 0 | Default UI body, table cells, form labels |

| `{typography.eyebrow}` | 15px | 500 | 1.4 | 0 | Section eyebrow above large headings, all-caps |

| `{typography.button-cap}` | 14px | 700 | 1.14 | 0.2px | Filled button labels (uppercase) |

| `{typography.button-cap-light}` | 14px | 500 | 1.29 | 0.2px | Ghost / outline button labels (uppercase) |

| `{typography.caption}` | 14px | 400 | 1.43 | 0 | Footer text, fine print, helper copy |

| `{typography.micro-cap}` | 10px | 600 | 1.8 | 0.25px | Status labels, badge text, micro-eyebrow |

| `{typography.code}` | 16px | 400 | 1.5 | 0 | Code block content |

| `{typography.code-strong}` | 16px | 700 | 1.5 | 0 | Highlighted code keyword |

Principles

  • **Two leading worlds.** Marketing copy uses 2.0 line-height on `{typography.body-lg}` — extremely airy, generous breathing room. Functional UI copy uses 1.5 line-height on `{typography.body-md}` — denser, closer to console output. The choice is deliberate: marketing reads like prose, the product reads like a log.
  • **Caps with tracking.** All button labels and eyebrows are uppercase with 0.2px tracking. This is the brand's typographic signature — a console-prompt cadence applied to UI affordances.
  • **Headlines as syntax.** The hero display is structured so a single keyword can be wrapped in a `{colors.accent-lime}` highlight chip without disrupting the reading order. Treat the lime chip as a glyph-level decoration, not a separate component.

Note on Font Substitutes

Rubik is open-source on Google Fonts and is the safe default for everything except the hero display. For the proprietary display sans, suitable open substitutes are **Space Grotesk** (heavier weights), **Archivo** (semi-condensed weights), or **Hubot Sans** with optical-size axis at heavier ends — all carry the same chunky, near-condensed silhouette. Adjust line-height down by 0.05 when substituting, since the proprietary face has tighter leading at large sizes.

Layout

Spacing System

  • **Base unit**: 8px
  • **Tokens**: `{spacing.xxs}` 2px · `{spacing.xs}` 4px · `{spacing.sm}` 8px · `{spacing.md}` 12px · `{spacing.lg}` 16px · `{spacing.xl}` 24px · `{spacing.xxl}` 32px · `{spacing.section}` 96px
  • **Section padding**: `{spacing.section}` 96px between major page bands on desktop, collapsing to `{spacing.xxl}` 32px–48px on mobile.
  • **Card internal padding**: `{spacing.xxl}` 32px on pricing cards and large feature cards; `{spacing.lg}` 16px on compact tag/badge groups.
  • **Form field padding**: `{spacing.sm}` 8px vertical, `{spacing.md}` 12px horizontal — matches the text-input token directly.

Grid & Container

  • Marketing pages use a wide centered container with generous outer gutters; max width sits around 1152px (one of the extracted breakpoints), with content inside flexing across 12 conceptual columns.
  • Pricing splits into a 4-tier card row at desktop, collapsing to 2-up at mid widths and 1-up on mobile.
  • The contact form uses a 2-column field layout (first/last name side-by-side) inside a single light-canvas panel.
  • Breakpoints stair-step at 1440 → 1152 → 992 → 768 → 640 → 576 — see Responsive Behavior.

Whitespace Philosophy

The dark canvas absorbs whitespace differently from light. On dark surfaces the brand stretches `{spacing.section}` generously between bands so floating mascots and starfield textures have room to breathe. On light surfaces (pricing, contact) the whitespace tightens — content density takes priority because users are scanning, comparing, and acting. Rule of thumb: hero and feature surfaces are spacious, transactional surfaces are dense.

Elevation & Depth

| Level | Treatment | Use |

|---|---|---|

| 0 | Flat on canvas, no shadow | Default surface, dark or light |

| 1 | `box-shadow: rgba(0,0,0,0.08) 0 2px 8px 0` | Inverted buttons on dark canvas (light fill lifting off dark surface) |

| 2 | `box-shadow: rgba(0,0,0,0.1) 0 10px 15px -3px, rgba(0,0,0,0.1) 0 4px 6px -4px` | Floating cards on light canvas, modals |

| 3 | `box-shadow: rgb(21,15,35) 0 0 8px 6px` | Glow halo around primary CTA on dark hero — the dark color itself becomes the shadow, creating a vignette of canvas around the button |

| 4 | `box-shadow: rgba(0,0,0,0.18) 0 0.5rem 1.5rem` | Pressed inverted button on dark canvas |

Decorative Depth

Sentri's depth doesn't come from drop shadows — it comes from the **starfield texture** on the hero canvas (subtle white-on-violet pinpricks at low opacity), the **floating sticker mascots** (drawn with hand-rendered outlines and saturated fills, layered above the canvas with no shadow), and the **lime squiggly divider** above the footer. These illustrative elements do the work that shadow stacks do in flatter design systems — they tell the eye where one section ends and another begins.

Shapes

Border Radius Scale

| Token | Value | Use |

|---|---|---|

| `{rounded.xs}` | 4px | Badges, status pills, lime keyword highlight chips |

| `{rounded.sm}` | 6px | Text inputs, search boxes |

| `{rounded.md}` | 8px | Primary and inverted buttons, code blocks, select dropdowns |

| `{rounded.lg}` | 10px | Generic divs, container blocks |

| `{rounded.xl}` | 12px | Pricing cards, feature cards, navigation pill chrome |

| `{rounded.xxl}` | 18px | Image containers, large hero illustrations |

| `{rounded.full}` | 9999px | Avatars, circular icon buttons |

Photography Geometry

The site doesn't use traditional photography — it uses **illustrated stickers and product UI screenshots** in roughly equivalent geometric roles. Product UI mocks sit inside `{rounded.xxl}` 18px containers, often tilted slightly off-axis, against the dark canvas with no border. Sticker mascots have no container at all — they are layered directly on canvas, often overlapping section boundaries to break the grid. Avatar treatments (in customer-logo strips) are simple greyscale wordmarks, not photos.

Components

> **No hover states documented.** Every spec below shows only Default and Pressed/Active states. Variants are formal entries in the front-matter `components:` block.

Buttons

**`button-primary`** — the dominant CTA across light surfaces.

  • Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button-cap}` (uppercase, 14px / 700, 0.2px tracking), padding `{spacing.md} {spacing.lg}` (12px 16px), rounded `{rounded.md}`. On dark hero surfaces, add the level-3 glow halo for emphasis.
  • Pressed state lives in `button-primary-pressed`: background flips to `{colors.surface-press-stronger}`, text to `{colors.ink-press}`. The button effectively swaps polarities on press.

**`button-inverted`** — the dominant CTA on dark canvas; visually identical hierarchy, polarity-flipped.

  • Background `{colors.on-primary}` (white), text `{colors.ink-deep}`, same `{typography.button-cap}`, rounded `{rounded.md}`.
  • Pressed in `button-inverted-pressed`: background drops to `{colors.surface-press-light}`, text to `{colors.ink-press}`.

**`button-ghost-on-dark`** — secondary CTA on dark canvas (e.g., "Get Demo" beside "Get Started").

  • Translucent fill `{colors.on-dark-faint}`, text `{colors.on-primary}`, type `{typography.button-cap}`, padding `{spacing.sm}` (8px), rounded `{rounded.xl}`. The translucent fill lets the canvas texture show through.

**`button-violet-token`** — pill-shaped tag/category button used inline in product navs.

  • Background `{colors.accent-violet-mid}`, text `{colors.on-primary}`, type `{typography.button-cap-light}`, padding `{spacing.sm} {spacing.lg}` (8px 16px), rounded `{rounded.xl}`, 1px hairline border in a slightly deeper violet.

**`button-disabled`**

  • Background `{colors.hairline-cloud}`, text `{colors.on-dark-muted}`, otherwise identical to `button-primary`.

Cards & Containers

**`card-pricing`** — the standard tier card on the pricing page.

  • Background `{colors.surface-canvas-light}`, text `{colors.ink-deep}`, padding `{spacing.xxl}` 32px, rounded `{rounded.xl}` 12px, 1px `{colors.hairline-cloud}` border. Headline at top in `{typography.heading-md}`, price in `{typography.display-large}`, feature list in `{typography.body-md}`, primary CTA pinned to the bottom of the card.

**`card-pricing-featured`** — the dark inverted "featured" tier (Sentri uses the Business tier as the featured one).

  • Background `{colors.surface-night}`, text `{colors.on-primary}`, otherwise identical structure to `card-pricing`. The inversion (rather than an accent-bordered light card) is the brand's distinctive choice — the featured tier reads as the brand's voice, not as a marketing decoration.

**`card-feature-dark`** — large feature-band card on dark surfaces, used to anchor product feature explanations.

  • Background `{colors.ink-deep}`, text `{colors.on-primary}`, padding `{spacing.xxl}` 32px, rounded `{rounded.xxl}` 18px. Often holds a UI mock plus a 27px headline plus 16px body.

**`card-spotlight-violet`** — accent feature card with deeper violet fill, used for "Sentry-only" capability bands.

  • Background `{colors.accent-violet-deep}`, text `{colors.on-primary}`, padding `{spacing.xxl}`, rounded `{rounded.xxl}`. The deep violet reads as a feature highlight without breaking out of the brand's purple family.

**`code-block`** — code/install snippets.

  • Background `{colors.surface-night}`, text `{colors.on-primary}` rendered in `{typography.code}`. Padding `{spacing.lg}` 16px, rounded `{rounded.md}`. On dark canvas the code block is barely lifted from canvas — only the slightly deeper fill differentiates it.

Inputs & Forms

**`text-input`** — the contact-form first/last/email/etc. fields.

  • Background `{colors.surface-canvas-light}`, text `{colors.ink-deep}`, type `{typography.body-md}`, padding `{spacing.sm} {spacing.md}` (8px 12px), rounded `{rounded.sm}` 6px, 1px `{colors.hairline-cool}` border.
  • Focus state in `text-input-focused`: same fill, but adds an inset shadow `rgba(0,0,0,0.15) 0 2px 10px inset` to suggest depth pressed inward.

**`select-violet`** — the dropdown variant used inside dark contact panels.

  • Background `{colors.accent-violet-deep}`, text `{colors.on-primary}`, type `{typography.body-md}`, padding `{spacing.sm} {spacing.lg}`, rounded `{rounded.md}`. Distinctive because it doesn't mimic a plain text input — it reads as a deliberate brand surface.

Navigation

**`nav-bar-light`** — the standard top nav across light pages (pricing, contact, docs).

  • Background `{colors.surface-canvas-light}`, text `{colors.ink-deep}`, type `{typography.body-md}`. Logo wordmark on the left at ~145×32px, primary nav items mid-bar with dropdown carets, and a `Get Demo` ghost + `Get Started` filled `button-primary` pair on the right. Padding `{spacing.lg} {spacing.xl}` (16px 24px).

**Top Nav (dark variant)** — used on the home page; same structure but inverted polarity, sitting on `{colors.surface-canvas-dark}`. The right-side button becomes `button-inverted`.

**Mobile nav** — collapses to a hamburger toggle below the 768px breakpoint; dropdown carets become full-width accordion items.

Pills, Badges, and Highlight Chips

**`pill-neutral-dark`** — small status / category pill on dark surfaces.

  • Background `{colors.surface-night}`, text `{colors.on-primary}`, type `{typography.caption}` 12px, padding `{spacing.xs} {spacing.sm}` (4px 8px), rounded `{rounded.xs}` 4px.

**`chip-lime-keyword`** — the signature inline highlight wrapping single words inside the hero display headline.

  • Background `{colors.accent-lime}`, text `{colors.ink-deep}`, type matches the surrounding `{typography.display-hero}`, rounded `{rounded.xs}` 4px, padding `0 {spacing.md}` (12px horizontal, 0 vertical so the chip hugs the cap-height).

Signature Components

**Sticker Mascot Layer** — illustrated characters (astronauts, cartoon monsters, traffic cones, debugging avatars) drawn with hand-rendered outlines and saturated `{colors.accent-pink}` / `{colors.accent-lime}` fills. Mascots are placed at section junctions, often overlapping section boundaries by 30–40% of their height, with no container or shadow. They function as decorative section markers and brand personality carriers — never inside cards, never as buttons.

**Lime Squiggly Footer Divider** — a hand-drawn `{colors.accent-lime}` squiggle line, ~3px stroke, sitting above the footer at full container width. Replaces what would otherwise be a 1px hairline divider with a personality-laden flourish.

**Starfield Hero Texture** — a faint white-on-violet pinprick pattern overlaid on the hero canvas at very low opacity. Adds atmospheric depth to the dark canvas without visible decoration. Implemented as a background image, not as repeating CSS.

**Window-Chrome UI Mock** — product UI screenshots framed in `{rounded.xxl}` containers, often tilted ±2–3 degrees off axis, positioned overlapping section boundaries on the dark feature pages. The chrome itself is just a rounded image with a subtle hairline; the content is the actual product UI.

**`link-on-dark`** — inline links in body copy on dark surfaces. Default text is `{colors.on-primary}` rendered in `{typography.body-md}` with a persistent underline; the underline is the entire affordance, no color change. Sits flush in copy with no padding, no rounded corners beyond the inherited `{rounded.xs}`.

**`link-on-light`** — inline links in body copy on light surfaces. Same shape contract as `link-on-dark`, but text is `{colors.ink-deep}`. Used across pricing, contact, and docs surfaces.

**`footer-light`** — site-wide footer on the light-canvas template (pricing, contact, docs).

  • Background `{colors.surface-canvas-light}`, text `{colors.ink-deep}`, type `{typography.caption}`, padding `{spacing.xxl} {spacing.xl}` (32px 24px). Topped by the lime squiggly divider — see Signature Components. Holds three to four columns of link groups, social icons in a horizontal strip at the bottom right, and a small legal/copyright row at the very bottom in `{typography.caption}`.

Do's and Don'ts

Do

  • Reserve `{colors.accent-lime}` for keyword-highlight chips inside display headlines and the footer squiggle divider — never use it as a button background, never as body text.
  • Pair every `button-primary` with `{typography.button-cap}` in uppercase with 0.2px tracking — the cadence is part of the brand, not a stylistic option.
  • Treat the dark canvas (`{colors.surface-canvas-dark}`) and light canvas (`{colors.surface-canvas-light}`) as two complete worlds — let one own marketing/feature pages and the other own transactional pages, with no half-measures.
  • Use sticker mascots to break section boundaries — let them overlap, tilt, and float; constraining them inside cards drains their personality.
  • Use `card-pricing-featured` (dark inverted tier) instead of an accent-bordered light tier for the featured pricing column.
  • Default body line-height to 1.5 on functional UI surfaces and 2.0 on marketing surfaces — the difference is intentional.

Don't

  • Don't introduce additional accent colors beyond `{colors.accent-lime}` and `{colors.accent-pink}` — adding teal, orange, or yellow dilutes the violet-and-lime signature.
  • Don't apply drop shadows to cards on dark canvas — depth comes from texture and illustration, not from light-on-dark shadows that would muddy the violet.
  • Don't use `{typography.display-hero}` (88px) for anything except the marketing hero — even sub-pages cap at `{typography.display-large}` (60px).
  • Don't put body text in `{colors.accent-lime}` — it's a chip color, not a type color, and breaks contrast at body sizes.
  • Don't soften the `{colors.primary}` button to a brand-violet — the near-black is the point; it reads as the most authoritative action regardless of canvas polarity.
  • Don't put illustrated mascots inside cards or constrained containers — their job is to break grid, not occupy it.

Responsive Behavior

Breakpoints

| Name | Width | Key Changes |

|---|---|---|

| 4K / Wide | ≥ 1440px | Full 4-tier pricing row, hero illustration sits beside headline at full scale |

| Desktop | 1152–1440px | Default content max-width sits at 1152px, all 4-tier patterns hold |

| Laptop | 992–1151px | Pricing collapses to 2-up rows, nav remains horizontal |

| Tablet | 768–991px | 2-column feature grids collapse to 1-up; nav still horizontal but compresses |

| Mobile Large | 640–767px | Hamburger nav appears; hero display drops from 88px to ~56px |

| Mobile | 576–639px | Single-column everything; section padding collapses from 96px to 32–48px |

| Small Mobile | 1–575px | Compact mode; sticker mascots drop in size or hide entirely to preserve content priority |

Touch Targets

  • Primary buttons hit a minimum 44×44px on mobile (12px vertical padding × 16px font + line-height = ~44px). Maintains WCAG AAA touch-target spec.
  • Pill tags and badges in nav and feature surfaces stay above 32×32px even at small mobile breakpoints; they enlarge if necessary rather than shrink.
  • Form fields stay at the 44px minimum height on mobile contact pages.

Collapsing Strategy

  • **Hero display headline** drops from 88px → 60px → 48px across the breakpoint stair; the lime keyword chip preserves padding and corner radius at every step.
  • **Pricing tiers** stair-step from 4-up → 2-up → 1-up. The featured dark tier always remains visually distinguished — it never loses its inversion at any breakpoint.
  • **Sticker mascots** are progressively de-emphasized: at desktop they overlap section boundaries; at tablet they shift to inline within section padding; at small mobile most are hidden via `display: none` to keep the content scan-able.
  • **Top nav** collapses to a hamburger below 768px; the dropdown menu uses the same canvas polarity as the page (dark on hero, light on pricing).
  • **Code blocks** preserve 16px Monaco at every breakpoint — they never scale down — but switch to horizontal scroll on overflow rather than wrap.

Image Behavior

  • Product UI mocks scale proportionally; on small mobile they often anchor to one edge with horizontal overflow rather than shrink to illegibility.
  • Sticker mascots scale by 50–70% at mobile breakpoints, preserving their personality but ceding screen space to content.
  • The lime footer squiggle scales the SVG to container width while keeping stroke width visually consistent.

Iteration Guide

1. Focus on ONE component at a time. Don't rebuild the system — extend it.

2. Reference component names and tokens directly (`{colors.accent-lime}`, `{button-primary}-pressed`, `{rounded.xxl}`) — do not paraphrase.

3. Run `npx @google/design.md lint DESIGN.md` after edits — `broken-ref`, `contrast-ratio`, and `orphaned-tokens` warnings flag issues automatically.

4. Add new variants as separate component entries (`-pressed`, `-disabled`, `-focused`) — do not bury them inside prose.

5. Default to `{typography.body-md}` for product UI body and `{typography.body-lg}` for marketing prose — the leading difference is intentional and load-bearing.

6. Keep `{colors.accent-lime}` scarce — one lime element per viewport. The signature only works because it's rare.

7. When polarizing a new surface, choose one canvas (`{colors.surface-canvas-dark}` or `{colors.surface-canvas-light}`) and commit to it; don't blend the two on a single page band.

개요

Sentri의 디자인 언어는 가죽 자켓을 입은 디버깅 콘솔처럼 읽혀집니다. 집과 제품 표면은 검은 보라색에 가까운 자정(`` / ``) 위에 자리잡고 있으며, 별빛 질감과 떠다니는 스티커 스타일의 마스코트(우주 비행사, 괴물, 교통 원뿔)로 가득 차 있어 관찰 가능성 제품의 심각성을 돋보이게 합니다. 헤드라인은 가장 중요한 키워드가 연두색 하이라이트 칩(``)으로 래핑된 두툼한 독점 디스플레이에서 실행됩니다. 마치 개발자가 자체 콘솔 출력을 수정하여 복사본 자체를 마크업한 것처럼 보입니다.

팔레트는 의도적으로 좁습니다. 깊은 자정을 주요 캔버스로, 일렉트릭 라임을 주요 관심 끌기, 핫 핑크(``)를 보조 구두점으로, 보라색 중간(``)을 태그 칩 및 헤어라인 스트로크로 사용합니다. 흰색은 두 가지 역할로 나타납니다. 하나는 어두운 부분의 텍스트이고 다른 하나는 가격 책정, 연락처, 개발자가 조밀한 표를 스캔해야 하는 콘텐츠가 많은 페이지의 캔버스입니다. "단일 기본 CTA"는 상황에 따라 시각적으로 반전됩니다. 밝은 표면에서는 검은색-보라색(``)으로 채워지고 밝은 표면에서는 흰색 문자로 채워지고, 어두운 표면에서는 흰색으로 어두운 문자로 채워집니다. 버튼은 극성에 관계없이 항상 가장 강력한 UI 어포던스로 읽혀집니다.

타이포그래피는 영웅 및 섹션 오프너(두툼하고 거의 압축되어 있으며 약간 장난스러운)를 위한 사용자 정의 디스플레이, 모든 UI 텍스트 역할(본문, 캡션, 눈썹 캡, 버튼 레이블)을 위한 Rubik, 코드를 위한 Monaco의 세 가지 제품군으로 깔끔하게 나뉩니다. 버튼과 눈썹은 콘솔 출력의 스냅을 제공하기 위해 거의 항상 0.2px 추적 리프트를 사용하여 대문자로 실행됩니다.

**주요 특성:**

  • 2극성 캔버스 시스템: 마케팅 히어로 및 제품 기능 페이지를 위한 진한 보라색 미드나잇(``), 가격, 연락처 및 밀집된 참조 콘텐츠를 위한 흰색(``) — 시스템은 두 가지를 흐리게 하지 않습니다.
  • Lime 키워드 강조 표시(``)는 색상 견본이 아닌 인쇄 장치로 처리됩니다. 이는 읽기 흐름에서 구문 강조 표시 역할을 하기 위해 디스플레이 헤드라인 내부에 단일 단어를 래핑합니다.
  • 스티커 일러스트레이션 시스템: 손으로 그린 윤곽선이 있는 떠다니는 마스코트 캐릭터는 섹션 교차점에 나타나며 카드 내부에는 나타나지 않습니다. 밀도 있는 정보 블록 사이에 리듬과 개성을 만듭니다.
  • _`` 및 ``의 대문자 눈썹 + 버튼 캡은 일관된 0.2px 추적 상승을 통해 브랜드에 "개발자 콘솔" 흐름을 제공합니다.
  • 단일 기본 CTA 계층 구조: 모든 페이지에는 밝은 곳에서는 ``, 어두운 곳에서는 ``을 읽는 하나의 채워진 버튼이 있습니다. 윤곽선 및 고스트 변형이 다운그레이드되었습니다.
  • 카드 표면은 캔버스를 따릅니다. 어두운 섹션은 어두운 카드(은은한 헤어라인이 있는``)를 중첩하고 밝은 섹션은 `` 테두리가 있는 흰색 카드를 중첩합니다. 크롬은 일관성을 유지하고 극성만 반전됩니다.
  • 하나의 어두운 반전 "특징" 계층(``)이 있는 크림색 흰색 계층의 가격 책정 페이지 색상 리듬으로 일반적인 악센트 테두리 기능 패턴을 피합니다.

색상

> **소스 페이지:** 홈(`/welcome/`), 제품/오류 모니터링, 연락처/기업, 가격.

브랜드 및 액센트

  • **미드나잇 바이올렛** (`` — ``): 시스템의 기본 동작 색상과 가장 깊은 표면 톤입니다. 밝은 표면, 코드 블록 배경 및 가장 강한 어두운 카드의 채워진 기본 버튼에 사용됩니다.
  • **잉크 바이올렛** (`` — ``): 기본에서 약간 올라간 마케팅 히어로 캔버스이자 밝은 표면의 기본 본문 텍스트 색상입니다. 배경과 잉크의 이중 역할을 수행하는 단일 토큰입니다.
  • **전기 라임**(`` — ``): 시그니처 하이라이트 색상입니다. 구문 강조 칩(`` 모서리, 패딩 없음-y, 12px 패딩-x)으로 개별 헤드라인 키워드를 둘러쌉니다. 구불구불한 바닥글 구분선 스트로크로도 사용됩니다. 버튼 배경은 절대 사용하지 마세요.
  • **핫 핑크** (`` — ``): 스티커 윤곽선, 차트 포인트 및 지원 악센트에 사용되는 보조 구두점 색상 — 버튼에는 사용되지 않으며 본문 크기의 문자에는 사용되지 않습니다.
  • **보라색 링크** (`` — ``): 밑줄 이상으로 강조가 필요한 경우 인라인 링크 색상입니다.
  • **딥 바이올렛** (`` — ``): 연락처 양식의 선택 드롭다운 채우기. 어두운 섹션 내부의 스포트라이트 카드에도 사용됩니다.
  • **중간 보라색**(`` — ``): 태그칩 채우기 및 어두운 표면의 희미한 액센트.

표면

  • **다크 캔버스**(`` — ``): 영웅, 제품 및 기능 페이지 배경. 가장 깊은 대기의 무게를 운반합니다.
  • **밤**(`` — ``): 어두운 캔버스의 카드, 코드 블록 및 '추천' 가격 책정 계층.
  • **라이트 캔버스**(`` — ``): 가격, 연락처 및 조밀한 참조 페이지 배경.
  • **Surface Press Light**(`` — ``) 및 **Press Stronger**(`` — ``): 어두운 표면에서 반전된 버튼의 눌림/활성 채우기.
  • **헤어라인 바이올렛** (`` — ``): 어두운 카드에 1px 테두리.
  • **헤어라인 쿨**(`` — ``): 텍스트 입력 및 양식 필드의 1px 테두리.
  • **헤어라인 클라우드**(`` — ``): 가벼운 캔버스에 가격표 구분선 및 가격표 테두리가 있습니다.

텍스트

  • **기본**(`` — ``): 어두운 캔버스의 모든 텍스트, 채워진 어두운 버튼의 모든 CTA 라벨.
  • **잉크** (`` — ``): 밝은 캔버스의 본문 텍스트. 어두운 캔버스와 동일한 16진수이며 유형으로 용도가 변경되었습니다.
  • **잉크 누르기**(`` — ``): 반전된 버튼의 눌림/활성 상태용으로 예약되어 있습니다.
  • **어두운 음소거 시**(`` — `rgba(255,255,255,0.72)`): 어두운 캔버스의 보조 텍스트, 캡션 및 표 셀 값.
  • **어두운 희미함**(`` — `rgba(255,255,255,0.18)`): 반투명 표면-어두운 — 고스트 버튼 채우기 및 흐리게 표시된 탐색 항목에 사용됩니다.

의미

  • **초점 링** (`` — `rgba(59,130,246,0.5)`): 반투명 파란색 초점 링 — 시스템의 유일한 파란색이며 양식 필드의 키보드 초점용으로 예약되어 있습니다.

타이포그래피

글꼴군

디스플레이 계층은 두툼하고 거의 응축된 비율과 약간 파괴적인 성격(닫힌 조리개, 광학적 스트레스 문자 형식)을 갖춘 독점적인 기하학적 산세입니다. 사용할 수 없는 경우 시각적 연속성을 위해 더 높은 가중치로 **Rubik**으로 대체합니다.

UI 계층은 시스템 폴백(`-apple-system, system-ui, Segoe UI, Helvetica, Arial`)이 포함된 Google Fonts의 오픈 소스 히브리어/라틴어 산세인 **Rubik**입니다. Rubik은 모든 신체, 캡션, 버튼 및 눈썹 역할을 처리합니다.

코드 계층은 Menlo 및 Ubuntu Mono 폴백이 포함된 **Monaco**입니다. 이는 코드 블록, 설치 조각 및 인라인 토큰에 사용됩니다.

계층

| 토큰 | 사이즈 | 무게 | 라인 높이 | 문자 간격 | |

사용

|---|---|---|---|---|---|

| _`` | 88px | 700 | 1.2 | 0 | 마케팅 히어로 헤드라인(한 줄의 관심) |

| _`` | 60px | 500 | 1.1 | 0 | 어두운 표면의 섹션 오프너 |

| _`` | 30px | 500 | 1.2 | 0 | 밝은 표면의 페이지 제목(예: "모든 규모의 개발팀을 위한 가격 계획") |

| _`` | 27px | 500 | 1.25 | 0 | 하위 섹션 제목, 큰 카드 제목 |

| _`` | 24px | 500 | 1.25 | 0 | 카드 제목, 페이지 내 섹션 제목 |

| _`` | 20픽셀 | 600 | 1.25 | 0 | 컴팩트 카드 제목, 목록 그룹 제목 |

| _`` | 16px | 400 | 2.0 | 0 | 마케팅 단락 본문 — 주요 하위 텍스트에 사용되는 경쾌한 두 줄짜리 변형 |

| _`` | 16px | 600 | 1.5 | 0 | 강조된 바디런, 선두문장 |

| _`` | 16px | 500 | 1.5 | 0 | 기본 UI 본문, 표 셀, 양식 레이블 |

| _`` | 15px | 500 | 1.4 | 0 | 큰 제목 위 섹션 눈썹, 모두 대문자 |

| _`` | 14px | 700 | 1.14 | 0.2px | 채워진 버튼 라벨(대문자) |

| _`` | 14px | 500 | 1.29 | 0.2px | 고스트/윤곽선 버튼 라벨(대문자) |

| _`` | 14px | 400 | 1.43 | 0 | 바닥글 텍스트, 작은 글씨, 도우미 사본 |

| _`` | 10픽셀 | 600 | 1.8 | 0.25px | 상태 라벨, 배지 텍스트, 미세 눈썹 |

| _`` | 16px | 400 | 1.5 | 0 | 코드 블록 콘텐츠 |

| _`` | 16px | 700 | 1.5 | 0 | 강조표시된 코드 키워드 |

원칙

  • **두 가지 주요 세계.** 마케팅 카피는 ``에서 2.0 줄 높이를 사용합니다. — 매우 통풍이 잘 되고 넉넉한 호흡 공간입니다. 기능적 UI 복사는 ``에서 1.5 줄 높이를 사용합니다. — 더 조밀하고 콘솔 출력에 더 가깝습니다. 선택은 의도적입니다. 마케팅은 산문처럼 읽히고, 제품은 일지처럼 읽혀집니다.
  • **추적 기능이 있는 대문자.** 모든 버튼 라벨과 눈썹은 0.2px 추적 기능을 갖춘 대문자입니다. 이는 브랜드의 타이포그래피 시그니처로서 UI 어포던스에 적용되는 콘솔 프롬프트 흐름입니다.
  • **구문으로서의 헤드라인.** 히어로 디스플레이는 읽기 순서를 방해하지 않고 단일 키워드를 `` 하이라이트 칩에 래핑할 수 있도록 구조화되어 있습니다. 라임 칩을 별도의 구성 요소가 아닌 글리프 수준 장식으로 처리하세요.

글꼴 대체에 대한 참고사항

Rubik은 Google Fonts의 오픈 소스이며 히어로 디스플레이를 제외한 모든 항목에 대한 안전한 기본값입니다. 독점적인 디스플레이 산의 경우 적합한 개방형 대체품은 **Space Grotesk**(더 무거운 무게), **Archivo**(반압축 무게) 또는 더 무거운 끝에 광학 크기 축이 있는 **Hubot Sans**입니다. 모두 동일한 두툼하고 거의 응축된 실루엣을 갖습니다. 대체할 때 선 높이를 0.05만큼 낮추십시오. 독점 면이 큰 크기에서 더 촘촘한 행간을 갖기 때문입니다.

레이아웃

간격 시스템

  • **기본 단위**: 8px
  • **토큰**: `` 2px · `` 4px · `` 8px · `` 12px · `` 16px · `` 24px · `` 32px · `` 96px
  • **섹션 패딩**: `` 데스크탑의 주요 페이지 밴드 사이 96픽셀, 모바일에서는 `` 32px-48px로 축소됩니다.
  • **카드 내부 패딩**: `` 가격 카드 및 대형 기능 카드의 경우 32px; `` 컴팩트 태그/배지 그룹의 경우 16px.
  • **양식 필드 패딩**: `` 8px 세로, `` 12px 가로 — 텍스트 입력 토큰과 직접 일치합니다.

그리드 및 컨테이너

  • 마케팅 페이지는 넓은 외부 홈통이 있는 넓은 중앙 컨테이너를 사용합니다. 최대 너비는 약 1152px(추출된 중단점 중 하나)이며 내부 콘텐츠는 12개의 개념적 열에 걸쳐 표시됩니다.
  • 가격은 데스크톱에서 4단계 카드 행으로 분할되며 중간 너비에서는 2단, 모바일에서는 1단으로 축소됩니다.
  • 연락처 양식은 단일 밝은 캔버스 패널 내에서 2열 필드 레이아웃(이름/성이 나란히 표시)을 사용합니다.
  • 계단식 중단점은 1440 → 1152 → 992 → 768 → 640 → 576 — 반응 행동을 참조하세요.

공백 철학

어두운 캔버스는 빛과 다르게 공백을 흡수합니다. 어두운 표면에서는 브랜드가 밴드 사이에 ``을 넉넉하게 늘려서 떠다니는 마스코트와 별빛 텍스처가 숨을 쉴 수 있는 공간을 확보합니다. 가벼운 표면(가격, 접촉)에서는 공백이 촘촘해집니다. 사용자가 검색하고, 비교하고, 행동하기 때문에 콘텐츠 밀도가 우선시됩니다. 경험 법칙: 히어로 및 기능 표면은 넓고 트랜잭션 표면은 조밀합니다.

고도 및 깊이

| 레벨 | 치료 | |

사용

|---|---|---|

| 0 | 캔버스 위에 평평하고 그림자가 없습니다 | 기본 표면, 어두움 또는 밝음 |

| 1 | _`box-shadow: rgba(0,0,0,0.08) 0 2px 8px 0` | 어두운 캔버스의 반전된 버튼(어두운 표면을 가볍게 채우는 것) |

| 2 | _`box-shadow: rgba(0,0,0,0.1) 0 10px 15px -3px, rgba(0,0,0,0.1) 0 4px 6px -4px` | 가벼운 캔버스에 떠 있는 카드, 모달 |

| 3 | _`box-shadow: rgb(21,15,35) 0 0 8px 6px` | 어두운 영웅의 기본 CTA 주위에 빛나는 후광 — 어두운 색상 자체가 그림자가 되어 버튼 주위에 캔버스 비네트를 만듭니다 |

| 4 | _`box-shadow: rgba(0,0,0,0.18) 0 0.5rem 1.5rem` | 어두운 캔버스에서 반전 버튼을 눌렀습니다 |

장식적 깊이

Sentri의 깊이는 그림자에서 나오는 것이 아닙니다. 이는 히어로 캔버스의 **별 필드 텍스처**(낮은 불투명도의 미묘한 흰색-보라색 핀 프릭), **떠다니는 스티커 마스코트**(손으로 렌더링한 윤곽선과 채도가 높은 채우기로 그려지고, 그림자 없이 캔버스 위에 겹쳐짐) 및 바닥글 위의 **석회 구불구불한 구분선**에서 나옵니다. 이러한 설명 요소는 평면 디자인 시스템에서 섀도우 스택이 수행하는 작업을 수행합니다. 즉, 한 섹션이 끝나고 다른 섹션이 시작되는 위치를 눈에 알려줍니다.

도형

경계 반경 배율

| 토큰 | 가치 | |

사용

|---|---|---|

| _`` | 4픽셀 | 배지, 상태 알약, 라임 키워드 강조 칩 |

| _`` | 6픽셀 | 텍스트 입력, 검색창 |

| _`` | 8픽셀 | 기본 및 반전 버튼, 코드 블록, 선택 드롭다운 |

| _`` | 10픽셀 | 일반 div, 컨테이너 블록 |

| _`` | 12px | 가격 카드, 기능 카드, 탐색 알약 크롬 |

| _`` | 18px | 이미지 컨테이너, 대형 히어로 일러스트레이션 |

| _`` | 9999px | 아바타, 원형 아이콘 버튼 |

사진 기하학

이 사이트는 전통적인 사진을 사용하지 않습니다. 대략 동일한 기하학적 역할로 **그림 스티커 및 제품 UI 스크린샷**을 사용합니다. 제품 UI 모형은 `` 18px 컨테이너 안에 있으며, 테두리가 없는 어두운 캔버스를 기준으로 종종 약간 축에서 벗어나 기울어져 있습니다. 스티커 마스코트에는 컨테이너가 전혀 없습니다. 캔버스에 직접 레이어되어 있으며 종종 섹션 경계가 겹쳐서 그리드를 깨뜨립니다. 아바타 처리(고객 로고 스트립)는 사진이 아닌 단순한 회색조 워드마크입니다.

구성요소

> **호버 상태가 문서화되지 않았습니다.** 아래의 모든 사양에는 기본 및 누름/활성 상태만 표시됩니다. 변형은 머리말 `components:` 블록의 공식 항목입니다.

버튼

**`button-primary`** — 밝은 표면 전체에서 지배적인 CTA입니다.

  • 배경 ``, 텍스트 ``, 유형 ``(대문자, 14px / 700, 0.2px 추적), 패딩 ` `(12px 16px), 반올림 ``. 어두운 히어로 표면에 레벨 3 글로우 후광을 추가하여 강조하세요.
  • 누른 상태는 `button-primary-pressed`에 적용됩니다. 배경은 ``로, 텍스트는 ``으로 전환됩니다. 버튼을 누르면 극성이 효과적으로 전환됩니다.

_**`button-inverted`** — 어두운 캔버스에서 주요 CTA입니다. 시각적으로 동일한 계층 구조, 극성이 반전됨.

  • 배경 ``(흰색), 텍스트 ``, 동일 ``, 반올림 ``.
  • 눌렀을 때 `button-inverted-pressed`: 배경이 ``로, 텍스트가 ``로 떨어집니다.

**`button-ghost-on-dark`** — 어두운 캔버스의 보조 CTA(예: "시작하기" 옆에 "데모 받기").

  • 반투명 채우기 ``, 텍스트 ``, 유형 ``, 패딩 ``(8px), 반올림 ``. 반투명 채우기를 사용하면 캔버스 질감이 비쳐보일 수 있습니다.

**`button-violet-token`** — 제품 탐색 창에서 인라인으로 사용되는 알약 모양의 태그/카테고리 버튼.

  • 배경 ``, 텍스트 ``, 유형 ``, 패딩 ` `(8px 16px), 둥근 ``, 약간 더 깊은 보라색의 1px 가는선 테두리.

**`button-disabled`**

  • 배경 ``, 텍스트 ``, 그 외에는 `button-primary`.
  • 과 동일

카드 및 용기

**`card-pricing`** — 가격 페이지의 표준 등급 카드.

  • 배경 ``, 텍스트 ``, 패딩 `` 32px, 둥근 `` 12px, 1px `` 테두리. 상단의 헤드라인은 ``, 가격은 ``, 기능 목록은 ``, 기본 CTA는 카드 하단에 고정되어 있습니다.

**`card-pricing-featured`** — 어두운 반전 "추천" 계층(Sentri는 비즈니스 계층을 주요 계층으로 사용합니다).

  • 배경 ``, 텍스트 ``, 그 외에는 `card-pricing`과 구조가 동일합니다. 악센트 테두리가 있는 라이트 카드가 아닌 반전은 브랜드의 독특한 선택입니다. 추천 계층은 마케팅 장식이 아닌 브랜드의 목소리로 읽혀집니다.

**`card-feature-dark`** — 제품 기능 설명을 고정하는 데 사용되는 어두운 표면의 대형 기능 밴드 카드.

  • 배경 ``, 텍스트 ``, 패딩 `` 32px, 반올림 `` 18px. 종종 UI 모형과 27px 헤드라인, 16px 본문을 보유합니다.

**`card-spotlight-violet`** — "보초 전용" 기능 밴드에 사용되는 더 깊은 보라색 채우기가 있는 악센트 기능 카드.

  • 배경 ``, 텍스트 ``, 패딩 ``, 반올림 ``. 딥 바이올렛은 브랜드의 퍼플 계열을 벗어나지 않으면서도 특징적인 하이라이트로 읽혀집니다.

**`code-block`** — 코드/설치 조각.

  • 배경 ``, ``에서 렌더링된 텍스트 ``. 패딩 `` 16px, 반올림 ``. 어두운 캔버스에서는 코드 블록이 캔버스에서 거의 들어 올려지지 않습니다. 단지 약간 더 깊은 채우기만으로 구별됩니다.

입력 및 양식

_**`text-input`** — 연락 양식의 이름/성/이메일 등. 필드.

  • 배경 ``, 텍스트 ``, 유형 ``, 패딩 ` `(8px 12px), 반올림 `` 6px, 1px `` 테두리.
  • `text-input-focused`의 초점 상태: 동일한 채우기이지만 안쪽으로 눌려진 깊이를 제안하기 위해 삽입 그림자 `rgba(0,0,0,0.15) 0 2px 10px inset`를 추가합니다.

**`select-violet`** — 어두운 접촉 패널 내부에 사용되는 드롭다운 변형입니다.

  • 배경 ``, 텍스트 ``, 유형 ``, 패딩 ` `, 반올림 ``. 일반 텍스트 입력을 모방하지 않고 고의적인 브랜드 표면으로 읽힌다는 점에서 독특합니다.

탐색

**`nav-bar-light`** — 라이트 페이지(가격, 연락처, 문서) 전체의 표준 상단 탐색입니다.

  • 배경 ``, 텍스트 ``, 유형 ``. 왼쪽 ~145×32픽셀의 로고 워드마크, 드롭다운 캐럿이 있는 기본 탐색 항목 중간 표시줄, 오른쪽의 `Get Demo` 고스트 + `Get Started` 채워진 `button-primary` 쌍입니다. 패딩 ` `(16px 24px).

**상단 탐색(어두운 변형)** — 홈 페이지에 사용됩니다. 구조는 동일하지만 극성이 반전되어 ``에 위치합니다. 오른쪽 버튼은 `button-inverted`.

이 됩니다.

**모바일 탐색** — 768px 중단점 아래의 햄버거 토글로 축소됩니다. 드롭다운 캐럿은 전체 너비 아코디언 항목이 됩니다.

알약, 배지 및 하이라이트 칩

**`pill-neutral-dark`** — 어두운 표면의 작은 상태/범주 알약.

  • 배경 ``, 텍스트 ``, 유형 `` 12px, 패딩 ` `(4px 8px), 반올림 `` 4px.

_**`chip-lime-keyword`** — 히어로 디스플레이 헤드라인 내부에 단일 단어를 래핑하는 시그니처 인라인 강조표시입니다.

  • 배경 ``, 텍스트 ``, 유형이 주변 ``, 반올림 `` 4px, 패딩 `0 `(가로 12px, 세로 0이므로 칩이 캡 높이).

서명 구성요소

**스티커 마스코트 레이어** — 손으로 렌더링한 윤곽선과 채도가 높은 `` / `` 채우기로 그려진 그림 문자(우주 비행사, 만화 괴물, 신호등 원뿔, 디버깅 아바타)입니다. 마스코트는 섹션 교차점에 배치되며, 컨테이너나 그림자 없이 높이의 30~40%까지 섹션 경계와 겹치는 경우가 많습니다. 장식적인 섹션 표시와 브랜드 개성 전달자의 역할을 하며 결코 카드 내부나 버튼 역할을 하지 않습니다.

**라임 구불구불한 바닥글 구분선** — 손으로 그린 `` 구불구불한 선, 최대 3px 획, 전체 컨테이너 너비로 바닥글 위에 위치합니다. 1px 헤어라인 구분선을 개성 넘치는 장식으로 대체합니다.

**스타필드 히어로 텍스처** — 매우 낮은 불투명도로 히어로 캔버스에 오버레이된 보라색 바탕에 흰색의 희미한 핀프릭 패턴입니다. 눈에 띄는 장식 없이 어두운 캔버스에 분위기 있는 깊이를 더합니다. 반복되는 CSS가 아닌 배경 이미지로 구현되었습니다.

**Window-Chrome UI 모의** — `` 컨테이너에 프레임된 제품 UI 스크린샷, 종종 축에서 ±2~3도 기울어져 있고 어두운 기능 페이지에서 섹션 경계가 겹치는 위치에 배치됩니다. 크롬 자체는 미묘한 헤어라인이 있는 둥근 이미지일 뿐입니다. 콘텐츠는 실제 제품 UI입니다.

_**`link-on-dark`** — 어두운 표면의 본문 문구에 인라인 링크가 있습니다. 기본 텍스트는 지속적인 밑줄이 있는 ``에서 렌더링된 ``입니다. 밑줄은 전체 어포던스이며 색상은 변경되지 않습니다. 상속된 ``.

외에 패딩이 없고 둥근 모서리가 없는 사본에 수평으로 배치됩니다.

**`link-on-light`** — 밝은 표면의 본문 문구에 있는 인라인 링크입니다. `link-on-dark`과 동일한 모양 계약이지만 텍스트는 ``입니다. 가격, 연락처, 문서 전반에 걸쳐 사용됩니다.

**`footer-light`** — 라이트 캔버스 템플릿의 사이트 전체 바닥글(가격, 연락처, 문서).

  • 배경 ``, 텍스트 ``, 유형 ``, 패딩 ` `(32px 24px). 라임 구불구불한 칸막이가 얹혀 있습니다. 시그니처 구성 요소를 참조하세요. 3~4개의 링크 그룹 열, 오른쪽 하단의 가로 스트립에 소셜 아이콘, ``의 맨 아래에 작은 법적/저작권 행이 있습니다.

해야 할 일과 하지 말아야 할 일

하세요

  • 디스플레이 헤드라인 및 바닥글 물결선 구분선 내부의 키워드 강조 칩을 위해 ``을 예약하세요. 절대 버튼 배경이나 본문 텍스트로 사용하지 마세요.
  • 모든 `button-primary`을 0.2px 추적을 사용하여 대문자로 된 ``과 페어링합니다. 흐름은 스타일 옵션이 아니라 브랜드의 일부입니다.
  • 어두운 캔버스(``)와 밝은 캔버스(``)를 두 개의 완전한 세계로 처리하십시오. 하나는 마케팅/기능 페이지를, 다른 하나는 거래 페이지를 소유하게 하십시오.
  • 섹션 경계를 허무려면 스티커 마스코트를 사용하세요. 겹치고, 기울어지고, 뜨게 하세요. 카드 안에 제한하면 개성이 고갈됩니다.
  • 특집 가격 열에 액센트 테두리가 있는 밝은 계층 대신 `card-pricing-featured`(어두운 반전 계층)을 사용하세요.
  • 기능적 UI 표면에서는 기본 본문 줄 높이가 1.5이고 마케팅 표면에서는 2.0입니다. 차이점은 의도적인 것입니다.

하지 마세요

  • `` 및 `` 이외의 강조 색상을 추가하지 마세요. 청록색, 주황색 또는 노란색을 추가하면 보라색과 라임색 시그니처가 희석됩니다.
  • 어두운 캔버스의 카드에는 그림자를 적용하지 마십시오. 깊이는 질감과 일러스트레이션에서 나오는 것이지 보라색을 흐릿하게 만드는 어두운 바탕에 밝은 그림자에서 나오는 것이 아닙니다.
  • 마케팅 영웅을 제외한 어떤 것에도 ``(88px)을 사용하지 마십시오. 하위 페이지도 ``(60px)으로 제한됩니다.
  • 본문 텍스트를 ``에 넣지 마세요. 문자 색상이 아닌 칩 색상이며 본문 크기에 따라 대비가 깨집니다.
  • `` 버튼을 보라색으로 부드럽게 만들지 마세요. 검은색에 가까운 것이 포인트입니다. 캔버스 극성에 관계없이 가장 권위 있는 작업으로 읽혀집니다.
  • 그림이 있는 마스코트를 카드나 제한된 용기 안에 넣지 마세요. 마스코트의 임무는 그리드를 차지하는 것이 아니라 부수는 것입니다.

반응적 행동

중단점

| 이름 | 폭 | 주요 변경 사항 |

|---|---|---|

| 4K/와이드 | ≥ 1440px | 전체 4계층 가격 행, 주요 일러스트레이션이 헤드라인 옆에 전체 크기로 표시됨 |

| 데스크탑 | 1152~1440px | 기본 콘텐츠 최대 너비는 1152px이며 모든 4계층 패턴은 |

을 유지합니다.

| 노트북 | 992~1151px | 가격은 2개 행으로 축소되고 탐색은 가로로 유지됩니다 |

| 태블릿 | 768~991px | 2열 기능 그리드는 1업으로 축소됩니다. 탐색은 여전히 수평이지만 압축됩니다 |

| 모바일 대형 | 640~767px | 햄버거 네비게이션이 나타납니다. 히어로 디스플레이가 88px에서 ~56px로 떨어짐 |

| 모바일 | 576~639px | 단일 열의 모든 것; 섹션 패딩이 96px에서 32~48px로 축소됨 |

| 소형 모바일 | 1~575px | 컴팩트 모드; 콘텐츠 우선순위를 유지하기 위해 스티커 마스코트의 크기가 줄어들거나 완전히 숨겨집니다 |

터치 대상

  • 기본 버튼은 모바일에서 최소 44×44픽셀에 도달합니다(12픽셀 수직 패딩 × 16픽셀 글꼴 + 줄 높이 = ~44픽셀). WCAG AAA 터치 타겟 사양을 유지합니다.
  • 탐색 및 기능 화면의 알약 태그와 배지는 작은 모바일 중단점에서도 32×32픽셀 이상으로 유지됩니다. 필요한 경우 축소하지 않고 확대합니다.
  • 양식 필드는 모바일 연락처 페이지에서 최소 높이 44픽셀로 유지됩니다.

축소 전략

  • **영웅 디스플레이 헤드라인**은 중단점 계단 전체에서 88px → 60px → 48px에서 떨어집니다. 라임 키워드 칩은 모든 단계에서 패딩과 코너 반경을 유지합니다.
  • **가격 책정 계층** 4개 → 2개 → 1개 단계로 구성됩니다. 주요 다크 계층은 항상 시각적으로 구별되는 상태를 유지하며 어떤 중단점에서도 반전을 잃지 않습니다.
  • **스티커 마스코트**는 점차적으로 덜 강조됩니다. 데스크톱에서는 섹션 경계와 겹칩니다. 태블릿에서는 섹션 패딩 내에서 인라인으로 이동합니다. 소형 모바일에서는 콘텐츠를 스캔할 수 있도록 대부분 `display: none`을 통해 숨겨져 있습니다.
  • **상단 탐색**은 768px 미만의 햄버거로 축소됩니다. 드롭다운 메뉴는 페이지와 동일한 캔버스 극성을 사용합니다(히어로는 어둡게, 가격은 밝게).
  • **코드 블록**은 모든 중단점에서 16px Monaco를 유지하며 절대 축소되지 않습니다. 하지만 오버플로 시 줄 바꿈 대신 가로 스크롤로 전환합니다.

이미지 동작

  • 제품 UI는 비례적으로 크기를 모의합니다. 소형 모바일에서는 읽기 어려울 정도로 축소되기보다는 수평 오버플로로 한쪽 가장자리에 고정되는 경우가 많습니다.
  • 스티커 마스코트는 모바일 중단점에서 50~70%까지 확장되어 개성을 유지하지만 화면 공간을 콘텐츠에 할당합니다.
  • 라임 바닥글 물결선은 획 너비를 시각적으로 일관되게 유지하면서 SVG를 컨테이너 너비로 조정합니다.

반복 가이드

1. 한 번에 하나의 구성 요소에만 집중하세요. 시스템을 재구축하지 말고 확장하세요.

2. 구성요소 이름 및 토큰을 직접 참조하십시오(``, `-pressed`, ``). 다른 말로 표현하지 마세요.

3. 편집 후 _`npx @google/design.md lint DESIGN.md` 실행 — `broken-ref`, `contrast-ratio` 및 `orphaned-tokens` 경고 플래그는 자동으로 문제를 표시합니다.

4. 새 변형을 별도의 구성요소 항목(`-pressed`, `-disabled`, `-focused`)으로 추가합니다. 산문 안에 묻어두지 마세요.

5. 제품 UI 본문의 경우 기본값은 ``, 마케팅 문구의 경우 ``입니다. 주요 차이점은 의도적이며 부하를 견디는 것입니다.

6. ``을 부족하게 유지하세요. 뷰포트당 하나의 라임 요소를 사용하세요. 서명은 드물기 때문에 작동합니다.

7. 새 표면을 편광할 때 하나의 캔버스(`` 또는 ``)를 선택하고 커밋합니다. 단일 페이지 밴드에 두 가지를 혼합하지 마십시오.

概要

_Sentri のデザイン言語は、革のジャケットを着たデバッグ コンソールのように見えます。ホームと製品の表面は、黒に近い紫色の真夜中 (`` / ``) に置かれ、スターフィールドのテクスチャと浮遊するステッカー スタイルのマスコット (宇宙飛行士、モンスター、トラフィック コーン) が散りばめられており、可観測性製品の真剣さを表現しています。見出しは分厚い独自のディスプレイで実行され、最も重要なキーワードがライムグリーンのハイライトチップ (``) で囲まれていません。あたかも開発者が独自のコンソール出力をレッドラインしてコピー自体をマークアップしているかのようです。

パレットは意図的に狭くなっています。主なキャンバスとして深い真夜中、主に注目を集めるものとしてエレクトリック ライム、二次句読点としてホット ピンク (``)、タグ チップとヘアライン ストローク用にバイオレットミッド (``) を使用しています。白は 2 つの役割で表示されます。暗い色のテキストとして、もう 1 つは価格設定、連絡先、および開発者が高密度の表をスキャンする必要があるコンテンツの多いページのキャンバスとしてです。 「単一のプライマリ CTA」は、コンテキストに応じて視覚的に反転されます。つまり、明るいサーフェスでは白のタイプで塗りつぶされた黒紫 (``)、または暗いサーフェスでは白で塗りつぶされた暗いタイプになります。ボタンは、極性に関係なく常に最も強い UI アフォーダンスとして読み取られます。

タイポグラフィは 3 つのファミリーにきれいに分割されています。ヒーローとセクション オープナーのないカスタム表示 (分厚く、ほぼ凝縮されており、少し遊び心がある)、すべての UI テキストの役割 (本文、キャプション、眉キャップ、ボタン ラベル) の Rubik、およびコードの Monaco です。ボタンと眉毛は、ほとんどの場合、コンソール出力のスナップを与えるために 0.2 ピクセルのトラッキング リフトで大文字で実行されます。

**主な特徴:**

  • 2 極性キャンバス システム: マーケティング ヒーロー ページと製品特集ページには濃い紫色の真夜中 (``)、価格設定、連絡先、および密集した参照コンテンツには白 (``) — システムはこの 2 つをぼかそうとすることはありません。
  • Lime キーワード ハイライト (``) は、色見本ではなく活版印刷デバイスとして扱われます。表示見出し内に 1 つの単語をラップして、読み取りフローの構文ハイライトとして機能します。
  • ステッカー イラスト システム: 手描きの輪郭を持つ浮遊マスコット キャラクター。セクションの接合部に表示され、カードの内側には表示されません。これらは、密集した情報ブロックの間にリズムと個性を生み出します。
  • __CODEBCK_686___ および `` の大文字の眉毛 + ボタン キャップは、一貫した 0.2 ピクセルのトラッキング リフトにより、ブランドに「開発者コンソール」のリズムを与えます。
  • 単一プライマリ CTA 階層: すべてのページに 1 つの塗りつぶされたボタンがあり、明るい場合は ``、暗い場合は `` のいずれかが表示されます。アウトライン化されたバリアントとゴースト バリアントはダウングレードされます。
  • カードの表面はキャンバスに従います。暗いセクションは暗いカード (``、微妙なヘアライン付き) をネストし、明るいセクションは `` の境界線を持つ白いカードをネストします。クロムは一貫性を保ち、極性が反転するだけです。
  • 価格ページのカラー リズムは、濃い色の反転「目玉」層 (``) が 1 つあるクリームホワイトの層で構成されており、典型的なアクセントボーダーの注目パターンを避けています。

> **ソース ページ:** ホーム (`/welcome/`)、製品/エラー監視、連絡先/企業、価格。

ブランドとアクセント_

  • **ミッドナイト バイオレット** (`` — ``): システムの主要なアクション カラーであり、最も深い表面トーン。 明るい表面、コードブロックの背景、最も強い暗いカード上の塗りつぶされた主ボタンに使用されます。
  • **インク バイオレット** (`` — ``): プライマリからわずかに引き上げられたもので、これはマーケティング ヒーロー キャンバスであり、ライト サーフェス上のデフォルトの本文テキストの色です。単一のトークンが背景とインクの 2 つの役割を果たします。
  • **エレクトリック ライム** (`` — ``): 代表的なハイライト カラー。個々の見出しキーワードを構文ハイライト チップとしてラップします (`` コーナー、パディングなし、y、12px パディング x)。波線状のフッター分割線のストロークとしても使用されます。ボタンの背景は決して使用しないでください。
  • **ホット ピンク** (`` — ``): ステッカーのアウトライン、チャート ポイント、サポート アクセントに使用される 2 番目の句読点の色。ボタンやボディ サイズのタイプには決して使用されません。
  • **紫色のリンク** (`` — ``): 下線を超えて強調が必要な場合のインライン リンクの色。
  • **ディープバイオレット** (`` — ``): 連絡先フォームの選択ドロップダウン入力。暗いセクション内のスポットライト カードでも使用されます。
  • **ミッドバイオレット** (`` — ``): タグチップの塗りつぶしと暗い表面のかすかなアクセント。

表面

  • **ダーク キャンバス** (`` — ``): ヒーロー、製品、および特集ページの背景。 最も深い大気の重量を運びます。
  • **夜** (`` — ``): ダーク キャンバス上のカード、コード ブロック、および「注目の」価格帯。
  • **ライト キャンバス** (`` — ``): 価格、連絡先、および詳細な参照ページの背景。
  • **軽く表面を押す** (`` — ``) および **強く押す** (`` — ``): 暗い表面上の反転ボタンの押された/アクティブな塗りつぶし。
  • **ヘアライン バイオレット** (`` — ``): ダーク カードの境界線は 1 ピクセルです。
  • **ヘアライン クール** (`` — ``): テキスト入力とフォーム フィールドの 1 ピクセルの境界線。
  • **ヘアライン クラウド** (`` — ``): ライト キャンバス上の価格表の仕切りと価格カードの境界線。

テキスト

  • **プライマリ** (`` — ``): すべてのテキストは暗いキャンバス上にあり、すべての CTA ラベルは塗りつぶされた暗いボタン上にあります。
  • **インク** (`` — ``): ライト キャンバス上の本文テキスト。ダーク キャンバスと同一のヘックス。タイプとして再利用されます。
  • **インク プレス** (`` — ``): 反転ボタンの押下/アクティブ状態用に予約されています。
  • **ダークミュート時** (`` — `rgba(255,255,255,0.72)`): ダークキャンバス上の二次テキスト、キャプション、表のセル値。
  • **暗いかすかな状態** (`` — `rgba(255,255,255,0.18)`): 暗いときの半透明のサーフェス — ゴースト ボタンの塗りつぶしと薄暗くなったナビゲーション項目に使用されます。

セマンティック

  • **フォーカス リング** (`` — `rgba(59,130,246,0.5)`): 半透明の青色のフォーカス リング — システム内で唯一の青色で、フォーム フィールドのキーボード フォーカス用に予約されています。

タイポグラフィ

フォント ファミリー

ディスプレイ層は、分厚い、ほぼ凝縮されたプロポーションと、わずかに破壊的な性格 (閉じた開口部、光学的ストレスの文字形) を備えた独自の幾何学的形状です。使用できない場合は、視覚的な連続性を保つために、より重いウェイトの **Rubik** に戻ります。

UI 層は **Rubik** です。Google Fonts を使用しないオープンソースのヘブライ語/ラテン語であり、システム フォールバック (`-apple-system, system-ui, Segoe UI, Helvetica, Arial`) を備えています。 Rubik は、ボディ、キャプション、ボタン、眉毛のすべての役割を処理します。

コード層は **Monaco** で、Menlo および Ubuntu Mono フォールバックを備えています。コード ブロック、インストール スニペット、インライン トークンで使用されます。

階層

|トークン |サイズ |重量 |行の高さ |文字間隔 | |

を使用します

|---|---|---|---|---|---|

| `` | 88ピクセル | 700 | 1.2 | 0 |マーケティング ヒーローの見出し (注目を集める 1 行) |

| `` | 60ピクセル | 500 | 1.1 | 0 |暗い表面上のセクション オープナー |

| `` | 30ピクセル | 500 | 1.2 | 0 |ライト サーフェス上のページ タイトル (例: 「あらゆる規模の開発チーム向けの価格プラン」) |

| `` | 27ピクセル | 500 | 1.25 | 0 |サブセクションの見出し、大きなカード タイトル |

| `` | 24ピクセル | 500 | 1.25 | 0 |カード タイトル、ページ内のセクション見出し |

| `` | 20ピクセル | 600 | 1.25 | 0 |コンパクト カード タイトル、リスト グループ タイトル |

| `` | 16ピクセル | 400 | 2.0 | 0 |マーケティング段落の本文 — ヒーローのサブテキストで使用される、先頭が 2 行の風通しの良いバリアント |

| `` | 16ピクセル | 600 | 1.5 | 0 |強調された本文、リード文 |

| `` | 16ピクセル | 500 | 1.5 | 0 |デフォルトの UI 本体、テーブルセル、フォームラベル |

| `` | 15ピクセル | 500 | 1.4 | 0 |大きな見出しの上のセクション眉毛、すべて大文字 |

| `` | 14ピクセル | 700 | 1.14 | 0.2ピクセル |塗りつぶされたボタンのラベル (大文字) |

| `` | 14ピクセル | 500 | 1.29 | 0.2ピクセル |ゴースト/アウトライン ボタン ラベル (大文字) |

| `` | 14ピクセル | 400 | 1.43 | 0 |フッター テキスト、細字、ヘルパー コピー |

| `` | 10ピクセル | 600 | 1.8 | 0.25ピクセル |ステータス ラベル、バッジ テキスト、マイクロアイブロウ |

| `` | 16ピクセル | 400 | 1.5 | 0 |コード ブロックのコンテンツ |

| `` | 16ピクセル | 700 | 1.5 | 0 |ハイライトされたコード キーワード |

原則

  • _**2 つの主要な世界。** マーケティング コピーは `` で 2.0 行の高さを使用しています。これは非常に風通しが良く、ゆったりとした呼吸スペースです。機能的な UI のコピーは、__CODEBCK_755___ で 1.5 行の高さを使用します。これはより高密度で、コンソール出力に近くなります。この選択は意図的です。マーケティングは散文のように読み取れ、製品はログのように読み取れます。
  • **トラッキング付きのキャップ。** すべてのボタンのラベルと眉は大文字で、0.2 ピクセルのトラッキングが付いています。これはブランドのタイポグラフィーの特徴であり、UI アフォーダンスに適用されるコンソール プロンプトのリズムです。
  • **構文としての見出し。** ヒーロー表示は、読み上げる順序を乱すことなく、単一のキーワードを `` ハイライト チップで囲むことができるように構造化されています。ライム チップを別個のコンポーネントではなく、グリフ レベルの装飾として扱います。

フォントの代替に関する注意

Rubik は Google Fonts のオープンソースであり、ヒーロー表示を除くすべての安全なデフォルトです。独自のディスプレイがない場合、適切なオープン代替品は **Space Grotesk** (より重い重量)、**Archivo** (半凝縮重量)、またはより重い端に光学サイズの軸を備えた **Hubot Sans** です。すべて同じ分厚い、ほぼ凝縮されたシルエットを持ちます。 独自の面のサイズが大きいとリーディングが狭くなるため、置き換える場合は行の高さを 0.05 下げて調整します。

レイアウト

間隔システム

  • **ベースユニット**: 8px
  • _**トークン**: `` 2px · `` 4px · `` 8px · `` 12px · `` 16px · `` 24px · `` 32px · `` 96px
  • **セクション パディング**: デスクトップでは主要なページ バンド間で `` 96 ピクセル、モバイルでは `` 32 ピクセル~48 ピクセルに折りたたまれます。
  • **カードの内部パディング**: 価格カードと大きな機能カードでは `` 32 ピクセル。 `` コンパクト タグ/バッジ グループでは 16 ピクセル。
  • **フォームフィールドのパディング**: `` 垂直 8 ピクセル、__CODEBCK_770___ 水平 12 ピクセル — テキスト入力トークンに直接一致します。

グリッドとコンテナ

  • マーケティング ページでは、外側の余白がたっぷりある幅広の中央コンテナを使用します。最大幅は約 1152px (抽出されたブレークポイントの 1 つ) で、内部のコンテンツは 12 の概念的な列にまたがって変化します。
  • 価格はデスクトップでは 4 層のカード行に分割され、中幅では 2 層、モバイルでは 1 層に折りたたまれます。
  • お問い合わせフォームは、単一のライト キャンバス パネル内で 2 列のフィールド レイアウト (名/姓を並べて表示) を使用します。
  • 1440 → 1152 → 992 → 768 → 640 → 576 のブレークポイント階段 — 応答動作を参照してください。

ホワイトスペースの哲学

暗いキャンバスは、光とは異なる方法で空白を吸収します。暗い表面では、ブランドはバンドの間に__CODEBCK_771___をたっぷりと伸ばしているため、浮遊するマスコットやスターフィールドのテクスチャには呼吸する余地があります。軽い面 (価格設定、連絡先) では、余白が狭まり、ユーザーはざっと調べ、比較し、行動するため、コンテンツの密度が優先されます。経験則: ヒーローとフィーチャーのサーフェスは広く、トランザクション サーフェスは密集しています。

標高と深さ

|レベル |治療 | |

を使用します

|---|---|---|

| 0 |キャンバス上に平ら、影なし |デフォルトのサーフェス、暗いまたは明るい |

| 1 | `box-shadow: rgba(0,0,0,0.08) 0 2px 8px 0` |暗いキャンバス上の反転ボタン (暗い表面を明るい塗りつぶしで浮き上がらせる) |

| 2 | `box-shadow: rgba(0,0,0,0.1) 0 10px 15px -3px, rgba(0,0,0,0.1) 0 4px 6px -4px` |ライト キャンバス上のフローティング カード、モーダル |

| 3 | `box-shadow: rgb(21,15,35) 0 0 8px 6px` |ダーク ヒーローのプライマリ CTA の周囲に光るハロー — 暗い色自体が影となり、ボタンの周囲にキャンバスのビネットを作成します |

| 4 | `box-shadow: rgba(0,0,0,0.18) 0 0.5rem 1.5rem` |暗いキャンバス上の反転ボタンが押されました |

装飾の深さ

Sentri の深みはドロップ シャドウから来ているのではありません。ヒーロー キャンバス上の **スターフィールド テクスチャ** (不透明度が低く、紫地に微妙な白のピン刺し)、**フローティング ステッカー マスコット** (手作業でレンダリングされた輪郭と飽和した塗りつぶしで描画され、影なしでキャンバス上に重ねられています)、およびフッター上の **ライムの波線の仕切り**から来ています。 これらの例示的な要素は、よりフラットなデザイン システムでシャドウ スタックが行う役割を果たします。これらの要素は、あるセクションがどこで終わり、別のセクションが始まるのかを目に知らせます。

図形

境界線の半径スケール

|トークン |値 | |

を使用します

|---|---|---|

| `` | 4ピクセル |バッジ、ステータス ピル、ライム キーワード ハイライト チップ |

| `` | 6ピクセル |テキスト入力、検索ボックス |

| `` | 8ピクセル |主ボタンと反転ボタン、コード ブロック、ドロップダウンの選択 |

| `` | 10ピクセル |汎用 div、コンテナ ブロック |

| `` | 12ピクセル |価格カード、機能カード、ナビゲーション ピル クロム |

| `` | 18ピクセル |画像コンテナ、大きなヒーローのイラスト |

| `` | 9999ピクセル |アバター、円形アイコン ボタン |

写真の幾何学

このサイトでは従来の写真は使用されていません。**イラスト付きのステッカーと製品 UI のスクリーンショット**が、ほぼ同等の幾何学的役割で使用されています。製品 UI モックは、境界線のない暗いキャンバスに対して、__CODEBCK_783___ 18 ピクセルのコンテナー内に配置され、軸からわずかに傾いていることがよくあります。ステッカー マスコットにはコンテナがまったくありません。キャンバス上に直接重ねられ、グリッドを壊すためにセクションの境界と重なることがよくあります。アバター処理 (顧客ロゴ ストリップ内) は、写真ではなく、単純なグレースケールのワードマークです。

コンポーネント

> **ホバー状態は文書化されていません。** 以下のすべての仕様には、デフォルト状態と押下/アクティブ状態のみが示されています。バリアントは、前付__CODEBCK_784___ ブロックの正式なエントリです。

ボタン

**`button-primary`** — ライト サーフェス全体での主要な CTA。

  • 背景__CODEBCK_786___、テキスト__CODEBCK_787___、入力__CODEBCK_788___ (大文字、14px / 700、0.2pxトラッキング)、パディング__CODEBCK_789___ (12px 16px)、丸め__CODEBCK_790___。ダーク ヒーローの表面では、レベル 3 のグロー ハローを追加して強調します。
  • 押された状態は__CODEBCK_791___にあります:背景が__CODEBCK_792___に反転し、テキストが__CODEBCK_793___に反転します。ボタンを押すと、極性が効果的に切り替わります。

**`button-inverted`** — 暗いキャンバスでの主要な CTA。視覚的に同一の階層、極性反転。

  • 背景__CODEBCK_795___(白)、テキスト__CODEBCK_796___、同じ__CODEBCK_797___、丸め__CODEBCK_798___.
  • __CODEBCK_799___ で押下: 背景が `` に、テキストが `` に下がります。

**`button-ghost-on-dark`** — 暗いキャンバス上のセカンダリ CTA (例: 「Get Started」の横の「Get Demo」)。

  • 半透明の塗りつぶし__CODEBCK_803___、テキスト__CODEBCK_804___、入力__CODEBCK_805___、パディング__CODEBCK_806___ (8px)、丸め__CODEBCK_807___。 半透明の塗りつぶしにより、キャンバスのテクスチャが透けて見えます。

**`button-violet-token`** — 製品ナビゲーションでインラインで使用される丸薬の形のタグ/カテゴリ ボタン。

  • 背景__CODEBCK_809___、テキスト__CODEBCK_810___、入力__CODEBCK_811___、パディング__CODEBCK_812___ (8px 16px)、丸みを帯びた__CODEBCK_813___、やや濃い紫色のヘアライン境界線1px。

_**`button-disabled`**

  • 背景__CODEBCK_815___、テキスト__CODEBCK_816___、それ以外は__CODEBCK_817___と同一。

カードとコンテナ

_**`card-pricing`** — 価格ページの標準レベルのカード。

  • 背景__CODEBCK_819___、テキスト__CODEBCK_820___、パディング__CODEBCK_821___ 32ピクセル、角丸__CODEBCK_822___ 12ピクセル、1ピクセル__CODEBCK_823___の境界線。見出しは__CODEBCK_824___、価格は__CODEBCK_825___、機能リストは__CODEBCK_826___、プライマリCTAはカードの下部に固定されています。

**`card-pricing-featured`** — ダーク反転された「注目」層 (Sentri はビジネス層を注目層として使用します)。

  • 背景__CODEBCK_828___、テキスト__CODEBCK_829___、それ以外は__CODEBCK_830___と同一の構造。 (アクセントで縁取りされたライト カードではなく) 反転はブランドの独特の選択です。注目の層はマーケティングの装飾としてではなく、ブランドの声として読み取られます。

_**`card-feature-dark`** — 暗い表面上の大きな機能バンド カード。製品機能の説明を固定するために使用されます。

  • 背景__CODEBCK_832___、テキスト__CODEBCK_833___、パディング__CODEBCK_834___ 32ピクセル、丸め__CODEBCK_835___ 18ピクセル。多くの場合、UI モック、27 ピクセルの見出し、16 ピクセルの本文が含まれます。

_**`card-spotlight-violet`** — 濃い紫色で塗りつぶされたアクセント フィーチャ カード。「セントリー専用」機能バンドに使用されます。

  • 背景__CODEBCK_837___、テキスト__CODEBCK_838___、パディング__CODEBCK_839___、丸め__CODEBCK_840___。深い紫は、ブランドの紫ファミリーから抜け出すことなく、機能のハイライトとして読み取れます。

**`code-block`** — コード/インストール スニペット。

  • 背景__CODEBCK_842___、テキスト__CODEBCK_843___は__CODEBCK_844___でレンダリングされます。パディング__CODEBCK_845___ 16ピクセル、四捨五入__CODEBCK_846___。暗いキャンバスでは、コード ブロックはキャンバスからほとんど浮いていません。わずかに深い塗りつぶしだけが区別されます。

入力とフォーム

**`text-input`** — お問い合わせフォームの最初/最後/メールアドレスなど。フィールド。

  • 背景__CODEBCK_848___、テキスト__CODEBCK_849___、入力__CODEBCK_850___、パディング__CODEBCK_851___ (8px 12px)、丸め__CODEBCK_852___ 6px、1px ``の境界線。
  • __CODEBCK_854___ のフォーカス状態: 同じ塗りつぶしですが、内側に押し込まれた深さを示唆する挿入影 `rgba(0,0,0,0.15) 0 2px 10px inset` を追加します。

**`select-violet`** — ダーク コンタクト パネル内で使用されるドロップダウン バリアント。

  • 背景__CODEBCK_857___、テキスト__CODEBCK_858___、入力__CODEBCK_859___、パディング__CODEBCK_860___、丸め__CODEBCK_861___。 プレーン テキスト入力を模倣していないことが特徴で、意図的なブランド表面として読み取れます。

ナビゲーション

**`nav-bar-light`** — ライト ページ (価格、連絡先、ドキュメント) にわたる標準のトップ ナビゲーション。

  • 背景__CODEBCK_863___、テキスト__CODEBCK_864___、入力__CODEBCK_865___。左側に約 145×32 ピクセルのロゴのワードマーク、バーの中央にドロップダウン キャレットのあるプライマリ ナビゲーション項目、右側に__CODEBCK_866___ ゴースト + `Get Started` で塗りつぶされた `button-primary` のペア。パディング ` ` (16 ピクセル 24 ピクセル).

**トップ ナビゲーション (ダーク バリアント)** — ホーム ページで使用されます。同じ構造ですが極性が反転しており、__CODEBCK_870___ にあります。右側のボタンは `button-inverted`.

になります。

**モバイル ナビゲーション** — 768px ブレークポイントの下でハンバーガー トグルに折りたたまれます。ドロップダウン キャレットは全幅のアコーディオン項目になります。

錠剤、バッジ、およびハイライト チップ

_**`pill-neutral-dark`** — 暗い表面上の小さなステータス/カテゴリのピル。

  • 背景__CODEBCK_873___、テキスト__CODEBCK_874___、入力__CODEBCK_875___ 12px、パディング__CODEBCK_876___ (4px 8px)、丸め__CODEBCK_877___ 4px.

**`chip-lime-keyword`** — ヒーロー表示見出し内の 1 つの単語をラップする署名のインライン ハイライト。

  • 背景__CODEBCK_879___、テキスト__CODEBCK_880___、タイプは周囲の__CODEBCK_881___、丸め__CODEBCK_882___ 4ピクセル、パディング__CODEBCK_883___(チップがキャップの高さに合わせて水平12ピクセル、垂直0ピクセル)。

署名コンポーネント

**ステッカー マスコット レイヤー** — 手書きのアウトラインと彩度の高い `` / `` の塗りつぶしで描かれたイラスト付きキャラクター (宇宙飛行士、漫画のモンスター、トラフィック コーン、デバッグ アバター)。マスコットはセクションの接合部に配置され、多くの場合セクションの境界と高さの 30 ~ 40% 重なり、コンテナや影はありません。これらは、装飾的なセクション マーカーおよびブランド パーソナリティの伝達者として機能します。決してカードの中に入れたり、ボタンとして使用したりすることはありません。

**Lime Squiggly Footer Divider** — 手描きの `` 波線、最大 3 ピクセルのストロークで、コンテナーの全幅でフッターの上に配置されます。本来は 1 ピクセルのヘアラインの区切り線を、個性豊かな華やかさに置き換えます。

**スターフィールド ヒーロー テクスチャ** — 非常に低い不透明度でヒーロー キャンバスにオーバーレイされた、紫地に白のかすかなピン刺しパターン。目に見える装飾を省き、暗いキャンバスに雰囲気の深みを加えます。繰り返しの CSS としてではなく、背景画像として実装されます。

**Window-Chrome UI モック** — `` コンテナーでフレーム化された製品 UI スクリーンショット。多くの場合、軸から ±2 ~ 3 度傾いて、暗い機能ページのセクション境界と重なるように配置されています。クロム自体は、微妙なヘアラインを備えた単なる丸いイメージです。コンテンツは実際の製品 UI です。

**`link-on-dark`** — 暗い表面上のボディ コピーのインライン リンク。デフォルトのテキストは `` で、__CODEBCK_890___ でレンダリングされ、下線が付きます。下線はアフォーダンス全体であり、色の変化はありません。パディングなしで、継承された__CODEBCK_891___.

を超える角の丸いコピーを使用せずにコピー内で同一平面上に配置されます。

_**`link-on-light`** — ライト サーフェス上のボディ コピー内のインライン リンク。 `link-on-dark` と同じ形状の契約ですが、テキストは `` です。 価格設定、連絡先、ドキュメントの各画面で使用されます。

**`footer-light`** — ライトキャンバス テンプレートのサイト全体のフッター (価格、連絡先、ドキュメント)。

  • 背景__CODEBCK_896___、テキスト__CODEBCK_897___、入力__CODEBCK_898___、パディング__CODEBCK_899___ (32ピクセル 24ピクセル)。上部にはライムの波線の仕切りがあります。「署名コンポーネント」を参照してください。 ``.
  • の 3 ~ 4 列のリンク グループ、右下の水平ストリップにソーシャル アイコン、最下部に小さな法的/著作権行が表示されます。

推奨事項と禁止事項

_実行

  • __CODEBCK_901___ は、表示見出しとフッターの波線区切り線内のキーワード ハイライト チップ用に予約してください。ボタンの背景や本文テキストとしては決して使用しないでください。
  • すべての__CODEBCK_902___と__CODEBCK_903___を大文字で0.2ピクセル追跡でペアリングします。リズムはブランドの一部であり、スタイルのオプションではありません。
  • 暗いキャンバス (``) と明るいキャンバス (``) を 2 つの完全な世界として扱います。中途半端な対策はせず、一方をマーケティング/特集ページ、もう一方をトランザクション ページとして所有します。
  • ステッカー マスコットを使用してセクションの境界を壊します。境界を重ねたり、傾けたり、浮かせたりできます。それらをカード内に拘束すると、その個性が失われてしまいます。
  • 注目の価格設定列には、アクセント枠の明るい層の代わりに__CODEBCK_906___ (暗い反転層) を使用してください。
  • 本文の行の高さのデフォルトは、機能 UI サーフェスでは 1.5、マーケティング サーフェスでは 2.0 です。この違いは意図的なものです。

しないでください

  • _`` および `` を超える追加のアクセント カラーを導入しないでください。ティール、オレンジ、またはイエローを追加すると、紫とライムの特徴が薄れます。
  • 暗いキャンバス上のカードにドロップ シャドウを適用しないでください。奥行きはテクスチャとイラストから得られ、紫を濁らせるような明るい影と暗い影からではありません。
  • マーケティング ヒーロー以外には__CODEBCK_909___ (88 ピクセル) を使用しないでください。サブページであっても__CODEBCK_910___ (60 ピクセル) に制限されます。
  • _`` に本文を入れないでください。これはチップの色であり、タイプの色ではなく、本文のサイズでコントラストが損なわれます。
  • _`` ボタンをブランドバイオレットに柔らかくしないでください。黒に近い色がポイントです。これは、キャンバスの極性に関係なく、最も権限のあるアクションとして読み取られます。
  • イラスト入りマスコットをカードや制約のあるコンテナ内に入れないでください。マスコットの仕事はグリッドを壊すことであり、占有することではありません。

応答動作

ブレークポイント

|名前 |幅 |主な変更点 |

|---|---|---|

| 4K/ワイド | ≥ 1440 ピクセル |完全な 4 段階の価格設定行。見出しの横にヒーローのイラストが実物大で表示されます |

|デスクトップ | 1152–1440ピクセル |デフォルトのコンテンツの最大幅は 1152 ピクセルで、4 層パターンはすべて保持されます |

|ラップトップ | 992–1151ピクセル |価格は 2 行に折りたたまれ、ナビゲーションは水平のまま |

|タブレット | 768–991ピクセル | 2 列のフィーチャ グリッドは 1 アップに折りたたまれます。ナビゲーションは水平のままですが、圧縮されます |

|モバイル大 | 640–767ピクセル |ハンバーガーナビが表示されます。ヒーローの表示が 88 ピクセルから ~56 ピクセルに低下します |

|モバイル | 576–639ピクセル |すべてを単一列にします。セクションのパディングが 96 ピクセルから 32 ~ 48 ピクセルに折りたたまれます |

|小型モバイル | 1~575ピクセル |コンパクトモード。コンテンツの優先順位を維持するために、ステッカー マスコットのサイズを小さくするか、完全に非表示にします |

タッチターゲット_

  • モバイルではプライマリ ボタンは最小 44×44 ピクセルに達します (垂直パディング 12 ピクセル × フォント 16 ピクセル + 行の高さ = ~44 ピクセル)。 WCAG AAA タッチターゲット仕様を維持します。
  • ナビゲーションおよび機能サーフェスのピル タグとバッジは、小さなモバイル ブレークポイントでも 32×32 ピクセルを超えたままになります。必要に応じて、縮小するのではなく拡大します。
  • モバイル連絡先ページでは、フォーム フィールドは最小の高さ 44 ピクセルのままです。

戦略の崩壊

  • **ヒーロー表示の見出し**は、ブレークポイントの階段を越えて 88 ピクセル→ 60 ピクセル→ 48 ピクセルに低下します。ライム キーワード チップは、すべてのステップでパディングと角の半径を保持します。
  • **価格階層** 4-up → 2-up → 1-up の階段ステップ。注目のダーク層は常に視覚的に区別され続けます。どのブレークポイントでも反転が失われることはありません。
  • **ステッカー マスコット** は徐々に強調されなくなります。デスクトップではセクションの境界と重なっています。タブレットではセクションパディング内でインラインに移行します。小型モバイルでは、コンテンツをスキャン可能に保つために、ほとんどが `display: none` によって非表示になります。
  • **トップナビゲーション**は、768 ピクセル未満でハンバーガーに折りたたまれます。ドロップダウン メニューでは、ページと同じキャンバス極性が使用されます (ヒーローは暗く、価格は明るくなります)。
  • **コード ブロック** は、すべてのブレークポイントで 16 ピクセルのモナコを保持します。スケールダウンすることはありません。ただし、オーバーフロー時にラップではなく水平スクロールに切り替わります。

画像の動作

  • _製品 UI モックは比例して拡大縮小します。小型モバイルでは、縮小して判読できなくなるのではなく、水平方向にオーバーフローして一方の端に固定されることがよくあります。
  • ステッカー マスコットは、モバイル ブレークポイントで 50 ~ 70% 拡大され、その個性を維持しながら画面スペースをコンテンツに譲ります。
  • ライムのフッター波線は、ストロークの幅の視覚的な一貫性を保ちながら、SVGをコンテナの幅に合わせて拡大縮小します。

反復ガイド

1.一度に 1 つのコンポーネントに焦点を当てます。システムを再構築するのではなく、拡張してください。

2.コンポーネント名とトークンを直接参照します (``、__CODEBCK_915___、__CODEBCK_916___) - 言い換えはしないでください。

3.編集後に `npx @google/design.md lint DESIGN.md` を実行します — `broken-ref`、__CODEBCK_919___、__CODEBCK_920___ の警告は問題に自動的にフラグを立てます。

4.新しいバリアントを個別のコンポーネント エントリとして追加します (`-pressed`、__CODEBCK_922___、__CODEBCK_923___)。散文の中に埋め込まないでください。

5.デフォルトは、製品 UI 本文の場合は ``、マーケティング文章の場合は `` です。主な違いは、意図的なものと負荷に耐えるものです。

6. `` を希少なものにしておきます (ビューポートごとに 1 つのライム要素)。署名が機能するのは、それがまれであるためです。

7。新しいサーフェスを偏光するときは、1 つのキャンバス (`` または ``) を選択して、それにコミットします。 1 つのページ バンド内で 2 つを混合しないでください。

Design Insights

Accessibility Considerations

Sentry's color system, anchored by #0a0a0a, must balance brand identity with sufficient contrast for readability. The documented palette suggests an awareness of accessibility needs — with dedicated neutral tones for body text and UI elements. When implementing design tokens from this system, designers should verify contrast ratios for all text-on-color combinations, particularly for the brand color used as a button or link background. WCAG 2.1 AA compliance (4.5:1 for normal text, 3:1 for large text) should guide any production implementation.

Accessibility Considerations

Sentry's color system, anchored by #0a0a0a, must balance brand identity with sufficient contrast for readability. The documented palette suggests an awareness of accessibility needs — with dedicated neutral tones for body text and UI elements. When implementing design tokens from this system, designers should verify contrast ratios for all text-on-color combinations, particularly for the brand color used as a button or link background. WCAG 2.1 AA compliance (4.5:1 for normal text, 3:1 for large text) should guide any production implementation.

Accessibility Considerations

Sentry's color system, anchored by #0a0a0a, must balance brand identity with sufficient contrast for readability. The documented palette suggests an awareness of accessibility needs — with dedicated neutral tones for body text and UI elements. When implementing design tokens from this system, designers should verify contrast ratios for all text-on-color combinations, particularly for the brand color used as a button or link background. WCAG 2.1 AA compliance (4.5:1 for normal text, 3:1 for large text) should guide any production implementation.

Related Design Systems

Explore similar design languages from the same category:

· About · Contact