{ "design_system": { "version": "2.0", "last_updated": "2026-01-20", "description": "nicholai.work design language - evolved from industrial/technical to clean modern with selective technical accents" }, "design_philosophy": { "core_principles": [ "clean and modern with selective technical accents", "rounded corners for contemporary feel", "minimal decorative elements", "readable typography over stylized text", "intentional whitespace", "smooth, refined interactions" ], "when_to_use_industrial": [ "hero section only - establishes initial technical vibe", "experience/work history - professional credibility", "featured projects - showcasing technical work" ], "when_to_use_modern": [ "navigation - clean, accessible", "blog content - readable, focused", "general UI elements - buttons, cards, badges", "any new sections added to the site" ] }, "typography": { "headings": { "modern_style": { "size": "text-3xl to text-5xl", "weight": "font-bold", "case": "normal case (not uppercase)", "tracking": "normal or tracking-tight", "line_height": "leading-tight", "usage": "blog posts, new sections, readable content" }, "industrial_style": { "size": "text-5xl to text-9xl", "weight": "font-bold", "case": "uppercase", "tracking": "tracking-tighter", "line_height": "leading-[0.85]", "usage": "hero, experience, featured projects only" } }, "body": { "size": "text-base to text-lg", "weight": "font-normal or font-light", "line_height": "leading-relaxed", "color": "text-[var(--theme-text-secondary)]" }, "labels": { "modern": { "size": "text-xs to text-sm", "weight": "font-medium", "case": "normal case", "usage": "badges, metadata, general labels" }, "technical": { "size": "text-[9px] to text-[10px]", "weight": "font-mono", "case": "uppercase", "tracking": "tracking-[0.2em] to tracking-[0.3em]", "usage": "hero and work sections only" } } }, "spacing": { "sections": { "vertical_padding": "py-20 to py-32", "section_gap": "mb-20 to mb-24", "content_gap": "gap-8 to gap-12" }, "containers": { "max_width": "container mx-auto", "horizontal_padding": "px-6 lg:px-8 or px-6 lg:px-12", "note": "use px-6 lg:px-8 for tighter layouts, px-6 lg:px-12 for wider" } }, "borders_and_corners": { "modern_corners": { "cards": "rounded-lg", "buttons": "rounded-full", "badges": "rounded-full", "images": "rounded-lg", "containers": "rounded-xl to rounded-2xl" }, "industrial_corners": { "usage": "none - use sharp corners only in hero/experience/featured", "buttons": "no rounded corners", "containers": "no rounded corners" }, "borders": { "default": "border border-[var(--theme-border-primary)]", "subtle": "border-[var(--theme-border-secondary)]", "accent": "border-brand-accent", "dividers": "border-t or border-b" } }, "components": { "buttons": { "primary_modern": { "base": "px-6 py-3 rounded-full", "border": "border border-[var(--theme-border-primary)]", "background": "bg-[var(--theme-hover-bg)]", "hover": "hover:border-brand-accent hover:bg-brand-accent/5", "text": "text-sm font-medium", "transition": "transition-all duration-300" }, "secondary_modern": { "base": "px-4 py-2 rounded-full", "background": "bg-brand-accent/10", "text": "text-sm text-brand-accent", "hover": "hover:bg-brand-accent/20" }, "industrial": { "note": "only use in hero/experience/featured sections", "base": "px-8 py-4 border", "corners": "no rounded corners", "text": "font-mono text-xs uppercase tracking-widest" } }, "badges": { "modern": { "base": "px-3 py-1 rounded-full", "background": "bg-brand-accent/10", "text": "text-xs text-brand-accent", "usage": "categories, tags, status indicators" }, "minimal": { "base": "px-2 py-1", "text": "text-xs text-[var(--theme-text-muted)]", "usage": "hashtags, minimal labels" } }, "cards": { "modern": { "base": "rounded-lg border border-[var(--theme-border-primary)]", "background": "bg-[var(--theme-bg-secondary)]", "hover": "hover:border-brand-accent hover:bg-[var(--theme-hover-bg)]", "padding": "p-6", "transition": "transition-all duration-300" }, "images": { "corners": "rounded-lg", "aspect_ratios": "aspect-video, aspect-square, aspect-[4/3]", "object_fit": "object-cover" } }, "section_headers": { "modern_style": { "layout": "simple, no grid", "title": "text-3xl to text-5xl font-bold normal-case leading-tight", "subtitle": "text-base to text-lg text-[var(--theme-text-secondary)]", "spacing": "mb-12 to mb-16", "decorative_elements": "none or minimal", "usage": "new sections, blog, modern areas" }, "industrial_style": { "layout": "grid grid-cols-1 lg:grid-cols-12 gap-12", "title_col": "lg:col-span-8", "meta_col": "lg:col-span-4", "title": "text-5xl to text-8xl uppercase tracking-tighter leading-[0.85]", "decorative": { "pulsing_dot": "w-2 h-2 bg-brand-accent animate-pulse", "system_label": "font-mono text-[10px] uppercase tracking-[0.3em]", "format": "SYS.LABEL /// DESCRIPTION" }, "usage": "hero, experience, featured projects only" } }, "navigation": { "container": "rounded-2xl backdrop-blur-md", "items": "rounded-xl hover:bg-[var(--theme-hover-bg-strong)]", "active_state": "bg-brand-accent/10 text-brand-accent", "icons": "w-5 h-5 stroke-width-1.5" }, "animations": { "scroll_animations": { "classes": "animate-on-scroll fade-in, slide-up, slide-left, slide-right", "stagger": "stagger-1 through stagger-8", "usage": "applies to all sections, triggered by IntersectionObserver" }, "hover_effects": { "duration": "duration-300", "ease": "ease-out or ease-in-out", "transitions": "transition-all, transition-colors, transition-transform" }, "reduced_motion": { "respect": "always check prefers-reduced-motion", "fallback": "instant state changes" } } }, "color_usage": { "backgrounds": { "primary": "bg-[var(--theme-bg-primary)]", "secondary": "bg-[var(--theme-bg-secondary)]", "overlay": "bg-[var(--theme-overlay)]", "hover": "bg-[var(--theme-hover-bg)]" }, "text": { "primary": "text-[var(--theme-text-primary)]", "secondary": "text-[var(--theme-text-secondary)]", "muted": "text-[var(--theme-text-muted)]", "subtle": "text-[var(--theme-text-subtle)]" }, "accent": { "solid": "bg-brand-accent, text-brand-accent, border-brand-accent", "transparent": "bg-brand-accent/10, bg-brand-accent/5", "usage": "highlights, active states, CTAs, hover effects" } }, "grid_layouts": { "blog_cards": { "mobile": "grid-cols-1", "tablet": "md:grid-cols-2", "desktop": "lg:grid-cols-3", "gap": "gap-6 to gap-8" }, "content_layout": { "columns": "grid-cols-1 lg:grid-cols-12", "main_content": "lg:col-span-8 to lg:col-span-10", "sidebar": "lg:col-span-4 to lg:col-span-2" } }, "examples": { "modern_section_header": { "html": "
\n Description text\n
\nDescription
\n