01 — INTRODUCTION

Soravi.

An operations assistant for any physical work.

Eyes on your floor you can ask.

This kit is the single source of truth for how Soravi looks, reads and behaves. One dark surface, one orange, one typeface.

03 — LOGOMARK / APP ICON

The app icon

The white sprout on the ignition-orange tile. One master SVG scales to every size.

Soravi app icon
128
Soravi app icon
64
Soravi app icon
32

Rounded square, 22% corner radius. The sprout sits with ~19% padding — never crowd the edge.

In context
iOS home screen
Browser tab & favicon
Soravi PWA icon
PWA splash

Served as favicon.svg, favicon.ico (48px), apple-touch-icon.png and icon-512.png — all cache-busted ?v=2.

Soravi icon
Tile is always orange #FF5C1F.
۶
Never put the bare sprout on a busy background without its tile.
Soravi icon
Never add a border or ring.
04 — COLOR

One dark surface, one orange

Click any swatch to copy its hex.

Background
--bg
#0A0B0D
Page background under the dimmed video wall.
Copied
Panel
--panel
#131417
Solid card surface where glass isn't used.
Copied
Text
--text
#EDEBE6
Primary text — warm off-white. Headlines, body, wordmark.
Copied
Muted
--muted
#9C9B95
Secondary text: labels, captions, meta, ticks.
Copied
Accent
--accent
#FF5C1F
Ignition orange. The one brand color — CTAs, the dot, active states. Use sparingly.
Copied
Accent 2
--accent2
#9FB2BF
Cool slate. Quiet secondary accent and counterweight to the orange.
Copied
Success
--success
#4CC38A
Positive / resolved / on-standard / trend-up.
Copied
Danger
--danger
#E5484D
Alerts, the LIVE dot, flagged, errors.
Copied
Line
--line
#24262C
Hairline dividers and the scrolled-nav border.
Copied
Accent gradient
Big CTAs only — Start-free band, slider/price fills.
::selection rgba(255,92,31,.30)

--text on --bg passes AA.

--accent is for action and emphasis, never large text blocks.

One accent per screen.

05 — TYPOGRAPHY

Space Grotesk

One variable typeface across all display, numbers and UI chrome.

See the floor. Just ask.
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789
Weight ladder
Light 300Soravi operations, made clear.
Regular 400Soravi operations, made clear.
Medium 500Soravi operations, made clear.
Semibold 600Soravi operations, made clear.
Bold 700Soravi operations, made clear.
Hierarchy
See your floor.
H1 · clamp(44px, 8.5vw, 92px) · 700 · ls -.035em · lh .98
Pays for itself.
H2 · clamp(28px, 4.6vw, 44px) · 700 · ls -.025em
Track what matters
H3 · 19px · 650
Plain-language questions, answered with the moment you can replay. The subject is always you, your floor and the work.
Body · system stack · 15px · lh 1.5
KICKER — UPPERCASE
Kicker · 12px · 600 · ls .18em · --accent
Body face — the system stack
font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, "Segoe UI", "PingFang SC", "Noto Sans", Roboto, sans-serif;

Plain-language questions, answered with the moment you can replay. The subject is always you, your floor and the work — 安心地看着你的现场。This is the exact body stack the soravi.ai homepage renders: native SF Pro on Apple, Segoe on Windows, PingFang / Noto for Chinese, so copy loads instantly and reads native everywhere.

Display + body split by design: Space Grotesk carries every heading, number and UI label; running body text rides the system stack — verbatim from the live homepage, so this kit is a faithful single source of truth.

Display, numbers and all UI chrome are Space Grotesk. Body copy is the system stack (SF Pro / PingFang SC / Noto) for instant load and native CJK.

Body is never set in Space Grotesk; the display face is never used for long-form paragraphs.

06 — TEXTURE & GRAPHICS

Three signature surfaces

The dimmed video wall, the diagonal scrim, and liquid glass.

Floor footage texture
Auto-bay footage texture
Hotel-wing footage texture
Kitchen footage texture
Floor footage texture
Floor footage texture

The dimmed video wall — real-floor footage behind everything. Posters paint instantly, a capped set of muted clips fade in.

Floor footage under scrim

Lighter top-right reveals the footage; darker lower-left carries the headline. This keeps text legible over motion.

Pure --bg (#0A0B0D) at rising opacity — no hue, no rainbow. The scrim only thickens the brand black diagonally, so orange stays the one color on screen.

#bgscrim · linear-gradient(212deg, rgba(10,11,13,.48), rgba(10,11,13,.72) 48%, rgba(10,11,13,.88)) , radial-gradient(72% 68% at 13% 74%, rgba(10,11,13,.46), rgba(10,11,13,0) 70%) · then a flat #bgscrim2 layer rgba(10,11,13,.30) under content.

Footage behind a glass panel
Liquid glass

background rgba(20,22,28,.55) · backdrop-filter blur(24px) saturate(160%) · 1px rgba(255,255,255,.12) border · inset top highlight.

--radius 18px12px tiles999px pills--line #24262C

Radius and border tokens — 18px on panels, 12px on tiles, 999px on pills, the #24262C hairline on dividers.

Footage under the focus dim Focus dim

When a framed demo centers the viewport, the wall recedes: it dims and desaturates while an extra veil drops, so the demo and the one orange own the screen. Restored on exit.

#bgwall filter: brightness(.5) saturate(.82) · veil rgba(8,9,11,.55) (one notch darker than --bg) · eased background/filter .55s cubic-bezier(.22,.61,.36,1) · toggled by body.focus-dim / body.demo-active.

Use video only where it earns attention and the link is fast.

Default to posters.

The wall is always dimmed — never foreground.

When a demo centers, deepen the dim and desaturate the footage so orange stays the only color — then restore on exit.

07 — MOTION & INTERACTION

Calm, deliberate motion

One easing curve, gentle reveals, and a quiet focus-dim.

Easing
cubic-bezier(.22,.61,.36,1) on every transition.
Reveal
Fade-up translateY 30→0, opacity, .8s on section entry.
Sticky nav
Gains a blurred translucent background after 24px, with an orange top hairline.
Reduced motion
Fully respected; the wall, reveals and pulses all stop.
Mobile
Scroll-snap proximity on framed sections, 44px+ targets, safe-area insets.
Live demo
soravi · focus
Focus dim + ease-in card
08 — UI COMPONENTS / BRAND IN USE

Real Soravi surfaces

Copy these patterns, don't reinvent them.

Status chips
LIVE An agent with eyes on your floor
Panel-frame chrome
soravi · live
Window chrome with three dots
Mode tabs + progress underline
See Ask Track Notify
Buttons
See it on your floor See it work Back to site
FAQ accordion
Is Soravi watching my workers?
No. Soravi reads processes, not people — no personal information, only the work.
Pricing card
See — free $80/ device / month Full plan

Real Soravi surfaces — copy these patterns, don't reinvent them.

09 — VOICE & TONE

How Soravi speaks

Eyes on your floor you can ask.
See. Ask. Track. Notify.

Do

  • Talk about you, your floor and the work.
  • Plain, calm, confident — never hype.
  • Say "processes, not people."
  • "Footage and metrics stay yours."

Don't

  • Never say we watch, monitor or track workers.
  • Never imply data leaves the customer.
  • No buzzwords, no exclamation stacking.

Hard rule

No personal information — only processes.

Never reveal or imply any link to selling data to AI labs.

10 — DOWNLOADS

Grab the assets

Every file here is the real, production asset — the same wordmark, icons, tokens and typeface this site ships. Zips are assembled in your browser, so nothing leaves your machine.

Texture