# Dataset Lab UI Kit - Replication Skill This document contains everything needed to replicate the **Dark Skeuomorphic / "Control Console"** design system used in the Dataset-Creator-App. ## 1. Core Concept & Theme - **Style:** Neumorphic / Skeuomorphic Hardware Console. - **Lighting:** Constant top-left (↖) light source, creating true-black drop shadows and highlights. - **Vibe:** Physical hardware, glowing LED indicators, deep terminal screens. - **Stack:** Tailwind CSS + Vanilla CSS Variables + React. ## 2. Tailwind Configuration Add these extensions to your `tailwind.config.js`: ```javascript /** @type {import('tailwindcss').Config} */ export default { content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], theme: { extend: { colors: { neu: { base: '#212529', dark: '#1a1d21', text: '#e0e0e0', dim: '#8a8f98', accent: '#ff6b00', /* Warm Orange */ warning: '#ffb300' } }, borderRadius: { 'xl': '20px', '2xl': '30px' } }, }, plugins: [], } ``` ## 3. Global CSS Variables Add this to your global `index.css` (or `App.css`). It defines the shadow physics, glows, and base surfaces. ```css @layer base { :root { --bg-base: #212529; --bg-dark: #1a1d21; --bg-card: #23272b; --text-main: #d8dde6; --text-dim: #6b7280; --text-muted: #4b5563; --accent: #ff6b00; --accent-light: #ff8533; --accent-glow: rgba(255, 107, 0, 0.35); --accent-glow-sm: rgba(255, 107, 0, 0.2); /* Shadow Physics */ --sh-flat: 8px 8px 18px #141619, -8px -8px 18px #2e343b; --sh-hover: 12px 12px 24px #141619, -12px -12px 24px #2e343b; --sh-press: inset 5px 5px 10px #141619, inset -5px -5px 10px #2e343b; --sh-trough: inset 4px 4px 8px #111315, inset -4px -4px 8px #2c323a; --sh-deep: inset 6px 6px 14px #0d0f11, inset -6px -6px 14px #2e343b; /* Glows */ --glow: 0 0 14px var(--accent-glow); --glow-sm: 0 0 8px var(--accent-glow-sm); --glow-green: 0 0 10px rgba(34, 197, 94, 0.4); --glow-red: 0 0 10px rgba(239, 68, 68, 0.4); } body { background: var(--bg-base); color: var(--text-main); } } ``` ## 4. Component Dictionary & JSX Usage ### Surfaces & Layout containers - `.neu-plate`: The standard raised card/surface. - `.neu-inset`: A gently pressed-in surface. - `.neu-section`: Used for major page panels (includes header and body sub-classes). - `.neu-chunk`: Used for collapsible sub-sections inside panels. ```jsx