/* GitHub-Vercel Hybrid Theme */ :root { /* GitHub-inspired colors */ --gh-bg: #ffffff; --gh-text: #24292e; --gh-border: #e1e4e8; --gh-accent: #0366d6; --gh-accent-hover: #005cc5; --gh-header-bg: #f6f8fa; --gh-table-header: #f6f8fa; --gh-code-bg: #f6f8fa; /* Vercel-inspired colors */ --vc-primary: #000000; --vc-secondary: #7928ca; --vc-accent: #ff375f; --vc-gradient: linear-gradient(90deg, #7928ca 0%, #ff375f 100%); --vc-card-bg: #f9fafb; --vc-card-border: #e5e7eb; /* Hybrid variables */ --hybrid-accent: var(--vc-secondary); --hybrid-accent-hover: #5a1e9c; --hybrid-card-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); --hybrid-header-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); } * { -webkit-box-sizing: border-box; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; line-height: 1.75em; font-size: 16px; background-color: var(--gh-bg); color: var(--gh-text); margin: 0; padding: 0; background-image: radial-gradient(#f0f0f0 1px, transparent 1px); background-size: 20px 20px; } .hybrid-container { max-width: 1012px; margin: 0 auto; padding: 20px; } /* GitHub-like header with Vercel accents */ .header { background-color: var(--gh-header-bg); padding: 16px 0; border-bottom: 1px solid var(--gh-border); position: sticky; top: 0; z-index: 100; box-shadow: var(--hybrid-header-shadow); backdrop-filter: blur(10px); background-color: rgba(255, 255, 255, 0.85); } .header-content { max-width: 1012px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 0 20px; } .logo { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 18px; color: var(--vc-primary); } .logo-icon { width: 30px; height: 30px; background: var(--vc-gradient); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: white; font-weight: bold; } .nav-links { display: flex; gap: 24px; } .nav-link { color: var(--gh-text); text-decoration: none; font-weight: 500; transition: color 0.2s; position: relative; padding: 4px 0; } .nav-link:hover { color: var(--hybrid-accent); } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--vc-gradient); transition: width 0.3s; } .nav-link:hover::after { width: 100%; } /* GitHub-like content with Vercel accents */ .content-section { margin: 40px 0; padding: 30px; background: white; border-radius: 12px; border: 1px solid var(--gh-border); box-shadow: var(--hybrid-card-shadow); } h1, h2, h3, h4, h5, h6 { color: var(--gh-text); font-weight: 600; margin-top: 24px; margin-bottom: 16px; position: relative; } h1 { font-size: 32px; border-bottom: 1px solid var(--gh-border); padding-bottom: 0.3em; } h1::before { content: ''; position: absolute; left: -15px; top: 0; height: 100%; width: 4px; background: var(--vc-gradient); border-radius: 2px; } h2 { font-size: 24px; border-bottom: 1px solid var(--gh-border); padding-bottom: 0.3em; } h3 { font-size: 20px; } p { margin-bottom: 16px; } a[href] { color: var(--hybrid-accent); text-decoration: none; font-weight: 500; transition: all 0.2s; position: relative; } a[href]:hover { color: var(--hybrid-accent-hover); text-decoration: underline; } hr { height: 1px; background-color: var(--gh-border); border: none; margin: 24px 0; } /* Tables with hybrid styling */ table { width: 100%; border-collapse: collapse; margin: 20px 0; display: block; overflow-x: auto; border-radius: 8px; border: 1px solid var(--gh-border); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03); } th, td { padding: 12px 16px; border: 1px solid var(--gh-border); } th { background-color: var(--gh-table-header); font-weight: 600; text-align: left; color: var(--vc-primary); } tr:nth-child(even) { background-color: #fafbfc; } tr:hover { background-color: #f5f7ff; } /* Code blocks with hybrid styling */ pre, code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; background-color: var(--gh-code-bg); border-radius: 8px; padding: 16px; overflow: auto; border: 1px solid var(--vc-card-border); } code { padding: 0.2em 0.4em; margin: 0; font-size: 85%; border: 1px solid var(--vc-card-border); } pre { position: relative; } pre::before { content: 'Code'; position: absolute; top: 0; right: 0; background: var(--vc-gradient); color: white; padding: 4px 10px; font-size: 12px; font-weight: 500; border-radius: 0 8px 0 4px; } blockquote { padding: 16px 20px; color: #6a737d; border-left: 4px solid var(--hybrid-accent); margin: 0; margin-bottom: 16px; background-color: var(--vc-card-bg); border-radius: 0 8px 8px 0; position: relative; overflow: hidden; } blockquote::before { content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 4px; background: var(--vc-gradient); } /* Vercel-style cards */ .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; margin: 30px 0; } .card { background: var(--vc-card-bg); border: 1px solid var(--vc-card-border); border-radius: 12px; padding: 24px; transition: all 0.3s ease; box-shadow: var(--hybrid-card-shadow); } .card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); border-color: var(--hybrid-accent); } .card h3 { margin-top: 0; color: var(--vc-primary); display: flex; align-items: center; gap: 10px; } .card-icon { width: 24px; height: 24px; background: var(--vc-gradient); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: white; font-size: 14px; } /* Buttons with hybrid styling */ .btn { display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; font-weight: 500; border-radius: 6px; cursor: pointer; transition: all 0.2s; border: none; background: var(--gh-accent); color: white; text-decoration: none; gap: 8px; } .btn:hover { background: var(--gh-accent-hover); text-decoration: none; } .btn-vercel { background: var(--vc-primary); color: white; } .btn-vercel:hover { background: #333; } .btn-gradient { background: var(--vc-gradient); color: white; } .btn-gradient:hover { opacity: 0.9; } .btn-outline { background: transparent; border: 1px solid var(--gh-border); color: var(--gh-text); } .btn-outline:hover { border-color: var(--hybrid-accent); color: var(--hybrid-accent); background: rgba(121, 40, 202, 0.05); } /* Footer */ .footer { margin-top: 60px; padding: 40px 0; border-top: 1px solid var(--gh-border); text-align: center; color: #6a737d; font-size: 14px; } /* Responsive adjustments */ @media (max-width: 768px) { body { padding: 10px; } .hybrid-container { padding: 10px; } table { font-size: 14px; } .header-content { flex-direction: column; gap: 15px; padding: 10px 20px; } .nav-links { gap: 15px; flex-wrap: wrap; justify-content: center; } .content-section { padding: 20px; } .card-grid { grid-template-columns: 1fr; } }