Crypto casino and sportsbook. Near-black canvas, vivid green action color, dense game-tile rails
Sign in to save downloads to your library and vote.
Preview
Metadata (frontmatter)
version: alpha
name: 1win Analysis
description: An analysis of 1win's design language — a near-black crypto casino and sportsbook built on Inter at heavy weights, where a vivid green action color and an electric blue secondary carry every CTA across dense, full-bleed game-tile rails, promo cards, and live betting panels on a flat dark-grey surface ladder.
colors:
primary: "#00b24b"
secondary: "#0075ff"
on-primary: "#ffffff"
canvas: "#141415"
surface: "#2e3035"
hairline: "#2d2f33"
ink: "#f0f2f5"
muted: "#9aa1b1"
faint: "#53575f"
black: "#000000"
typography:
display:
fontFamily: Inter
fontSize: 33px
fontWeight: 800
lineHeight: 1.1
letterSpacing: 0
heading:
fontFamily: Inter
fontSize: 20px
fontWeight: 800
lineHeight: 1.2
letterSpacing: 0
title:
fontFamily: Inter
fontSize: 16px
fontWeight: 600
lineHeight: 1.3
letterSpacing: 0
body:
fontFamily: Inter
fontSize: 14px
fontWeight: 600
lineHeight: 1.4
letterSpacing: 0
ui:
fontFamily: Inter
fontSize: 13px
fontWeight: 600
lineHeight: 1.3
letterSpacing: 0
caption:
fontFamily: Inter
fontSize: 12px
fontWeight: 600
lineHeight: 1.3
letterSpacing: 0
rounded:
xs: 4px
sm: 6px
md: 8px
lg: 10px
xl: 12px
card: 16px
full: 999px
spacing:
xxs: 2px
xs: 4px
sm: 8px
md: 12px
lg: 16px
xl: 20px
xxl: 24px
xxxl: 32px
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.on-primary}"
typography: "{typography.body}"
rounded: "{rounded.lg}"
padding: "8px 12px"
button-secondary:
backgroundColor: "{colors.secondary}"
textColor: "{colors.on-primary}"
typography: "{typography.body}"
rounded: "{rounded.lg}"
padding: "8px 12px"
button-tertiary:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.xl}"
padding: "8px 12px"
button-ghost:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.lg}"
padding: "0px 8px"
pill-badge:
backgroundColor: "{colors.secondary}"
textColor: "{colors.on-primary}"
typography: "{typography.caption}"
rounded: "{rounded.full}"
padding: "0px 4px"
pill-outline:
textColor: "{colors.ink}"
typography: "{typography.title}"
rounded: "{rounded.full}"
padding: "0px 8px"
top-nav:
backgroundColor: "{colors.canvas}"
textColor: "{colors.ink}"
padding: "8px 16px"
sidebar-rail:
backgroundColor: "{colors.canvas}"
textColor: "{colors.muted}"
padding: "8px"
game-tile:
backgroundColor: "{colors.surface}"
rounded: "{rounded.card}"
hero-banner:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
rounded: "{rounded.card}"
padding: "24px"
promo-card:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
rounded: "{rounded.card}"
padding: "16px"
feature-card:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
rounded: "{rounded.card}"
padding: "16px"
feature-card-elevated:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
rounded: "{rounded.card}"
padding: "16px"
bet-odds-button:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.ui}"
rounded: "{rounded.md}"
padding: "8px 12px"
betslip-panel:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
rounded: "{rounded.card}"
padding: "16px"
text-input:
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
typography: "{typography.body}"
rounded: "{rounded.md}"
padding: "8px 12px"
footer:
backgroundColor: "{colors.canvas}"
textColor: "{colors.muted}"
padding: "24px"
# ─── Examples (illustrative) — kit-mirror surfaces ───
ex-pricing-tier:
description: "Default Pricing tier card. Re-uses feature-card chrome with brand canvas-soft surface."
backgroundColor: "{colors.surface}"
textColor: "{colors.ink}"
borderColor: "{colors.hairline}"
rounded: "{rounded.card}"
padding: "{spacing.lg}"
ex-pricing-tier-featured:
description: "Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode)."
backgroundColor: "{colors.ink}"
textColor: "{colors.on-primary}"
rounded: "{rounded.card}"
padding: "{spacing.lg}"
ex-product-selector:
description: "What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery)."
backgroundColor: "{colors.surface}"
rounded: "{rounded.card}"
padding: "{spacing.lg}"
ex-cart-drawer:
description: "Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart)."
backgroundColor: "{colors.surface}"
rounded: "{rounded.card}"
padding: "{spacing.lg}"
item-divider: "{colors.hairline}"
ex-app-shell-row:
description: "Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator."
backgroundColor: "{colors.canvas}"
activeIndicator: "{colors.primary}"
rounded: "{rounded.sm}"
padding: "{spacing.sm} {spacing.md}"
ex-data-table-cell:
description: "Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm."
headerBackground: "{colors.surface}"
headerTypography: "{typography.caption}"
bodyTypography: "{typography.body}"
cellPadding: "{spacing.sm} {spacing.md}"
rowBorder: "{colors.hairline}"
ex-auth-form-card:
description: "Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside."
backgroundColor: "{colors.surface}"
rounded: "{rounded.card}"
padding: "{spacing.lg}"
ex-modal-card:
description: "Modal dialog surface — same chrome as feature-card with elevated shadow."
backgroundColor: "{colors.surface}"
rounded: "{rounded.card}"
padding: "{spacing.lg}"
ex-empty-state-card:
description: "Empty-state illustration frame."
backgroundColor: "{colors.surface}"
rounded: "{rounded.card}"
padding: "{spacing.xxl}"
captionTypography: "{typography.body}"
ex-toast:
description: "Toast notification surface — feature-card shape + medium shadow."
backgroundColor: "{colors.surface}"
rounded: "{rounded.card}"
padding: "{spacing.md} {spacing.lg}"
typography: "{typography.body}"
Overview
1win is a crypto casino and sportsbook that runs almost entirely on a near-black canvas ({colors.canvas} — #141415), a flat, slightly cool dark field that lets thousands of vibrant game thumbnails do the shouting. The chrome around the content is deliberately quiet: dark-grey surfaces ({colors.surface} — #2e3035), faint translucent hairlines, and off-white text ({colors.ink} — #f0f2f5). Against that restraint, two action colors carry the entire interactive layer — a vivid green ({colors.primary} — #00b24b) on the "Registration" CTA and every primary confirm, and an electric blue ({colors.secondary} — #0075ff) on "Log In", links, the "Show more" pill, active tabs, and bet highlights.
The layout is a high-density product surface, not a marketing page. A fixed left icon rail holds category navigation; the main column is a long stack of horizontally-scrolling rails — "Top games", "Slots", "Originals", game providers — each a row of full-bleed, brightly-illustrated game-tile thumbnails. Promotional bonuses ride in gradient-rich hero-banner cards at the top, and the sportsbook adds match rows with bet-odds-button chips and a right-hand betslip-panel. Typography is Inter set at heavy weights only (600 and 800) — even body copy is semibold — which gives the dense UI a punchy, app-like confidence rather than an editorial calm.
Color discipline is the key to reading this brand correctly: the loud purples, reds, ambers, and violets that fill the screen all live inside game artwork and bonus-card illustrations — they are content, not chrome. The system itself is monochrome dark plus exactly two signals: green for "go / win / register" and blue for "secondary / navigate / live". Everything structural is built from the dark surface ladder and those two accents.
Key Characteristics:
- Near-black
{colors.canvas}foundation with a flat{colors.surface}card/tile ladder — depth comes from surface shifts and faint{colors.hairline}borders, not heavy shadow. - Two-signal action system: green
{colors.primary}for primary CTAs (Registration, confirm) and blue{colors.secondary}for secondary actions, links, and live/betting highlights. - Inter at heavy weights only (600 / 800) — even
{typography.body}is semibold, giving the dense UI an app-like punch. - Content-forward game rails — full-bleed
game-tileartwork supplies all the saturation; the surrounding frame stays monochrome dark. - Pill language for badges and status (
{rounded.full}), modest{rounded.lg}–{rounded.xl}on buttons, and{rounded.card}(16px) on tiles, promo cards, and panels. - A left icon
sidebar-rail+ dense horizontally-scrolling rails define the shell, closer to a native app than a website.
Colors
Source pages analyzed: home, promotions, betting, vip-club.
Brand & Accent
- Action Green (
{colors.primary}— #00b24b): The primary action color — the "Registration" CTA, primary confirms, betslip place-bet, and section accent icons. The brand's "go / win" signal. - Electric Blue (
{colors.secondary}— #0075ff): The secondary action — "Log In", text links, the "Show more" pill, active tabs, badges, and live/betting highlights. - On Primary (
{colors.on-primary}— #ffffff): White text/icons on the green and blue fills.
Surface
- Canvas (
{colors.canvas}— #141415): The page background and the fill of the nav andsidebar-rail— a flat near-black. - Surface (
{colors.surface}— #2e3035): Cards, game tiles, promo cards, betslip panels, utility buttons, and input fields — the single elevated dark step. - Hairline (
{colors.hairline}— #2d2f33): The faint 1px divider/card border, a translucent cool-grey edge that reads against both canvas and surface.
Text
- Ink (
{colors.ink}— #f0f2f5): Primary text, the wordmark, and headings — a soft off-white. - Muted (
{colors.muted}— #9aa1b1): Secondary labels, inactive nav glyphs, footer text. - Faint (
{colors.faint}— #53575f): Tertiary/placeholder text and disabled labels. - Black (
{colors.black}— #000000): Maximum-contrast text used on the brightest accent fills and light promo surfaces.
Typography
Font Family
The entire system is set in Inter (Inter, sans-serif), and only at heavy weights — 600 (semibold) and 800 (extrabold). There is no regular-weight body text; even running copy is semibold, which is what gives the dense, data-heavy interface its punchy, native-app feel. Headlines and bonus figures use 800; everything functional uses 600.
Hierarchy
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
{typography.display} | 33px | 800 | 1.1 | 0 | Hero / page headlines (bonus figures, "Promotions") |
{typography.heading} | 20px | 800 | 1.2 | 0 | Section + card titles |
{typography.title} | 16px | 600 | 1.3 | 0 | Game titles, row headers, outlined pills |
{typography.body} | 14px | 600 | 1.4 | 0 | Default body, button labels |
{typography.ui} | 13px | 600 | 1.3 | 0 | Inline UI text, odds, metadata |
{typography.caption} | 12px | 600 | 1.3 | 0 | Badges, chips, micro-labels |
Principles
Hierarchy is built from size and the 600↔800 weight jump, never from a light/regular contrast. The heavy floor keeps small UI text legible against the dark, busy backdrop and matches the high-energy gambling context.
Note on Font Substitutes
Inter is an open-source Google Font, so no substitution is needed. If a fallback is required, any grotesque with a strong semibold (e.g. Manrope, Geist) preserves the heavy-weight character; keep body at 600+ to retain the app-like density.
Layout
Spacing System
- Base unit: 8px.
- Tokens (front matter):
{spacing.xxs}2px ·{spacing.xs}4px ·{spacing.sm}8px ·{spacing.md}12px ·{spacing.lg}16px ·{spacing.xl}20px ·{spacing.xxl}24px ·{spacing.xxxl}32px - Controls run tight —
{spacing.sm}×{spacing.md}(8×12px) is the recurring button padding; cards and panels use{spacing.lg}–{spacing.xxl}(16–24px) interiors.
Grid & Container
The shell is a fixed left icon sidebar-rail plus a fluid content column. Discovery uses horizontally-scrolling rails (carousels) of game-tile thumbnails rather than wrapping grids; the promotions page uses a 2-up card grid, and the sportsbook uses full-width match rows with a docked right-hand betslip-panel.
Whitespace Philosophy
Density is the point — tiles pack close together to maximize the number of games in view, and the dark canvas itself does the separating between rails. Vertical gaps between labeled rails are modest; the brightness step between a tile and the canvas, plus a faint {colors.hairline}, supplies most of the structure.
Responsive Strategy
Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 768px | Left rail collapses to a bottom/hamburger nav; rails shorten; betslip becomes a bottom sheet |
| Tablet | 768–1023px | Condensed rail; fewer tiles per rail; 2-up promo grid retained |
| Laptop | 1024–1439px | Full rail + multi-tile rails |
| Desktop | ≥ 1440px (up to 1920px) | Widest rails + persistent betslip panel |
Touch Targets
Buttons carry {spacing.sm}×{spacing.md} padding and pills clear comfortable tap sizes; the green button-primary is the largest, highest-priority tap surface. Aim for 44×44px minimum on the dense rails.
Collapsing Strategy
The left sidebar-rail collapses first (to a hamburger or bottom bar). Category tab strips and bet-odds-button rows become horizontally scrollable rather than wrapping. Game rails keep their carousel behavior at every width, simply showing fewer tiles. The betslip-panel docks to the right on desktop and becomes a bottom sheet on mobile.
Image Behavior
Game thumbnails are full-bleed inside {rounded.card} corners (no internal padding) in portrait-leaning and square ratios; the artwork supplies all the color. Promo cards carry edge-to-edge photography behind an {colors.ink} title. Tiles lazy-load as rails scroll into view, with the {colors.surface} tile color as the placeholder.
Elevation & Depth
Depth is mostly tonal — a flat two-step surface ladder rather than layered shadows.
| Level | Treatment | Use |
|---|---|---|
| 0 | {colors.canvas} flat | Page background, nav, sidebar rail |
| 1 | {colors.surface} + {colors.hairline} border | Cards, tiles, promo cards, betslip, buttons, inputs |
| Floating | {colors.surface} + soft rgba(0,0,0,0.4) shadow | Modals, dropdowns, the docked betslip lifted above content |
Decorative Depth
The brand's visual richness comes from the game and promo artwork (radial-gradient bonus banners, illustrated tiles) layered on the flat dark canvas — not from UI shadows. Selected/active states use the green or blue accent as a glow-like emphasis rather than elevation.
Shapes
Border Radius Scale
| Token | Value | Use |
|---|---|---|
{rounded.xs} | 4px | Small chips, inner elements |
{rounded.sm} | 6px | Compact cards, small media |
{rounded.md} | 8px | Inputs, odds buttons, medium elements |
{rounded.lg} | 10px | Primary / secondary / ghost buttons |
{rounded.xl} | 12px | Utility buttons |
{rounded.card} | 16px | Game tiles, promo cards, hero banners, panels |
{rounded.full} | 999px | Pills, badges, avatars, circular controls |
Photography Geometry
Game artwork is framed at {rounded.card} (16px) and runs full-bleed inside the tile. Promo cards use the same 16px frame with edge-to-edge imagery. Avatars, status badges, and provider chips use {rounded.full}. There is no exposed photography outside the gaming/promo content — the structural chrome stays geometric and flat.
Components
No hover states documented. Each spec covers Default and Active/Pressed only. Variants live as separate
components:entries.
Buttons
button-primary — the green "Registration" / primary-confirm CTA, the highest-visibility control.
- Background
{colors.primary}, text{colors.on-primary}, type{typography.body}, rounded{rounded.lg}, padding{spacing.sm}{spacing.md}(8×12px).
button-secondary — the blue "Log In" / secondary action and the "Show more" pill.
- Background
{colors.secondary}, text{colors.on-primary}, type{typography.body}, rounded{rounded.lg}, padding 8×12px.
button-tertiary — the dark-grey utility button ("More events", "Read more").
- Background
{colors.surface}, text{colors.ink}, type{typography.body}, rounded{rounded.xl}, padding 8×12px.
button-ghost — a low-emphasis grey control on dense rows.
- Background
{colors.surface}, text{colors.ink}, type{typography.body}, rounded{rounded.lg}, padding0{spacing.sm}(0×8px).
Navigation
top-nav — the sticky header carrying the 1win wordmark, search, balance, and the green Registration + blue Log In CTAs.
- Background
{colors.canvas}, text{colors.ink}, padding 8×16px, with a{colors.hairline}base edge.
sidebar-rail — the fixed left icon rail (Casino, Sports, categories).
- Background
{colors.canvas}, glyphs{colors.muted}, padding{spacing.sm}. Active item marked in{colors.primary}.
Inputs & Forms
text-input — search and betslip amount fields.
- Background
{colors.surface}, text{colors.ink}, placeholder{colors.faint}, border{colors.hairline}, type{typography.body}, rounded{rounded.md}, padding 8×12px.
bet-odds-button — the odds chip in sportsbook match rows.
- Background
{colors.surface}, text{colors.ink}, type{typography.ui}, rounded{rounded.md}, padding 8×12px. Selected state highlights in{colors.secondary}.
Pills & Badges
pill-badge — the solid blue status/count badge.
- Background
{colors.secondary}, text{colors.on-primary}, type{typography.caption}, rounded{rounded.full}, padding0{spacing.xs}(0×4px).
pill-outline — the bordered filter/category pill.
- Text
{colors.ink}, type{typography.title}, rounded{rounded.full}, padding 0×8px, with a{colors.hairline}border.
Cards & Containers
game-tile — the core discovery unit: a full-bleed game thumbnail.
- Background
{colors.surface}(placeholder), rounded{rounded.card}. Artwork fills edge-to-edge with no padding.
hero-banner — the top welcome-bonus / promo banner.
- Background
{colors.surface}with edge-to-edge gradient imagery, headline{colors.ink}in{typography.display}, rounded{rounded.card}, padding{spacing.xxl}.
promo-card — a promotions-page card (full-bleed photo + title + chips).
- Background
{colors.surface}, title{colors.ink}, rounded{rounded.card}, padding{spacing.lg}.
feature-card — generic dark content card.
- Background
{colors.surface}, text{colors.ink}, border{colors.hairline}, rounded{rounded.card}, padding{spacing.lg}.
feature-card-elevated — a feature card lifted above the page (floating shadow), base for modal/toast surfaces.
- Background
{colors.surface}, text{colors.ink}, rounded{rounded.card}, padding{spacing.lg}, softrgba(0,0,0,0.4)shadow.
betslip-panel — the docked sportsbook betslip / wheel-of-fortune panel.
- Background
{colors.surface}, text{colors.ink}, rounded{rounded.card}, padding{spacing.lg}. Confirm action usesbutton-primary.
footer — the page footer (support, information, categories columns).
- Background
{colors.canvas}, text{colors.muted}, headings{colors.ink}, padding{spacing.xxl}.
Examples (illustrative)
Kit-mirror demonstration surfaces. Each
ex-*entry references 1win's brand-native primitives ({colors.surface},{colors.primary},{rounded.card}, the spacing scale) so downstream consumers re-skin the same 10 illustrative surfaces consistently. These are not extracted brand components.
ex-pricing-tier — Default Pricing tier card. Re-uses feature-card chrome with brand canvas-soft surface.
- Properties:
backgroundColor,textColor,borderColor,rounded,padding
ex-pricing-tier-featured — Featured/highlighted tier — polarity-flipped surface (dark fill + light text in light mode, light fill + dark text in dark mode).
- Properties:
backgroundColor,textColor,rounded,padding
ex-product-selector — What's Included summary card — re-purposed for SaaS / B2B verticals (NOT a literal product gallery).
- Properties:
backgroundColor,rounded,padding
ex-cart-drawer — Subscription summary — re-purposed for SaaS / B2B (line items per add-on, not literal cart).
- Properties:
backgroundColor,rounded,padding,item-divider
ex-app-shell-row — Sidebar nav row inside the App Shell example. Active state uses brand primary as the indicator.
- Properties:
backgroundColor,activeIndicator,rounded,padding
ex-data-table-cell — Default data-table th + td chrome. Header uses mono-caps eyebrow typography; body uses body-sm.
- Properties:
headerBackground,headerTypography,bodyTypography,cellPadding,rowBorder
ex-auth-form-card — Sign-in / sign-up card. Re-uses feature-card chrome with text-input primitives inside.
- Properties:
backgroundColor,rounded,padding
ex-modal-card — Modal dialog surface — same chrome as feature-card with elevated shadow.
- Properties:
backgroundColor,rounded,padding
ex-empty-state-card — Empty-state illustration frame.
- Properties:
backgroundColor,rounded,padding,captionTypography
ex-toast — Toast notification surface — feature-card shape + medium shadow.
- Properties:
backgroundColor,rounded,padding,typography
Do's and Don'ts
Do
- Reserve
{colors.primary}(green) for primary actions — Registration, confirm, place-bet — and{colors.secondary}(blue) for secondary actions, links, and live/betting highlights. - Build depth with the surface ladder (
{colors.canvas}→{colors.surface}) plus a faint{colors.hairline}edge; avoid heavy shadows. - Set every label in Inter 600+ (
{typography.body}/{typography.caption}); use the 800 weight for headlines and bonus figures. - Let game and promo artwork supply the color — keep the surrounding chrome monochrome dark.
- Use
{rounded.lg}–{rounded.xl}on buttons,{rounded.card}(16px) on tiles/cards/panels, and{rounded.full}on pills and badges. - Pair accent fills with
{colors.on-primary}(white) text for legibility.
Don't
- Don't promote game-tile or bonus-banner gradient colors (the purples, reds, violets, ambers) into the UI palette — they are content, not chrome.
- Don't add a third structural accent; the system is green + blue only.
- Don't use pure-regular weights — there is no Inter 400 here; body copy is semibold.
- Don't pad game tiles — artwork is full-bleed inside
{rounded.card}corners. - Don't rely on drop shadows for elevation; the surface brightness step is the elevation language.
Ingestion metadata
- Source catalog
- awesome-design-md
- Last refreshed
- 10/24/2026, 3:00:12 AM (5h ago)
- Refresh schedule
- Daily · 03:00 UTC
- Dedupe status
- Merged — per-file DESIGN.md stubs folded into this canonical entry