From 6bfa37f727b126d8108d53375ad92d8c5e5071d3 Mon Sep 17 00:00:00 2001 From: keith Date: Sun, 21 Jun 2026 02:18:20 +0000 Subject: [PATCH] Update style.css --- style.css | 516 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 342 insertions(+), 174 deletions(-) diff --git a/style.css b/style.css index ccdf1c0..a299de1 100644 --- a/style.css +++ b/style.css @@ -1,3 +1,19 @@ +:root { + --bg: #05060b; + --bg-soft: #0a0d16; + --panel: rgba(14, 18, 30, 0.82); + --panel-strong: rgba(18, 15, 30, 0.94); + --border: rgba(159, 96, 255, 0.24); + --border-bright: rgba(159, 96, 255, 0.55); + --text: #f4f1ff; + --muted: #bcb3d8; + --purple: #a46cff; + --purple-2: #7c3cff; + --green: #61ffb1; + --blue: #4aa3ff; + --orange: #ff7a3d; +} + * { box-sizing: border-box; } @@ -8,12 +24,27 @@ html { body { margin: 0; - font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; - background: #0d0b14; - color: #f4f1ff; + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; + background: + radial-gradient(circle at top left, rgba(124, 60, 255, 0.22), transparent 28rem), + radial-gradient(circle at 80% 20%, rgba(74, 163, 255, 0.09), transparent 24rem), + linear-gradient(180deg, #05060b 0%, #080713 45%, #05060b 100%); + color: var(--text); line-height: 1.6; } +body::before { + content: ""; + position: fixed; + inset: 0; + pointer-events: none; + background-image: + linear-gradient(rgba(164, 108, 255, 0.035) 1px, transparent 1px), + linear-gradient(90deg, rgba(164, 108, 255, 0.035) 1px, transparent 1px); + background-size: 42px 42px; + mask-image: linear-gradient(to bottom, black, transparent 75%); +} + a { color: inherit; text-decoration: none; @@ -23,284 +54,421 @@ img { max-width: 100%; } -.hero { - min-height: 100vh; - padding: 32px; - background: - radial-gradient(circle at top left, rgba(139, 92, 246, 0.38), transparent 32%), - radial-gradient(circle at bottom right, rgba(64, 255, 180, 0.12), transparent 35%), - #0d0b14; -} - -.nav { - max-width: 1280px; - margin: 0 auto; +.site-header { + position: sticky; + top: 0; + z-index: 50; + height: 76px; + padding: 0 42px; display: flex; - justify-content: space-between; - gap: 24px; align-items: center; + gap: 32px; + border-bottom: 1px solid rgba(159, 96, 255, 0.16); + background: rgba(5, 6, 11, 0.82); + backdrop-filter: blur(18px); } -.logo { +.brand { + display: flex; + align-items: center; + gap: 14px; + margin-right: auto; font-weight: 900; - font-size: 1.5rem; - letter-spacing: 0.04em; - color: #b783ff; + letter-spacing: 0.12em; + text-transform: uppercase; } -.nav-links { +.brand img { + width: 42px; + height: 42px; + object-fit: contain; +} + +.site-header nav { display: flex; - gap: 22px; - color: #d8d0ee; - font-weight: 600; - flex-wrap: wrap; + gap: 26px; + font-size: 0.78rem; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.08em; + color: #ded6ff; } -.nav-links a:hover { - color: #8effc1; +.site-header nav a:hover { + color: var(--green); } -.hero-grid { - max-width: 1280px; - margin: 110px auto 0; +.nav-button { + border: 1px solid var(--border-bright); + padding: 10px 16px; + border-radius: 8px; + color: #eee7ff; + font-size: 0.8rem; + font-weight: 800; + text-transform: uppercase; +} + +.hero { + max-width: 1320px; + margin: 0 auto; + min-height: calc(100vh - 76px); + padding: 82px 42px 36px; display: grid; - grid-template-columns: 0.95fr 1.05fr; - gap: 42px; + grid-template-columns: 0.9fr 1.1fr; + gap: 48px; align-items: center; } -.hero-content { - max-width: 720px; -} - .eyebrow { - color: #8effc1; + color: var(--green); + font-size: 0.78rem; + font-weight: 900; + letter-spacing: 0.22em; text-transform: uppercase; - letter-spacing: 0.15em; - font-size: 0.82rem; - font-weight: 800; } -h1 { - font-size: clamp(2.6rem, 6vw, 5.2rem); +.hero h1, +.section h2, +.split-section h2, +.skills h2 { + margin: 0; line-height: 0.98; - margin: 16px 0; + letter-spacing: -0.05em; } -.subtext { - color: #cfc7e8; - font-size: 1.15rem; +.hero h1 { + font-size: clamp(3rem, 6vw, 5.8rem); + max-width: 720px; } -.buttons { - margin-top: 34px; +.hero h1 span { + color: var(--purple); + text-shadow: 0 0 28px rgba(164, 108, 255, 0.4); +} + +.hero-copy p:not(.eyebrow) { + color: #d4cdec; + max-width: 660px; + font-size: 1.05rem; +} + +.actions { display: flex; gap: 16px; + margin-top: 32px; flex-wrap: wrap; } -.btn { - padding: 14px 22px; - border-radius: 999px; - font-weight: 800; +.button { + border-radius: 9px; + padding: 14px 20px; + font-weight: 900; + font-size: 0.86rem; + text-transform: uppercase; + letter-spacing: 0.04em; } .primary { - background: #8b5cf6; - color: white; - box-shadow: 0 0 24px rgba(139, 92, 246, 0.35); + background: linear-gradient(135deg, var(--purple), var(--purple-2)); + box-shadow: 0 0 30px rgba(164, 108, 255, 0.25); } .secondary { - border: 1px solid #8b5cf6; - color: #d9ccff; + border: 1px solid var(--border-bright); + background: rgba(255, 255, 255, 0.02); } -.hero-image, -.feature-image, -.screenshot-card { - box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35); +.hero-art { + position: relative; + display: flex; + justify-content: center; } -.hero-image img, -.feature-image img, -.screenshot-card img { - display: block; - width: 100%; +.hero-art img { + max-height: 620px; + object-fit: contain; + filter: drop-shadow(0 0 42px rgba(164, 108, 255, 0.35)); } -.hero-image { - border: 1px solid #302747; - border-radius: 22px; - overflow: hidden; - background: #171321; +.hero-art::after { + content: ""; + position: absolute; + inset: 10%; + border-radius: 50%; + background: rgba(164, 108, 255, 0.12); + filter: blur(90px); + z-index: -1; } .stats { - max-width: 1180px; - margin: -58px auto 60px; + max-width: 1240px; + margin: 0 auto 18px; + padding: 0 42px; display: grid; - grid-template-columns: repeat(4, 1fr); - gap: 16px; - padding: 0 32px; - position: relative; - z-index: 2; + grid-template-columns: repeat(5, 1fr); + gap: 0; + border: 1px solid var(--border); + border-radius: 18px; + background: rgba(12, 15, 27, 0.82); + overflow: hidden; } .stats div { - background: rgba(23, 19, 33, 0.94); - border: 1px solid #302747; - border-radius: 18px; padding: 24px; - text-align: center; + border-right: 1px solid rgba(159, 96, 255, 0.16); +} + +.stats div:last-child { + border-right: none; +} + +.stats strong { + display: block; + font-size: 2rem; + color: var(--text); } .stats span { - display: block; - font-size: 2rem; - font-weight: 900; - color: #8effc1; -} - -.stats p { - margin: 4px 0 0; - color: #cfc7e8; + color: var(--muted); } +.split-section, .section { - max-width: 1180px; + max-width: 1240px; margin: 0 auto; - padding: 80px 32px; + padding: 72px 42px; } -.section-heading { - max-width: 860px; - margin-bottom: 32px; -} - -.section h2 { - font-size: clamp(2rem, 4vw, 3rem); - line-height: 1.05; - margin: 10px 0 16px; -} - -.section p { - color: #cfc7e8; -} - -.intro { - padding-top: 40px; -} - -.dark { - max-width: none; - padding-left: calc((100% - 1180px) / 2 + 32px); - padding-right: calc((100% - 1180px) / 2 + 32px); - background: #120f1b; -} - -.feature-image { - border: 1px solid #302747; - border-radius: 22px; - overflow: hidden; - background: #171321; -} - -.feature-image.wide { - max-width: 100%; -} - -.screenshot-grid { +.split-section { display: grid; - grid-template-columns: repeat(2, 1fr); + grid-template-columns: 1.45fr 0.9fr; gap: 24px; } -.screenshot-card { - background: #171321; - border: 1px solid #302747; - border-radius: 20px; +.panel, +.card, +.feature-card, +.challenge-grid div { + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.005)), + var(--panel); + border: 1px solid var(--border); + border-radius: 18px; + box-shadow: 0 24px 80px rgba(0, 0, 0, 0.3); +} + +.panel { + padding: 28px; +} + +.panel h2, +.section h2, +.skills h2 { + font-size: clamp(2.2rem, 4vw, 4rem); +} + +.panel p, +.section > p, +.card p, +.feature-card p, +.challenge-grid p, +.panel li { + color: var(--muted); +} + +.panel img { + margin-top: 22px; + border-radius: 14px; + border: 1px solid rgba(159, 96, 255, 0.2); +} + +.about ul { + list-style: none; + padding: 0; + margin: 28px 0 0; +} + +.about li { + margin: 14px 0; + padding-left: 30px; + position: relative; +} + +.about li::before { + content: "✓"; + position: absolute; + left: 0; + color: var(--green); +} + +.section > p { + max-width: 820px; + margin-bottom: 28px; +} + +.card-grid { + display: grid; + gap: 22px; +} + +.card-grid.two { + grid-template-columns: repeat(2, 1fr); +} + +.card { overflow: hidden; } -.screenshot-card div { +.card img { + width: 100%; + height: 265px; + object-fit: cover; + object-position: top; + border-bottom: 1px solid rgba(159, 96, 255, 0.18); +} + +.card h3 { + color: var(--purple); + font-size: 1.45rem; + padding: 22px 24px 0; + margin: 0; +} + +.card p { + padding: 8px 24px 24px; + margin: 0; +} + +.feature-card { + overflow: hidden; +} + +.feature-card img { + width: 100%; + display: block; +} + +.feature-card div { + padding: 28px; +} + +.feature-card h3 { + color: var(--purple); + font-size: 1.6rem; + margin: 0 0 8px; +} + +.challenge-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 18px; + margin-top: 26px; +} + +.challenge-grid div { padding: 22px; } -.screenshot-card h3 { - margin: 0 0 8px; - color: #b783ff; - font-size: 1.3rem; -} - -.screenshot-card p { - margin: 0; - color: #cfc7e8; +.challenge-grid h3 { + color: var(--green); + margin-top: 0; } .skills { + max-width: 1240px; + margin: 0 auto; + padding: 72px 42px 92px; text-align: center; } -.skills-grid { +.skills-list { margin-top: 28px; display: flex; - flex-wrap: wrap; justify-content: center; + flex-wrap: wrap; gap: 12px; } -.skills-grid span { - border: 1px solid #302747; - background: #171321; - color: #d9ccff; - padding: 10px 14px; +.skills-list span { + border: 1px solid var(--border); + color: #ded6ff; + background: rgba(18, 15, 30, 0.8); + padding: 10px 16px; border-radius: 999px; - font-weight: 700; + font-weight: 800; + font-size: 0.9rem; } footer { - padding: 36px; + border-top: 1px solid rgba(159, 96, 255, 0.16); + padding: 34px 42px; text-align: center; - color: #8f86a8; - border-top: 1px solid #211a31; + color: var(--muted); } -@media (max-width: 950px) { - .hero-grid, - .screenshot-grid { - grid-template-columns: 1fr; +footer span { + color: var(--purple); + font-weight: 900; +} + +footer p { + margin: 6px 0 0; +} + +@media (max-width: 1050px) { + .site-header { + position: static; + height: auto; + padding: 22px; + flex-wrap: wrap; } - .hero-grid { - margin-top: 80px; + .site-header nav { + order: 3; + width: 100%; + flex-wrap: wrap; + } + + .hero, + .split-section, + .card-grid.two, + .challenge-grid { + grid-template-columns: 1fr; } .stats { grid-template-columns: repeat(2, 1fr); - margin-top: 40px; + } + + .stats div { + border-bottom: 1px solid rgba(159, 96, 255, 0.16); } } @media (max-width: 650px) { .hero, - .section { + .split-section, + .section, + .skills { padding-left: 20px; padding-right: 20px; } - .nav { - align-items: flex-start; - flex-direction: column; - } - .stats { grid-template-columns: 1fr; padding: 0 20px; + border: none; + background: transparent; + gap: 12px; } - .dark { - padding-left: 20px; - padding-right: 20px; + .stats div { + border: 1px solid var(--border); + border-radius: 14px; + background: var(--panel); + } + + .card img { + height: 210px; } } \ No newline at end of file