welcome-sylvi/index.html
2026-01-14 14:59:00 -07:00

154 lines
6.4 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Git Guide for Sylvi 🌿</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Sora:wght@400;600;700&display=swap" rel="stylesheet">
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
fontFamily: {
sans: ['var(--font-sans)', 'Sora', 'Inter', 'sans-serif'],
mono: ['var(--font-mono)', 'JetBrains Mono', 'monospace'],
},
colors: {
background: 'var(--background)',
foreground: 'var(--foreground)',
card: 'var(--card)',
'card-foreground': 'var(--card-foreground)',
popover: 'var(--popover)',
'popover-foreground': 'var(--popover-foreground)',
primary: {
DEFAULT: 'var(--primary)',
foreground: 'var(--primary-foreground)',
50: '#f0fdf4',
100: '#dcfce7',
500: 'var(--primary)',
600: 'var(--primary)',
700: '#15803d',
},
secondary: {
DEFAULT: 'var(--secondary)',
foreground: 'var(--secondary-foreground)',
},
muted: {
DEFAULT: 'var(--muted)',
foreground: 'var(--muted-foreground)',
},
accent: {
DEFAULT: 'var(--accent)',
foreground: 'var(--accent-foreground)',
},
destructive: {
DEFAULT: 'var(--destructive)',
foreground: 'var(--destructive-foreground)',
},
border: 'var(--border)',
input: 'var(--input)',
ring: 'var(--ring)',
}
}
}
}
</script>
<style>
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: oklch(0.9818 0.0054 95.0986);
}
::-webkit-scrollbar-thumb {
background: oklch(0.8847 0.0069 97.3627);
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--primary);
}
body {
background-color: var(--background);
color: var(--foreground);
overflow-x: hidden;
font-family: var(--font-sans);
}
:root {
--background: oklch(0.9818 0.0054 95.0986);
--foreground: oklch(0.3438 0.0269 95.7226);
--card: oklch(0.9818 0.0054 95.0986);
--card-foreground: oklch(0.2174 0.0019 106.5582);
--popover: oklch(1.0000 0 0);
--popover-foreground: oklch(0.2671 0.0196 98.9390);
--primary: oklch(0.6551 0.0198 142.7714);
--primary-foreground: oklch(0.9688 0.0066 106.5223);
--secondary: oklch(0.9245 0.0138 92.9892);
--secondary-foreground: oklch(0.3821 0.0407 166.3004);
--muted: oklch(0.9369 0.0124 91.5218);
--muted-foreground: oklch(0.4866 0.0160 145.3235);
--accent: oklch(0.8097 0.0177 145.4098);
--accent-foreground: oklch(0.2891 0 0);
--destructive: oklch(0.6507 0.1836 39.0189);
--destructive-foreground: oklch(0.8429 0.1511 88.3005);
--border: oklch(0.8847 0.0069 97.3627);
--input: oklch(0.7621 0.0156 98.3528);
--ring: oklch(0.6507 0.1836 39.0189);
--font-sans: 'Sora', 'Inter', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--radius: 0.5rem;
}
.grain-texture {
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
opacity: 0.05;
pointer-events: none;
}
.dark {
--background: oklch(0.2178 0 0);
--foreground: oklch(0.8074 0.0142 93.0137);
--card: oklch(0.2679 0.0036 106.6427);
--card-foreground: oklch(0.9818 0.0054 95.0986);
--popover: oklch(0.3085 0.0035 106.6039);
--popover-foreground: oklch(0.9211 0.0040 106.4781);
--primary: oklch(0.6551 0.0198 142.7714);
--primary-foreground: oklch(0.9688 0.0066 106.5223);
--secondary: oklch(0.9245 0.0138 92.9892);
--secondary-foreground: oklch(0.3821 0.0407 166.3004);
--muted: oklch(0.2561 0.0071 145.3653);
--muted-foreground: oklch(0.7713 0.0169 99.0657);
--accent: oklch(0.4890 0.0180 145.2933);
--accent-foreground: oklch(0.9663 0.0080 98.8792);
--destructive: oklch(0.6507 0.1836 39.0189);
--destructive-foreground: oklch(1.0000 0 0);
--border: oklch(0.2809 0 0);
--input: oklch(0.6551 0.0198 142.7714);
--ring: oklch(0.6507 0.1836 39.0189);
}
</style>
<script type="importmap">
{
"imports": {
"react": "https://esm.sh/react@^19.2.3",
"react/": "https://esm.sh/react@^19.2.3/",
"lucide-react": "https://esm.sh/lucide-react@^0.562.0",
"react-dom/": "https://esm.sh/react-dom@^19.2.3/",
"gsap": "https://esm.sh/gsap@^3.14.2",
"gsap/": "https://esm.sh/gsap@^3.14.2/"
}
}
</script>
<link rel="stylesheet" href="/index.css">
</head>
<body>
<div id="root"></div>
<script type="module" src="/index.tsx"></script>
</body>
</html>