A newer version of the Gradio SDK is available: 6.20.0
name: Dream QA
description: >-
A guided dream Q&A interface for turning dream fragments into one grounded
today tip.
colors:
morning-mist: oklch(0.965 0.014 210)
warm-paper: oklch(0.985 0.010 82)
soft-ink: oklch(0.205 0.020 70)
muted-ink: oklch(0.500 0.030 82)
surface-card: oklch(0.995 0.006 82)
surface-sage: oklch(0.930 0.035 145)
primary-sage: oklch(0.555 0.105 145)
primary-sage-deep: oklch(0.390 0.095 145)
accent-amber: oklch(0.820 0.120 78)
accent-coral: oklch(0.710 0.135 32)
border-soft: oklch(0.825 0.020 85)
warning: oklch(0.760 0.150 75)
typography:
display:
fontFamily: >-
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe
UI, sans-serif
fontSize: 2rem
fontWeight: 760
lineHeight: 1.08
letterSpacing: '0'
headline:
fontFamily: >-
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe
UI, sans-serif
fontSize: 1.375rem
fontWeight: 720
lineHeight: 1.2
title:
fontFamily: >-
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe
UI, sans-serif
fontSize: 1rem
fontWeight: 680
lineHeight: 1.3
body:
fontFamily: >-
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe
UI, sans-serif
fontSize: 1rem
fontWeight: 450
lineHeight: 1.55
label:
fontFamily: >-
Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe
UI, sans-serif
fontSize: 0.8125rem
fontWeight: 650
lineHeight: 1.25
rounded:
sm: 6px
md: 8px
lg: 12px
pill: 999px
spacing:
xs: 6px
sm: 10px
md: 16px
lg: 24px
xl: 32px
components:
button-primary:
backgroundColor: '{colors.primary-sage-deep}'
textColor: '{colors.warm-paper}'
rounded: '{rounded.md}'
padding: 12px 16px
button-secondary:
backgroundColor: '{colors.surface-card}'
textColor: '{colors.primary-sage-deep}'
rounded: '{rounded.md}'
padding: 12px 16px
input-composer:
backgroundColor: '{colors.surface-card}'
textColor: '{colors.soft-ink}'
rounded: '{rounded.lg}'
padding: 14px 16px
Design System: Dream QA
1. Overview
Creative North Star: "The Morning Question Desk"
Dream QA should feel like a calm morning workspace for unpacking a dream while it is still fresh. The surface is light, readable, and ordinary-user friendly, with enough dream atmosphere to feel memorable. The interface is a product experience first: the user needs to record, answer, skip, add detail, and receive one today tip without decoding a metaphor-heavy ritual.
The old customs/pact visual language is deprecated for new work. A small Dream Customs label may remain for repo/Space continuity, but the primary visible experience should be 梦境问答台 / Dream QA.
Key Characteristics:
- Stepper with four phases: Record, Ask, Interpret, Tip.
- Conversation timeline for dream fragments, follow-up questions, answers, and interpretation draft.
- Unified multimodal composer for text, image, voice, mood, and primary action.
- Right-side desktop panel for interpretation draft and Today Tip preview.
- Mobile final screen that prioritizes the Today Tip before optional explanation.
2. Colors
The palette is soft morning product UI: warm white surfaces, charcoal text, sage actions, amber note highlights, and coral used sparingly for warmth or safety.
Primary
- Sage Guide (
oklch(0.555 0.105 145)): stepper progress, selected chips, focus accents. - Deep Sage Guide (
oklch(0.390 0.095 145)): primary buttons and active controls.
Secondary
- Amber Note (
oklch(0.820 0.120 78)): follow-up question highlight, Today Tip accent, gentle attention. - Coral Care (
oklch(0.710 0.135 32)): caring note, safety edge, and one small emotional highlight per result.
Neutral
- Morning Mist (
oklch(0.965 0.014 210)): app background. - Warm Paper (
oklch(0.985 0.010 82)): main reading surface. - Soft Ink (
oklch(0.205 0.020 70)): primary text. - Muted Ink (
oklch(0.500 0.030 82)): secondary labels with readable contrast. - Soft Border (
oklch(0.825 0.020 85)): panel and input borders.
Named Rules
The One Tip Rule. Visual emphasis should guide the eye to one primary Today Tip. Do not create multiple equally loud recommendation blocks.
The No Oracle Rule. Avoid tarot, prophecy, mystic symbols, parchment certificates, and theatrical stamps.
3. Typography
Display Font: Inter with system fallbacks.
Body Font: Inter with system fallbacks.
Label/Mono Font: Use system mono only for debug JSON, model telemetry, or structured IDs.
Hierarchy
- Display (760, 2rem, 1.08): app title and final Today Tip headline.
- Headline (720, 1.375rem, 1.2): step titles and result section names.
- Title (680, 1rem, 1.3): timeline item headers, buttons, and compact panel labels.
- Body (450, 1rem, 1.55): dream text, questions, interpretations, max 70ch for prose.
- Label (650, 0.8125rem, 1.25): chips, status text, and small metadata.
Named Rules
The Morning Readability Rule. The user may be half-awake. Body text, buttons, placeholders, and chips must stay readable on mobile.
4. Elevation
Depth is subtle and functional. Panels should feel placed on a calm desk, not floating in a SaaS layout.
Shadow Vocabulary
- composer-focus (
0 0 0 1px rgba(65, 115, 78, 0.35), 0 12px 28px rgba(45, 56, 42, 0.14)): focused composer. - tip-lift (
0 10px 24px rgba(45, 56, 42, 0.16)): final Today Tip card only. - question-glow (
0 0 18px rgba(230, 178, 75, 0.22)): active follow-up question.
Named Rules
The State First Rule. Shadows communicate focus, hover, or completion. They are not default decoration.
5. Components
Buttons
- Shape: 8px radius.
- Primary: Deep Sage Guide fill, Warm Paper text, 12px 16px padding.
- Secondary: Warm Paper fill, Deep Sage text, full border.
- Care / Safety: Coral Care only for safety/support actions or caring note markers.
- Hover / Focus: tonal lift plus visible focus ring.
Chips
- Style: small rounded pills with icon, label, and state dot.
- Use: mood, image clue status, voice transcript status, answer/skip choices, and alternate angle request.
- Text: short labels only. Long explanatory text belongs in timeline or result body.
Cards / Containers
- Corner Style: 8px to 12px. No oversized rounded blobs.
- Background: Warm Paper or Surface Card.
- Shadow Strategy: flat by default, lifted only when active or final.
- Border: full soft border.
- Internal Padding: 16px mobile, 24px desktop.
Inputs / Fields
- Style: unified composer with multiline dream input, attachment controls, mood, and primary action.
- Focus: sage ring, slightly raised surface, no layout shift.
- Error / Disabled: inline message below composer, disabled actions stay readable and explain why.
Navigation
- Style: visible stepper with current phase: Record, Ask, Interpret, Tip.
- Mobile: stepper collapses to compact segmented steps above the conversation.
- Desktop: left rail or top rail is acceptable, but it must map to real states.
Signature Component: Today Tip Panel
The Today Tip Panel is the final surface. It shows:
- Dream summary.
- Main question.
- Grounded interpretation.
- One primary Today Tip.
- Optional tiny action.
- Optional caring note.
- Safety note only when needed.
The tip should be first-class and easy to screenshot, but it must not look like a diagnosis card or mystical certificate.
6. Do's and Don'ts
Do:
- Do make the first action obvious on mobile and desktop.
- Do show the gradual Q&A flow so users understand why the final tip is grounded.
- Do keep every phase actionable with one clear next step.
- Do cite concrete dream anchors in the final result.
- Do preserve a deterministic demo backend while adding a model-backed route.
- Do verify text fits inside controls at 390px mobile width.
Don't:
- Don't ship a plain Gradio two-column form as the primary experience.
- Don't use tarot, parchment, prophecy, medical intake, or generic healing-app aesthetics.
- Don't expose technical model routes as first-level controls unless the user opens model settings.
- Don't render navigation-looking text that cannot be clicked.
- Don't create several competing tips in the final result.
- Don't let the final advice become generic wellness copy unrelated to the dream.