import React, { useState, useEffect } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { BookOpen, Gamepad, Info, Heart, X } from "lucide-react"; // Single-file React app (Tailwind expected). Default export a component ready to drop into a React app. // Tailwind must be configured in the host project. This file uses inline maroon values for easy theming. const MAROON = "#6b0f0f"; const DARK = "#0b0b0b"; function Nav({ page, setPage }) { const items = [ { id: "about", label: "About", icon: Info }, { id: "cartoons", label: "Cartoons", icon: BookOpen }, { id: "games", label: "Games", icon: Gamepad }, ]; return ( ); } function Hero({ onStart }) { return (
Minimalist & Modern — Built for business A sleek, responsive website focused on clarity and conversion. Clean layout, subtle motion, and a strong visual palette — maroon and black — for a premium presence.

Interactive samples

Preview cartoons and a tiny game built into the site — fully interactive.

); } function About() { return (

About

We design experiences that feel calm and confident. Our focus is on elegant interfaces, delightful micro-interactions, and products that scale. Whether you need illustrations (cartoons) or interactive experiences (games), we craft them with a business-first mindset.

); } function CardStat({ title, value }) { return (

{title}

{value}

); } const SAMPLE_CARTOONS = [ { id: "c1", title: "Office Mood", desc: "A minimalist strip about remote work.", color: "#7f1d1d", }, { id: "c2", title: "Product Launch", desc: "Startup life in 3 panels.", color: "#5c0d0d" }, { id: "c3", title: "The Pitch", desc: "A quick gag about slides.", color: "#8a1f1f" }, ]; function Cartoons() { const [favorites, setFavorites] = useState([]); const [selected, setSelected] = useState(null); function toggleFav(id) { setFavorites((s) => (s.includes(id) ? s.filter((x) => x !== id) : [...s, id])); } return (

Cartoons

Favorites: {favorites.length}
{SAMPLE_CARTOONS.map((c) => ( setSelected(c)} >
C

{c.title}

{c.desc}

3 panels — silent
))}
{selected && (
setSelected(null)} />

{selected.title}

{selected.desc}

{[1, 2, 3].map((i) => (
Panel {i}
))}
License: Personal & commercial
)}
); } function Games() { return (

Games

Tiny interactive experiences that show how a playful product can still feel premium.

Tic‑Tac‑Toe (Play)

A small demo built with React state — playable right here.

Coming Soon

More micro-games and interactive art — we prototype quickly and ship often.

); } function TicTacToe() { const [board, setBoard] = useState(Array(9).fill(null)); const [xNext, setXNext] = useState(true); const winner = calculateWinner(board); function handleClick(i) { if (board[i] || winner) return; const next = board.slice(); next[i] = xNext ? "X" : "O"; setBoard(next); setXNext(!xNext); } function reset() { setBoard(Array(9).fill(null)); setXNext(true); } return (
{board.map((cell, i) => ( ))}
{winner ? `Winner: ${winner}` : `Next: ${xNext ? 'X' : 'O'}`}
); } function calculateWinner(board) { const lines = [ [0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6], ]; for (let i = 0; i < lines.length; i++) { const [a, b, c] = lines[i]; if (board[a] && board[a] === board[b] && board[a] === board[c]) { return board[a]; } } return null; } export default function App() { const [page, setPage] = useState('about'); useEffect(() => { document.documentElement.style.background = DARK; document.documentElement.style.color = '#fff'; }, []); return (
); }