* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', Tahoma, sans-serif; background: #f0f2f5; color: #333; }

/* Navbar */
nav {
    background: #1a1a2e; padding: 0 24px; display: flex; align-items: center;
    height: 56px; box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
nav .brand { color: #fff; font-size: 1.2rem; font-weight: 700; margin-right: 32px; }
nav a {
    color: #ccc; text-decoration: none; padding: 16px 16px; font-size: 0.9rem;
    transition: color 0.2s;
}
nav a:hover, nav a.active { color: #fff; border-bottom: 2px solid #e94560; }

/* Content */
#app { max-width: 1100px; margin: 32px auto; padding: 0 16px; }

/* Home */
.hero { text-align: center; margin-bottom: 32px; }
.hero h1 { font-size: 1.8rem; margin-bottom: 8px; }
.hero p { color: #666; }

/* Project Grid */
.grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.card {
    background: #fff; border-radius: 10px; padding: 20px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08); transition: transform 0.2s, box-shadow 0.2s;
    text-decoration: none; color: #333; display: block;
}
.card:hover { transform: translateY(-3px); box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
.card .icon { font-size: 2rem; margin-bottom: 8px; }
.card h3 { font-size: 1rem; margin-bottom: 4px; }
.card p { font-size: 0.8rem; color: #888; }

/* About */
.about-box { background: #fff; border-radius: 10px; padding: 32px; box-shadow: 0 1px 4px rgba(0,0,0,0.08); }
