# Style Guide — the house taste as PROMPT VOCABULARY

Everything here feeds the [STYLE] block of the Image 2.0 prompt. Words, not CSS.
(The legacy HTML design tokens live in `../assets/base.css`.)

## Canvas & mood

- Warm cream washi-paper background (#FAF1DC feel) with subtle paper grain
- Flat 2D illustration, kawaii but business-usable — "やさしい教材ポスター"
- Everything rounded: panels, badges, chips; soft drop shadows; generous corner radii
- NEVER: photorealism, 3D render, neon/cyber, cold minimalism, gradient-only art

## Palette words (say these color names; hex only as hints)

mint green (#6FAE5C), sky blue (#5B9BD5), lavender (#9B7EDE), peach pink (#E8737F),
apricot orange (#EF9A4D), butter yellow (#E9B93B), teal (#55B4A0) — as soft pastel
panel borders and fills over cream; ink is dark warm brown (#4A3B28); NG/warnings
in soft red. Rotate tones so adjacent panels never share a color; use 6+ tones per
piece.

## Typography words

Bold rounded Japanese gothic lettering ("like M PLUS Rounded 1c"), dark warm brown,
heavy weights everywhere; title with a soft white outline; 1–2 title words accented
in red/blue/orange; key words in body text bolded or color-accented. Primary body
text LARGE — roughly 1.2–1.4% of image width tall. Small pale caption text is the
house failure mode; avoid it.

## Character cast — 10-member roster, rolled per piece (2026-08-25拡張)

Visual anchor: `../assets/cast-sheet.png` (all 10 in the house style).
All mascots: flat 2D kawaii, warm brown outlines, soft pastel fills, blush cheeks.
Each keeps its FIXED accessory so it reads as the same character across pieces.

| # | mascot | fixed accessory | example poses | anatomy line for the prompt |
|---|---|---|---|---|
| 1 | loose shiba inu | green bandana | working at a laptop with a mug / cheering arms up / peeking over a panel edge | four legs, one curled tail |
| 2 | white cat | red collar with a tiny gold bell | hugging a mug / heart speech bubble beside a plant / sleeping curled with zzz | four legs, one tail |
| 3 | penguin | light-blue striped muffler | waddling with a tiny flag / belly-sliding while pointing / clipboard under one flipper | two flippers, two feet |
| 4 | koala | clutching a eucalyptus sprig | hanging from a panel edge / hugging a rounded corner / dozing on a number badge | four limbs, big round ears |
| 5 | rabbit | pink ribbon on one ear | mid-hop with sparkles / holding a carrot like a mic / ears poking up behind a panel | four limbs, two long ears |
| 6 | panda | holding a bamboo stalk | sitting round and clapping / munching bamboo while reading / rolling beside the conclusion strip | four limbs |
| 7 | golden hamster | sunflower seed held in both paws | puffed cheeks / peeking out of a teacup / running along a ribbon banner | four limbs, tiny round ears |
| 8 | sea otter（ラッコ。カワウソではない — 仰向けに浮いて腹に貝を乗せるのはラッコの行動） | small white shell on its belly | floating on its back / clapping paws / balancing the shell like a tray | four limbs, one flat tail |
| 9 | fox | orange coat with white belly | pointing at a chart with a twig / tail curled around a number circle / ta-da pose | four legs, one bushy tail |
| 10 | round little owl | tiny round glasses | perched on a panel corner / holding a pencil in one wing / wide-eyed curious look | two wings, two feet |

**Casting rule (per piece) — バラエティは義務:**
- **Roll 2–3 members at random. Actually roll — never pick by habit:**
  `python3 -c "import random;print(random.sample(['shiba','cat','penguin','koala','rabbit','panda','hamster','otter','fox','owl'],3))"`
- Check the previous piece's `.prompt.txt` in the destination folder: if 2+ rolled
  members also starred there, reroll once. Shiba and cat are founding members but
  **NOT mandatory** — a piece with no dog and no cat is perfectly fine.
- If the user names specific characters, their pick overrides the roll.
- The small yellow chick + potted plant / tulip / sprout stay as universal garnish
  in every piece (not part of the roll).
- Placement unchanged: 2 in the title band, 1 large in the conclusion, 2–4 among
  panels (peeking from edges, beside callouts). Never covering text. 5+ total.
- **Anatomy (required):** copy each cast member's anatomy line into the prompt, and
  add to [NEGATIVE]: "no extra limbs, no three-armed or three-legged animals, no
  duplicated paws, no malformed or fused anatomy". 由来: 2026-08-24、白猫の前足が
  3本のまま出荷される事故（全景では気づけず、拡大で発覚）。生成後は**キャラ1体ずつ
  単体クロップを3〜4倍に拡大して**手足を数える（複数キャラの行クロップ2倍では接地した
  足が潰れて数えられない — 2026-08-25、白猫の足5本を行クロップ検品で見逃した実例あり）。
  本数だけでなく**各肢の割り当て**（右前/左前/右後/左後）まで確認する — 片手を上げて
  いるなら接地する前足は1本のはず（前足が2本接地＋1本上げ＝前足3本の破綻を、本数
  カウントだけでは「4本OK」と誤判定した実例あり）。
- **Props (required, 2026-08-26 追加):** every prop a mascot holds — branch, bamboo,
  flag, pencil, shell — must be traceable end to end: where it starts, where it ends,
  and how the animal contacts it. **State the connection in the prompt, not just the
  prop.** `a koala clutching a eucalyptus sprig` is NOT enough — write "clinging to a
  tree branch, with eucalyptus leaves growing from that same branch". Anything with a
  stem or handle also needs its base resolved: standing on the ground, running out of
  frame, or gripped in a paw. Add to [NEGATIVE]: "no objects growing out of the body,
  no branch or stem embedded in the character's back or shoulder, no floating stems,
  no props that vanish into the silhouette, no stalk cut off in mid-air".
  由来: 2026-08-25 コアラの枝が背中から生えていると指摘され、直した直後の独立検証で
  **隣のパンダの笹も茎なしで肩から生えていた**。1体を直して終わりにせず、**破綻の型が
  出たら同じ絵の全キャラ・全小物に同じ検査を回す**（ユーザーの指摘はサンプル1件であって
  全件リストではない）。検品は小物1つずつ4倍拡大で端から端まで追い、シルエットの裏に
  入った小物は反対側から出てくることを確認する。

## Decoration vocabulary

4-point sparkles (yellow/orange/pink), small hearts, hand-drawn squiggle underlines,
tiny leaves, dashed callout strips with 💡/⭐/⚠️ feel, colored ribbon banners,
number circles with white numerals, tab-ribbon section headings, speech bubbles,
dotted journey paths, watermark numerals in tinted bands. Scatter 8–14 small
decorations across the title band, panel corners, and the conclusion strip.

## Density feel

Every region holds content: text, icon, chart, mascot, or decoration. Breathing room
belongs around the title and between panels — never as a void inside a panel. When
a panel looks bare, make its text and icons BIGGER (never smaller, never emptier).
