/* ΞSUS Website Styles - Inspired by LibrePGP's clean technical aesthetic */ :root { --primary-color: #2c3e50; --secondary-color: #34495e; --accent-color: #3498db; --highlight-color: #e74c3c; --success-color: #27ae60; --text-color: #2c3e50; --text-light: #7f8c8d; --background: #ffffff; --background-light: #f8f9fa; --border-color: #dee2e6; --code-background: #f1f3f4; --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; --font-family-mono: 'SF Mono', 'Monaco', 'Consolas', 'Liberation Mono', 'Courier New', monospace; --max-width: 1200px; --content-width: 800px; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--font-family); line-height: 1.6; color: var(--text-color); background: var(--background); } .container { max-width: var(--max-width); margin: 0 auto; padding: 0 2rem; } /* Header */ .site-header { background: var(--background); border-bottom: 2px solid var(--border-color); padding: 1rem 0; position: sticky; top: 0; z-index: 100; } .header-content { display: flex; justify-content: space-between; align-items: center; } .logo { display: flex; align-items: center; gap: 1rem; } .xi-symbol { width: 32px; height: 32px; } .logo h1 { font-size: 1.8rem; font-weight: 700; color: var(--primary-color); } .main-nav { display: flex; gap: 2rem; } .main-nav a { color: var(--text-color); text-decoration: none; font-weight: 600; transition: color 0.2s ease; } .main-nav a:hover { color: var(--accent-color); } /* Hero Section */ .hero { text-align: center; padding: 4rem 0; background: linear-gradient(135deg, var(--background-light) 0%, var(--background) 100%); border-bottom: 1px solid var(--border-color); } .hero-title { font-size: 4rem; font-weight: 700; color: var(--primary-color); margin-bottom: 1rem; } .hero-subtitle { font-size: 1.5rem; color: var(--text-light); margin-bottom: 2rem; font-weight: 400; } .hero-tagline { font-size: 1.2rem; color: var(--text-color); max-width: 600px; margin: 0 auto; } /* Main Content */ .main-content { max-width: var(--content-width); margin: 0 auto; padding: 3rem 2rem; } h1, h2, h3, h4, h5, h6 { color: var(--primary-color); font-weight: 600; margin: 2rem 0 1rem 0; line-height: 1.3; } h2 { font-size: 1.8rem; border-bottom: 2px solid var(--border-color); padding-bottom: 0.5rem; } h3 { font-size: 1.4rem; } p { margin-bottom: 1.5rem; } /* Formula Block */ .formula-block { background: var(--code-background); border: 2px solid var(--border-color); border-radius: 8px; padding: 2rem; margin: 2rem 0; text-align: center; font-family: var(--font-family-mono); font-size: 1.5rem; font-weight: 600; color: var(--primary-color); } /* Resource Grid */ .resource-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin: 2rem 0; } .resource-card { background: var(--background); border: 2px solid var(--border-color); border-radius: 8px; padding: 2rem; transition: all 0.3s ease; } .resource-card:hover { border-color: var(--accent-color); box-shadow: 0 4px 12px rgba(52, 152, 219, 0.1); transform: translateY(-2px); } .resource-card h3 { margin-top: 0; margin-bottom: 1rem; color: var(--primary-color); } .resource-card p { margin-bottom: 1rem; color: var(--text-light); } .resource-card a { color: var(--accent-color); text-decoration: none; font-weight: 600; } .resource-card a:hover { text-decoration: underline; } /* Quote Block */ .quote-block { margin: 3rem 0; padding: 2rem; background: var(--background-light); border-left: 4px solid var(--accent-color); border-radius: 0 8px 8px 0; } .quote-block blockquote { font-style: italic; color: var(--text-light); text-align: center; font-size: 1.1rem; } /* Lists */ ul, ol { margin-left: 2rem; margin-bottom: 1.5rem; } li { margin-bottom: 0.5rem; } /* Links */ a { color: var(--accent-color); text-decoration: none; } a:hover { text-decoration: underline; } /* Code */ code { background: var(--code-background); padding: 0.2rem 0.4rem; border-radius: 4px; font-family: var(--font-family-mono); font-size: 0.9em; } /* Footer */ .site-footer { background: var(--primary-color); color: white; padding: 3rem 0; margin-top: 4rem; text-align: center; } .site-footer p { margin-bottom: 1rem; } .footnote { font-size: 0.9rem; opacity: 0.8; font-style: italic; } /* Responsive Design */ @media (max-width: 768px) { .container { padding: 0 1rem; } .header-content { flex-direction: column; gap: 1rem; } .main-nav { gap: 1rem; } .hero-title { font-size: 3rem; } .hero-subtitle { font-size: 1.3rem; } .main-content { padding: 2rem 1rem; } .resource-grid { grid-template-columns: 1fr; } .formula-block { padding: 1.5rem; font-size: 1.2rem; } } @media (max-width: 480px) { .hero-title { font-size: 2.5rem; } .formula-block { font-size: 1rem; } } /* Accessibility */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } /* Focus styles for keyboard navigation */ a:focus, button:focus { outline: 2px solid var(--accent-color); outline-offset: 2px; } /* Print styles */ @media print { .site-header, .site-footer { display: none; } .main-content { max-width: none; margin: 0; padding: 0; } a { color: var(--text-color); text-decoration: underline; } .resource-card { border: 1px solid var(--border-color); break-inside: avoid; } }