DESIGN.md · Analysis

Atsumaru

atsu.moe · 13 Aug 2026 · 47 colors · Bevan, Montserrat

Atsumaru

A dark-mode manga, manhwa, and manhua reading platform with a vibrant accent-driven interface. Atsumaru combines a sophisticated charcoal canvas with bold, saturated accent colors to create an immersive, gallery-like browsing experience for serialized content.

Colors

surface#1d1e20
surface-dim#0f1012
surface-bright#2a2b2e
surface-container-lowest#131415
surface-container-low#1a1b1d
surface-container#1f2022
surface-container-high#2a2b2e
surface-container-highest#353739
on-surface#b8bcc0
on-surface-variant#8a8e92
inverse-surface#e9ecef
inverse-on-surface#1d1e20
outline#6c7073
outline-variant#4a4d50
surface-tint#8e7ce6
primary#8e7ce6
on-primary#1d1e20
primary-container#a896f0
on-primary-container#0f1012
inverse-primary#6b5bb8
secondary#038cfc
on-secondary#1d1e20
secondary-container#1e9dff
on-secondary-container#0f1012
tertiary#fc9003
on-tertiary#1d1e20
tertiary-container#ffb347
on-tertiary-container#0f1012
error#f28a8a
on-error#1d1e20
error-container#ff6b6b
on-error-container#0f1012
primary-fixed#a896f0
primary-fixed-dim#8e7ce6
on-primary-fixed#1d1e20
on-primary-fixed-variant#6b5bb8
secondary-fixed#1e9dff
secondary-fixed-dim#038cfc
on-secondary-fixed#1d1e20
on-secondary-fixed-variant#0066cc
tertiary-fixed#ffb347
tertiary-fixed-dim#fc9003
on-tertiary-fixed#1d1e20
on-tertiary-fixed-variant#cc7700
background#1d1e20
on-background#b8bcc0
surface-variant#2a2b2e

Typography

display
fontFamily: Bevan · fontSize: 56px · fontWeight: 400 · lineHeight: 64px · letterSpacing: -0.02em
headline-lg
fontFamily: Montserrat · fontSize: 36px · fontWeight: 600 · lineHeight: 44px · letterSpacing: -0.01em
headline-md
fontFamily: Montserrat · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: 0em
title-lg
fontFamily: Montserrat · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0.01em
body-lg
fontFamily: Geist · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: Geist · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.03em
label-md
fontFamily: Geist · fontSize: 14px · fontWeight: 500 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Geist · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.04em

Design guidance

Overview

Atsumaru is a dark-mode manga, manhwa, and manhua reading platform designed for immersive, distraction-free content consumption. The aesthetic embraces **Accent-Driven Minimalism**: a sophisticated charcoal canvas (rgb(29, 30, 32)) serves as the neutral stage, while three vibrant accent colors—lavender (#8e7ce6), electric blue (#038cfc), and golden orange (#fc9003)—punctuate key interactive moments, gallery cards, and status indicators. This creates a gallery-like experience where the eye is drawn to content and actionable elements, not chrome. The emotional response is one of calm focus: the dark background reduces eye strain during long reading sessions, while the saturated accents inject energy and personality without overwhelming.

The brand voice is direct, playful, and community-oriented. Atsumaru speaks to manga enthusiasts with respect for their passion—no corporate jargon, no false urgency. Vocabulary favors clarity and brevity: "Hot Updates," "Recently Updated," "Popular" rather than "Trending Content Recommendations." The tone is conversational and slightly irreverent, treating users as peers in a shared love of serialized storytelling. Example sentence in brand voice: "Dive into the latest chapters—no ads, no interruptions, just the story."

Colors

The color system is built on a dark-first philosophy with three strategic accent roles. **Surface Stack** (rgb(29, 30, 32) → rgb(53, 55, 57)): The primary surface is a deep charcoal that reads as pure black on most displays but retains enough luminosity to prevent OLED burn-in. Container layers step up in 8–10% increments to create subtle depth without harsh contrast; use surface-container-low (rgba(26, 27, 29, 1)) for input fields and surface-container-high (rgba(42, 43, 46, 1)) for elevated cards and hover states. **Primary Accent** (#8e7ce6, lavender): Reserved for primary CTAs ("Sign up"), focus states, and brand-defining interactive elements. This mid-tone purple sits at 60% luminance, ensuring legibility over the dark surface while feeling premium and approachable. Apply to button-pr

Typography

The type system pairs **Geist** (geometric, modern sans-serif) for body and UI text with **Montserrat** (bold, confident) for headlines and **Bevan** (display, decorative) for hero moments. This hierarchy creates visual rhythm: Bevan at 56px (display) commands attention on splash screens and hero sections; Montserrat at 28–36px (headline-md/lg) anchors section titles like "Hot Updates" with weight and personality; Geist at 16–18px (body-md/lg) ensures comfortable reading during long manga descriptions and metadata. Letter-spacing is calibrated per size: display uses -0.02em to tighten the dramatic letterforms, headlines use -0.01em to 0em for balance, and body text uses 0.03em to improve readability at smaller sizes. Line-height follows a 1.4–1.5 ratio for body (24–28px on 16–18px text) to

Layout

The layout uses a **12-column fluid grid** with a 1280px container max-width, centered on larger screens. Spacing follows a consistent 8px unit system: use lg spacing (40px) for section separation (e.g., between "Hot Updates" and "Recently Updated" carousels), md spacing (24px) for card padding and component gutters, and sm spacing (12px) for internal component spacing (button padding, list item padding). The page rhythm emphasizes horizontal scrolling for content discovery: manga cards are arranged in horizontal carousels with overflow-x: auto, allowing users to browse without pagination friction. Vertical sections stack with 40px gaps, creating breathing room. The search bar and header occupy a fixed or sticky position at the top (56px height including padding), ensuring navigation is al

Elevation & Depth

Depth is conveyed through **layered shadows and subtle surface elevation**, not through bright highlights or glassmorphism. The elevation system uses three tiers: **Level 1 (Base)**: No shadow; elements sit flush on the surface (rgb(29, 30, 32)). **Level 2 (Standard Cards)**: box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) applied to manga cards, input fields, and default buttons. This soft shadow lifts elements 4px off the base, creating clear separation without drama. **Level 3 (Elevated/Modals)**: box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2) for modals, dropdowns, and hover-elevated cards. The sha

Shapes

The shape philosophy is **Geometric Precision with Warmth**: rounded corners are used consistently but not excessively, creating a modern, approachable aesthetic that avoids both harsh rectangles and overly organic curves. **Button Radius**: 1rem (16px) for primary and secondary buttons, creating a pill-like shape that feels friendly and clickable. **Card Radius**: 1.5rem (24px) for manga cover cards and content containers, slightly more generous than buttons to signal containment and browsing. **Input Radius**: 0.75rem (12px) for search fields and form inputs, a middle ground that feels integ

Components

Action Elements **Button Primary** (primary CTA): backgroundColor: {colors.primary} (#8e7ce6), textColor: {colors.on-primary} (#1d1e20), rounded: {rounded.lg} (16px), padding: 8px 16px, height: 40px, typography: {typography.label-md}. On hover, transition to button-primary-hover with backgroundColor: {colors.primary-container} (#a896f0) and boxShadow: 0 4px 12px rgba(142, 124, 230, 0.3). Transition all properties over 200ms cubic-bezier(0.2, 0, 0.38, 0.9) for a snappy, responsive feel. On active/pressed, shift to button-primary-active with backgroundColor: {colors.inverse-primary} (#6b5bb8) and a 100ms transition to signal immediate feedback.

**Button Secondary** (secondary action): backgroundColor: transparent, textColor: {colors.secondary} (#038cfc), border: 1px solid {colors.second

Do's and Don'ts

**Do**

  • Do use the lavender primary (#8e7ce6) sparingly on CTAs and focus states—it's the brand signature and should feel special, not ubiquitous.
  • Do apply the full surface stack (surface-container-low through surface-container-highest) to create depth; avoid using only the base surface color for all backgrounds.
  • Do pair Geist (body text) with Montserrat (headlines) to create clear visual hierarchy; never mix serif and sans-serif in the same component.
  • Do use the 8px spacing unit consistently; multiples of 8px (8, 12, 16, 24, 40, 64) create a harmonious rhythm across all screen sizes.
  • Do apply the elevation shadows (md and lg) to interactive elements; the soft shadows are critical for discoverability in dark mode.
  • Do use rounded: {rounded.lg} (16px) for buttons and rounded: {rounded.xl} (24px) for cards to maintain the geometric-precision aesthetic.

**Don't**

  • Don't use pure white (#ffffff) for text or backgrounds; it creates harsh contrast and eye strain in dark mode. Stick to {colors.on-surface} (#b8bcc0) for primary text.
  • Don't apply multiple accent colors to a single component; each accent (primary, secondary, tertiary) has a specific role. Mixing them creates visual noise.
  • Don't use system fonts or generic sans-serif fallbacks; always load Geist, Montserrat, and Bevan from the preloaded @font-face declarations to maintain brand consistency.
  • Don't skip the focus ring on interactive elements; use boxShadow: 0 0 0 3px rgba(142, 124, 230, 0.1) or a 2px outline for accessibility and discoverability.
  • Don't use hard shadows (0 0 0 1px) or high-contrast borders on dark backgrounds; the soft, spread shadows (0 4px 12px rgba(0,0,0,0.15)) are more sophisticated and readable.
  • Don't animate transitions faster than 150ms or slower than 300ms; the 200ms cubic-bezier(0.2, 0, 0.38, 0.9) easing is optimized for snappy, responsive feedback without feeling sluggish.