Foundation for the adaline-based landing rebuild: - globals.css: warm-cream light theme + Material-3 dark theme mapped onto the existing CSS-var names; CSS-keyframe entrance + IntersectionObserver reveal motion (to replace framer-motion incrementally) - layout.tsx: self-host Instrument Sans/Serif, Newsreader and JetBrains Mono via next/font/google; drop the external Google Fonts <link> - _headers: tighten CSP style/font-src to 'self' now that fonts are local - components/ui: Container, Reveal, Eyebrow, Badge, Button, SectionHeading - lib/landing-content.ts: feature-section copy for the six product screens - public/images: six product screenshots optimized to WebP - add reicon-react/reicon-brands (bundled, CSP-safe SVG icons) Business logic (D1 download counter, platform metadata, theme, SEO) unchanged.
22 lines
819 B
Plaintext
22 lines
819 B
Plaintext
/*
|
|
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' data:; connect-src 'self' https://cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'
|
|
Permissions-Policy: camera=(), microphone=(), geolocation=()
|
|
Referrer-Policy: strict-origin-when-cross-origin
|
|
X-Content-Type-Options: nosniff
|
|
X-Frame-Options: DENY
|
|
|
|
/screenshots/*
|
|
Cache-Control: public, max-age=31536000, immutable
|
|
|
|
/assets/*
|
|
Cache-Control: public, max-age=31536000, immutable
|
|
|
|
/_next/static/*
|
|
Cache-Control: public, max-age=31536000, immutable
|
|
|
|
/favicon.ico
|
|
Cache-Control: public, max-age=31536000, immutable
|
|
|
|
/icon.png
|
|
Cache-Control: public, max-age=31536000, immutable
|