From 61403f2f506557b57716a298d4dc481d7853552f Mon Sep 17 00:00:00 2001 From: Thomas Hallock Date: Mon, 20 Oct 2025 22:06:02 -0500 Subject: [PATCH] fix(homepage): restructure layout to center 1400px wide demo section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moved "Learn by Doing" section outside the maxW:7xl container to allow the demo div to be 1400px wide and properly centered with mx:auto. Remaining content stays within the 7xl constrained container. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- apps/web/src/app/page.tsx | 388 +++++++++++++++++++------------------- 1 file changed, 194 insertions(+), 194 deletions(-) diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx index 11ede0d6..0a8231a2 100644 --- a/apps/web/src/app/page.tsx +++ b/apps/web/src/app/page.tsx @@ -122,239 +122,239 @@ export default function HomePage() { {/* Hero Section with Large Interactive Abacus */} - {/* Main content container */} -
- {/* Learn by Doing Section - with inline tutorial demo */} -
-
-

- Learn by Doing -

-

- Interactive tutorials teach you step-by-step. Try this example right now: -

-
- - {/* Live demo and learning objectives */} -
+
+

+ Learn by Doing +

+

+ Interactive tutorials teach you step-by-step. Try this example right now: +

+
+ + {/* Live demo and learning objectives */} +
+
+ {/* Tutorial on the left */}
- {/* Tutorial on the left */} -
- -
+ +
- {/* What you'll learn on the right */} -
+

-

- What You'll Learn -

-
- {[ - { - title: '📖 Read and set numbers', - desc: 'Master abacus number representation from zero to thousands', - example: '0-9999', - badge: 'Foundation', - values: [0, 1, 2, 3, 4, 5, 10, 50, 100, 500, 999], - columns: 3, - }, - { - title: '🤝 Friends techniques', - desc: 'Add and subtract using complement pairs and mental shortcuts', - example: '5 = 2+3', - badge: 'Core', - values: [2, 5, 3], - columns: 1, - }, - { - title: '✖️ Multiply & divide', - desc: 'Fluent multi-digit calculations with advanced techniques', - example: '12×34', - badge: 'Advanced', - values: [12, 24, 36, 48], - columns: 2, - }, - { - title: '🧠 Mental calculation', - desc: 'Visualize and compute without the physical tool (Anzan)', - example: 'Speed math', - badge: 'Expert', - values: [7, 14, 21, 28, 35], - columns: 2, - }, - ].map((skill, i) => { - const isSelected = i === selectedSkillIndex - return ( -
setSelectedSkillIndex(i)} - className={css({ + What You'll Learn + +
+ {[ + { + title: '📖 Read and set numbers', + desc: 'Master abacus number representation from zero to thousands', + example: '0-9999', + badge: 'Foundation', + values: [0, 1, 2, 3, 4, 5, 10, 50, 100, 500, 999], + columns: 3, + }, + { + title: '🤝 Friends techniques', + desc: 'Add and subtract using complement pairs and mental shortcuts', + example: '5 = 2+3', + badge: 'Core', + values: [2, 5, 3], + columns: 1, + }, + { + title: '✖️ Multiply & divide', + desc: 'Fluent multi-digit calculations with advanced techniques', + example: '12×34', + badge: 'Advanced', + values: [12, 24, 36, 48], + columns: 2, + }, + { + title: '🧠 Mental calculation', + desc: 'Visualize and compute without the physical tool (Anzan)', + example: 'Speed math', + badge: 'Expert', + values: [7, 14, 21, 28, 35], + columns: 2, + }, + ].map((skill, i) => { + const isSelected = i === selectedSkillIndex + return ( +
setSelectedSkillIndex(i)} + className={css({ + bg: isSelected + ? 'linear-gradient(135deg, rgba(250, 204, 21, 0.15), rgba(250, 204, 21, 0.08))' + : 'linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03))', + borderRadius: 'xl', + p: { base: '4', lg: '5' }, + border: '1px solid', + borderColor: isSelected + ? 'rgba(250, 204, 21, 0.4)' + : 'rgba(255, 255, 255, 0.15)', + boxShadow: isSelected + ? '0 6px 16px rgba(250, 204, 21, 0.2)' + : '0 4px 12px rgba(0, 0, 0, 0.3)', + transition: 'all 0.2s', + cursor: 'pointer', + _hover: { bg: isSelected - ? 'linear-gradient(135deg, rgba(250, 204, 21, 0.15), rgba(250, 204, 21, 0.08))' - : 'linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03))', - borderRadius: 'xl', - p: { base: '4', lg: '5' }, - border: '1px solid', + ? 'linear-gradient(135deg, rgba(250, 204, 21, 0.2), rgba(250, 204, 21, 0.12))' + : 'linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05))', borderColor: isSelected - ? 'rgba(250, 204, 21, 0.4)' - : 'rgba(255, 255, 255, 0.15)', + ? 'rgba(250, 204, 21, 0.5)' + : 'rgba(255, 255, 255, 0.25)', + transform: 'translateY(-2px)', boxShadow: isSelected - ? '0 6px 16px rgba(250, 204, 21, 0.2)' - : '0 4px 12px rgba(0, 0, 0, 0.3)', - transition: 'all 0.2s', - cursor: 'pointer', - _hover: { + ? '0 8px 20px rgba(250, 204, 21, 0.3)' + : '0 6px 16px rgba(0, 0, 0, 0.4)', + }, + })} + > +
+
-
+ ? 'rgba(250, 204, 21, 0.15)' + : 'rgba(255, 255, 255, 0.1)', + borderRadius: 'lg', + })} + > + +
+
- -
-
-
- {skill.title} -
-
- {skill.badge} -
-
-
- {skill.desc} + {skill.title}
- {skill.example} + {skill.badge}
+
+ {skill.desc} +
+
+ {skill.example} +
- ) - })} -
+
+ ) + })}
-
+
+ + {/* Main content container */} +
{/* Current Offerings Section */}