Files

194 lines
9.6 KiB
Markdown

---
name: VibePod Dark Developer
colors:
background: "#0d1117"
foreground: "#e2e8f0"
card-bg: "#161b22"
border: "#21262d"
accent-teal: "#2dd4bf"
accent-violet: "#a78bfa"
accent-teal-dim: "#0d9488"
accent-violet-dim: "#7c3aed"
muted: "#64748b"
success: "#22c55e"
error: "#ef4444"
status-checking: "#eab308"
status-loading: "#60a5fa"
status-downloading: "#38bdf8"
status-online: "#22c55e"
status-error: "#f97316"
status-offline: "#ef4444"
gradient-primary: "linear-gradient(135deg, #2dd4bf, #a78bfa)"
gradient-primary-dim: "linear-gradient(135deg, #0d9488, #7c3aed)"
gradient-progress: "linear-gradient(90deg, #2dd4bf, #a78bfa)"
gradient-download: "linear-gradient(90deg, #60a5fa, #2dd4bf)"
gradient-loading: "linear-gradient(90deg, #fbbf24, #2dd4bf)"
typography:
display:
fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'
fontSize: 20px
fontWeight: "700"
letterSpacing: "-0.015em"
headline:
fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'
fontSize: 14px
fontWeight: "600"
letterSpacing: "0.05em"
textTransform: "uppercase"
body:
fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'
fontSize: 14px
fontWeight: "400"
lineHeight: "1.625"
label:
fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'
fontSize: 12px
fontWeight: "500"
mono:
fontFamily: 'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace'
fontSize: 12px
fontWeight: "400"
rounded:
sm: 0.125rem
DEFAULT: 0.25rem
md: 0.375rem
lg: 0.5rem
xl: 0.75rem
full: 9999px
spacing:
base: 4px
xs: 6px
sm: 8px
md: 12px
lg: 16px
xl: 20px
2xl: 24px
container: 1152px
shadows:
glow-teal: "0 0 6px rgba(45, 212, 191, 0.4)"
glow-teal-strong: "0 0 10px rgba(45, 212, 191, 0.7)"
glow-teal-button: "0 4px 15px rgba(45, 212, 191, 0.2)"
glow-teal-player: "0 4px 12px rgba(45, 212, 191, 0.3)"
components:
card:
backgroundColor: "{colors.card-bg}"
borderColor: "{colors.border}"
borderWidth: "1px"
rounded: "{rounded.xl}"
padding: "{spacing.xl}"
button-primary:
background: "{colors.gradient-primary-dim}"
textColor: "#ffffff"
rounded: "{rounded.xl}"
padding: "{spacing.md}"
boxShadow: "{shadows.glow-teal-button}"
fontWeight: "600"
fontSize: 14px
button-ghost:
backgroundColor: "transparent"
borderColor: "{colors.border}"
textColor: "{colors.muted}"
rounded: "{rounded.lg}"
padding: "{spacing.xs} {spacing.md}"
fontSize: 12px
input-textarea:
backgroundColor: "{colors.background}"
borderColor: "{colors.border}"
textColor: "{colors.foreground}"
rounded: "{rounded.lg}"
padding: "{spacing.lg}"
fontSize: 14px
badge-status:
backgroundColor: "{colors.background}"
borderColor: "{colors.border}"
textColor: "{colors.foreground}"
rounded: "{rounded.full}"
padding: "{spacing.xs} {spacing.md}"
fontSize: 12px
log-panel:
backgroundColor: "{colors.background}"
borderColor: "{colors.border}"
rounded: "{rounded.lg}"
padding: "{spacing.lg}"
typography: "{typography.mono}"
progress-bar-track:
backgroundColor: "{colors.border}"
height: "6px"
rounded: "{rounded.full}"
slider-thumb:
backgroundColor: "{colors.accent-teal}"
width: "16px"
height: "16px"
rounded: "{rounded.full}"
boxShadow: "{shadows.glow-teal}"
---
## Brand & Style
The VibePod design system embraces a **Cyber-Dark / Developer-First** aesthetic. The visual language is engineered for focused creation, prioritizing high contrast, clear data hierarchy, and technical precision. The UI evokes the feel of a modern IDE or a pro-audio software tool, rather than a consumer social app.
The emotional tone is powerful, precise, and cutting-edge. It utilizes deeply saturated background tones to reduce eye strain during long sessions, punctuated by vibrant, synthetic neon accents that guide the user's attention and signal system status.
## Colors
The color palette is strictly dark-mode-first, relying on nuanced grays with subtle cool undertones to create depth, contrasted against highly saturated "cyber" accents.
- **Background Layers:** The base background is a deep, near-black slate (`#0d1117`), while interactive cards and panels float slightly higher with a marginally lighter, cool-tinted gray (`#161b22`).
- **Accents:** The primary brand colors are Teal (`#2dd4bf`) and Violet (`#a78bfa`). These are used sparingly as solid colors for small interactive elements (like range thumbs) but frequently combined into dynamic linear gradients for primary actions and active states.
- **Typography:** Text relies on high-contrast silver/white (`#e2e8f0`) for primary readability, stepping down to a cool, slate-gray muted tone (`#64748b`) for secondary metadata and unselected states.
- **System Status:** A robust set of semantic colors communicates the complex state of the generative AI model, utilizing recognizable traffic-light paradigms (Green for online, Red for offline) alongside descriptive states like Sky Blue for downloading.
## Typography
The typographic system is built entirely on native system fonts, ensuring zero latency, maximum crispness on any display, and an immediate sense of familiarity across operating systems.
- **Hierarchy:** Headers utilize uppercase styling with generous letter spacing to act as clear section dividers without requiring massive font sizes.
- **Utility:** A monospace stack is rigorously applied to technical data, including timestamps, duration markers, server status logs, and numerical readouts, reinforcing the "pro-tool" aesthetic.
- **Reading Comfort:** The primary script input utilizes a relaxed line height (`1.625`) to ensure long-form text remains highly legible during the editing and recording process.
## Layout & Spacing
The layout is highly structured, utilizing a modular, dashboard-like grid that keeps all controls immediately accessible without scrolling.
- **Grid System:** A responsive 3-column grid serves as the foundation. The primary creative space (script input and audio playback) commands 2/3 of the width, while the technical controls and system logs are confined to a 1/3 sidebar column.
- **Containment:** Elements are strictly containerized within defined cards. This strong bordering approach (`1px solid var(--border)`) clearly delineates different functional areas of the application.
- **Rhythm:** Spacing follows a tight 4px baseline grid. Padding within cards is generous (`20px`), while the gaps between related structural elements are kept relatively tight to maintain a cohesive control-panel feel.
## Elevation, Depth & Glow
Traditional drop shadows are abandoned in favor of **Neon Glow** to create depth and indicate interactivity.
- **Flat Surfaces:** Cards and panels do not use shadows to lift off the background; they rely solely on subtle background color shifts and crisp 1px borders.
- **Interactive Glow:** Key interactive elements, such as the primary generation button and the audio playback controls, utilize a colored, diffused box-shadow (e.g., `rgba(45, 212, 191, 0.2)`) that matches their gradient background, making them appear to emit light.
- **Range Sliders:** Custom range input thumbs feature a concentrated teal glow that intensifies on hover, providing tactile visual feedback reminiscent of physical mixing consoles.
## Shapes
The shape language is a hybrid of structural precision and tactile softness.
- **Containers:** Large structural elements like cards and the main text area use a moderate `0.75rem` (12px) radius, softening the rigid grid.
- **Interactive Elements:** Primary action buttons are fully rounded (`rounded-xl` or `rounded-full` for play buttons), creating a clear visual distinction between "containers of information" and "things you click."
- **Progress:** All progress bars, slider tracks, and status indicator dots utilize fully rounded pill shapes (`9999px`) to maintain a fluid, continuous feel during generation and playback.
## Components
### Card Containers
The fundamental building block of the UI. Every distinct section (Script, Player, Controls, Logs) is housed in a card featuring the `card-bg`, a 1px `border`, and `rounded-xl` corners. The internal layout always features an uppercase teal header for immediate section identification.
### Primary Action Buttons
Used for high-leverage actions like "Generate Audio" and "Play/Pause." These buttons utilize the `gradient-primary-dim` background, bold white text, and emit a soft teal glow to draw the eye and signify their importance.
### Range Sliders
Custom-styled input ranges replace default browser styles. The tracks are muted and slim, while the thumbs are bright teal, fully rounded, and emit a glow that intensifies on hover, providing a premium, tactile scrubbing experience.
### Status Indicators & Logs
A critical component of the application. Status badges utilize a minimalist pill shape with a pulsing ring animation to indicate active server processing. The log panel explicitly uses monospace typography and color-codes messages (green for success, red for error, white for neutral) to provide a terminal-like readout of the backend systems.
### Gradients
Gradients are used purposefully to indicate progress, activity, or brand presence. The primary gradient (`135deg` from teal to violet) is used for branding (the logo icon and text) and primary buttons. Horizontal gradients (`90deg`) are used dynamically in progress bars to represent the flow of data over time (e.g., loading, downloading, and audio generation).