:root {
  --bg-color: #0f172a;
  --card-bg: #1e293b;
  --text-main: #f8fafc;
  --text-muted: #94a3b8;
  --accent-gradient: linear-gradient(135deg, #06b6d4 0%, #8b5cf6 100%);
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { background-color: var(--bg-color); color: var(--text-main); font-family: var(--font-family); line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }

/* Navbar */
nav { display: flex; justify-content: space-between; align-items: center; padding: 20px 5%; background: rgba(15, 23, 42, 0.9); backdrop-filter: blur(10px); position: sticky; top: 0; z-index: 100; border-bottom: 1px solid #334155; }
nav img { height: 40px; }
nav .links a { margin-left: 20px; font-weight: 500; color: var(--text-muted); transition: 0.3s; }
nav .links a:hover { color: var(--text-main); }

/* Hero Section */
.hero { text-align: center; padding: 100px 20px; max-width: 800px; margin: 0 auto; }
.hero h1 { font-size: 3.5rem; font-weight: 800; letter-spacing: -1px; margin-bottom: 20px; background: var(--accent-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero p { font-size: 1.25rem; color: var(--text-muted); margin-bottom: 40px; }

/* App Grid */
.apps-section { padding: 60px 5%; max-width: 1200px; margin: 0 auto; }
.apps-section h2 { text-align: center; font-size: 2rem; margin-bottom: 40px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.app-card { background: var(--card-bg); border: 1px solid #334155; border-radius: 20px; padding: 30px; transition: transform 0.3s, box-shadow 0.3s; display: flex; flex-direction: column; }
.app-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.5); border-color: #8b5cf6; }
.app-card h3 { font-size: 1.5rem; margin-bottom: 10px; }
.app-card p { color: var(--text-muted); margin-bottom: 20px; flex-grow: 1; }
.btn { display: inline-block; padding: 12px 24px; border-radius: 8px; font-weight: 600; text-align: center; transition: 0.3s; cursor: pointer; }
.btn-primary { background: var(--accent-gradient); color: white; border: none; }
.btn-primary:hover { opacity: 0.9; transform: scale(1.02); }

/* Footer */
footer { text-align: center; padding: 40px 20px; border-top: 1px solid #334155; color: var(--text-muted); margin-top: 80px; }
footer a { color: var(--text-main); margin: 0 10px; }
footer a:hover { color: #06b6d4; }

/* Mobile */
@media (max-width: 768px) {
  .hero h1 { font-size: 2.5rem; }
  nav .links { display: none; } /* Simplified for vanilla JS */
}