Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions styles/dark-crystal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Dark Crystal Style Guide

## Overview

`dark-crystal` and `dark-crystal-chaos` are the project-signature style pair for **Dark Crystal**, Kris's hackathon app (`~/Code/dark-crystal`, private repo). The brand is a neo-noir "obsidian + punk collage" identity built around a faceted black-glass crystal with blood-red light trapped inside — and a deliberate **Order ↔ Chaos** duality that the product's own UI toggle enacts. The design practices what the product preaches: order is glossy and restrained, chaos is handmade and scarred, and both share one locked palette.

**`dark-crystal` vs `dark-crystal-chaos`:** `dark-crystal` is the Order pole — calm, aligned, film-grain only. `dark-crystal-chaos` is an *additive* Chaos layer — fractures, collage, and glitch on top of the same form and palette. Use `dark-crystal` alone for calm/high-end shots, `dark-crystal-chaos` alone for pure-chaos facets, or compose `dark-crystal+dark-crystal-chaos` for a single frame that shows the tension between both poles.

**Locked-palette signature, not general-purpose:** like `n5orange`/`nardwuar`/`china-creek` (VANCOUVER MADE), this is a project-specific style with a hard-locked color set — it isn't a substitute for `zine`, `cmvan`, or `kk-glitch` on other work, and those generic house styles shouldn't be substituted back in here (their palettes — newsprint yellow, hot magenta, CMYK — break the Dark Crystal lock).

## Color Palette

| Token | Hex | Role |
|---|---|---|
| `obsidian-0` | `#05060A` | page void — the deepest dark |
| `obsidian-1` | `#0C0E14` | panel layer (dark-on-dark) |
| `obsidian-2` | `#14171F` | raised surface (dark-on-dark) |
| `bone` | `#E8E4DA` | off-white text/highlight — never pure white |
| `ash` | `#8A8F9A` | muted secondary |
| `blood` | `#E10600` | the ONE accent — rare, violent, load-bearing |
| `blood-deep` | `#7A0A0A` | the crystal's inner glow |
| `steel` | `#B8C0CC` | cold reflective edge-highlight on facets |

Rule: red is punctuation, not paint. Layer the darks (obsidian-0/1/2) rather than using one flat black. No colors outside this table — no purple-blue gradients, no CMYK, no hot pink.

## Key Motifs

- **Faceted obsidian glass** — a polyhedron or plane of black glass facets, the recurring "object" across every asset
- **Trapped red light** — blood-red light held inside the core, or leaking along a seam/crack; never a full-frame red wash
- **Steel edge-reflections** — cold, precise highlights along facet edges, never warm
- **Order:** facets aligned, razor-straight seams, near-still, one restrained accent
- **Chaos (additive):** facets fracture/shard, red flares wider, xerox halftone grain, torn-paper collage edges, ransom-note type, RGB glitch/scanline tears

## Tone

Neo-noir. Restrained-until-violent. Order reads as "polished in the sense that cohesive and well thought out" — gallery-grade calm. Chaos reads as handmade and scarred — "assembled at midnight" — but deliberately, not sloppily; it's the same discipline turned inside out, and it's literally the project's anti-slop stance made visual.

## Avoid-Clauses (Critical)

| Concept | Avoid |
|---|---|
| Palette drift | Any color outside the locked table, pure white, CMYK, hot pink/magenta, generic zine/cmvan hues |
| Generic AI look | Purple-blue glassmorphism, AI-brochure gradients, generic dark-mode SaaS panels |
| Stock tech clichés | Glowing brains, circuit boards, humanoid robots, fake dashboards/UI |
| Illustration drift | Cartoon, flat-vector illustration, clip-art |
| Text/marks | Baked-in text or logo marks — these get composited after generation in a separate pass (image models don't render small text/logos reliably) |
| People | Photo-realistic people/faces in the abstract crystal style (documentary-photo companion prompts are a separate, explicitly-real-not-fantasy track — see `dark-crystal`'s own `design/rafiki/RAFIKI.md`) |

## When to Use

- Dark Crystal logo lockups (icon, wordmark, horizontal, stacked)
- Facet/section backgrounds for the app and hero art
- Album cover art (the companion concept album)
- Pitch-deck and social assets specific to this project

## When NOT to Use

- Any other client's dark-mode or noir work — use `kk`, `bcai`, or `mac` instead
- Public assets without checking against BRAND.md's anti-slop discipline first

## Example CLI Commands

```bash
# Order pole — logo icon
python generate.py -p "faceted obsidian glass crystal, blood-red light trapped in the core, full-bleed pure black, minimal, film grain, centered in a square frame" --style dark-crystal -m flash

# Chaos pole alone — a fractured facet background
python generate.py -p "vast field of fractured obsidian black-glass facets, blood-red seam cracking wide open, landscape orientation, no text, no people" --style dark-crystal-chaos -m flash

# Composed — order giving way to chaos in one frame
python generate.py -p "obsidian black-glass facets, ordered and aligned on one side giving way to fractured chaos on the other, a blood-red seam running the full diagonal connecting both halves" --style dark-crystal+dark-crystal-chaos -m flash
```

## Source Material

Full brand spec lives in the Dark Crystal repo itself: `~/Code/dark-crystal/design/BRAND.md` (palette, motifs, type, texture/motion rules) and `~/Code/dark-crystal/design/rafiki/RAFIKI.md` (proven Rafiki recipes, facet→style map, workflow notes). `design/rafiki/image-prompts.md` has a full ready-to-run prompt set for logo lockups, facet backgrounds, and album covers.
16 changes: 16 additions & 0 deletions styles/styles.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,19 @@ styles:
description: "Counter-FIFA home kit defending public space — concrete-grey city-pride gloss over skatepark bowls, griptape and the city's own NO SKATEBOARDING bylaw; criminalize-then-monetize critique"
suffix: |
Style guidelines: VANCOUVER MADE "China Creek" protest-kit visual language — a counterfeit-official FIFA-style host-city home kit that defends public space and skate/DIY culture against the criminalize-then-monetize playbook. THE METHOD: mimic the official polish, invert the payload, bake in the receipt; the home ground was never the gift, it was the fight. REGISTER: high-end and refined FIRST, defiant underneath — a premium, badass, editorial sports-fashion kit that reads as a covetable design object you'd actually want to wear; the protest lands quietly through restrained marks, never clutter; the bite is aimed at the bylaw, developers, redevelopment and the tourism/Olympic monetization of a subculture the city first policed. WORDMARK RULE: the front/chest reads exactly VANCOUVER (a bold host-city wordmark — the single word VANCOUVER, NO year, NO '26, NO numbers beside it), NEVER "China Creek" across the chest; the CHINA CREEK / LOCAL identity lives ONLY in the crest, badges, back nameplate and hem; any MADE ON / Vancouver Made branding stays small on tags and neck labels. THE TWO-DISTANCE TRICK is mandatory — at TV distance it reads as a premium, high-end, broadcast-ready city-pride home kit led by ONE hero element: an elegant tonal all-over pattern of nested skatepark bowl contours and coping curves; up close that pattern resolves into the defended-public-space payload, carried by small restrained marks (a tiny bylaw patch, a hem line, a tag), never a busy chest sticker. Strict palette: concrete grey #9aa0a3 (raw skatepark concrete), marker black #0a0a0a, caution yellow #f4c20d (city signage, the bylaw mark), creek teal #1f9e8a (coping line, accent) — plus brochure cream and gold for the "Skate Tourism" third kit only; no other colours. Texture register: premium high-end technical athletic apparel, editorial sports-fashion lookbook polish, refined and restrained with clean negative space; only a whisper of skate-concrete grit underneath (subtle griptape / concrete tone), never busy. HERO MOTIF (carries the whole kit): an elegant tonal all-over pattern of nested skatepark bowl contours and coping curves, thin caution-yellow and creek-teal line-art on the body. SUPPORTING MOTIFS, used SMALL and SPARINGLY: a clean bowl-and-coping crest; a discreet woven "NO SKATEBOARDING" bylaw patch (sleeve or tag, NEVER a large chest sticker); numbers built from coping curves; a small parks-permit closure-notice tag; a subtle skateboard-deck or bowl-coping trophy-misuse mark. Keep skateboard stickers, spray-stencil and zine collage to a MINIMUM — quiet accents only, never the focus. FIGURES: on flats and graphic elements, NO human figures — garments and objects only. On-body LOOKBOOK shots MAY show real models including faces, catalogue style; never a recognizable likeness of a specific named real person. ALWAYS punch UP at the bylaw, developers and monetization, never down at skaters, builders or youth. EVOKE the tournament and Olympic systems (host-city shield, broadcast/credential language, the trophy) but NEVER reproduce real FIFA marks, Olympic rings, real sponsor logos or any actual trademark. Avoid: busy sticker collage, competing graphics, newsprint chaos, cluttered surfaces, too many marks; also photo-realism, cartoon, clip-art, rainbow palettes.

# --- Dark Crystal (hackathon project — neo-noir obsidian + punk collage, Order/Chaos duality) ---
# Locked-palette project signature style. Two composable poles: dark-crystal (Order, base)
# and dark-crystal-chaos (Chaos, additive variant — compose as dark-crystal+dark-crystal-chaos).

dark-crystal:
name: "Dark Crystal (Order)"
description: "Obsidian neo-noir signature style, Order pole — glossy faceted black glass, blood-red trapped light, steel reflections, restrained"
suffix: |
Style guidelines: Dark Crystal Order-pole visual language — a faceted obsidian black-glass polyhedron or plane, aligned razor-straight facets, with blood-red light trapped inside the core or along a single seam, and cold steel highlights catching the facet edges. Strict locked palette only: obsidian-0 #05060A (deepest void), obsidian-1 #0C0E14, obsidian-2 #14171F (layered dark-on-dark, never a flat single black), bone #E8E4DA (off-white — never pure #fff), ash #8A8F9A (muted secondary), blood #E10600 (the ONE accent, rare and load-bearing — if everything is red, nothing is), blood-deep #7A0A0A (inner glow only), steel #B8C0CC (cold reflective edge highlight only). Composition: calm, precise, restrained, generous negative space, one strong focal form, near-still confidence. Texture: subtle film grain only — no collage, no halftone, no torn paper in this pole. Tone: neo-noir, premium, gallery-grade, "polished in the sense that cohesive and well thought out." Avoid: purple-blue glassmorphism or AI-brochure gradients, generic dark-mode SaaS panels, stock-tech clichés (glowing brains, circuit boards, robots, dashboards), cartoon or flat-vector illustration, any color outside the locked palette, pure white, baked-in text or logo marks, photo-realism of people.

dark-crystal-chaos:
name: "Dark Crystal (Chaos)"
description: "Obsidian neo-noir signature style, Chaos pole (composable additive) — fractured facets, xerox collage, ransom-note type, RGB glitch, same locked palette"
suffix: |
Style guidelines: Dark Crystal Chaos-pole additive layer — the same faceted obsidian black-glass form now fractures: facets crack and shard, blood-red light flares wider and more violent through the breaks. Layer on analog-anarchy punk-collage texture: photocopy/xerox grain and halftone dot breakup, torn-paper and cut-paper collage edges with visible tape or glue, ransom-note / cut-and-mixed typography energy (only where text is requested), and digital-glitch artifacts — RGB channel split, scanline tears, tracking errors — cutting across the glass. Same strict locked palette as the Order pole ONLY: obsidian-0/1/2 near-blacks, bone (never pure white), ash, blood #E10600, blood-deep, steel — do NOT introduce hot pink, cyan, CMYK process colors, or any hue outside this set; this is not the general zine/cmvan palette, it stays inside Dark Crystal's own colors even at maximum chaos. Tone: handmade, scarred, urgent, "assembled at midnight," but never sloppy-random — the chaos is deliberate, the same discipline as the Order pole turned inside out. Compose with `dark-crystal` for full order-giving-way-to-chaos tension in one frame, or use alone for a pure-chaos facet/moment. Avoid: any color outside the locked palette, pure white, cartoon or flat-vector illustration, baked-in text or logo marks, generic zine/cmvan tropes (newsprint yellow, hot magenta) that break the Dark Crystal palette lock.
Loading