| :root { |
| |
| --bg: oklch(94% 0.008 250); |
| --surface: #F0F2F5; |
| --fg: oklch(15% 0.02 250); |
| --muted: oklch(50% 0.02 250); |
| --border: oklch(90% 0.01 250); |
| --accent: #FF5722; |
| --accent-soft: rgba(255, 87, 34, 0.15); |
|
|
| --font-display: 'Plus Jakarta Sans', sans-serif; |
| --font-body: 'Inter', sans-serif; |
| --font-mono: 'JetBrains Mono', ui-monospace, monospace; |
| |
| --max-width: 90%; |
| --radius-lg: 32px; |
| --radius-md: 12px; |
| } |
|
|
| * { margin: 0; padding: 0; box-sizing: border-box; } |
|
|
| html { |
| scroll-behavior: smooth; |
| } |
|
|
| #about { |
| scroll-margin-top: 100px; |
| } |
|
|
| #tech { |
| scroll-margin-top: 75px; |
| } |
|
|
| body { |
| background-color: var(--bg); |
| color: var(--fg); |
| font-family: var(--font-body); |
| line-height: 1.6; |
| -webkit-font-smoothing: antialiased; |
| overflow-x: hidden; |
| } |
|
|
| h1, h2, h3 { |
| font-family: var(--font-display); |
| font-weight: 800; |
| line-height: 1.1; |
| letter-spacing: -0.04em; |
| } |
|
|
| .container { |
| max-width: var(--max-width); |
| margin: 0 auto; |
| padding: 0 5vw; |
| } |
|
|
| |
| .brand-icon { |
| height: 0.9em; |
| vertical-align: middle; |
| margin-right: 8px; |
| display: inline-block; |
| transform: translateY(-2px); |
| } |
|
|
| |
| header { |
| padding: 3vh 0; |
| position: fixed; |
| width: 100%; |
| top: 0; |
| z-index: 100; |
| background: rgba(240, 242, 245, 0.7); |
| backdrop-filter: blur(12px); |
| -webkit-backdrop-filter: blur(12px); |
| border-bottom: 1px solid rgba(0,0,0,0.05); |
| transition: all 0.3s ease; |
| } |
|
|
| nav { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| } |
|
|
| .wordmark { |
| font-family: var(--font-display); |
| font-size: 1.4rem; |
| font-weight: 800; |
| color: var(--fg); |
| text-transform: uppercase; |
| letter-spacing: -0.02em; |
| display: flex; |
| align-items: center; |
| text-decoration: none; |
| } |
|
|
| .nav-links { |
| display: flex; |
| gap: 40px; |
| align-items: center; |
| font-size: 0.85rem; |
| font-weight: 700; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| } |
|
|
| .nav-links a { color: var(--fg); text-decoration: none; opacity: 0.7; transition: opacity 0.2s; } |
| .nav-links a:hover { opacity: 1; color: var(--accent); } |
|
|
| .github-icon { |
| width: 22px; |
| height: 22px; |
| fill: var(--fg); |
| transition: transform 0.2s ease; |
| } |
| .github-icon:hover { transform: scale(1.1); fill: var(--accent); } |
|
|
| |
| .hero { |
| min-height: 100vh; |
| display: flex; |
| flex-direction: column; |
| justify-content: center; |
| padding: 15vh 0 10vh; |
| } |
|
|
| .hero-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 4vw; |
| align-items: flex-start; |
| } |
|
|
| .hero-content h1 { |
| font-size: clamp(3rem, 5vw, 4.5rem); |
| margin-bottom: 20px; |
| line-height: 1.05; |
| letter-spacing: -0.05em; |
| max-width: 900px; |
| text-wrap: balance; |
| } |
|
|
| .text-accent { |
| color: var(--accent); |
| } |
|
|
| .hero-subtitle { |
| font-size: 1.25rem; |
| color: var(--fg); |
| margin-bottom: 24px; |
| } |
|
|
| .hero-desc { |
| font-size: 1.05rem; |
| color: var(--muted); |
| margin-bottom: 32px; |
| max-width: 90%; |
| font-weight: 500; |
| } |
|
|
| .hero-terminal-pills { |
| display: flex; |
| gap: 16px; |
| margin-bottom: 32px; |
| } |
|
|
| .terminal-pill { |
| flex: 1; |
| background: rgba(240, 242, 245, 0.5); |
| border: 1px solid var(--border); |
| padding: 12px 20px; |
| border-radius: var(--radius-md); |
| font-family: var(--font-mono); |
| font-size: 0.9rem; |
| color: var(--fg); |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| font-weight: 600; |
| } |
|
|
| .hero-buttons { |
| margin-bottom: 48px; |
| } |
|
|
| .hero-stats { |
| display: flex; |
| gap: 40px; |
| } |
|
|
| .stat-item { |
| display: flex; |
| flex-direction: column; |
| } |
|
|
| .stat-value { |
| color: var(--accent); |
| font-size: 1.5rem; |
| font-weight: 800; |
| font-family: var(--font-display); |
| margin-bottom: 4px; |
| } |
|
|
| .stat-label { |
| font-size: 0.7rem; |
| color: var(--muted); |
| font-weight: 700; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| } |
|
|
| .hero-visual { |
| display: flex; |
| justify-content: center; |
| align-items: center; |
| } |
|
|
| .hero-image-wrapper { |
| position: relative; |
| border-radius: var(--radius-lg); |
| overflow: hidden; |
| box-shadow: 0 30px 60px rgba(0,0,0,0.08); |
| border: 1px solid rgba(240, 242, 245, 0.8); |
| background: var(--surface); |
| padding: 16px; |
| } |
|
|
| .hero-image { |
| width: 100%; |
| height: auto; |
| display: block; |
| border-radius: calc(var(--radius-lg) - 8px); |
| } |
|
|
| |
| .mission { |
| display: flex; |
| flex-direction: column; |
| justify-content: center; |
| padding: 8vh 4vw; |
| background: var(--surface); |
| border-radius: var(--radius-lg); |
| margin: 5vh 0; |
| } |
|
|
| .split-grid { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 5vw; |
| align-items: center; |
| } |
|
|
| .mission h2 { font-size: 3.5rem; margin-bottom: 24px; letter-spacing: -0.04em; } |
| .mission p { font-size: 1.2rem; color: var(--muted); font-weight: 500; margin-bottom: 32px; } |
|
|
| .btn-group { |
| display: flex; |
| gap: 16px; |
| flex-wrap: wrap; |
| } |
|
|
| .btn-primary { |
| display: inline-flex; |
| align-items: center; |
| background: var(--accent); |
| color: var(--surface); |
| padding: 16px 36px; |
| border-radius: 100px; |
| font-weight: 800; |
| font-size: 0.9rem; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); |
| text-decoration: none; |
| box-shadow: 0 10px 25px var(--accent-soft); |
| border: 2px solid var(--accent); |
| } |
| .btn-primary:hover { |
| transform: translateY(-4px); |
| box-shadow: 0 15px 35px var(--accent-soft); |
| } |
|
|
| .btn-secondary { |
| display: inline-flex; |
| align-items: center; |
| background: #ffffff; |
| color: var(--fg); |
| padding: 16px 36px; |
| border-radius: 100px; |
| font-weight: 800; |
| font-size: 0.9rem; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); |
| text-decoration: none; |
| border: 2px solid #ffffff; |
| box-shadow: 0 5px 15px rgba(0,0,0,0.03); |
| gap: 12px; |
| } |
| .btn-secondary:hover { |
| transform: translateY(-4px); |
| box-shadow: 0 15px 35px rgba(0,0,0,0.08); |
| } |
|
|
| .hf-icon { |
| width: 20px; |
| height: 20px; |
| } |
|
|
| .mission-image { |
| width: 100%; |
| height: 500px; |
| background: var(--bg); |
| border-radius: var(--radius-lg); |
| background-image: url('mozhm15m-image.png'); |
| background-size: cover; |
| background-position: center; |
| border: 1px solid var(--border); |
| } |
|
|
| .grid-2 { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 2vw; |
| margin-top: 40px; |
| } |
|
|
| |
| .operates { |
| min-height: 100vh; |
| display: flex; |
| flex-direction: column; |
| justify-content: center; |
| padding: 12vh 0; |
| text-align: center; |
| } |
|
|
| .operates h2 { |
| font-size: 3.5rem; |
| margin-bottom: 60px; |
| } |
|
|
| .steps-container { |
| display: flex; |
| justify-content: space-between; |
| gap: 2vw; |
| text-align: left; |
| margin-top: 40px; |
| } |
|
|
| .step-box { |
| flex: 1; |
| background: var(--surface); |
| padding: 40px 32px; |
| border-radius: var(--radius-lg); |
| border: 1px solid var(--border); |
| } |
|
|
| .step-num { |
| font-family: var(--font-mono); |
| color: var(--accent); |
| font-size: 1.5rem; |
| font-weight: 800; |
| margin-bottom: 16px; |
| display: block; |
| } |
|
|
| |
| .tech { |
| display: flex; |
| flex-direction: column; |
| justify-content: center; |
| padding: 8vh 4vw; |
| background: var(--surface); |
| border-radius: var(--radius-lg); |
| margin-bottom: 5vh; |
| } |
|
|
| .tech-lists { |
| display: grid; |
| grid-template-columns: 1fr 1fr; |
| gap: 4vw; |
| margin-top: 40px; |
| } |
|
|
| .tech-item { |
| padding-bottom: 16px; |
| margin-bottom: 16px; |
| border-bottom: 1px solid var(--border); |
| } |
| .tech-item h4 { |
| font-size: 1.1rem; |
| margin-bottom: 8px; |
| } |
| .tech-item p { |
| color: var(--muted); |
| font-size: 0.95rem; |
| } |
|
|
| |
| .setup { |
| min-height: 100vh; |
| display: flex; |
| flex-direction: column; |
| justify-content: center; |
| padding: 12vh 0 15vh; |
| } |
|
|
| .terminal { |
| background: #fafafa; |
| color: #333; |
| padding: 24px 32px 32px; |
| border-radius: var(--radius-md); |
| border: 1px solid var(--border); |
| text-align: left; |
| font-family: var(--font-mono); |
| font-size: 0.85rem; |
| box-shadow: 0 10px 30px rgba(0,0,0,0.05); |
| line-height: 1.8; |
| margin-top: 40px; |
| } |
|
|
| .terminal-header { |
| display: flex; |
| gap: 8px; |
| margin-bottom: 24px; |
| } |
|
|
| .dot { |
| width: 12px; |
| height: 12px; |
| border-radius: 50%; |
| } |
| .dot.red { background: #ff5f56; } |
| .dot.yellow { background: #ffbd2e; } |
| .dot.green { background: #27c93f; } |
|
|
| .t-prompt { color: #27c93f; font-weight: 700; margin-right: 8px; } |
| .t-cmd { color: #111; font-weight: 500; } |
| .t-accent { color: var(--accent); font-weight: 700; } |
| .t-comment { color: #888; } |
| .t-title { color: #888; font-size: 0.75rem; font-weight: 600; margin-left: 16px; } |
|
|
| |
| .download-banner { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| background: var(--surface); |
| padding: 32px 40px; |
| border-radius: var(--radius-md); |
| border: 1px solid var(--border); |
| margin-top: 16px; |
| margin-bottom: 0px; |
| } |
|
|
| .download-text h3 { |
| font-size: 1.5rem; |
| margin-bottom: 8px; |
| } |
|
|
| .download-text p { |
| color: var(--muted); |
| font-size: 0.95rem; |
| } |
|
|
| @media (max-width: 768px) { |
| .download-banner { |
| flex-direction: column; |
| align-items: flex-start; |
| gap: 24px; |
| } |
| } |
|
|
| |
| footer { |
| padding: 60px 0; |
| background: var(--surface); |
| border-top: 1px solid var(--border); |
| } |
|
|
| .footer-wrap { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| } |
|
|
| .footer-links { |
| display: flex; |
| gap: 48px; |
| } |
|
|
| .footer-links a { |
| color: var(--fg); |
| font-weight: 800; |
| font-size: 0.85rem; |
| text-transform: uppercase; |
| letter-spacing: 0.05em; |
| text-decoration: none; |
| } |
|
|
| .copyright { |
| color: var(--muted); |
| font-family: var(--font-mono); |
| font-size: 0.8rem; |
| font-weight: 500; |
| } |
|
|
| @media (max-width: 1024px) { |
| .hero h1, .mission h2, .operates h2 { font-size: 3rem; } |
| .features, .split-grid, .grid-2, .tech-lists, .steps-container { grid-template-columns: 1fr; flex-direction: column; gap: 40px; } |
| .nav-links { display: none; } |
| .mission-image { height: 400px; aspect-ratio: auto; } |
| } |
|
|