/* Base styles */ :root { --primary-color: #4a6cf7; --secondary-color: #7e53f1; --accent-color: #ff594f; --text-color: #333; --text-light: #666; --background-light: #f8f9fc; --background-dark: #161c2d; --box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); --border-radius: 8px; --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; --font-mono: 'JetBrains Mono', monospace; } * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: var(--font-sans); line-height: 1.6; color: var(--text-color); background-color: #fff; } .container { width: 90%; max-width: 1200px; margin: 0 auto; padding: 40px 0; } h1, h2, h3, h4, h5, h6 { margin-bottom: 1rem; line-height: 1.3; font-weight: 700; } h1 { font-size: 2.5rem; } h2 { font-size: 2rem; } h3 { font-size: 1.5rem; } p { margin-bottom: 1.5rem; } a { color: var(--primary-color); text-decoration: none; } a:hover { text-decoration: underline; } ul, ol { margin-bottom: 1.5rem; padding-left: 1.5rem; } .btn { display: inline-block; padding: 0.75rem 1.5rem; background-color: var(--primary-color); color: white; border-radius: var(--border-radius); text-decoration: none; font-weight: 600; transition: all 0.3s ease; } .btn:hover { background-color: var(--secondary-color); text-decoration: none; transform: translateY(-2px); } .alt-bg { background-color: var(--background-light); } /* Header */ header { background: linear-gradient(135deg, var(--background-dark) 0%, #233152 100%); color: white; padding: 20px 0; } header h1 { margin-bottom: 0.25rem; } .tagline { font-size: 1.25rem; margin-bottom: 2rem; opacity: 0.9; } nav ul { display: flex; list-style: none; padding: 0; margin: 0; } nav ul li { margin-right: 1.5rem; } nav ul li a { color: white; text-decoration: none; font-weight: 500; padding: 0.5rem 0; transition: all 0.3s ease; } nav ul li a:hover { color: var(--accent-color); } /* Overview section */ .intro-box { background-color: var(--background-light); border-left: 5px solid var(--primary-color); padding: 1.5rem; margin-bottom: 2rem; border-radius: 0 var(--border-radius) var(--border-radius) 0; } .two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; } .quote-box { background-color: rgba(74, 108, 247, 0.1); padding: 2rem; border-radius: var(--border-radius); margin: 2rem 0; } blockquote { font-style: italic; font-size: 1.15rem; margin-bottom: 1rem; } cite { font-style: normal; font-weight: 600; font-size: 0.9rem; } /* Architecture section */ .arch-diagram { background-color: white; border: 1px solid #ddd; border-radius: var(--border-radius); padding: 1rem; margin: 2rem 0; text-align: center; } .diagram-placeholder { background-color: #eee; padding: 8rem 0; margin-bottom: 1rem; border-radius: var(--border-radius); display: flex; justify-content: center; align-items: center; font-weight: bold; color: #666; } .caption { font-size: 0.9rem; color: var(--text-light); margin-top: 0.5rem; } .components { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 2rem 0; } .component { background-color: white; padding: 1.5rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); } .tech-details { background-color: white; padding: 1.5rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); margin: 2rem 0; } .tech-note { background-color: rgba(255, 89, 79, 0.1); padding: 1rem; border-radius: var(--border-radius); margin-top: 2rem; } /* Implementation section */ .language-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; margin-bottom: 2rem; } .language { background-color: var(--background-light); padding: 1rem; border-radius: var(--border-radius); text-align: center; font-weight: 600; } .code-block { background-color: var(--background-dark); border-radius: var(--border-radius); overflow: hidden; margin: 2rem 0; } pre { padding: 1.5rem; overflow-x: auto; } code { font-family: var(--font-mono); color: #e0e0e0; font-size: 0.9rem; } .best-practices { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 2rem 0; } .practice { background-color: white; padding: 1.5rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); } .resource-link { display: flex; flex-wrap: wrap; gap: 1rem; margin: 2rem 0; } /* Adoption section */ .adoption-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin: 2rem 0; } .company { background-color: white; padding: 1.5rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); text-align: center; } .company-logo { height: 100px; background-color: #eee; border-radius: var(--border-radius); display: flex; justify-content: center; align-items: center; margin-bottom: 1rem; font-weight: bold; font-size: 1.2rem; } .stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 2rem; margin: 2rem 0; text-align: center; } .stat-number { font-size: 3rem; font-weight: 700; color: var(--primary-color); line-height: 1.2; } .stat-label { font-size: 1rem; color: var(--text-light); } .tool-list { display: flex; flex-wrap: wrap; gap: 1rem; margin: 2rem 0; } .tool { background-color: var(--background-light); padding: 0.75rem 1.5rem; border-radius: var(--border-radius); font-weight: 600; } /* Security section */ .security-warning { background-color: rgba(255, 89, 79, 0.1); padding: 1.5rem; border-radius: var(--border-radius); margin: 2rem 0; border-left: 5px solid var(--accent-color); } .mitigation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 2rem 0; } .strategy { background-color: white; padding: 1.5rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); } .security-resources { background-color: var(--background-light); padding: 1.5rem; border-radius: var(--border-radius); margin: 2rem 0; } /* Resources section */ .resource-categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 2rem 0; } .resource-category { background-color: white; padding: 1.5rem; border-radius: var(--border-radius); box-shadow: var(--box-shadow); } .newsletter { background-color: var(--secondary-color); color: white; padding: 2rem; border-radius: var(--border-radius); margin-top: 3rem; } .newsletter h3 { margin-bottom: 1rem; } #newsletter-form { display: flex; gap: 1rem; margin-top: 1.5rem; } #newsletter-form input { flex: 1; padding: 0.75rem 1rem; border: none; border-radius: var(--border-radius); font-size: 1rem; } #newsletter-form .btn { background-color: var(--accent-color); } #newsletter-form .btn:hover { background-color: #e4483f; } /* Footer */ footer { background-color: var(--background-dark); color: white; padding: 3rem 0; } .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-bottom: 2rem; } .footer-section h3 { margin-bottom: 1.5rem; color: white; } .footer-section ul { list-style: none; padding: 0; } .footer-section ul li { margin-bottom: 0.5rem; } .footer-section a { color: #a0b4fe; } .copyright { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 2rem; text-align: center; color: rgba(255, 255, 255, 0.6); font-size: 0.9rem; } /* Responsive styles */ @media (max-width: 768px) { h1 { font-size: 2rem; } h2 { font-size: 1.75rem; } .two-column { grid-template-columns: 1fr; } nav ul { flex-direction: column; } nav ul li { margin-bottom: 0.5rem; } #newsletter-form { flex-direction: column; } }