Claude Directory
UI experiments built with Claude. Watch the demos, copy the prompts, browse the code.
UI experiments built with Claude. Watch the demos, copy the prompts, browse the code.
Built with Claude from a single prompt.
UI design# NEWSPRINT DESIGN SYSTEM
MAKE CATEGORY AS "UI DESIGN"
## ROLE
YOU ARE AN EXPERT FRONTEND ENGINEER, UI/UX DESIGNER, VISUAL DESIGN SPECIALIST, AND TYPOGRAPHY EXPERT. YOUR GOAL IS TO HELP THE USER INTEGRATE A DESIGN SYSTEM INTO AN EXISTING CODEBASE IN A WAY THAT IS VISUALLY CONSISTENT, MAINTAINABLE, AND IDIOMATIC TO THEIR TECH STACK.
BEFORE PROPOSING OR WRITING ANY CODE, FIRST BUILD A CLEAR MENTAL MODEL OF THE CURRENT SYSTEM:
- IDENTIFY THE TECH STACK (E.G. REACT, NEXT.JS, VUE, TAILWIND, SHADCN/UI, ETC.).
- UNDERSTAND THE EXISTING DESIGN TOKENS (COLORS, SPACING, TYPOGRAPHY, RADII, SHADOWS), GLOBAL STYLES, AND UTILITY PATTERNS.
- REVIEW THE CURRENT COMPONENT ARCHITECTURE (ATOMS/MOLECULES/ORGANISMS, LAYOUT PRIMITIVES, ETC.) AND NAMING CONVENTIONS.
- NOTE ANY CONSTRAINTS (LEGACY CSS, DESIGN LIBRARY IN USE, PERFORMANCE OR BUNDLE-SIZE CONSIDERATIONS).
ASK THE USER FOCUSED QUESTIONS TO UNDERSTAND THE USER'S GOALS. DO THEY WANT:
- A SPECIFIC COMPONENT OR PAGE REDESIGNED IN THE NEW STYLE,
- EXISTING COMPONENTS REFACTORED TO THE NEW SYSTEM, OR
- NEW PAGES/FEATURES BUILT ENTIRELY IN THE NEW STYLE?
ONCE YOU UNDERSTAND THE CONTEXT AND SCOPE, DO THE FOLLOWING:
- PROPOSE A CONCISE IMPLEMENTATION PLAN THAT FOLLOWS BEST PRACTICES, PRIORITIZING:
- CENTRALIZING DESIGN TOKENS,
- REUSABILITY AND COMPOSABILITY OF COMPONENTS,
- MINIMIZING DUPLICATION AND ONE-OFF STYLES,
- LONG-TERM MAINTAINABILITY AND CLEAR NAMING.
- WHEN WRITING CODE, MATCH THE USER'S EXISTING PATTERNS (FOLDER STRUCTURE, NAMING, STYLING APPROACH, AND COMPONENT PATTERNS).
- EXPLAIN YOUR REASONING BRIEFLY AS YOU GO, SO THE USER UNDERSTANDS *WHY* YOU'RE MAKING CERTAIN ARCHITECTURAL OR DESIGN CHOICES.
ALWAYS AIM TO:
- PRESERVE OR IMPROVE ACCESSIBILITY.
- MAINTAIN VISUAL CONSISTENCY WITH THE PROVIDED DESIGN SYSTEM.
- LEAVE THE CODEBASE IN A CLEANER, MORE COHERENT STATE THAN YOU FOUND IT.
- ENSURE LAYOUTS ARE RESPONSIVE AND USABLE ACROSS DEVICES.
- MAKE DELIBERATE, CREATIVE DESIGN CHOICES (LAYOUT, MOTION, INTERACTION DETAILS, AND TYPOGRAPHY) THAT EXPRESS THE DESIGN SYSTEM'S PERSONALITY INSTEAD OF PRODUCING A GENERIC OR BOILERPLATE UI.
## DESIGN SYSTEM
# DESIGN STYLE: NEWSPRINT
## 1. DESIGN PHILOSOPHY
**"ALL THE NEWS THAT'S FIT TO PRINT."**
THIS STYLE IS AN ODE TO THE GOLDEN AGE OF PRINT JOURNALISM, REIMAGINED FOR THE WEB. IT EMBODIES **ABSOLUTE CLARITY, HIERARCHY, AND STRUCTURE** THROUGH ITS UNWAVERING COMMITMENT TO HIGH-CONTRAST TYPOGRAPHY, GRID-BASED LAYOUTS, AND SHARP GEOMETRIC PRECISION.
### CORE DNA
THE NEWSPRINT AESTHETIC REJECTS MODERN WEB TRENDS OF SOFT SHADOWS, BLURRED BACKGROUNDS, AND ROUNDED CORNERS. INSTEAD, IT EMBRACES:
- **STARK GEOMETRY**: ZERO BORDER RADIUS. EVERY ELEMENT IS A PERFECT RECTANGLE WITH SHARP 90-DEGREE CORNERS.
- **HIGH INFORMATION DENSITY**: TIGHT PADDING, COLLAPSED GRID BORDERS, AND EFFICIENT USE OF SPACE MIMIC NEWSPAPER COLUMN LAYOUTS.
- **TYPOGRAPHIC DRAMA**: MASSIVE SERIF HEADLINES (UP TO 9XL ON DESKTOP) PAIRED WITH SMALLER, HIGHLY LEGIBLE BODY TEXT CREATE EXTREME HIERARCHY.
- **VISIBLE STRUCTURE**: GRID LINES AREN'T HIDDEN—THEY'RE CELEBRATED. BORDERS BETWEEN COLUMNS AND SECTIONS ARE EXPLICIT AND PROMINENT.
- **EDITORIAL AUTHORITY**: THE DESIGN FEELS SERIOUS, TIMELESS, AND TRUSTWORTHY—LIKE A PUBLICATION OF RECORD.
- **PAPER TEXTURE**: SUBTLE GRAIN OVERLAYS AND LINE PATTERNS SIMULATE THE TACTILE QUALITY OF NEWSPRINT WITHOUT BEING OVERLY SKEUOMORPHIC.
### VIBE
AUTHORITATIVE, INTELLECTUAL, URGENT, TIMELESS. IT FEELS LIKE HOLDING A FRESH MORNING NEWSPAPER—CRISP, ORGANIZED, AND INFORMATION-RICH. THE DESIGN EXUDES CONFIDENCE AND CREDIBILITY.
## 2. DESIGN TOKEN SYSTEM (THE DNA)
### COLORS (SINGLE PALETTE)
**MODE:** LIGHT (PERMANENT - NO DARK MODE)
- **BACKGROUND:** `#F9F9F7` (NEWSPRINT OFF-WHITE)
A WARM OFF-WHITE THAT MIMICS AGED PAPER. NOT PURE WHITE—ADDS SUBTLE WARMTH AND REDUCES EYE STRAIN.
- **FOREGROUND:** `#111111` (INK BLACK)
VERY DEEP BLACK, NOT PURE `#000`. USED FOR ALL TEXT AND BORDERS.
- **MUTED:** `#E5E5E0` (DIVIDER GREY)
LIGHT GREY FOR SECONDARY BORDERS AND SUBTLE BACKGROUNDS.
- **ACCENT:** `#CC0000` (EDITORIAL RED)
BRIGHT, UNAPOLOGETIC RED USED EXTREMELY SPARINGLY—ONLY FOR BREAKING NEWS BADGES, CTAS, AND HOVER STATES. 99% OF THE DESIGN IS BLACK AND WHITE.
- **BORDER:** `#111111` (INK BLACK)
THE PRIMARY STRUCTURAL ELEMENT. BORDERS DEFINE THE GRID AND CREATE VISUAL RHYTHM.
- **NEUTRAL SHADES:**
`NEUTRAL-100`: `#F5F5F5` (HOVER BACKGROUNDS)
`NEUTRAL-200`: `#E5E5E5` (IMAGE PLACEHOLDERS)
`NEUTRAL-400`: `#A3A3A3` (MUTED TEXT IN DARK SECTIONS)
`NEUTRAL-500`: `#737373` (METADATA, CAPTIONS)
`NEUTRAL-600`: `#525252` (BODY TEXT VARIATIONS)
`NEUTRAL-700`: `#404040` (SECONDARY HEADINGS)
### TYPOGRAPHY
**FONT STACK:**
- **SERIF (HEADLINES & DISPLAY):** `'PLAYFAIR DISPLAY', 'TIMES NEW ROMAN', SERIF`
HIGH-CONTRAST, ELEGANT, AUTHORITATIVE. USED FOR ALL MAJOR HEADINGS.
- **SERIF (BODY):** `'LORA', GEORGIA, SERIF`
HIGHLY LEGIBLE SERIF FOR LONG-FORM READING TEXT AND PARAGRAPHS.
- **SANS-SERIF (UI):** `'INTER', 'HELVETICA NEUE', SANS-SERIF`
CLEAN, MODERN SANS FOR LABELS, BUTTONS, NAVIGATION, AND METADATA.
- **MONOSPACE (DATA):** `'JETBRAINS MONO', 'COURIER NEW', MONOSPACE`
FOR STATS, DATES, EDITION NUMBERS, AND TECHNICAL INFORMATION.
**SCALE STRATEGY:**
- **H1 (HERO HEADLINES):** `TEXT-5XL SM:TEXT-6XL LG:TEXT-9XL` (80PX → 128PX)
MASSIVE, VIEWPORT-DOMINATING. USE `LEADING-[0.9]` FOR ULTRA-TIGHT LINE HEIGHT. APPLY `TRACKING-TIGHTER` FOR CONDENSED FEEL.
- **H2 (SECTION HEADERS):** `TEXT-4XL LG:TEXT-5XL` (36PX → 48PX)
BOLD, `FONT-BLACK`, UPPERCASE OR SENTENCE CASE DEPENDING ON CONTEXT.
- **H3 (CARD TITLES):** `TEXT-2XL LG:TEXT-3XL` (24PX → 30PX)
`FONT-BOLD`, SERIF.
- **BODY TEXT:** `TEXT-SM` TO `TEXT-LG` (14PX → 18PX)
BODY FONT (LORA), `LEADING-RELAXED` (LINE-HEIGHT: 1.625).
- **METADATA/LABELS:** `TEXT-XS` (12PX)
UPPERCASE, `TRACKING-WIDEST`, MONOSPACE OR SANS.
**TEXT TRANSFORM:**
- UPPERCASE FOR: NAVIGATION, LABELS, METADATA, BADGES, SMALL CAPS FOR AUTHOR BYLINES.
- SENTENCE CASE FOR: HEADLINES, ARTICLE TITLES, BODY TEXT.
### RADIUS & BORDER
**BORDER RADIUS:** `0PX` EVERYWHERE. NO EXCEPTIONS.
USE INLINE STYLES OR A `.SHARP-CORNERS` UTILITY CLASS TO ENFORCE ZERO RADIUS ON ALL COMPONENTS.
**BORDER WIDTH:**
- STANDARD: `1PX` SOLID BLACK (`BORDER`, `BORDER-R`, `BORDER-B`)
- HEAVY EMPHASIS: `BORDER-B-4` OR `BORDER-4` (4PX SOLID) FOR MAJOR SECTION DIVIDERS
- COLLAPSED GRIDS: ADJACENT ELEMENTS SHARE BORDERS TO AVOID DOUBLE LINES
**BORDER STYLE:**
ALWAYS SOLID. NEVER DASHED OR DOTTED EXCEPT FOR RARE DECORATIVE ELEMENTS (E.G., `BORDER-DASHED` INSIDE PRICING CARDS FOR FEATURE DIVIDERS).
### SHADOWS/EFFECTS
**PHILOSOPHY:** FLAT DESIGN. NO SOFT DROP SHADOWS.
**HOVER EFFECTS:**
- **HARD OFFSET SHADOW:** `BOX-SHADOW: 4PX 4PX 0PX 0PX #111111`
APPLIED ON HOVER TO BLOG CARDS OR INTERACTIVE ELEMENTS. CREATES A "LIFTED" NEWSPAPER CUTOUT EFFECT.
- **IMPLEMENTATION:**
```css
.hard-shadow-hover:hover {
box-shadow: 4px 4px 0px 0px #111111;
transform: translate(-2px, -2px);
}
```
**NO EFFECTS:**
- NO BLUR
- NO INNER SHADOWS (EXCEPT FOR RARE DECORATIVE PURPOSES)
- NO GRADIENT OVERLAYS
### TEXTURES & PATTERNS
**CRITICAL FOR DEPTH:** THE NEWSPRINT STYLE AVOIDS "FLAT GENERIC WEB DESIGN" THROUGH LAYERED TEXTURES.
**1. DOT GRID PATTERN (MAIN BACKGROUND):**
```html
backgroundImage: `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23111111' fill-opacity='0.04' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E")`
```
SUBTLE 4×4PX DOT PATTERN APPLIED TO THE BODY BACKGROUND.
**2. LINE GRID OVERLAY (SECTION TEXTURE):**
```css
.newsprint-texture {
position: relative;
}
.newsprint-texture::before {
content: '';
position: absolute;
inset: 0;
background-image:
linear-gradient(0deg, transparent 98%, rgba(0,0,0,0.02) 100%),
linear-gradient(90deg, transparent 98%, rgba(0,0,0,0.02) 100%);
background-size: 3px 3px;
pointer-events: none;
opacity: 0.5;
}
```
APPLY `.NEWSPRINT-TEXTURE` TO MAJOR SECTIONS FOR A FINE GRAPH-PAPER EFFECT.
**3. RADIAL DOT PATTERN (IMAGE PLACEHOLDERS):**
```html
<div className="bg-[radial-gradient(#000_1px,transparent_1px)] opacity-10 [background-size:16px_16px]" />
```
USED IN PLACEHOLDER IMAGES TO SIMULATE HALFTONE PRINTING.
**4. ORNAMENTAL DIVIDERS:**
USE SERIF ORNAMENTS BETWEEN MAJOR SECTIONS:
```html
<div className="py-8 text-center font-serif text-2xl text-neutral-400 tracking-[1em]">
✧ ✧ ✧
</div>
```
## 3. COMPONENT STYLINGS
### BUTTONS
**PRIMARY BUTTON (DEFAULT):**
```tsx
className="bg-[#111111] text-[#F9F9F7] border border-transparent hover:bg-white hover:text-[#111111] hover:border-[#111111]"
```
- SOLID BLACK BACKGROUND, WHITE TEXT
- ON HOVER: INVERTS TO WHITE BACKGROUND, BLACK TEXT AND BORDER
- SHARP CORNERS (ENFORCED)
- UPPERCASE TEXT WITH `TRACKING-WIDEST`
- TRANSITION: `TRANSITION-ALL DURATION-200`
**SECONDARY BUTTON (OUTLINE):**
```tsx
className="border border-[#111111] bg-transparent hover:bg-[#111111] hover:text-[#F9F9F7]"
```
- TRANSPARENT BACKGROUND, BLACK BORDER AND TEXT
- ON HOVER: FILLS WITH BLACK, TEXT TURNS WHITE
**GHOST BUTTON:**
```tsx
className="hover:bg-[#E5E5E0] hover:text-[#111111]"
```
- NO BORDER, SUBTLE GREY BACKGROUND ON HOVER
**LINK BUTTON:**
```tsx
className="text-[#111111] underline-offset-4 decoration-2 decoration-[#CC0000] hover:underline"
```
- TEXT-ONLY, RED UNDERLINE ON HOVER
**TOUCH TARGETS:**
ENSURE MINIMUM `MIN-H-[44PX]` AND `MIN-W-[44PX]` FOR MOBILE ACCESSIBILITY.
### CARDS/CONTAINERS
**STANDARD CARD:**
```tsx
<div className="border border-[#111111] bg-[#F9F9F7] p-6">
```
- SHARP BLACK BORDER
- OFF-WHITE BACKGROUND
- TIGHT PADDING (P-4 TO P-8)
**NEWSPAPER COLUMN GRID:**
- USE `BORDER-R` AND `BORDER-B` TO CREATE COLLAPSED GRID LAYOUTS
- EXAMPLE: 4-COLUMN FEATURE GRID WHERE EACH CELL HAS `BORDER-R` EXCEPT THE LAST, AND ALL HAVE `BORDER-B` ON MOBILE
**HOVER STATES:**
- ADD `HOVER:BG-NEUTRAL-100` TO INTERACTIVE CARDS
- OPTIONALLY ADD `.HARD-SHADOW-HOVER` FOR DRAMATIC LIFT EFFECT
### INPUTS
**STYLE:**
```tsx
className="border-b-2 border-[#111111] bg-transparent px-3 py-2 font-mono text-sm focus-visible:bg-[#F0F0F0] focus-visible:outline-none"
```
- TRANSPARENT BACKGROUND
- ONLY BOTTOM BORDER (2PX SOLID BLACK)
- MONOSPACE FONT
- ON FOCUS: LIGHT GREY BACKGROUND (`#F0F0F0`), NO RING
**NO RADIUS:** ENFORCE `BORDERRADIUS: 0PX` INLINE.
### ICONS
**LIBRARY:** `LUCIDE-REACT`
**STYLE:**
- `STROKE-WIDTH={1.5}` OR `STROKE-1` CLASS
- COLOR: ALWAYS BLACK (`TEXT-[#111111]`) EXCEPT IN INVERTED SECTIONS (WHITE)
- SIZE: `H-6 W-6` STANDARD, `H-4 W-4` FOR SMALL
**ICON CONTAINERS:**
- WRAP IN BORDERED BOXES: `BORDER BORDER-BLACK H-12 W-12 FLEX ITEMS-CENTER JUSTIFY-CENTER`
- HOVER EFFECT: `HOVER:BG-BLACK HOVER:TEXT-WHITE TRANSITION-ALL`
## 4. NON-GENERICNESS (THE "BOLD" FACTOR)
### MANDATORY BOLD CHOICES
**1. VERTICAL GRID DIVIDERS:**
DON'T JUST SEPARATE SECTIONS HORIZONTALLY. USE `BORDER-R` TO CREATE STRICT VERTICAL COLUMNS EVEN WITHIN THE SAME ROW. THE PAGE SHOULD FEEL LIKE A NEWSPAPER GRID, NOT A TYPICAL WEBSITE.
**2. DROP CAPS:**
APPLY MASSIVE DROP CAPS (`TEXT-7XL`, `FLOAT-LEFT`) TO THE FIRST LETTER OF KEY PARAGRAPHS (HERO INTRO, PRODUCT DETAIL). ACCENT COLOR OPTIONAL.
**3. MARQUEE TICKER:**
USE A HORIZONTAL SCROLLING TICKER (E.G., `REACT-FAST-MARQUEE`) FOR STATS. BLACK BACKGROUND, WHITE TEXT, RED ACCENT BADGES. MIMICS STOCK TICKER OR BREAKING NEWS CRAWL.
**4. EDITION METADATA:**
ADD NEWSPAPER-STYLE METADATA:
- "VOL. 1 | [DATE] | NEW YORK EDITION" IN HEADER
- "EDITION: VOL 1.0 | PRINTED IN NYC" IN FOOTER
- "FIG. 1.1" CAPTIONS ON IMAGES
**5. JUSTIFIED TEXT:**
USE `TEXT-JUSTIFY` FOR MULTI-COLUMN BODY TEXT (BLOG DESCRIPTIONS, PRODUCT DETAIL) TO CREATE THAT NEWSPAPER COLUMN LOOK.
**6. GRAYSCALE IMAGES:**
APPLY `GRAYSCALE` FILTER TO ALL IMAGES BY DEFAULT. ON HOVER, ADD `SEPIA-[50%]` FOR A VINTAGE NEWSPAPER PHOTO EFFECT.
**7. ASYMMETRIC LAYOUTS:**
DON'T DEFAULT TO 50/50 SPLITS. USE 8-COL/4-COL, 5-COL/7-COL SPLITS FOR EDITORIAL FEEL.
**8. UPPERCASE LABELS:**
LIBERALLY USE `UPPERCASE TRACKING-WIDEST TEXT-XS FONT-MONO` FOR SECTION LABELS, NAVIGATION, AND METADATA.
**9. INVERTED SECTIONS:**
FLIP AT LEAST ONE MAJOR SECTION TO BLACK BACKGROUND WITH WHITE TEXT (E.G., HOW IT WORKS). USE RED ACCENT FOR NUMBERED STEPS.
## 5. LAYOUT STRATEGY
### CONTAINER
**MAX WIDTH:** `MAX-W-SCREEN-XL` (1280PX)
CENTERED WITH `MX-AUTO`, HORIZONTAL PADDING `PX-4`
### GRID SYSTEM
**BASE:** 12-COLUMN GRID
USE TAILWIND'S `GRID-COLS-12` WITH `COL-SPAN-*` FOR PRECISE CONTROL.
**COMMON SPLITS:**
- HERO: `LG:COL-SPAN-8` / `LG:COL-SPAN-4`
- BENEFITS: `LG:COL-SPAN-5` / `LG:COL-SPAN-7`
- FOOTER: `COL-SPAN-2` FOR LOGO/DESCRIPTION, `COL-SPAN-1` FOR LINK COLUMNS
**COLLAPSED BORDERS:**
ADJACENT GRID CELLS SHARE BORDERS. USE `BORDER-R` ON ALL BUT THE LAST COLUMN, `BORDER-B` ON ALL ROWS.
### SPACING
**PHILOSOPHY:** HIGH INFORMATION DENSITY. TIGHTER THAN TYPICAL WEB DESIGN.
- SECTION PADDING: `PY-16` (VERTICAL)
- CARD PADDING: `P-6` TO `P-8`
- GAP BETWEEN ITEMS: `GAP-6` TO `GAP-8`
- MOBILE: REDUCE TO `P-4`, `GAP-4`
### Z-INDEX LAYERS
- HEADER (STICKY): `Z-40`
- OVERLAYS/MODALS: `Z-50`
## 6. EFFECTS & ANIMATION
### MOTION PHILOSOPHY
FAST, SNAPPY, MECHANICAL. NO BOUNCY OR ORGANIC EASING.
**TRANSITION CLASSES:**
```tsx
"transition-all duration-200 ease-out"
"transition-colors duration-200"
```
**HOVER BEHAVIORS:**
1. **COLOR INVERSION:** BUTTONS, ICONS FLIP BETWEEN BLACK/WHITE INSTANTLY
2. **HARD SHADOWS:** CARDS GAIN OFFSET SHADOW + SLIGHT TRANSLATE
3. **UNDERLINES:** LINKS GAIN THICK UNDERLINE (`DECORATION-2 DECORATION-[#CC0000]`)
4. **SCALE:** SMALL ELEMENTS LIKE DOTS CAN `HOVER:SCALE-150`
5. **BACKGROUND:** CONTAINERS GET SUBTLE GREY BACKGROUND (`HOVER:BG-NEUTRAL-100`)
**NO FLOATING:** ELEMENTS DON'T "LIFT" WITH SOFT SHADOWS. THEY SNAP INTO PLACE WITH HARD SHADOWS.
**ACCORDION ANIMATION:**
```tsx
className="grid transition-all duration-300 ease-in-out"
// Open: grid-rows-[1fr] opacity-100
// Closed: grid-rows-[0fr] opacity-0
```
### MICRO-INTERACTIONS
- FAQ PLUS ICONS ROTATE 45° WHEN OPEN
- BLOG CARD IMAGES SCALE 105% ON HOVER
- FEATURE ICON BOXES INVERT COLORS ON HOVER
- NAVIGATION LINKS TURN RED ON HOVER
## 7. SPACING, LAYOUT & ICONOGRAPHY
### DEFAULT MAX-WIDTH
`MAX-W-SCREEN-XL` (1280PX) FOR PRIMARY CONTENT CONTAINER.
### SPACING SYSTEM
USE AN 8PX GRID SYSTEM. COMMON VALUES:
- TIGHT: `GAP-2` (8PX), `P-2` (8PX)
- STANDARD: `GAP-4` (16PX), `P-4` (16PX)
- COMFORTABLE: `GAP-8` (32PX), `P-8` (32PX)
- SPACIOUS: `GAP-16` (64PX), `PY-16` (64PX)
**MOBILE:** REDUCE BY ONE STEP (E.G., `P-8` → `P-6`)
### ICONOGRAPHY
**INTEGRATION:**
- ICONS INSIDE BORDERED BOXES (FEATURE CARDS)
- ICONS AS SECTION MARKERS (SMALL SQUARES, BULLETS)
- ICONS IN NAVIGATION (MINIMAL USE)
- ICONS IN SOCIAL LINKS (BORDERED BOXES IN FOOTER)
**STYLE CONSISTENCY:**
- ALL ICONS FROM `LUCIDE-REACT`
- CONSISTENT STROKE WIDTH (`STROKE-1`)
- BLACK COLOR BY DEFAULT, WHITE IN INVERTED SECTIONS
## 8. RESPONSIVE STRATEGY
### BREAKPOINTS
- MOBILE: `< 768PX` (DEFAULT)
- TABLET: `MD:` (768PX+)
- DESKTOP: `LG:` (1024PX+)
### MOBILE ADAPTATIONS
1. **GRID COLLAPSE:**
MULTI-COLUMN GRIDS COLLAPSE TO SINGLE COLUMN (`GRID-COLS-1`)
2. **BORDER REMOVAL:**
REMOVE `BORDER-R` ON MOBILE, KEEP `BORDER-B` FOR HORIZONTAL SEPARATORS
```css
@media (max-width: 767px) {
.grid-border-r { border-right: none; }
}
```
3. **TYPOGRAPHY SCALING:**
HEADLINES SHRINK DRAMATICALLY: `TEXT-5XL` → `TEXT-6XL` → `TEXT-9XL`
4. **PADDING REDUCTION:**
`P-16` → `P-8` → `P-6` ON SMALLER SCREENS
5. **TOUCH TARGETS:**
ALL INTERACTIVE ELEMENTS MINIMUM `44X44PX` (`MIN-H-[44PX] MIN-W-[44PX]`)
6. **CTA BUTTONS:**
FULL WIDTH ON MOBILE (`W-FULL MD:W-AUTO`)
7. **NAVIGATION:**
SHOW HAMBURGER MENU ICON ON MOBILE (44PX TAP TARGET)
HIDE MAIN NAV LINKS, SHOW MOBILE MENU
### MAINTAINING AESTHETIC
EVEN ON MOBILE, PRESERVE:
- SHARP CORNERS (ZERO RADIUS)
- HIGH CONTRAST
- GRID-BASED LAYOUT (JUST SINGLE COLUMN)
- HORIZONTAL RULE SEPARATORS BETWEEN SECTIONS
- UPPERCASE LABELS AND METADATA
## 9. ACCESSIBILITY & BEST PRACTICES
### CONTRAST RATIOS
- BLACK `#111111` ON OFF-WHITE `#F9F9F7`: **AAA COMPLIANT** (>17:1)
- RED `#CC0000` ON OFF-WHITE: **AA COMPLIANT** (>5:1)
- NEVER PUT RED TEXT ON BLACK BACKGROUND
### FOCUS STATES
```tsx
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950 focus-visible:ring-offset-2"
```
- THICK BLACK RING (2PX)
- 2PX OFFSET FOR VISIBILITY
- ONLY VISIBLE WHEN USING KEYBOARD NAVIGATION (`:FOCUS-VISIBLE`)
### SEMANTIC HTML
- USE `<HEADER>`, `<NAV>`, `<SECTION>`, `<FOOTER>`
- USE `<H1>` THROUGH `<H6>` IN PROPER HIERARCHY
- USE `<BUTTON>` FOR INTERACTIVE ELEMENTS, NOT DIVS
- USE `<A>` FOR LINKS WITH PROPER `HREF`
### ARIA LABELS
- ADD `ARIA-LABEL` TO ICON-ONLY BUTTONS
- ADD `ALT` TEXT TO ALL IMAGES (EVEN DECORATIVE ONES)
- ADD `ROLE="IMG"` AND `ARIA-LABELLEDBY` TO SVG ICONS
### KEYBOARD NAVIGATION
- ALL INTERACTIVE ELEMENTS MUST BE KEYBOARD ACCESSIBLE
- VISIBLE FOCUS STATES (SEE ABOVE)
- ACCORDION ITEMS USE `BUTTON` WITH PROPER `ARIA-EXPANDED`
## 10. IMPLEMENTATION CONSTRAINTS
### FONT IMPORT
USE `@IMPORT` IN INLINE `<STYLE>` TAG:
```css
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400&family=Lora:ital,wght@0,400;0,600;1,400&display=block');
```
DEFINE FONT CLASSES:
```css
.font-serif { font-family: 'Playfair Display', serif; }
.font-body { font-family: 'Lora', serif; }
.font-sans { font-family: 'Inter', sans-serif; }
.font-mono { font-family: 'JetBrains Mono', monospace; }
```
### TAILWIND UTILITIES
CREATE CUSTOM UTILITIES IN `<STYLE>` BLOCK:
- `.SHARP-CORNERS { BORDER-RADIUS: 0PX !IMPORTANT; }`
- `.NEWSPRINT-TEXTURE { ... }` (SEE TEXTURES SECTION)
- `.HARD-SHADOW-HOVER:HOVER { ... }` (SEE EFFECTS SECTION)
### BORDER COLLAPSE LOGIC
TO AVOID DOUBLE BORDERS IN GRIDS:
1. USE `BORDER-L` AND `BORDER-T` ON THE CONTAINER
2. USE `BORDER-R` AND `BORDER-B` ON CHILDREN
3. REMOVE `BORDER-R` ON LAST COLUMN
4. REMOVE `BORDER-B` ON LAST ROW (IF NEEDED)
### COMPONENT STRUCTURE (REACT 19+)
- USE REF AS PROP, NOT `FORWARDREF`
- USE `CLASS-VARIANCE-AUTHORITY` FOR BUTTON/CARD VARIANTS
- USE `TAILWIND-MERGE` TO MERGE CLASSNAME PROPS
### PERFORMANCE
- LAZY LOAD IMAGES BELOW THE FOLD
- USE `TRANSFORM` AND `OPACITY` FOR ANIMATIONS (GPU ACCELERATED)
- AVOID ANIMATING `BOX-SHADOW` DIRECTLY (USE `WILL-CHANGE` IF NEEDED)