diff --git a/public/styles/global.css b/public/styles/global.css index 3b277da..68d0984 100644 --- a/public/styles/global.css +++ b/public/styles/global.css @@ -424,153 +424,225 @@ section { /* ===== Screenshot Showcase ===== */ .screenshot-showcase { - background: var(--color-bg); + background: var(--color-bg-secondary); padding: var(--space-3xl) 0; position: relative; - overflow: hidden; + border-top: 1px solid var(--color-border); + border-bottom: 1px solid var(--color-border); } .screenshot-showcase::before { - content: ''; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 80%; - height: 80%; - background: radial-gradient(circle, rgba(0, 221, 119, 0.03) 0%, transparent 70%); - pointer-events: none; -} - -.showcase-header { - text-align: center; - margin-bottom: var(--space-2xl); -} - -.showcase-label { - font-family: var(--font-mono); - font-size: 0.75rem; - color: var(--color-accent); - letter-spacing: 0.2em; - text-transform: uppercase; - margin-bottom: var(--space-md); -} - -.showcase-title { - font-size: clamp(2rem, 5vw, 3rem); - font-weight: 900; - line-height: 1.1; - text-transform: uppercase; - letter-spacing: -0.02em; - margin-bottom: var(--space-md); -} - -.showcase-subtitle { - font-size: 1.125rem; - color: var(--color-text-secondary); - max-width: 600px; - margin: 0 auto; - line-height: 1.6; -} - -.showcase-grid { - max-width: 900px; - margin: 0 auto; - padding: 0 var(--space-lg); -} - -.showcase-item { - position: relative; -} - -.showcase-image-wrapper { - position: relative; - border: 2px solid var(--color-border); - background: var(--color-bg-elevated); - padding: var(--space-sm); - transition: all 0.4s ease; - overflow: hidden; -} - -.showcase-image-wrapper::before { content: ''; position: absolute; top: 0; left: 0; right: 0; + height: 2px; + background: linear-gradient(90deg, transparent, var(--color-accent-blue), transparent); +} + +.showcase-content { + display: grid; + grid-template-columns: 1fr 1.5fr; + gap: var(--space-3xl); + align-items: center; + margin-top: var(--space-xl); +} + +.showcase-text { + position: relative; +} + +.showcase-title { + font-size: clamp(2.5rem, 5vw, 4rem); + font-weight: 900; + line-height: 1; + text-transform: uppercase; + letter-spacing: -0.02em; + margin-bottom: var(--space-lg); +} + +.showcase-description { + font-size: 1.125rem; + color: var(--color-text-secondary); + line-height: 1.7; + margin-bottom: var(--space-xl); +} + +.showcase-features { + display: flex; + flex-direction: column; + gap: var(--space-sm); +} + +.showcase-features span { + font-family: var(--font-mono); + font-size: 0.7rem; + padding: 0.5rem 1rem; + background: var(--color-bg); + border-left: 3px solid var(--color-accent-blue); + color: var(--color-text-secondary); + text-transform: uppercase; + letter-spacing: 0.1em; + width: fit-content; + transition: all 0.3s ease; +} + +.showcase-features span:hover { + border-left-color: var(--color-accent); + color: var(--color-text); + transform: translateX(8px); +} + +.showcase-visual { + position: relative; +} + +.showcase-frame { + background: var(--color-bg); + border: 2px solid var(--color-border); + overflow: hidden; + transition: all 0.3s ease; + max-width: 600px; + margin-left: auto; +} + +.showcase-frame:hover { + border-color: var(--color-accent-blue); + box-shadow: 0 0 30px rgba(0, 212, 255, 0.15); + transform: translateY(-4px); +} + +.frame-header { + background: var(--color-bg-elevated); + border-bottom: 1px solid var(--color-border); + padding: var(--space-sm) var(--space-md); + display: flex; + align-items: center; + gap: var(--space-md); +} + +.frame-dots { + display: flex; + gap: 6px; +} + +.frame-dots span { + width: 12px; + height: 12px; + border-radius: 50%; + background: var(--color-border); +} + +.frame-dots span:nth-child(1) { + background: #ff5f56; +} + +.frame-dots span:nth-child(2) { + background: #ffbd2e; +} + +.frame-dots span:nth-child(3) { + background: #27c93f; +} + +.frame-title { + font-family: var(--font-mono); + font-size: 0.75rem; + color: var(--color-text-secondary); + text-transform: uppercase; + letter-spacing: 0.05em; +} + +.frame-content { + position: relative; + overflow: hidden; + background: var(--color-bg-elevated); +} + +.frame-content::after { + content: ''; + position: absolute; bottom: 0; + left: 0; + right: 0; + height: 120px; background: linear-gradient( 180deg, transparent 0%, - transparent 60%, - rgba(15, 15, 15, 0.3) 75%, - rgba(15, 15, 15, 0.7) 90%, + rgba(15, 15, 15, 0.5) 50%, rgba(15, 15, 15, 0.9) 100% ); pointer-events: none; - opacity: 1; - transition: opacity 0.4s ease; - z-index: 1; -} - -.showcase-image-wrapper:hover { - border-color: var(--color-accent); - box-shadow: 0 12px 40px rgba(0, 221, 119, 0.2), 0 0 60px rgba(0, 221, 119, 0.1); - transform: translateY(-6px); -} - -.showcase-image-wrapper:hover::before { - opacity: 0.5; } .showcase-image { width: 100%; height: auto; display: block; - position: relative; - border-radius: 2px; - transition: all 0.4s ease; + transition: transform 0.5s ease; } -.showcase-image-wrapper:hover .showcase-image { - transform: scale(1.01); +.showcase-frame:hover .showcase-image { + transform: scale(1.02); } -.showcase-caption { - position: absolute; - bottom: var(--space-md); - left: var(--space-md); - right: var(--space-md); +.showcase-note { font-family: var(--font-mono); - font-size: 0.8rem; - color: var(--color-text); - line-height: 1.5; - z-index: 2; - opacity: 1; - text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8); + font-size: 0.75rem; + color: var(--color-text-tertiary); + text-align: right; + margin-top: var(--space-sm); + letter-spacing: 0.05em; + max-width: 600px; + margin-left: auto; } @media (max-width: 1024px) { - .showcase-grid { - max-width: 800px; + .showcase-content { + grid-template-columns: 1fr; + gap: var(--space-2xl); + } + + .showcase-text { + text-align: center; + } + + .showcase-features { + align-items: center; + } + + .showcase-frame { + margin: 0 auto; + } + + .showcase-note { + text-align: center; + margin: var(--space-sm) auto 0; } } @media (max-width: 768px) { - .showcase-grid { + .showcase-frame { max-width: 100%; - padding: 0 var(--space-md); } - .showcase-image-wrapper { - padding: var(--space-xs); + .frame-header { + padding: var(--space-xs) var(--space-sm); } - .showcase-caption { - font-size: 0.7rem; - bottom: var(--space-sm); - left: var(--space-sm); - right: var(--space-sm); + .frame-dots span { + width: 10px; + height: 10px; + } + + .frame-title { + font-size: 0.65rem; + } + + .showcase-features span { + font-size: 0.65rem; + padding: 0.4rem 0.8rem; } } diff --git a/src/pages/index.astro b/src/pages/index.astro index 5735823..d1b4cc9 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -47,19 +47,34 @@ const version = pkg.version ?? "";
-
-
// IN ACTION
-

Zaguán Blade in Action

-

- Real interface. Real performance. Real development workflow. -

-
-
-
-
-
- Zaguán Blade editor interface showing AI-assisted coding -
The editor with AI chat integrated, displaying code generation with diff view
+ +
+
+

SEE IT
IN ACTION

+

+ Built with Tauri v2, powered by CodeMirror 6, controlled by AI. This is what a modern development environment looks like. +

+
+ VERTICAL DIFF BLOCKS + REAL-TIME AI CHAT + NATIVE PERFORMANCE +
+
+
+
+
+
+ + + +
+
zblade v0.1.1
+
+
+ Zaguán Blade editor interface +
+
+
AI-assisted development with integrated chat