/**
 * Theme: tech-bold
 *
 * Reference: modern SaaS keynotes — Linear, Stripe Sessions, Vercel
 * Ship Week. Dark default background, electric accents, round corners
 * with soft shadows on cards, tight typographic rhythm, mesh-gradient
 * backgrounds for hero / section slides. Reads as "future-forward"
 * and "confident".
 *
 * Best fit: investor pitches, product launches, engineering keynotes,
 * any deck that needs visual energy without sacrificing readability.
 */
import { buildScale } from '../typography.js';

export default {
  id: 'tech-bold',
  family: 'tech',
  description: 'Modern SaaS keynote: dark, electric, round corners + soft shadows, mesh-gradient hero slides.',
  defaults: {
    palette:    'electric-night',
    spacing:    'cozy',
    shape:      'round',
    // `void` on the master = clean dark canvas (Apple-keynote rhythm).
    // Archetypes like bentoGrid can per-slide opt into `mesh` for the
    // Stripe-style 4-corner gradient. Most slides on void; mesh used as
    // a deliberate moment.
    background: 'void',
  },
  typography: buildScale({
    display: 'Calibri',
    body:    'Calibri',
    mono:    'Consolas',
    // Tech-bold runs the biggest type — the hero title is meant to
    // command a 20-foot screen. Body copy stays generous so it never
    // feels like a wireframe.
    sizes: {
      display:  120,
      title:    56,
      subtitle: 30,
      body:     22,
      caption:  14,
      stat:     280,
      eyebrow:  14,
    },
    weights: { display: 'bold', title: 'bold', subtitle: 'normal' },
    letterSpacing: { display: -3, title: -1.5, eyebrow: 2 },
  }),
  archetypes: {
    hero: {
      align: 'left',
      eyebrowOnAccent: true,    // eyebrow uses accent colour
    },
    statCallout: {
      statColor: 'primary',
      cardBackground: 'surface', // wrap the stat in a surface card with glow
    },
    quote: {
      bigQuotes: false,
      attributionStyle: 'inline-rule',
    },
    twoColChart: {
      chartElevated: true,       // chart sits in a "card" with shadow
    },
  },
  decoration: {
    mesh: {
      stops: 4,
      saturation: 'vivid',
      blur: 'high',
    },
    geometric: {
      style: 'tech',             // floating blob + diagonal line accents
      density: 'medium',
    },
    noiseOpacity: 0,             // no grain — mesh is the texture
  },
};
