Ctrl K
ComunidadGuías…

themes/neubrutalism.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Neubrutalism — hard edges, thick black borders, offset solid shadows.
# Cream paper, a yellow primary, chunky Inter/Archivo Black type, zero
# rounding. The shadow is a hard offset drop (blur 0, full opacity), the
# signature of the movement — all still native pptxgenjs shapes.

name: neubrutalism
label: Neubrutalism
summary: Hard shadows, thick black borders, bold primary colour — loud on purpose.

tokens:
  palette:
    bg: "#F2EFE9"          # cream
    surface: "#FFFFFF"
    ink: "#141414"         # near-black
    ink_muted: "#55524D"
    accent: "#FFC700"      # yellow
    accent_alt: "#2D6BFF"  # blue
    rule: "#141414"        # black hairlines are part of the look
    on_accent: "#141414"   # black text on the yellow

  surfaces:
    title:   { bg: "#141414", ink: "#FFFFFF", muted: "#B5B0A6", accent: "#FFC700" }
    section: { bg: "#2D6BFF", ink: "#FFFFFF", muted: "#C6D4FF" }

  dark:
    bg: "#141414"
    surface: "#1E1E1E"
    ink: "#F2EFE9"
    ink_muted: "#B0ABA2"
    accent: "#FFC700"
    accent_alt: "#5B84FF"
    rule: "#FFFFFF30"
    on_accent: "#141414"

  type:
    display:  { family: "Archivo Black", weight: 400, size: 40, line: 1.05, tracking: -0.5 }
    heading:  { family: "Space Grotesk", weight: 700, size: 30, line: 1.1,  tracking: -0.3 }
    subhead:  { family: Inter,           weight: 600, size: 15, line: 1.35, tracking: 0 }
    body:     { family: Inter,           weight: 400, size: 13, line: 1.5,  tracking: 0 }
    caption:  { family: Inter,           weight: 600, size: 10, line: 1.3,  tracking: 0.2 }
    eyebrow:  { family: "Space Grotesk", weight: 700, size: 10, line: 1.2,  tracking: 1.4, transform: upper }
    stat:     { family: "Archivo Black", weight: 400, size: 52, line: 1.0,  tracking: -1 }

  grid:
    margin: { top: 0.62, right: 0.7, bottom: 0.55, left: 0.7 }
    gutter: 0.30
    columns: 12
    band: { eyebrow_y: 0.62, title_y: 1.30, body_y: 2.55 }

  shape:
    radius: { card: 0, pill: 0.40, chip: 0 }          # nothing rounded
    border: { width: 2.5, color: "#141414" }          # thick black outlines
    card_pad: 0.30

  shadow:
    # opacity is 0–1 in pptxgenjs; 1 is a fully opaque hard block. (100 would
    # write an off-chart alpha value that PowerPoint clamps unpredictably.)
    card: { type: outer, blur: 0, offset: 5, angle: 90, color: "141414", opacity: 1 }

  # Composition — src/composition.js owns the vocabulary; every axis
  # left out here is the shared default.
  layout:
    title:
      composition: band
    section:
      composition: block
    heading:
      opening: bar
      rule: under
    content:
      frame: offset
    list:
      marker: square

  plate:
    enabled: false

voice:
  feel: loud, confident, playful, direct
  density: low
  prefers:
    - bold, simple claims
    - short card-based breakdowns
    - a single punchy takeaway
  avoid:
    - hedging, filler, corporate blandness
    - more than two or three colours
    - long paragraphs — this is a poster, not a paper
  headline_style: >
    Punchy and complete. "Light Is Too Slow" over "Performance of Ray
    Tracing". Say it like you mean it.
  body_style: >
    Short, concrete sentences. Max two lines where possible.