diff --git a/.impeccable/design.json b/.impeccable/design.json deleted file mode 100644 index 962180c..0000000 --- a/.impeccable/design.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "schemaVersion": 2, - "generatedAt": "2026-08-09T00:00:00.000Z", - "title": "Design System: Zodiac Compatibility", - "extensions": { - "colorMeta": { - "void": { - "role": "neutral", - "displayName": "Void", - "canonical": "#0a0a0a", - "tonalRamp": ["#050505","#080808","#0a0a0a","#0d0d0d","#111111","#141414","#181818","#1c1c1c"] - }, - "starlight": { - "role": "neutral", - "displayName": "Starlight", - "canonical": "#ededed", - "tonalRamp": ["#c9c9c9","#d4d4d4","#dedede","#e0e0e0","#e5e5e5","#e8e8e8","#ededed","#f5f5f5"] - }, - "indigo-primary": { - "role": "primary", - "displayName": "Twilight Indigo", - "canonical": "#4f46e5", - "tonalRamp": ["#1e1b4b","#312e81","#3730a3","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc"] - }, - "indigo-deep": { - "role": "primary", - "displayName": "Deep Twilight", - "canonical": "#4338ca", - "tonalRamp": ["#1e1b4b","#312e81","#3730a3","#4338ca","#4f46e5","#6366f1","#818cf8","#a5b4fc"] - }, - "surface": { - "role": "neutral", - "displayName": "Surface Drift", - "canonical": "rgba(255,255,255,0.05)" - }, - "surface-border": { - "role": "neutral", - "displayName": "Faint Boundary", - "canonical": "rgba(255,255,255,0.10)" - }, - "emerald-glow": { - "role": "secondary", - "displayName": "Emerald Glow", - "canonical": "rgba(5,150,105,0.20)" - }, - "blue-glow": { - "role": "secondary", - "displayName": "Blue Glow", - "canonical": "rgba(37,99,235,0.20)" - }, - "nebula-amber": { - "role": "secondary", - "displayName": "Amber Glow", - "canonical": "rgba(180,83,9,0.20)" - }, - "nebula-red": { - "role": "secondary", - "displayName": "Red Glow", - "canonical": "rgba(185,28,28,0.20)" - } - }, - "typographyMeta": { - "display": { - "displayName": "Display", - "purpose": "Page-level headings — landing title and report header." - }, - "headline": { - "displayName": "Headline", - "purpose": "Card titles, sign names, section anchors." - }, - "title": { - "displayName": "Title", - "purpose": "Section headings within the compatibility report." - }, - "body": { - "displayName": "Body", - "purpose": "All reading text. Max line length ~65ch." - }, - "label": { - "displayName": "Label", - "purpose": "Card section labels, badge text. All-caps micro-hierarchy." - } - }, - "shadows": [], - "motion": [ - { - "name": "button-hover", - "value": "background-color 150ms", - "purpose": "The only transition in the system. Button hover deepens indigo with no movement." - } - ], - "breakpoints": [ - { "name": "md", "value": "768px" } - ] - }, - "components": [ - { - "name": "Primary Button", - "kind": "button", - "refersTo": "button-primary", - "description": "The sole action element. Only one per screen at full saturation.", - "html": "", - "css": ".ds-btn-primary { background: #4f46e5; color: #ffffff; padding: 12px 24px; border-radius: 8px; border: none; font-family: Geist, Inter, system-ui, sans-serif; font-size: 1.125rem; font-weight: 600; cursor: pointer; transition: background-color 150ms; width: 100%; } .ds-btn-primary:hover { background: #4338ca; } .ds-btn-primary:focus-visible { outline: 2px solid #4f46e5; outline-offset: 2px; } .ds-btn-primary:disabled { opacity: 0.5; cursor: not-allowed; background: #3730a3; }" - }, - { - "name": "Card", - "kind": "card", - "refersTo": "card", - "description": "Primary content container. Near-transparent, floating on the void.", - "html": "
WESTERN SIGN
Virgo
Earth · Mutable
Ruled by Mercury

Analytical, diligent, and kind. Virgo notices the details others miss.

", - "css": ".ds-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; padding: 24px; } .ds-card-label { font-size: 0.75rem; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: #6b7280; margin-bottom: 8px; } .ds-card-title { font-size: 1.5rem; font-weight: 700; color: #ffffff; margin-bottom: 4px; } .ds-card-desc { font-size: 0.875rem; color: #9ca3af; margin-bottom: 12px; } .ds-card-body { font-size: 0.875rem; color: #d1d5db; line-height: 1.6; }" - }, - { - "name": "Rating Badge (Excellent)", - "kind": "custom", - "refersTo": "rating-badge-excellent", - "description": "Pill badge for Excellent compatibility rating.", - "html": "Excellent", - "css": ".ds-badge { padding: 4px 12px; border-radius: 9999px; font-size: 0.875rem; font-weight: 500; border: 1px solid; } .ds-badge-excellent { background: rgba(5,150,105,0.20); color: #6ee7b7; border-color: rgba(5,150,105,0.30); }" - }, - { - "name": "Rating Badge (Challenging)", - "kind": "custom", - "refersTo": "rating-badge-challenging", - "description": "Pill badge for Challenging compatibility rating.", - "html": "Challenging", - "css": ".ds-badge-challenging { background: rgba(185,28,28,0.20); color: #fca5a5; border-color: rgba(185,28,28,0.30); }" - }, - { - "name": "Advice Box (Info)", - "kind": "custom", - "refersTo": "advice-box-info", - "description": "Inline advice container inside a card section.", - "html": "

Friendship advice: Be kind and patient.

", - "css": ".ds-advice { padding: 12px; border-radius: 8px; border: 1px solid; } .ds-advice-info { background: rgba(79,70,229,0.20); border-color: rgba(79,70,229,0.20); } .ds-advice-text { font-size: 0.875rem; color: #c7d2fe; line-height: 1.5; } .ds-advice-text strong { font-weight: 600; }" - }, - { - "name": "Advice Box (Warning)", - "kind": "custom", - "refersTo": "advice-box-warning", - "description": "Warning advice container for Six Harming / challenging content.", - "html": "

Six Harming Groups (Liu Hai): The Rabbit and Dragon are in the Six Harming Groups.

", - "css": ".ds-advice-warning { background: rgba(185,28,28,0.20); border-color: rgba(185,28,28,0.20); } .ds-advice-warning-text { font-size: 0.875rem; color: #fecaca; line-height: 1.5; } .ds-advice-warning-text strong { font-weight: 600; }" - }, - { - "name": "Overall Assessment Section", - "kind": "custom", - "refersTo": "overall-assessment", - "description": "The emotional crescendo. The only element with a gradient background.", - "html": "

Overall Assessment

Excellent

Your compatibility with a Fire Dragon Virgo is excellent.

Practical advice: Enjoy it.

", - "css": ".ds-overall { background: linear-gradient(to bottom right, rgba(79,70,229,0.30), rgba(147,51,234,0.30)); border: 1px solid rgba(79,70,229,0.20); border-radius: 12px; padding: 24px; } .ds-overall-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } .ds-overall-title { font-size: 1.125rem; font-weight: 600; color: #ffffff; } .ds-overall-body { font-size: 0.875rem; color: #e5e7eb; line-height: 1.6; margin-bottom: 12px; } .ds-overall-advice { padding: 12px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); border-radius: 8px; } .ds-overall-advice p { font-size: 0.875rem; color: #d1d5db; line-height: 1.5; } .ds-overall-advice strong { font-weight: 600; color: #ffffff; }" - }, - { - "name": "Text Input", - "kind": "input", - "refersTo": "text-input", - "description": "Form input on the void background. Focus ring in indigo.", - "html": "", - "css": ".ds-input { width: 100%; padding: 12px 16px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); border-radius: 8px; color: #ffffff; font-family: Geist, Inter, system-ui, sans-serif; font-size: 1.125rem; box-sizing: border-box; } .ds-input::placeholder { color: #6b7280; } .ds-input:focus { outline: none; border-color: transparent; box-shadow: 0 0 0 2px #4f46e5; }" - } - ], - "narrative": { - "northStar": "Deep Sky", - "overview": "The interface feels like looking up at a truly dark sky — not a flat black void, but a deep field where content emerges like starlight. The near-black canvas is the baseline; everything placed on it is a deliberate point of light. Sections reveal themselves not with sharp borders but with subtle luminosity shifts. The overall assessment section uses a gradient from indigo to purple, suggesting a nebular glow. Rating badges glow in their own spectral colors, each a distinct celestial body. Nothing sits flat; every element carries at least one layer of depth through opacity, color temperature, or gradient. This is a system for a personal tool shared between friends — sophisticated enough to trust, intimate enough to feel warm. No glassmorphism, no aggressive animations, no SaaS tropes. Just content placed carefully in a deep sky.", - "keyCharacteristics": [ - "Dark-first, opacity-layered depth model", - "Single accent (indigo) with spectral supporting colors for semantic states", - "Gradients used sparingly at the system's emotional peak", - "Generous breathing room — 24px card padding, 32px section gaps", - "Type stays restrained: Geist Sans at a tight scale", - "Zero box-shadows; depth is luminosity, not elevation" - ], - "rules": [ - { - "name": "The One Light Rule", - "body": "Only one element on any given screen uses the full-saturation indigo primary (#4f46e5). Everything else stays in the opacity-layered range. The primary button is the only thing that burns at full brightness.", - "section": "colors" - }, - { - "name": "The Nebula Rule", - "body": "Gradients appear on exactly one element: the overall assessment. This is the system's emotional crescendo. No other section competes with it for visual weight.", - "section": "colors" - }, - { - "name": "The Flat-By-Default Rule", - "body": "No element casts a shadow at rest. No element lifts on hover. The entire interface exists in one plane — depth is atmospheric, not dimensional.", - "section": "elevation" - }, - { - "name": "The Soft Edge Rule", - "body": "All interactive and container elements use border-radius. Nothing is sharp. Cards at 12px, buttons at 8px, badges fully round. Celestial bodies don't have sharp corners.", - "section": "shapes" - } - ], - "dos": [ - "Do use opacity layering for depth — white/5 for surfaces, white/10 for borders, color-900/20 for semantic backgrounds.", - "Do keep the primary button as the only full-saturation element on screen.", - "Do use the indigo-to-purple gradient exclusively on the overall assessment section.", - "Do maintain 24px internal padding on all cards and 32px gaps between major sections.", - "Do round all containers: 12px for cards, 8px for buttons and advice boxes, fully round for badges.", - "Do use the semantic spectral colors (emerald/blue/amber/red) only for ratings and contextual warnings." - ], - "donts": [ - "Don't add box-shadows or elevation. Depth is luminosity, not Z-height.", - "Don't use glassmorphism, backdrop-blur, or frosted-glass effects.", - "Don't add gradients to cards, buttons, or any section other than the overall assessment.", - "Don't use pure white (#ffffff) for body text — reserve it for headings and primary buttons.", - "Don't use sharp corners. Every container and interactive element must be rounded.", - "Don't add animations or transitions beyond the 150ms background-color hover on buttons." - ] - } -} \ No newline at end of file