Esports ID
A high-energy esports news portal serving the Indonesian gaming community with tournament coverage, team profiles, and competitive analysis across MOBA, FPS, and mobile titles.
Colors
Typography
- display
- fontFamily: Poppins · fontSize: 56px · fontWeight: 700 · lineHeight: 64px · letterSpacing: -0.03em
- headline-lg
- fontFamily: Poppins · fontSize: 36px · fontWeight: 700 · lineHeight: 44px · letterSpacing: -0.02em
- headline-md
- fontFamily: Poppins · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
- title-lg
- fontFamily: Poppins · fontSize: 22px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
- body-lg
- fontFamily: Roboto · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0.02em
- body-md
- fontFamily: Roboto · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.01em
- label-md
- fontFamily: Poppins · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.02em
- label-sm
- fontFamily: Poppins · fontSize: 12px · fontWeight: 600 · lineHeight: 16px · letterSpacing: 0.03em
Design guidance
Overview
Esports ID is Indonesia's premier esports news portal, delivering real-time coverage of competitive gaming across MOBA, FPS, and mobile titles. The design system embraces a "High-Energy Minimalism" aesthetic: a dark, focused canvas (rgb(18, 24, 39)) punctuated by a vibrant golden accent (rgb(255, 199, 0)) that commands attention on CTAs, navigation, and key highlights. The UI evokes the intensity and precision of competitive esports—every element is purposeful, every color choice deliberate. The brand personality is authoritative yet accessible: fast-paced, data-driven, and unapologetically enthusiast-focused. Voice example: "RedFace secures 5-0 sweep in PUBG Mobile playoffs—watch the clutch final round."
Colors
The color system balances a deep, immersive dark mode (surface #121827, on-surface #e1e1e1) with a singular, commanding accent. Primary (#ffc700, rgb(255, 199, 0)) is the brand's signature—deployed on all primary CTAs ("Lihat Semua Berita"), navigation highlights, and active states. It must never be used for body text or passive surfaces; reserve it exclusively for interactive elements and brand moments. Secondary (#6ea8fe, rgb(110, 168, 254)) provides a cool counterpoint for supporting actions and secondary information layers. The surface stack progresses from surface-container-lowest (#060a14) for recessed elements, through surface-container (#1a202c) for standard cards, to surface-container-highest (#303847) for elevated modals and overlays. Outline (#6c757d) and outline-variant (#50505
Typography
The type system pairs Poppins (headlines, labels, UI text) with Roboto (body copy, descriptions). Poppins' geometric warmth conveys energy and modernity, while Roboto's neutrality ensures readability at small sizes. Display (56px, 700 weight, -0.03em tracking) anchors hero moments; headline-lg (36px, 700 weight) titles major sections; headline-md (28px, 600 weight) breaks up content zones. Body-lg (18px, 400 weight, 28px line-height) and body-md (16px, 400 weight, 24px line-height) carry article text with generous line-height (1.5x) to combat dark-mode fatigue. Label-md (14px, 600 weight, 0.02em tracking) and label-sm (12px, 600 weight, 0.03em tracking) handle buttons, badges, and UI chrome. Apply text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) on small labels over image overlays to ensure legib
Layout
The layout follows a 12-column grid with a 1280px max-width container, centered with 24px gutters on desktop and 12px on mobile. Page rhythm is driven by the lg spacing token (40px) for section separation, md (24px) for component padding, and sm (12px) for internal element spacing. The hero section occupies full-width with a 16:9 aspect ratio image carousel, followed by a two-column layout: left column (8 cols) for featured articles and trending cards, right column (4 cols) for the "Terpopuler" (Most Popular) sidebar. Cards use md padding (24px) internally, with md spacing (24px) between card rows. Navigation bar is fixed at the top with a dark background (surface-container) and a golden pill-shaped search input (rounded-full, 44px height) anchored right. All interactive zones maintain min
Elevation & Depth
Depth is conveyed through layered shadows and subtle surface-color progression rather than dramatic drop shadows. Level 1 (Base): surface (#121827) with no shadow, used for the page background and recessed containers. Level 2 (Standard Card): surface-container (#1a202c) with elevation.md (0 3px 8px rgba(0, 0, 0, 0.15)), used for article cards, sidebars, and standard modals. Level 3 (Elevated/Modal): surface-container-highest (#303847) with elevation.lg (0 8px 24px rgba(0, 0, 0, 0.2)), used for floating modals, popovers, and top-level navigation. Every card and modal includes a 1px border at su
Shapes
The shape philosophy is "Precision with Warmth"—sharp corners on data-heavy elements (cards, inputs) paired with fully rounded corners on CTAs and badges. Buttons use rounded-full (9999px border-radius) to signal primary actions and create a friendly, approachable feel; secondary buttons use rounded-lg (1rem, 16px) for a more structured appearance. Cards and containers use rounded-lg (16px) for a modern, clean aesthetic that avoids harsh 90-degree corners. Input fields use rounded-full (44px height, 9999px radius) to match button styling and create a cohesive interaction zone. Badges and chips
Components
Action Elements Buttons are the primary interaction mechanism. button-primary uses primary (#ffc700) background with on-primary text (#1a1a1a), rounded-full (9999px), 8px vertical / 24px horizontal padding, and 40px height. On hover, transition to primary-fixed-dim (#cc9900) over 200ms. Active state shifts to inverse-primary (#cc9900) with a subtle 2px inset shadow (box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2)) to signal press. button-secondary uses surface-container background with secondary text (#6ea8fe), rounded-lg (16px), 1px outline-variant border, and 44px height; hover state elevates to surface-container-high with a 200ms transition. All buttons must include focus-visible: outline 2px solid primary with 2px offset for keyboard accessibility.
Containers & Surfaces Cards (
Do's and Don'ts
**Do**
- Do use primary (#ffc700) exclusively on CTAs, active navigation items, and brand moments—never on body text or passive surfaces.
- Do maintain 44px minimum touch targets on all interactive elements (buttons, inputs, list items) for mobile accessibility.
- Do apply the md spacing token (24px) consistently between major content sections to establish rhythm and breathing room.
- Do use Poppins for headlines and UI labels to convey energy; reserve Roboto for body copy to maximize readability.
- Do include 1px borders at surface-container-high on all cards and modals to define edges in dark mode.
- Do transition all hover/focus states over 150–200ms with ease-in-out timing to signal interactivity without jarring motion.
**Don't**
- Don't use primary (#ffc700) on backgrounds, body text, or non-interactive elements—it must remain a rare, high-impact accent.
- Don't apply shadows deeper than elevation.lg (0 8px 24px rgba(0, 0, 0, 0.2)) on any component; the dark surface already provides depth.
- Don't mix rounded-full and sharp corners on the same component family (e.g., don't use rounded-full on some buttons and rounded-lg on others).
- Don't omit focus-visible outlines on interactive elements; keyboard users must see a clear 2px primary outline with 2px offset.
- Don't use secondary (#6ea8fe) on primary CTAs or hero elements; reserve it for supporting actions and secondary information.
- Don't exceed 2–3 font sizes in a single content block; use the typography scale (display → headline-lg → body-md) to establish hierarchy.
Edit, then copy or download.