Files
mantle-ai-trader/skills/ppt/themes.md
2026-06-06 05:21:10 +00:00

22 KiB
Executable File
Raw Blame History

Themes — Preset Theme Configuration

Each theme = a set of colors + a set of fonts + mood tags. Once a theme is selected, all colors are automatically derived according to the color scale rules in design-system.md.


Theme Selection Rules

  1. AI selects the theme based on scene classification and content tone
  2. Each PPT deck uses only one theme, no switching throughout
  3. If the user specifies a color or style preference, select the closest theme or customize accordingly (still must follow color scale rules)

Preset Themes

1. Ocean (Deep Sea Blue)

Property Value
Mood Professional, trustworthy
Suitable for Work reports, business proposals, company introductions
Primary #1B2A4A
Accent (A — default) #2A9D8F (teal)
Accent B #D7A460 (warm gold)
Accent C #6C92E0 (bright blue)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Gill Sans MT Bold
Latin Body Font Gill Sans MT
Image Keywords ocean, deep blue, corporate, skyline, technology, water, aerial city
Mask Color rgba(18,32,64,0.75) (primary-90 based)

Color Scale:

Scale Color Value Usage Example
primary-100 #0D1525 Dark mode background
primary-90 #122040 Title bar background
primary-80 #1B2A4A Title text
primary-60 #3D5A80 Subtitle / icons
primary-40 #6B8AB0 Secondary text
primary-20 #B0C4DE Light decoration
primary-10 #DFE8F2 Card background / border
primary-5 #F0F4F8 Surface base color

2. Graphite (Graphite Gray)

Property Value
Mood Modern, restrained, clean and sharp
Suitable for Tech products, weekly/monthly reports, technical sharing
Primary #2D3436
Accent (A — default) #D77860 (coral red)
Accent B #6BCB77 (emerald green)
Accent C #9B8EC4 (light purple)
CJK Title Font SimHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Century Gothic Bold
Latin Body Font Corbel
Image Keywords architecture, minimal, concrete, technology, geometric, monochrome, server room
Mask Color rgba(34,40,41,0.75) (primary-90 based)

Color Scale:

Scale Color Value
primary-100 #161A1B
primary-90 #222829
primary-80 #2D3436
primary-60 #576163
primary-40 #8D9496
primary-20 #C3C8CA
primary-10 #E4E7E8
primary-5 #F3F4F5

3. Forest (Forest Green)

Property Value
Mood Natural, serene, organic and gentle
Suitable for Educational courseware, humanities/liberal arts academic, ESG/sustainability
Primary #1B4332
Accent (A — default) #DCBD74 (golden)
Accent B #E18C70 (coral)
Accent C #7EC8B0 (mint)
CJK Title Font SimSun Bold
CJK Body Font Microsoft YaHei
Latin Title Font Palatino Linotype Bold
Latin Body Font Corbel
Image Keywords forest, nature, leaves, green, organic, sustainability, botanical, meadow
Mask Color rgba(18,45,31,0.75) (primary-90 based)

Color Scale:

Scale Color Value
primary-100 #0B1E14
primary-90 #122D1F
primary-80 #1B4332
primary-60 #2E6B4F
primary-40 #60A882
primary-20 #A8D4BC
primary-10 #D8EEE2
primary-5 #EEF7F1

4. Twilight (Dark Night Purple)

Property Value
Mood Creative, unique, personality-driven
Suitable for Creative proposals, brand planning, design sharing
Primary #2D2B55
Accent (A — default) #9B50F5 (electric purple)
Accent B #E3B27D (warm orange)
Accent C #5EC4D4 (sky blue)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Candara Bold
Latin Body Font Candara
Image Keywords galaxy, night sky, aurora, creative, neon, abstract art, purple gradient
Mask Color rgba(33,31,64,0.75) (primary-90 based)

Color Scale:

Scale Color Value
primary-100 #15142A
primary-90 #211F40
primary-80 #2D2B55
primary-60 #555380
primary-40 #8886AB
primary-20 #BFBED6
primary-10 #E2E1ED
primary-5 #F2F2F7

5. Sandstone (Warm Sand)

Property Value
Mood Premium, warm, composed and grand
Suitable for Investment roadshows, real estate, luxury goods, finance
Primary #3C2415
Accent (A — default) #C09E30 (gold)
Accent B #D4766A (ochre red)
Accent C #8BB174 (olive)
CJK Title Font SimSun Bold
CJK Body Font Microsoft YaHei
Latin Title Font Palatino Linotype Bold
Latin Body Font Corbel
Image Keywords luxury, gold, marble, architecture, warm light, classical, elegant interior
Mask Color rgba(45,27,16,0.75) (primary-90 based)

Color Scale:

Scale Color Value
primary-100 #1E120A
primary-90 #2D1B10
primary-80 #3C2415
primary-60 #6B5443
primary-40 #9E8A7A
primary-20 #CEBFB5
primary-10 #E9E2DC
primary-5 #F5F2F0

6. Mono (Minimalist Black)

Property Value
Mood Sharp, minimalist, visual impact
Suitable for Product launches, minimalist style, photography showcases
Primary #1A1A1A
Accent (A — default) #E6754C (burnt orange)
Accent B #4ECDC4 (cyan)
Accent C #C44569 (rose)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Arial Bold
Latin Body Font Arial
Image Keywords minimal, black white, contrast, product, clean, abstract, studio lighting
Mask Color rgba(20,20,20,0.75) (primary-90 based)

Color Scale:

Scale Color Value
primary-100 #0A0A0A
primary-90 #141414
primary-80 #1A1A1A
primary-60 #4A4A4A
primary-40 #808080
primary-20 #B8B8B8
primary-10 #E0E0E0
primary-5 #F2F2F2

7. Deep Mineral (Dark Night Blue)

Property Value
Mood High-end, immersive, cinematic depth
Suitable for Tech launches, keynotes, data dashboards, night-mode presentations
Primary #FFFFFF
Accent (A — default) #44D1E4 (electric cyan)
Accent B #EDCD82 (warm yellow)
Accent C #E65174 (rose)
Background Override #162235 (replaces default #FFFFFF)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Trebuchet MS Bold
Latin Body Font Corbel
Image Keywords dark blue, night city, deep ocean, space, data visualization, neon glow
Mask Color rgba(16,26,40,0.70) (primary-100 based)

Dark theme notes: This is a dark-background theme — the color logic is inverted:

  • background = #162235 (dark), surface = #1E2D45 (slightly lighter), surface-card = #243550 (card layer)
  • text-primary = #FFFFFF, text-secondary = rgba(255,255,255,0.75), text-muted = rgba(255,255,255,0.45)
  • Cards use surface-card with no shadow (shadows invisible on dark backgrounds)
  • Accent (#44D1E4) is used for highlights, KPI numbers, accent bars, and emphasis elements

Color Scale (inverted — lighter values are "darker" in visual weight):

Scale Color Value Usage
primary-100 #0D1525 Deepest background
primary-90 #122040 Title bar background
primary-80 #FFFFFF Title text / primary elements
primary-60 rgba(255,255,255,0.75) Subtitle / secondary text
primary-40 rgba(255,255,255,0.45) Muted text / annotations
primary-20 #2A3F5F Card borders / subtle decorations
primary-10 #1E2D45 Surface / content area base
primary-5 #162235 Page background

8. Warm Retro (Vintage Warmth)

Property Value
Mood Vintage, cultured, warm and grounded
Suitable for Cultural events, humanities, food/lifestyle, brand storytelling
Primary #2A4A3A
Accent (A — default) #C89F62 (antique gold)
Accent B #C06C58 (copper red)
Accent C #7BA68C (moss green)
Background Override #F4F1E9 (warm off-white, replaces default #FFFFFF)
CJK Title Font SimSun Bold
CJK Body Font Microsoft YaHei
Latin Title Font Palatino Linotype Bold
Latin Body Font Garamond
Image Keywords vintage, warm light, craft, leather, coffee, botanical, old book, linen texture
Mask Color rgba(30,40,34,0.75) (primary-90 based)

Warm background notes: This theme uses a warm off-white (#F4F1E9) instead of pure white:

  • background = #F4F1E9, surface = #EDE9DF (slightly darker warm), surface-card = #FEFDFB (near-white card)
  • The warm base gives a cozy, analog feel — avoid pure white elements that would look jarring

Color Scale:

Scale Color Value Usage
primary-100 #0F1C15 Darkest (rarely used)
primary-90 #1E2822 Title bar background
primary-80 #2A4A3A Title text / primary elements
primary-60 #4A7A62 Subtitle / icons
primary-40 #7AAA90 Secondary text
primary-20 #B5D4C2 Light decoration
primary-10 #DCE9E0 Card background / border
primary-5 #F0F5F1 Surface base (use #EDE9DF for warm surface)

9. Deep Forest (Dark Green)

Property Value
Mood Calm, grounded, nature-tech fusion
Suitable for ESG reports, sustainability, ecology, green tech
Primary #FFFFFF
Accent (A — default) #D7D968 (electric lime)
Accent B #E18C70 (coral orange)
Accent C #85C5E0 (sky blue)
Background Override #193328 (deep forest green, replaces default #FFFFFF)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Gill Sans MT Bold
Latin Body Font Corbel
Image Keywords dark forest, moss, fern, green nature, sustainability, eco technology, rain forest
Mask Color rgba(18,38,30,0.70) (primary-100 based)

Dark theme notes: Same inverted logic as Deep Mineral — see its notes above.

  • background = #193328, surface = #1F3F32, surface-card = #264A3C
  • text-primary = #FFFFFF, text-secondary = rgba(255,255,255,0.75), text-muted = rgba(255,255,255,0.45)

Color Scale (inverted):

Scale Color Value Usage
primary-100 #0D1A14 Deepest background
primary-90 #12261E Title bar background
primary-80 #FFFFFF Title text / primary elements
primary-60 rgba(255,255,255,0.75) Subtitle / secondary text
primary-40 rgba(255,255,255,0.45) Muted text / annotations
primary-20 #2A5040 Card borders / subtle decorations
primary-10 #1F3F32 Surface / content area base
primary-5 #193328 Page background

10. Coral (Coral Pink)

Property Value
Mood Warm, vibrant, youthful
Suitable for Brand marketing, consumer products, lifestyle, female-audience presentations
Primary #8B3A4A
Accent (A — default) #E2A574 (warm peach)
Accent B #DC755B (burnt sienna)
Accent C #6BC5B8 (mint contrast)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Candara Bold
Latin Body Font Corbel
Image Keywords pink, flowers, beauty, lifestyle, warm light, cafe, fashion, soft texture
Mask Color rgba(100,42,54,0.75) (primary-90 based)

Color Scale:

Scale Color Value Usage
primary-100 #3D1A22 Deepest background
primary-90 #642A36 Title bar background
primary-80 #8B3A4A Title text / primary elements
primary-60 #B06070 Subtitle / icons
primary-40 #D08A96 Secondary text
primary-20 #E8BAC2 Light decoration
primary-10 #F3DDE1 Card background / border
primary-5 #FAF0F2 Surface base color

11. Mint (Mint Green)

Property Value
Mood Fresh, clean, health-oriented
Suitable for Healthcare, wellness, eco-friendly, food & beverage
Primary #1A6B5A
Accent (A — default) #E3987D (warm coral)
Accent B #DEC363 (golden yellow)
Accent C #8574E2 (medium slate blue)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Gill Sans MT Bold
Latin Body Font Corbel
Image Keywords mint, fresh, health, botanical, clean, green smoothie, spa, herbal
Mask Color rgba(18,78,64,0.75) (primary-90 based)

Color Scale:

Scale Color Value Usage
primary-100 #0A3028 Deepest background
primary-90 #124E40 Title bar background
primary-80 #1A6B5A Title text / primary elements
primary-60 #3D9B86 Subtitle / icons
primary-40 #6DBFAB Secondary text
primary-20 #A8DACE Light decoration
primary-10 #D6EDE7 Card background / border
primary-5 #EFF8F5 Surface base color

12. Azure (Sky Blue)

Property Value
Mood Open, lightweight, approachable technology
Suitable for SaaS products, AI/tech, onboarding, training materials
Primary #1E5F8C
Accent (A — default) #FF6B2B (electric orange)
Accent B #DD5F5F (red)
Accent C #9270E1 (violet)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Trebuchet MS Bold
Latin Body Font Corbel
Image Keywords sky, cloud, technology, light blue, software, digital, clean interface
Mask Color rgba(20,68,104,0.75) (primary-90 based)

Color Scale:

Scale Color Value Usage
primary-100 #0C2A40 Deepest background
primary-90 #144468 Title bar background
primary-80 #1E5F8C Title text / primary elements
primary-60 #4085B0 Subtitle / icons
primary-40 #70AAD0 Secondary text
primary-20 #A8CEE5 Light decoration
primary-10 #D8E9F3 Card background / border
primary-5 #F0F6FA Surface base color

13. Ember (Amber Red)

Property Value
Mood Bold, energetic, high-impact
Suitable for Annual events, product launches, sales campaigns, motivational presentations
Primary #8B2500
Accent (A — default) #F04828 (fire orange)
Accent B #2EC4B6 (teal contrast)
Accent C #EC7979 (coral red)
CJK Title Font SimHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Arial Bold
Latin Body Font Corbel
Image Keywords fire, red, energy, stage light, celebration, bold, dynamic, explosion
Mask Color rgba(100,26,0,0.75) (primary-90 based)

Color Scale:

Scale Color Value Usage
primary-100 #3E1000 Deepest background
primary-90 #641A00 Title bar background
primary-80 #8B2500 Title text / primary elements
primary-60 #B85030 Subtitle / icons
primary-40 #D88060 Secondary text
primary-20 #EBB8A0 Light decoration
primary-10 #F5DCD0 Card background / border
primary-5 #FBF0EB Surface base color

14. Volt (Electric / Startup Dark)

Property Value
Mood Electric, aggressive, high-energy
Suitable for AI/tech product launches, startup pitches, youth tech brands, digital innovation
Primary #FFFFFF
Accent (A — default) #00F5A0 (electric mint-green)
Accent B #FF5E3A (electric orange)
Accent C #A855F7 (electric purple)
Background Override #080B14 (near-black with blue tint, replaces default #FFFFFF)
CJK Title Font Microsoft YaHei Bold
CJK Body Font Microsoft YaHei
Latin Title Font Trebuchet MS Bold
Latin Body Font Corbel
Image Keywords neon, circuit board, futuristic, dark ui, electric glow, startup, code, data stream
Mask Color rgba(5,7,16,0.70) (primary-100 based)

Dark theme notes: Same inverted logic as Deep Mineral — see its notes above.

  • background = #080B14, surface = #0F1424, surface-card = #162033
  • text-primary = #FFFFFF, text-secondary = rgba(255,255,255,0.75), text-muted = rgba(255,255,255,0.45)
  • Accents are extremely vivid by design — use sparingly (bars, numbers, key labels only)

Color Scale (inverted):

Scale Color Value Usage
primary-100 #050710 Deepest background
primary-90 #0D1320 Title bar background
primary-80 #FFFFFF Title text / primary elements
primary-60 rgba(255,255,255,0.75) Subtitle / secondary text
primary-40 rgba(255,255,255,0.45) Muted text / annotations
primary-20 #1E2E48 Card borders / subtle decorations
primary-10 #0F1424 Surface / content area base
primary-5 #080B14 Page background

15. Vermillion (Chinese Red)

Property Value
Mood Ceremonial, festive, culturally resonant
Suitable for Chinese cultural events, Spring Festival, traditional ceremonies, brand storytelling with Chinese aesthetics
Primary #8B1A1A
Accent (A — default) #D4AF37 (Chinese gold)
Accent B #C4762A (copper bronze)
Accent C #2D6B8A (cool blue contrast)
Background Override #FDF8F2 (warm rice-paper white, replaces default #FFFFFF)
CJK Title Font SimSun Bold
CJK Body Font Microsoft YaHei
Latin Title Font Palatino Linotype Bold
Latin Body Font Corbel
Image Keywords red lantern, Chinese architecture, traditional culture, festival, gold ornament, calligraphy, temple, Spring Festival
Mask Color rgba(107,20,20,0.75) (primary-90 based)

Warm background notes: Uses warm rice-paper white #FDF8F2 instead of pure white:

  • background = #FDF8F2, surface = #F5EDE0 (warm tint), surface-card = #FEFDFB (near-white card)
  • Avoid pure white elements that would look jarring against the warm base

Color Scale:

Scale Color Value Usage
primary-100 #450D0D Deepest background / dramatic pages
primary-90 #6B1414 Title bar background
primary-80 #8B1A1A Title text / primary elements
primary-60 #B84040 Subtitle / icons
primary-40 #D57070 Secondary text
primary-20 #EDB0B0 Light decoration
primary-10 #F8E0E0 Card background / border
primary-5 #FDF4F4 Surface base color

Custom Themes

If the user specifies a particular color, create a custom theme following these steps:

  1. Use the user-specified color as primary-80
  2. Derive the full 8-level color scale according to the color scale generation rules in section 3.1 of design-system.md
  3. Select an Accent color with a hue difference of ≥ 30° from the Primary (to ensure visual distinction). Recommended range: 60°180°. Provide 3 accent variants (A/B/C) for variety.
  4. Choose the most suitable font pairing from the presets, or use the user-specified fonts
  5. Record the complete configuration in comments within the generated code to ensure consistency across the entire PPT deck

Font Pairing Notes

Each theme has 4 font roles:

Role HTML font-family Syntax Usage
CJK Title Write PPT font name directly: font-family:'SimHei','Microsoft YaHei',sans-serif h1, h2, cover title
CJK Body Write PPT font name directly: font-family:'Microsoft YaHei',sans-serif body, lists, annotations
Latin Title Write PPT font name directly: font-family:'Century Gothic','Corbel',sans-serif Pure Latin character titles
Latin Body Write PPT font name directly: font-family:'Corbel',sans-serif Pure Latin character body text

v3 Smart Font Mapping: html2pptx.js automatically handles fonts:

  • PPT-safe fonts (SimHei, Corbel, Palatino Linotype, etc. 40+) → Passed through directly, preserved as-is
  • macOS-exclusive fonts (PingFang, Hiragino) → Automatically mapped to cross-platform equivalent fonts
  • Web fonts (Roboto, Montserrat, Inter, etc.) → Automatically mapped to the visually closest PPT-safe font
  • fontConfig still available: Serves as the final fallback default for CJK/Latin

fontConfig can be passed when calling html2pptx() (optional, used to override default fallback):

const fontConfig = { cjk: 'SimHei', latin: 'Corbel' };

Recommended practice: Write the target PPT font name directly in HTML; do not rely on fontConfig for switching.

PPT-safe Chinese fonts: Microsoft YaHei / SimHei / SimSun / KaiTi / FangSong / DengXian PPT-safe English fonts: Corbel / Arial / Times New Roman / Palatino Linotype / Gill Sans MT / Century Gothic / Garamond / Rockwell / Candara / Constantia / Cambria / Trebuchet MS


Dark Mode Semantic Color Mapping

For themes that need a full dark-mode deck (not just individual dark slides), use these semantic overrides:

Semantic Token Light Mode Value Dark Mode Value
background #FFFFFF primary-100
surface primary-5 primary-90
surface-card #FFFFFF primary-80
text-primary primary-80 #FFFFFF
text-secondary primary-60 rgba(255,255,255,0.75)
text-muted primary-40 rgba(255,255,255,0.45)
border primary-10 primary-60
on-dark #FFFFFF #FFFFFF (unchanged)

Deep Mineral and Deep Forest themes already use dark mode by default. For any other theme, apply this mapping to create a dark variant.

Cards in dark mode use surface-card background with no shadow (shadows invisible on dark backgrounds). Use subtle border: 1pt solid primary-60 instead for card definition.