Files
kotobane/docs/superpowers/specs/kotobane-brand-system.md
T

6.5 KiB
Raw Blame History

Kotobane — Brand & Design System

"Words carried on wings." — 言羽

Kotobane is a Japanese pop-culture news site covering VTubers, Anime, Manga, Games, Music, Japan, Culture, and Industry.


Brand Identity

What it should feel like:

  • A modern Japanese digital newspaper
  • A refined anime culture publication
  • A calm but fast-moving stream of information

What it must never feel like:

  • A loud clickbait anime blog
  • A generic SaaS dashboard
  • An overly playful otaku forum

Emotional keywords: intelligent · fast · atmospheric · minimal · editorial · futuristic · trustworthy


Color Palette

Brand Accent

Token Hex Usage
accent #00B4D8 Buttons, links, active nav, "Read →", focus rings
accent-hover #00D4FF Hover state

Status Colors

Token Hex Usage
violet #7C3AED Featured / hero badges, secondary actions
coral #D64545 Trending, breaking news, errors
amber #FFB300 New indicator, alerts, warnings
green #00D166 Published status, success

Backgrounds

Token Hex Usage
bg #0D0D14 Main page background
bg-elevated #171A21 Navbar, elevated surfaces
bg-card #1D212B Cards, inputs
border #2A3140 All borders and dividers

Text

Token Hex Usage
text-primary #F3F5F7 Headlines, body
text-secondary #B8C0CC Excerpts, captions
text-muted #7D8795 Timestamps, category labels, metadata
text-disabled #5C6470 Disabled / placeholder

Rules:

  • Category names are always text-muted — never color-coded
  • No gradients on UI elements — flat colors only
  • Secondary accent colors are used sparingly, only for semantic meaning (trending, featured, etc.)

Typography

Font stack:

  • English: Inter
  • Japanese: Noto Sans JP

Load both via next/font. Use Noto Sans JP as a fallback for any Japanese text in article titles or tags.

Scale

Role Size Weight
Hero headline 4856px 700
Article title 3440px 700
Section title 2224px 700
Card title 1315px 600
Primary body 16px 400
Compact body (excerpts) 13px 400
Metadata / labels 1012px 500600

Spacing

Base unit: 8px. Only use these values — no arbitrary spacing.

4 · 8 · 12 · 16 · 24 · 32 · 40 · 48 · 64 · 80 · 96


Layout

Breakpoint Grid Max content width
Desktop 12-column 1200px
Tablet 8-column
Mobile Single column, content-first

Article body width: 760780px (centered).


Border Radius

Token Value Usage
radius-sm 8px Inputs, small chips
radius-md 12px Cards
radius-lg 16px Large cards, hero panels
radius-xl 20px Modals
radius-2xl 28px Full-page panels

Shadows

Shadows must be soft and diffused. No hard black shadows.

Token Usage
shadow-sm Subtle card lift
shadow-md Hover elevation
shadow-lg Modals, overlays

Motion

Property Value
Duration 150ms 250ms
Easing cubic-bezier(0.22, 1, 0.36, 1)

Rules:

  • Motion communicates hierarchy and guides focus — never decorates
  • No bouncing, no exaggerated scaling, no neon pulse effects
  • Always respect prefers-reduced-motion

Components

Buttons

  • Primary: solid #00B4D8 background, black text
  • Secondary: transparent background, #00B4D8 border and text
  • Never: pill buttons, excessive gradients, loud CTA colors

Cards

  • Background: bg-card
  • Border: 1px solid border
  • Radius: radius-md (12px)
  • Hover: border lightens slightly (#3a4560), no scale transform

Badges

  • Use flat solid backgrounds, bold uppercase text, tight padding
  • Text on dark badges: white. Text on light badges (amber, green): black

Icons

Style: outline, geometric, lightweight

Recommended library: Lucide React


Article Pages

Article pages are the most important pages. They must feel:

  • Quiet and focused
  • Distraction-free
  • Premium and readable

Avoid: intrusive widgets, autoplay media, excessive sidebar clutter.


Editorial Tone

Articles should be:

  • Concise and informative
  • Culturally aware and contextual
  • Written in a calm, analytical voice — modern magazine journalism

Good headlines: direct, informative, contextual
Bad headlines: "YOU WON'T BELIEVE", "THIS CHANGES EVERYTHING", fake urgency

Never: clickbait, ragebait, excessive hype.


Accessibility

Mandatory requirements:

  • WCAG AA contrast minimum on all text
  • Keyboard navigation throughout
  • Visible focus states (use ring-accent / #00B4D8)
  • Semantic HTML with proper heading hierarchy (one <h1> per page)
  • alt text on all images
  • prefers-reduced-motion support

Performance

  • SSR / ISR — no client-heavy rendering for core content
  • Lazy-load all images below the fold
  • next/image for all images (automatic WebP + sizing)
  • Minimal layout shift (CLS < 0.1)
  • Fonts loaded via next/font (no FOUT)

SEO

Priority order: readers → archives → search engines

SEO must never dictate editorial tone. Every article and category page gets:

  • <title>seo_title if set, otherwise article title + " — Kotobane"
  • <meta description>seo_description if set, otherwise excerpt
  • <link rel="canonical">
  • Open Graph tags for social sharing

AI Agent Rules

When modifying any UI in this project:

Must:

  • Maintain spacing system (8px grid, no arbitrary values)
  • Preserve typography hierarchy
  • Use flat colors only — no gradients on UI elements
  • Use accent colors sparingly and only for their defined semantic purpose
  • Keep category labels in text-muted — never color-code them

Must not:

  • Inject gradients onto UI elements
  • Overcrowd layouts
  • Add clickbait-style visual treatments
  • Break the spacing system
  • Add unnecessary UI chrome or decorations
  • Add per-category color coding

The 言羽 kanji mark serves as the primary logo in all contexts.

Characteristics:

  • Rendered in accent color (#00B4D8) on dark backgrounds
  • High letter-spacing in the wordmark (tracking: 3px+)
  • Works at small sizes — suitable as favicon treatment
  • No gradients on the logo

Design reference with visual mockups: docs/design-reference/kotobane-reference.html
Implementation spec: docs/superpowers/specs/2026-05-28-kotobane-cms-website-design.md