""" Presentation Styles Configuration Contains all visual style definitions for the presentation tool. Each style includes colors, fonts, and characteristics. """ from typing import Dict, Any PRESENTATION_STYLES: Dict[str, Dict[str, Any]] = { "default": { "name": "Default", "description": "Clean Inter black/white theme - perfect starting point", "primary_color": "#000000", "accent_color": "#666666", "background": "#FFFFFF", "text_color": "#000000", "font_family": "'Inter', '-apple-system', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap", "font": "Inter (clean sans-serif)", "characteristics": ["Clean black/white", "Modern Inter font", "Minimal design", "Professional default", "Universal appeal"] }, "velvet": { "name": "Velvet", "description": "Luxurious dark theme with rich purples and gold accents", "primary_color": "#6B46C1", "accent_color": "#F59E0B", "background": "#1F2937", "text_color": "#F9FAFB", "font_family": "'Playfair Display', 'Georgia', serif", "font_import": "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap", "font": "Playfair Display (elegant serif)", "characteristics": ["Dark elegant background", "Purple and gold palette", "Luxury feel", "High contrast", "Elegant serif typography"] }, "glacier": { "name": "Glacier", "description": "Cool and clean with icy blues and crisp whites", "primary_color": "#0EA5E9", "accent_color": "#06B6D4", "background": "#F0F9FF", "text_color": "#0F172A", "font_family": "'Inter', 'Helvetica Neue', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap", "font": "Inter (modern sans-serif)", "characteristics": ["Cool blue tones", "Ice-inspired palette", "Clean and fresh", "Professional clarity", "Modern sans-serif"] }, "ember": { "name": "Ember", "description": "Warm and energetic with fiery oranges and deep reds", "primary_color": "#EA580C", "accent_color": "#DC2626", "background": "#FFF7ED", "text_color": "#1C1917", "font_family": "'Oswald', 'Arial Black', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&display=swap", "font": "Oswald (bold display font)", "characteristics": ["Warm orange-red palette", "Energetic feel", "Bold and confident", "High impact", "Strong display typography"] }, "sage": { "name": "Sage", "description": "Natural and calming with earth greens and soft browns", "primary_color": "#059669", "accent_color": "#92400E", "background": "#F0FDF4", "text_color": "#14532D", "font_family": "'Lora', 'Times New Roman', serif", "font_import": "https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&display=swap", "font": "Lora (readable serif)", "characteristics": ["Nature-inspired greens", "Earthy and organic", "Calming presence", "Sustainability themes", "Readable serif font"] }, "obsidian": { "name": "Obsidian", "description": "Sleek and modern with deep blacks and electric blue accents", "primary_color": "#1E40AF", "accent_color": "#3B82F6", "background": "#111827", "text_color": "#F9FAFB", "font_family": "'JetBrains Mono', 'Courier New', monospace", "font_import": "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600;700&display=swap", "font": "JetBrains Mono (tech monospace)", "characteristics": ["Modern dark theme", "Tech-inspired", "High contrast", "Professional edge", "Monospace coding font"] }, "coral": { "name": "Coral", "description": "Vibrant and tropical with coral pinks and ocean blues", "primary_color": "#EC4899", "accent_color": "#0891B2", "background": "#FDF2F8", "text_color": "#1F2937", "font_family": "'Poppins', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap", "font": "Poppins (friendly rounded)", "characteristics": ["Tropical color palette", "Vibrant and lively", "Creative energy", "Playful professional", "Friendly rounded font"] }, "platinum": { "name": "Platinum", "description": "Sophisticated monochrome with silver accents and clean typography", "primary_color": "#6B7280", "accent_color": "#9CA3AF", "background": "#FFFFFF", "text_color": "#111827", "font_family": "'Source Sans Pro', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;600;700&display=swap", "font": "Source Sans Pro (professional)", "characteristics": ["Sophisticated grays", "Minimalist elegance", "Timeless appeal", "Premium feel", "Professional typography"] }, "aurora": { "name": "Aurora", "description": "Magical gradients with northern lights inspired colors", "primary_color": "#8B5CF6", "accent_color": "#10B981", "background": "linear-gradient(135deg, #667eea 0%, #764ba2 100%)", "text_color": "#FFFFFF", "font_family": "'Montserrat', 'Helvetica', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap", "font": "Montserrat (modern geometric)", "characteristics": ["Gradient backgrounds", "Purple-green palette", "Mystical feel", "Creative inspiration", "Geometric sans-serif"] }, "midnight": { "name": "Midnight", "description": "Professional dark mode with navy blues and crisp whites", "primary_color": "#1E3A8A", "accent_color": "#3B82F6", "background": "#0F172A", "text_color": "#F8FAFC", "font_family": "'Roboto Slab', 'Times', serif", "font_import": "https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@300;400;500;600;700&display=swap", "font": "Roboto Slab (structured serif)", "characteristics": ["Dark professional theme", "Navy blue focus", "Executive feel", "Easy on eyes", "Structured slab serif"] }, "citrus": { "name": "Citrus", "description": "Fresh and energetic with bright yellows and lime greens", "primary_color": "#EAB308", "accent_color": "#65A30D", "background": "#FFFBEB", "text_color": "#1C1917", "font_family": "'Quicksand', 'Verdana', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap", "font": "Quicksand (light and airy)", "characteristics": ["Bright and energetic", "Yellow-green palette", "Optimistic feel", "Innovation themes", "Light rounded font"] }, "silicon": { "name": "Silicon", "description": "Apple-inspired ultra-clean minimalism with perfect spacing", "primary_color": "#1D1D1F", "accent_color": "#007AFF", "background": "#FAFAFA", "text_color": "#1D1D1F", "font_family": "'-apple-system', 'BlinkMacSystemFont', 'SF Pro Display', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap", "font": "SF Pro Display (Apple system)", "characteristics": ["Ultra-clean design", "Apple aesthetics", "Perfect typography", "Minimal distractions", "Premium feel"] }, "vercel": { "name": "Vercel", "description": "Modern developer-focused design with sharp contrasts", "primary_color": "#000000", "accent_color": "#0070F3", "background": "#FFFFFF", "text_color": "#000000", "font_family": "'Inter', '-apple-system', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap", "font": "Inter (modern web)", "characteristics": ["Developer-focused", "Sharp black/white", "Modern spacing", "Tech industry", "Clean geometry"] }, "legal": { "name": "Legal", "description": "Sophisticated law firm style with traditional authority", "primary_color": "#1A202C", "accent_color": "#B8860B", "background": "#FFFFFF", "text_color": "#2D3748", "font_family": "'Crimson Text', 'Times New Roman', serif", "font_import": "https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&display=swap", "font": "Crimson Text (traditional serif)", "characteristics": ["Professional authority", "Traditional colors", "Trustworthy feel", "Legal industry", "Serif elegance"] }, "investment": { "name": "Investment", "description": "Premium investment bank style with financial gravitas", "primary_color": "#1A365D", "accent_color": "#C53030", "background": "#F7FAFC", "text_color": "#1A202C", "font_family": "'IBM Plex Sans', 'Helvetica', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap", "font": "IBM Plex Sans (corporate)", "characteristics": ["Financial gravitas", "Conservative colors", "Data-focused", "Banking industry", "Corporate trust"] }, "luxury": { "name": "Luxury", "description": "High-end luxury brand aesthetics with premium materials", "primary_color": "#2C1810", "accent_color": "#DAA520", "background": "#FDF8F3", "text_color": "#2C1810", "font_family": "'Libre Baskerville', 'Georgia', serif", "font_import": "https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap", "font": "Libre Baskerville (luxury serif)", "characteristics": ["Luxury aesthetics", "Premium materials", "Rich textures", "Exclusive feel", "High-end branding"] }, "minimal": { "name": "Minimal", "description": "Ultra-minimalist design with perfect negative space", "primary_color": "#000000", "accent_color": "#666666", "background": "#FFFFFF", "text_color": "#000000", "font_family": "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap", "font": "Helvetica Neue (minimal)", "characteristics": ["Ultra-minimal", "Perfect spacing", "No distractions", "Pure content focus", "Timeless design"] }, "medical": { "name": "Medical", "description": "Healthcare-focused design with trust and clarity", "primary_color": "#2B6CB0", "accent_color": "#38A169", "background": "#F7FAFC", "text_color": "#2D3748", "font_family": "'Open Sans', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700&display=swap", "font": "Open Sans (healthcare)", "characteristics": ["Healthcare trust", "Clear communication", "Calming colors", "Medical industry", "Accessible design"] }, "startup": { "name": "Startup", "description": "Y Combinator-inspired startup energy and disruption", "primary_color": "#FF6600", "accent_color": "#000000", "background": "#FFFFFF", "text_color": "#000000", "font_family": "'SF Pro Display', 'Helvetica Neue', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap", "font": "SF Pro Display (startup)", "characteristics": ["Startup energy", "Disruptive feel", "Bold statements", "Innovation focus", "Silicon Valley"] }, "academic": { "name": "Academic", "description": "University research style with scholarly authority", "primary_color": "#2C5282", "accent_color": "#B83280", "background": "#F7FAFC", "text_color": "#2D3748", "font_family": "'Merriweather', 'Georgia', serif", "font_import": "https://fonts.googleapis.com/css2?family=Merriweather:wght@300;400;700&display=swap", "font": "Merriweather (scholarly)", "characteristics": ["Scholarly authority", "Research-focused", "Academic tradition", "Knowledge-based", "Educational clarity"] }, "vintage": { "name": "Vintage", "description": "Retro magazine aesthetic with nostalgic appeal", "primary_color": "#8B4513", "accent_color": "#FF8C00", "background": "#F5DEB3", "text_color": "#2F4F4F", "font_family": "'Bebas Neue', 'Arial Black', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap", "font": "Bebas Neue (retro display)", "characteristics": ["Retro aesthetic", "Magazine style", "Nostalgic colors", "Bold typography", "Vintage charm"] }, "pencil": { "name": "Pencil", "description": "Hand-drawn creative style with artistic flair", "primary_color": "#2F2F2F", "accent_color": "#696969", "background": "#FEFEFE", "text_color": "#2F2F2F", "font_family": "'Caveat', 'Comic Sans MS', cursive", "font_import": "https://fonts.googleapis.com/css2?family=Caveat:wght@400;600;700&display=swap", "font": "Caveat (handwritten)", "characteristics": ["Hand-drawn feel", "Creative energy", "Artistic approach", "Casual professional", "Sketch aesthetic"] }, "frost": { "name": "Frost", "description": "Clean business data style with crisp presentation", "primary_color": "#1E3A8A", "accent_color": "#3B82F6", "background": "#F8FAFC", "text_color": "#1E293B", "font_family": "'Work Sans', 'Helvetica', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;600&display=swap", "font": "Work Sans (business)", "characteristics": ["Clean data focus", "Business clarity", "Professional blue", "Chart-friendly", "Corporate clean"] }, "sky": { "name": "Sky", "description": "Soft blue gallery style with gentle aesthetics", "primary_color": "#0369A1", "accent_color": "#0EA5E9", "background": "#E0F2FE", "text_color": "#0C4A6E", "font_family": "'Nunito Sans', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;700&display=swap", "font": "Nunito Sans (friendly)", "characteristics": ["Soft blue tones", "Gallery style", "Gentle aesthetics", "Calming presence", "Light and airy"] }, "clean": { "name": "Clean", "description": "Ultra-clean minimalist with perfect simplicity", "primary_color": "#1F2937", "accent_color": "#6B7280", "background": "#F9FAFB", "text_color": "#111827", "font_family": "'DM Sans', 'Helvetica', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap", "font": "DM Sans (clean)", "characteristics": ["Ultra-clean", "Perfect simplicity", "Minimal elements", "Pure design", "Content focus"] }, "forest": { "name": "Forest", "description": "Rich green nature theme with organic appeal", "primary_color": "#065F46", "accent_color": "#10B981", "background": "#064E3B", "text_color": "#ECFDF5", "font_family": "'Fira Sans', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Fira+Sans:wght@300;400;500;600&display=swap", "font": "Fira Sans (natural)", "characteristics": ["Nature-inspired", "Rich greens", "Organic feel", "Environmental themes", "Natural harmony"] }, "electric": { "name": "Electric", "description": "Vibrant colorful energy with dynamic gradients", "primary_color": "#DB2777", "accent_color": "#06B6D4", "background": "linear-gradient(135deg, #1E1B4B 0%, #7C3AED 50%, #DB2777 100%)", "text_color": "#F8FAFC", "font_family": "'Space Grotesk', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap", "font": "Space Grotesk (dynamic)", "characteristics": ["Vibrant energy", "Dynamic gradients", "Electric colors", "High impact", "Creative bold"] }, "bronze": { "name": "Bronze", "description": "Warm brown metallic with rich earth tones", "primary_color": "#92400E", "accent_color": "#D97706", "background": "#78350F", "text_color": "#FEF3C7", "font_family": "'Spectral', 'Georgia', serif", "font_import": "https://fonts.googleapis.com/css2?family=Spectral:wght@300;400;600;700&display=swap", "font": "Spectral (warm serif)", "characteristics": ["Warm metallics", "Earth tones", "Rich browns", "Natural warmth", "Sophisticated depth"] }, "slate": { "name": "Slate", "description": "Professional dark theme with modern sophistication", "primary_color": "#FFFFFF", "accent_color": "#D1D5DB", "background": "#1F2937", "text_color": "#F9FAFB", "font_family": "'Inter', 'Helvetica', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap", "font": "Inter (professional)", "characteristics": ["Professional dark", "Modern sophistication", "Clean contrast", "Executive style", "Contemporary edge"] }, "dune": { "name": "Dune", "description": "Charts and data focus with analytical clarity", "primary_color": "#0F766E", "accent_color": "#F59E0B", "background": "#FFFBEB", "text_color": "#0F172A", "font_family": "'IBM Plex Sans', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;606&display=swap", "font": "IBM Plex Sans (data)", "characteristics": ["Data focused", "Analytical clarity", "Chart optimization", "Information design", "Clear metrics"] }, "crimson": { "name": "Crimson", "description": "Bold business presentation with strong impact", "primary_color": "#7C2D12", "accent_color": "#DC2626", "background": "#FEF2F2", "text_color": "#450A0A", "font_family": "'Roboto', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap", "font": "Roboto (bold business)", "characteristics": ["Bold impact", "Strong presence", "Business authority", "Confident red", "Executive power"] }, "canvas": { "name": "Canvas", "description": "Natural business style with organic professionalism", "primary_color": "#374151", "accent_color": "#F59E0B", "background": "#F9FAFB", "text_color": "#1F2937", "font_family": "'Source Sans Pro', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;600&display=swap", "font": "Source Sans Pro (natural)", "characteristics": ["Natural business", "Organic professional", "Warm neutrals", "Comfortable style", "Approachable corporate"] }, "paper": { "name": "Paper", "description": "Magazine editorial style with literary sophistication", "primary_color": "#6B7280", "accent_color": "#3B82F6", "background": "#F3F4F6", "text_color": "#1F2937", "font_family": "'Playfair Display', 'Georgia', serif", "font_import": "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;700&display=swap", "font": "Playfair Display (editorial)", "characteristics": ["Editorial style", "Literary sophistication", "Magazine quality", "Reading focus", "Publishing aesthetic"] }, "golden": { "name": "Golden", "description": "Warm gallery aesthetic with luxurious appeal", "primary_color": "#C2410C", "accent_color": "#FBBF24", "background": "#FEF3C7", "text_color": "#92400E", "font_family": "'Outfit', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600&display=swap", "font": "Outfit (warm modern)", "characteristics": ["Warm luxury", "Gallery aesthetic", "Golden tones", "Rich warmth", "Premium appeal"] }, "azure": { "name": "Azure", "description": "Professional blue charts with analytical precision", "primary_color": "#1E40AF", "accent_color": "#60A5FA", "background": "#EFF6FF", "text_color": "#1E3A8A", "font_family": "'Public Sans', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Public+Sans:wght@300;400;500;600&display=swap", "font": "Public Sans (analytical)", "characteristics": ["Professional blue", "Chart optimization", "Analytical precision", "Data visualization", "Corporate analytics"] }, "timber": { "name": "Timber", "description": "Rich wood magazine style with natural luxury", "primary_color": "#B45309", "accent_color": "#F59E0B", "background": "#451A03", "text_color": "#FEF3C7", "font_family": "'Crimson Pro', 'Georgia', serif", "font_import": "https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@300;400;600&display=swap", "font": "Crimson Pro (rich serif)", "characteristics": ["Rich wood tones", "Natural luxury", "Magazine sophistication", "Warm elegance", "Organic premium"] }, "orchid": { "name": "Orchid", "description": "Soft purple elegance with delicate sophistication", "primary_color": "#7C3AED", "accent_color": "#A78BFA", "background": "#F3E8FF", "text_color": "#581C87", "font_family": "'Comfortaa', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;700&display=swap", "font": "Comfortaa (soft elegant)", "characteristics": ["Soft elegance", "Purple sophistication", "Delicate beauty", "Gentle luxury", "Refined aesthetic"] }, "ocean": { "name": "Ocean", "description": "Deep blue minimalist with technical precision", "primary_color": "#06B6D4", "accent_color": "#0891B2", "background": "#164E63", "text_color": "#CFFAFE", "font_family": "'JetBrains Mono', 'Courier New', monospace", "font_import": "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500&display=swap", "font": "JetBrains Mono (tech precise)", "characteristics": ["Deep blue theme", "Technical precision", "Ocean depths", "Developer focus", "Code-friendly"] }, "honey": { "name": "Honey", "description": "Warm amber tones with natural sweetness", "primary_color": "#D97706", "accent_color": "#F59E0B", "background": "#FEF3C7", "text_color": "#92400E", "font_family": "'Epilogue', 'Arial', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Epilogue:wght@300;400;500;600&display=swap", "font": "Epilogue (warm modern)", "characteristics": ["Warm amber", "Natural sweetness", "Golden honey", "Organic warmth", "Gentle luxury"] }, "crystal": { "name": "Crystal", "description": "Pure clean charts with crystal clarity", "primary_color": "#334155", "accent_color": "#64748B", "background": "#FFFFFF", "text_color": "#0F172A", "font_family": "'Inter', 'Helvetica', sans-serif", "font_import": "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap", "font": "Inter (crystal clear)", "characteristics": ["Crystal clarity", "Pure clean design", "Chart perfection", "Data precision", "Transparent elegance"] } } def get_style_config(style_name: str) -> Dict[str, Any]: """Get style configuration for a given style name""" return PRESENTATION_STYLES.get(style_name, PRESENTATION_STYLES["default"]) def get_all_styles() -> Dict[str, Dict[str, Any]]: """Get all available styles""" return PRESENTATION_STYLES def get_style_names() -> list[str]: """Get list of all available style names""" return list(PRESENTATION_STYLES.keys())