Initial commit: TypoGenie - Markdown to Word document converter

This commit is contained in:
TypoGenie
2026-01-29 18:10:07 +02:00
commit f179e79f35
29 changed files with 6708 additions and 0 deletions

768
styles/lifestyle.ts Normal file
View File

@@ -0,0 +1,768 @@
import { StyleOption } from '../types';
export const lifestyleStyles: StyleOption[] = [
{
id: 'food-recipe',
name: 'Food & Recipe',
category: 'Lifestyle',
description: 'Warm and appetizing design for cookbooks and food content. Inviting typography with rustic charm.',
vibe: 'Warm, Appetizing, Homestyle',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Lato:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Playfair Display", size: 32, color: "6D4C41", bold: false, align: 'center',
spacing: { before: 400, after: 240, line: 240 }
},
heading2: {
font: "Playfair Display", size: 16, color: "8D6E63", bold: false, align: 'left',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Lato", size: 10, color: "4E342E", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "D84315"
},
previewCss: `
font-family: 'Lato', sans-serif;
h1 { font-family: 'Playfair Display', serif; font-size: 32pt; font-weight: 600; color: #6D4C41; text-align: center; margin-bottom: 28px; }
h2 { font-family: 'Playfair Display', serif; font-size: 16pt; color: #8D6E63; margin-top: 32px; margin-bottom: 16px; font-style: italic; }
p { font-size: 10pt; line-height: 1.6; color: #4E342E; margin-bottom: 14px; }
blockquote { background: #FFF3E0; padding: 16px; border-left: 4px solid #D84315; margin: 20px 0; }
`
},
{
id: 'wedding-elegant',
name: 'Wedding Elegant',
category: 'Events',
description: 'Romantic and elegant design for wedding stationery and formal events. Delicate typography with sophisticated flourishes.',
vibe: 'Romantic, Elegant, Celebratory',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Tangerine:wght@400;700&family=Cormorant+Garamond:wght@300;400;500&display=swap',
wordConfig: {
heading1: {
font: "Tangerine", size: 48, color: "5D4037", bold: true, align: 'center',
spacing: { before: 480, after: 280, line: 240 }
},
heading2: {
font: "Cormorant Garamond", size: 14, color: "795548", bold: false, align: 'center',
spacing: { before: 360, after: 180, line: 240 }
},
body: {
font: "Cormorant Garamond", size: 11, color: "5D4037", align: 'center',
spacing: { before: 0, after: 180, line: 300 }
},
accentColor: "D4AF37"
},
previewCss: `
font-family: 'Cormorant Garamond', serif;
h1 { font-family: 'Tangerine', cursive; font-size: 48pt; font-weight: 700; color: #5D4037; text-align: center; margin-bottom: 32px; }
h2 { font-size: 14pt; font-weight: 500; color: #795548; text-align: center; margin-top: 36px; margin-bottom: 18px; letter-spacing: 3px; text-transform: uppercase; }
p { font-size: 11pt; line-height: 1.7; color: #5D4037; margin-bottom: 16px; text-align: center; font-weight: 300; }
blockquote { border-top: 1px solid #D4AF37; border-bottom: 1px solid #D4AF37; padding: 24px 40px; margin: 32px 0; text-align: center; font-style: italic; }
`
},
{
id: 'sports-dynamic',
name: 'Sports Dynamic',
category: 'Sports',
description: 'Energetic and bold design for sports and athletic content. Dynamic typography with high-impact colors.',
vibe: 'Energetic, Bold, Athletic',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Rubik:wght@400;500;700&display=swap',
wordConfig: {
heading1: {
font: "Bebas Neue", size: 36, color: "D32F2F", bold: false, align: 'left',
spacing: { before: 360, after: 200, line: 220 }
},
heading2: {
font: "Rubik", size: 14, color: "1A1A1A", bold: true, align: 'left',
spacing: { before: 280, after: 140, line: 240 }
},
body: {
font: "Rubik", size: 10, color: "333333", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "D32F2F"
},
previewCss: `
font-family: 'Rubik', sans-serif;
h1 { font-family: 'Bebas Neue', sans-serif; font-size: 36pt; color: #D32F2F; margin-bottom: 24px; letter-spacing: 2px; text-transform: uppercase; }
h2 { font-size: 14pt; font-weight: 700; color: #1A1A1A; margin-top: 28px; margin-bottom: 14px; text-transform: uppercase; }
p { font-size: 10pt; line-height: 1.6; color: #333333; margin-bottom: 14px; }
blockquote { background: #FFEBEE; padding: 16px; border-left: 6px solid #D32F2F; margin: 20px 0; font-weight: 500; }
`
},
{
id: 'childrens-playful',
name: 'Children\'s Playful',
category: 'Children',
description: 'Fun and engaging design for children\'s content. Rounded typography with bright, cheerful colors.',
vibe: 'Playful, Friendly, Colorful',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;700&display=swap',
wordConfig: {
heading1: {
font: "Baloo 2", size: 32, color: "6A1B9A", bold: true, align: 'center',
spacing: { before: 400, after: 240, line: 240 }
},
heading2: {
font: "Baloo 2", size: 18, color: "00897B", bold: true, align: 'left',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Baloo 2", size: 11, color: "37474F", align: 'left',
spacing: { before: 0, after: 160, line: 300 }
},
accentColor: "FF6B6B"
},
previewCss: `
font-family: 'Baloo 2', cursive;
h1 { font-size: 32pt; font-weight: 700; color: #6A1B9A; text-align: center; margin-bottom: 28px; }
h2 { font-size: 18pt; font-weight: 700; color: #00897B; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 11pt; line-height: 1.7; color: #37474F; margin-bottom: 14px; }
blockquote { background: #FFF3E0; padding: 16px; border-radius: 16px; border-left: 6px solid #FF6F00; margin: 20px 0; }
`
},
{
id: 'travel-adventure',
name: 'Travel Adventure',
category: 'Travel',
description: 'Adventurous design for travel and exploration content. Bold typography with earthy, wanderlust-inspiring colors.',
vibe: 'Adventurous, Inspiring, Explorer',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=Josefin+Sans:wght@400;600&display=swap',
wordConfig: {
heading1: {
font: "Amatic SC", size: 48, color: "3E2723", bold: true, align: 'center',
spacing: { before: 400, after: 240, line: 220 }
},
heading2: {
font: "Josefin Sans", size: 14, color: "5D4037", bold: true, align: 'left',
spacing: { before: 300, after: 150, line: 240 }
},
body: {
font: "Josefin Sans", size: 10, color: "4E342E", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "FF7043"
},
previewCss: `
font-family: 'Josefin Sans', sans-serif;
h1 { font-family: 'Amatic SC', cursive; font-size: 48pt; font-weight: 700; color: #3E2723; text-align: center; margin-bottom: 28px; letter-spacing: 4px; }
h2 { font-size: 14pt; font-weight: 600; color: #5D4037; margin-top: 30px; margin-bottom: 14px; text-transform: uppercase; letter-spacing: 2px; }
p { font-size: 10pt; line-height: 1.6; color: #4E342E; margin-bottom: 14px; }
blockquote { background: #FBE9E7; padding: 16px; border-left: 4px solid #FF7043; margin: 20px 0; }
`
},
{
id: 'hotel-hospitality',
name: 'Hotel Hospitality',
category: 'Hospitality',
description: 'Welcoming design for hotels and hospitality industry. Elegant yet approachable with warm sophistication.',
vibe: 'Welcoming, Elegant, Warm',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Tenor+Sans&family=Nunito+Sans:wght@300;400;600&display=swap',
wordConfig: {
heading1: {
font: "Tenor Sans", size: 28, color: "2C3E50", bold: false, align: 'center',
spacing: { before: 400, after: 240, line: 240 }
},
heading2: {
font: "Tenor Sans", size: 14, color: "8B7355", bold: false, align: 'left',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Nunito Sans", size: 10, color: "4A4A4A", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "8B7355"
},
previewCss: `
font-family: 'Nunito Sans', sans-serif;
h1 { font-family: 'Tenor Sans', sans-serif; font-size: 28pt; color: #2C3E50; text-align: center; margin-bottom: 28px; letter-spacing: 2px; }
h2 { font-family: 'Tenor Sans', sans-serif; font-size: 14pt; color: #8B7355; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 10pt; line-height: 1.6; color: #4A4A4A; margin-bottom: 14px; font-weight: 300; }
blockquote { background: #F9F6F1; padding: 20px; border-left: 4px solid #8B7355; margin: 24px 0; }
`
},
{
id: 'spa-wellness',
name: 'Spa Wellness',
category: 'Wellness',
description: 'Serene design for spa and wellness industries. Calm typography with soothing, natural colors.',
vibe: 'Serene, Calming, Natural',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Philosopher:wght@400;700&family=Questrial&display=swap',
wordConfig: {
heading1: {
font: "Philosopher", size: 28, color: "4A6741", bold: false, align: 'center',
spacing: { before: 480, after: 280, line: 240 }
},
heading2: {
font: "Philosopher", size: 14, color: "6B8E63", bold: false, align: 'left',
spacing: { before: 360, after: 180, line: 240 }
},
body: {
font: "Questrial", size: 10, color: "5D6D5A", align: 'left',
spacing: { before: 0, after: 180, line: 300 }
},
accentColor: "6B8E63"
},
previewCss: `
font-family: 'Questrial', sans-serif;
h1 { font-family: 'Philosopher', serif; font-size: 28pt; color: #4A6741; text-align: center; margin-bottom: 32px; }
h2 { font-family: 'Philosopher', serif; font-size: 14pt; color: #6B8E63; margin-top: 36px; margin-bottom: 18px; }
p { font-size: 10pt; line-height: 1.7; color: #5D6D5A; margin-bottom: 16px; }
blockquote { background: #F1F8E9; padding: 20px; border-radius: 4px; margin: 28px 0; text-align: center; }
`
},
{
id: 'parisian-chic',
name: 'Parisian Chic',
category: 'Fashion',
description: 'Sophisticated French aesthetics. Elegant high-contrast serifs with plenty of white space.',
vibe: 'Sophisticated, Chic, Minimal',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,700;1,6..96,400&family=Jost:wght@300;400&display=swap',
wordConfig: {
heading1: {
font: "Bodoni Moda", size: 36, color: "000000", bold: true, align: 'center',
spacing: { before: 400, after: 240, line: 240 }
},
heading2: {
font: "Bodoni Moda", size: 16, color: "333333", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 },
italic: true
},
body: {
font: "Jost", size: 10, color: "1A1A1A", align: 'center',
spacing: { before: 0, after: 160, line: 300 }
},
accentColor: "000000"
},
previewCss: `
font-family: 'Jost', sans-serif;
h1 { font-family: 'Bodoni Moda', serif; font-size: 36pt; font-weight: 700; color: #000000; text-align: center; margin-bottom: 32px; }
h2 { font-family: 'Bodoni Moda', serif; font-size: 16pt; font-weight: 700; color: #333333; text-align: center; margin-top: 36px; margin-bottom: 18px; font-style: italic; }
p { font-size: 10pt; line-height: 1.8; color: #1A1A1A; margin-bottom: 16px; text-align: center; font-weight: 300; }
blockquote { border-top: 1px solid #000000; border-bottom: 1px solid #000000; padding: 24px; margin: 32px 40px; text-align: center; font-family: 'Bodoni Moda', serif; font-style: italic; }
`
},
{
id: 'fine-dining-menu',
name: 'Fine Dining Menu',
category: 'Hospitality',
description: 'High-end restaurant aesthetic. Elegant scripts, centered layouts, and luxurious gold tones.',
vibe: 'Elegant, Expensive, Centered',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:wght@400;600&display=swap',
wordConfig: {
heading1: {
font: "Great Vibes", size: 42, color: "C5A059", bold: false, align: 'center',
spacing: { before: 500, after: 300, line: 240 }
},
heading2: {
font: "Cormorant Garamond", size: 14, color: "212121", bold: true, align: 'center',
spacing: { before: 360, after: 180, line: 240 },
allCaps: true
},
body: {
font: "Cormorant Garamond", size: 12, color: "424242", align: 'center',
spacing: { before: 0, after: 180, line: 300 }
},
accentColor: "C5A059"
},
previewCss: `
font-family: 'Cormorant Garamond', serif;
background: #FFFAF0;
h1 { font-family: 'Great Vibes', cursive; font-size: 42pt; color: #C5A059; text-align: center; margin-bottom: 30px; }
h2 { font-size: 14pt; font-weight: 600; color: #212121; text-align: center; margin-top: 36px; margin-bottom: 18px; text-transform: uppercase; letter-spacing: 3px; border-bottom: 1px solid #C5A059; display: inline-block; padding-bottom: 5px; }
p { font-size: 12pt; line-height: 1.8; color: #424242; margin-bottom: 16px; text-align: center; font-style: italic; }
blockquote { border: 1px solid #C5A059; padding: 24px; margin: 30px 60px; text-align: center; }
`
},
{
id: 'cottagecore-journal',
name: 'Cottagecore Journal',
category: 'Aesthetic',
description: 'Whimsical countryside diary. Handwritten fonts with soft sage greens and earthy browns.',
vibe: 'Whimsical, Nature, Handmade',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Amatic+SC:wght@400;700&family=Patrick+Hand&display=swap',
wordConfig: {
heading1: {
font: "Amatic SC", size: 40, color: "33691E", bold: true, align: 'center',
spacing: { before: 400, after: 200, line: 240 }
},
heading2: {
font: "Patrick Hand", size: 18, color: "5D4037", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Patrick Hand", size: 14, color: "424242", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "33691E"
},
previewCss: `
font-family: 'Patrick Hand', cursive;
background: #F1F8E9;
h1 { font-family: 'Amatic SC', cursive; font-size: 40pt; font-weight: 700; color: #33691E; text-align: center; margin-bottom: 24px; }
h2 { font-size: 18pt; font-weight: 700; color: #5D4037; text-align: center; margin-top: 30px; margin-bottom: 14px; border-bottom: 1px dashed #8D6E63; display: inline-block; }
p { font-size: 14pt; line-height: 1.6; color: #424242; margin-bottom: 14px; }
blockquote { background: #FFF; border: 1px dotted #33691E; padding: 20px; border-radius: 10px; margin: 24px 0; }
`
},
{
id: 'hipster-coffee',
name: 'Hipster Coffee',
category: 'Modern',
description: 'Artisan roaster branding. Clean slab serifs on kraft paper textures.',
vibe: 'Artisan, Slab, Kraft',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Zilla+Slab:wght@400;700&family=Lato:wght@300;400&display=swap',
wordConfig: {
heading1: {
font: "Zilla Slab", size: 36, color: "3E2723", bold: true, align: 'center',
spacing: { before: 400, after: 200, line: 240 }
},
heading2: {
font: "Lato", size: 14, color: "000000", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 },
allCaps: true,
tracking: 100
},
body: {
font: "Lato", size: 10, color: "4E342E", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "3E2723"
},
previewCss: `
font-family: 'Lato', sans-serif;
background: #E0C097;
h1 { font-family: 'Zilla Slab', serif; font-size: 36pt; font-weight: 700; color: #3E2723; text-align: center; margin-bottom: 24px; }
h2 { font-size: 14pt; font-weight: 700; color: #000000; text-align: center; margin-top: 32px; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 2px; }
p { font-size: 10pt; line-height: 1.6; color: #4E342E; margin-bottom: 14px; }
blockquote { border-top: 1px solid #3E2723; border-bottom: 1px solid #3E2723; padding: 20px; margin: 24px 0; text-align: center; font-style: italic; }
`
},
{
id: 'kindergarten-art',
name: 'Kindergarten Art',
category: 'Playful',
description: 'Child-like crayon aesthetic. Primary colors, rounded fonts, and large friendly text.',
vibe: 'Childish, Fun, Primary',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Chewy&family=Balsamiq+Sans:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Chewy", size: 40, color: "2962FF", bold: false, align: 'center',
spacing: { before: 400, after: 200, line: 240 }
},
heading2: {
font: "Balsamiq Sans", size: 18, color: "D50000", bold: true, align: 'left',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Balsamiq Sans", size: 14, color: "111111", align: 'left',
spacing: { before: 0, after: 160, line: 320 }
},
accentColor: "FFD600"
},
previewCss: `
font-family: 'Balsamiq Sans', cursive;
h1 { font-family: 'Chewy', cursive; font-size: 40pt; color: #2962FF; text-align: center; margin-bottom: 24px; transform: rotate(-2deg); }
h2 { font-size: 18pt; font-weight: 700; color: #D50000; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 14pt; line-height: 1.6; color: #111111; margin-bottom: 14px; }
blockquote { border: 4px dashed #FFD600; padding: 20px; margin: 24px 0; border-radius: 20px; background: #FFFDE7; }
`
},
{
id: 'surf-shop',
name: 'Surf Shop',
category: 'Lifestyle',
description: 'California cool. Relaxed hand-drawn fonts with sea foam blues and sunny yellows.',
vibe: 'Relaxed, Beach, Sunny',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Permanent+Marker&family=Kalam:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Permanent Marker", size: 36, color: "0097A7", bold: false, align: 'center',
spacing: { before: 400, after: 200, line: 240 }
},
heading2: {
font: "Kalam", size: 18, color: "FBC02D", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Kalam", size: 12, color: "424242", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "0097A7"
},
previewCss: `
font-family: 'Kalam', cursive;
h1 { font-family: 'Permanent Marker', cursive; font-size: 36pt; color: #0097A7; text-align: center; margin-bottom: 24px; transform: rotate(-1deg); }
h2 { font-size: 18pt; font-weight: 700; color: #FBC02D; text-align: center; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 12pt; line-height: 1.6; color: #424242; margin-bottom: 14px; }
blockquote { background: #E0F7FA; border-radius: 16px; padding: 20px; margin: 24px 0; border: 2px solid #0097A7; }
`
},
{
id: 'winter-holiday',
name: 'Winter Holiday',
category: 'Seasonal',
description: 'Festive greeting card style. Elegant script, deep reds and forest greens.',
vibe: 'Festive, Cozy, Traditional',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Mountains+of+Christmas:wght@400;700&family=Merriweather:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Mountains of Christmas", size: 36, color: "B71C1C", bold: true, align: 'center',
spacing: { before: 400, after: 240, line: 240 }
},
heading2: {
font: "Merriweather", size: 16, color: "1B5E20", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Merriweather", size: 11, color: "212121", align: 'center',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "B71C1C"
},
previewCss: `
font-family: 'Merriweather', serif;
background: #FFEBEE;
h1 { font-family: 'Mountains of Christmas', cursive; font-size: 36pt; font-weight: 700; color: #B71C1C; text-align: center; margin-bottom: 24px; }
h2 { font-size: 16pt; font-weight: 700; color: #1B5E20; text-align: center; margin-top: 32px; margin-bottom: 16px; border-bottom: 2px dotted #1B5E20; display: inline-block; }
p { font-size: 11pt; line-height: 1.6; color: #212121; margin-bottom: 14px; text-align: center; }
blockquote { border: 2px solid #B71C1C; padding: 16px; margin: 24px 0; border-radius: 8px; background: #FFF; }
`
},
{
id: 'recipe-card',
name: 'Recipe Card',
category: 'Home',
description: 'Grandmas index card. Typewriter fonts with red header lines.',
vibe: 'Homey, Traditional, Cookery',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Courier+Prime&family=Homemade+Apple&display=swap',
wordConfig: {
heading1: {
font: "Courier Prime", size: 24, color: "000000", bold: true, align: 'left',
spacing: { before: 360, after: 200, line: 240 },
border: { bottom: { color: "F44336", space: 4, style: "single", size: 12 } }
},
heading2: {
font: "Courier Prime", size: 14, color: "000000", bold: true, align: 'left',
spacing: { before: 280, after: 140, line: 240 },
allCaps: true
},
body: {
font: "Courier Prime", size: 11, color: "212121", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "F44336"
},
previewCss: `
font-family: 'Courier Prime', monospace;
background: #FFF;
border: 1px solid #E0E0E0;
padding: 20px;
h1 { font-size: 24pt; font-weight: 700; color: #000000; border-bottom: 2px solid #F44336; padding-bottom: 8px; margin-bottom: 20px; }
h2 { font-size: 14pt; font-weight: 700; color: #000000; margin-top: 24px; margin-bottom: 12px; text-transform: uppercase; }
p { font-size: 11pt; line-height: 1.5; color: #212121; margin-bottom: 12px; }
blockquote { font-family: 'Homemade Apple', cursive; color: #D32F2F; font-size: 14pt; margin: 20px 0; }
`
},
{
id: 'national-park-signage',
name: 'National Park Signage',
category: 'Nature',
description: 'Routed wood sign aesthetic. Heavy rounded serifs with earthy brown and cream colors.',
vibe: 'Outdoors, Rustic, Official',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Crete+Round:ital@0;1&family=Lato:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Crete Round", size: 32, color: "FFFFFF", bold: false, align: 'left',
spacing: { before: 400, after: 200, line: 240 },
shading: { fill: "3E2723", color: "auto", style: "clear" } // Dark brown background
},
heading2: {
font: "Lato", size: 16, color: "3E2723", bold: true, align: 'left',
spacing: { before: 320, after: 160, line: 240 },
allCaps: true
},
body: {
font: "Lato", size: 11, color: "212121", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "3E2723"
},
previewCss: `
font-family: 'Lato', sans-serif;
h1 { font-family: 'Crete Round', serif; font-size: 32pt; color: #FFFFFF; background: #3E2723; padding: 16px; margin-bottom: 24px; border-radius: 8px; border: 2px solid #5D4037; }
h2 { font-size: 16pt; font-weight: 700; color: #3E2723; margin-top: 32px; margin-bottom: 16px; text-transform: uppercase; }
p { font-size: 11pt; line-height: 1.6; color: #212121; margin-bottom: 14px; }
blockquote { background: #EFEBE9; border-left: 6px solid #3E2723; padding: 16px; margin: 24px 0; }
`
},
{
id: 'supermarket-receipt',
name: 'Supermarket Receipt',
category: 'Everyday',
description: 'Thermal paper aesthetic. Monospaced, slightly faded grey text with narrow alignment.',
vibe: 'Disposable, Monospace, Grey',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Fira+Mono&family=Inconsolata:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Fira Mono", size: 24, color: "000000", bold: true, align: 'center',
spacing: { before: 300, after: 200, line: 240 },
allCaps: true
},
heading2: {
font: "Inconsolata", size: 14, color: "000000", bold: false, align: 'center',
spacing: { before: 240, after: 120, line: 240 },
border: { bottom: { color: "000000", space: 4, style: "dashed", size: 12 } }
},
body: {
font: "Inconsolata", size: 11, color: "424242", align: 'left', // Dark grey for thermal look
spacing: { before: 0, after: 120, line: 240 }
},
accentColor: "000000"
},
previewCss: `
font-family: 'Inconsolata', monospace;
background: #FAFAFA;
padding: 20px;
width: 400px;
margin: 0 auto;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
h1 { font-family: 'Fira Mono', monospace; font-size: 24pt; font-weight: 700; color: #000000; text-align: center; margin-bottom: 20px; text-transform: uppercase; }
h2 { font-size: 14pt; font-weight: 400; color: #000000; text-align: center; margin-top: 24px; margin-bottom: 12px; border-bottom: 1px dashed #000; padding-bottom: 5px; }
p { font-size: 11pt; line-height: 1.4; color: #424242; margin-bottom: 10px; }
blockquote { text-align: center; margin: 20px 0; font-weight: 700; }
`
},
{
id: 'varsity-team',
name: 'Varsity Team',
category: 'Sport',
description: 'College sports jersey style. Block lettering with athletic gold and navy.',
vibe: 'Athletic, College, Bold',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Graduate&family=Saira:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Graduate", size: 36, color: "FDD835", bold: true, align: 'center',
spacing: { before: 400, after: 240, line: 240 },
shading: { fill: "1A237E", color: "auto", style: "clear" },
border: {
top: { color: "FDD835", space: 8, style: "single", size: 24 },
bottom: { color: "FDD835", space: 8, style: "single", size: 24 }
}
},
heading2: {
font: "Saira", size: 20, color: "1A237E", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 },
allCaps: true
},
body: {
font: "Saira", size: 12, color: "212121", align: 'center',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "FDD835"
},
previewCss: `
font-family: 'Saira', sans-serif;
h1 { font-family: 'Graduate', serif; font-size: 36pt; color: #FDD835; background: #1A237E; border-top: 4px solid #FDD835; border-bottom: 4px solid #FDD835; padding: 20px; text-align: center; margin-bottom: 24px; }
h2 { font-size: 20pt; font-weight: 700; color: #1A237E; text-align: center; margin-top: 32px; margin-bottom: 16px; text-transform: uppercase; }
p { font-size: 12pt; line-height: 1.5; color: #212121; margin-bottom: 14px; text-align: center; }
blockquote { border: 2px dashed #1A237E; padding: 16px; margin: 24px 0; background: #E8EAF6; }
`
},
{
id: 'sticky-note',
name: 'Sticky Note',
category: 'Casual',
description: 'Handwritten reminder aesthetic. Marker fonts on a canary yellow background.',
vibe: 'Casual, Handwritten, Yellow',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Permanent+Marker&family=Kalam:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Permanent Marker", size: 32, color: "000000", bold: false, align: 'center',
spacing: { before: 400, after: 200, line: 240 }
},
heading2: {
font: "Kalam", size: 18, color: "D50000", bold: true, align: 'left',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Kalam", size: 14, color: "212121", align: 'left',
spacing: { before: 0, after: 160, line: 280 },
shading: { fill: "FFF9C4", color: "auto", style: "clear" } // Yellow paper
},
accentColor: "D50000"
},
previewCss: `
font-family: 'Kalam', cursive;
background: #FFF9C4;
padding: 30px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.1);
h1 { font-family: 'Permanent Marker', cursive; font-size: 32pt; color: #000000; text-align: center; margin-bottom: 24px; transform: rotate(-1deg); }
h2 { font-size: 18pt; font-weight: 700; color: #D50000; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 14pt; line-height: 1.5; color: #212121; margin-bottom: 14px; }
blockquote { border-left: 4px solid #D50000; padding-left: 12px; margin: 20px 0; }
`
},
{
id: 'brick-toy',
name: 'Brick Toy',
category: 'Playful',
description: 'Plastic building block aesthetic. Primary red, blue, and yellow with chunky text.',
vibe: 'Playful, Primary, Chunky',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Titan+One&family=Nunito:wght@400;800&display=swap',
wordConfig: {
heading1: {
font: "Titan One", size: 36, color: "D32F2F", bold: false, align: 'center',
spacing: { before: 400, after: 200, line: 240 },
shading: { fill: "FFEB3B", color: "auto", style: "clear" } // Yellow background
},
heading2: {
font: "Nunito", size: 18, color: "FFFFFF", bold: true, align: 'left',
spacing: { before: 320, after: 160, line: 240 },
shading: { fill: "1976D2", color: "auto", style: "clear" } // Blue background
},
body: {
font: "Nunito", size: 12, color: "212121", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "D32F2F"
},
previewCss: `
font-family: 'Nunito', sans-serif;
h1 { font-family: 'Titan One', cursive; font-size: 36pt; color: #D32F2F; background: #FFEB3B; padding: 16px; border-radius: 8px; text-align: center; margin-bottom: 24px; border: 4px solid #D32F2F; }
h2 { font-size: 18pt; font-weight: 800; color: #FFFFFF; background: #1976D2; padding: 8px 16px; border-radius: 4px; display: inline-block; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 12pt; line-height: 1.6; color: #212121; margin-bottom: 14px; }
blockquote { border: 4px dotted #D32F2F; padding: 16px; margin: 24px 0; background: #E3F2FD; }
`
},
{
id: 'jungle-explorer',
name: 'Jungle Explorer',
category: 'Adventure',
description: 'Safari expedition style. Khaki, olive drab, and canvas textures.',
vibe: 'Adventure, Khaki, Nature',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Stardos+Stencil&family=Domine:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Stardos Stencil", size: 36, color: "33691E", bold: true, align: 'left',
spacing: { before: 400, after: 200, line: 240 },
border: { bottom: { color: "827717", space: 6, style: "thick", size: 18 } }
},
heading2: {
font: "Domine", size: 16, color: "558B2F", bold: true, align: 'left',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Domine", size: 11, color: "1B1B1B", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "827717"
},
previewCss: `
font-family: 'Domine', serif;
background: #F0F4C3; /* Khaki tint */
h1 { font-family: 'Stardos Stencil', cursive; font-size: 36pt; font-weight: 700; color: #33691E; border-bottom: 4px solid #827717; padding-bottom: 12px; margin-bottom: 24px; }
h2 { font-size: 16pt; font-weight: 700; color: #558B2F; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 11pt; line-height: 1.6; color: #1B1B1B; margin-bottom: 14px; }
blockquote { background: #DCEDC8; padding: 20px; border-left: 6px solid #33691E; margin: 24px 0; }
`
},
{
id: 'volcanic-ash',
name: 'Volcanic Ash',
category: 'Nature',
description: 'Geological extreme. Obsidian greys with magma orange cracks.',
vibe: 'Dark, Hot, Geological',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Creepster&family=Merriweather+Sans:wght@400;800&display=swap',
wordConfig: {
heading1: {
font: "Merriweather Sans", size: 36, color: "FF3D00", bold: true, align: 'left',
spacing: { before: 400, after: 200, line: 240 },
shading: { fill: "212121", color: "auto", style: "clear" } // Obsidian
},
heading2: {
font: "Merriweather Sans", size: 16, color: "424242", bold: true, align: 'left',
spacing: { before: 320, after: 160, line: 240 },
border: { bottom: { color: "FF3D00", space: 4, style: "single", size: 6 } }
},
body: {
font: "Merriweather Sans", size: 11, color: "212121", align: 'left',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "FF3D00"
},
previewCss: `
font-family: 'Merriweather Sans', sans-serif;
background: #FAFAFA;
h1 { font-size: 36pt; font-weight: 800; color: #FF3D00; background: #212121; padding: 16px; margin-bottom: 24px; border-bottom: 4px solid #DD2C00; }
h2 { font-size: 16pt; font-weight: 800; color: #424242; margin-top: 32px; margin-bottom: 16px; border-bottom: 2px solid #FF3D00; display: inline-block; }
p { font-size: 11pt; line-height: 1.6; color: #212121; margin-bottom: 14px; }
blockquote { border-left: 8px solid #212121; padding-left: 16px; margin: 24px 0; background: #FFCCBC; }
`
},
{
id: 'desert-sands',
name: 'Desert Sands',
category: 'Nature',
description: 'Dune aesthetic. Warm beige backgrounds with wind-swept, eroded typefaces.',
vibe: 'Warm, Sandy, Soft',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Cinzel&family=Fauna+One&display=swap',
wordConfig: {
heading1: {
font: "Cinzel", size: 36, color: "5D4037", bold: false, align: 'center',
spacing: { before: 400, after: 200, line: 240 }
},
heading2: {
font: "Fauna One", size: 16, color: "8D6E63", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Fauna One", size: 11, color: "4E342E", align: 'center',
spacing: { before: 0, after: 160, line: 280 }
},
accentColor: "8D6E63"
},
previewCss: `
font-family: 'Fauna One', serif;
background: #F3E5AB; /* Sand color */
h1 { font-family: 'Cinzel', serif; font-size: 36pt; color: #5D4037; text-align: center; margin-bottom: 24px; letter-spacing: 2px; }
h2 { font-size: 16pt; font-weight: 700; color: #8D6E63; text-align: center; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 11pt; line-height: 1.6; color: #4E342E; margin-bottom: 14px; text-align: center; }
blockquote { border-top: 1px solid #5D4037; border-bottom: 1px solid #5D4037; padding: 20px; margin: 24px 0; }
`
},
{
id: 'bistro-chalkboard',
name: 'Bistro Chalkboard',
category: 'Food',
description: 'French cafe menu. White chalk text on slate black.',
vibe: 'French, Food, Chalk',
googleFontsImport: 'https://fonts.googleapis.com/css2?family=Homemade+Apple&family=Caveat:wght@400;700&display=swap',
wordConfig: {
heading1: {
font: "Homemade Apple", size: 32, color: "FFFFFF", bold: false, align: 'center',
spacing: { before: 400, after: 200, line: 240 },
shading: { fill: "212121", color: "auto", style: "clear" }
},
heading2: {
font: "Caveat", size: 20, color: "E0E0E0", bold: true, align: 'center',
spacing: { before: 320, after: 160, line: 240 }
},
body: {
font: "Caveat", size: 14, color: "BDBDBD", align: 'center',
spacing: { before: 0, after: 160, line: 280 },
shading: { fill: "263238", color: "auto", style: "clear" }
},
accentColor: "FFFFFF"
},
previewCss: `
font-family: 'Caveat', cursive;
background: #212121;
color: #FFFFFF;
h1 { font-family: 'Homemade Apple', cursive; font-size: 32pt; color: #FFFFFF; text-align: center; margin-bottom: 24px; border-bottom: 1px solid #757575; padding-bottom: 12px; }
h2 { font-size: 20pt; font-weight: 700; color: #E0E0E0; text-align: center; margin-top: 32px; margin-bottom: 16px; }
p { font-size: 14pt; line-height: 1.5; color: #BDBDBD; margin-bottom: 14px; text-align: center; }
blockquote { border: 1px dashed #FFFFFF; padding: 16px; margin: 24px 0; font-style: italic; text-align: center; }
`
}
];