:root { --w: 1080px; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, sans-serif; line-height: 1.6; color: #111; }
header, main, footer { width: 100%; margin: 0; padding: 0; }
.content-wrap { max-width: var(--w); margin: 0 auto; padding: 0 32px; }
h1, h2, h3 { line-height: 1.3; }
.app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; list-style: none; padding: 0; }
.card { border: 1px solid #e5e7eb; border-radius: 12px; padding: 16px; background: #fff; }
.badges { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.badge { font-size: 12px; padding: 2px 8px; border-radius: 999px; background: #f1f5f9; }
.links { display: flex; gap: 12px; margin-top: 8px; }
a { color: #2563eb; text-decoration: none; }
a:hover { text-decoration: underline; }
footer { color: #6b7280; font-size: 14px; padding-bottom: 40px; }
