.apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.app { display: flex; flex-direction: column; gap: 4px; }
.app-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.app-head svg { font-size: 30px; color: var(--soft); }
.app h2, .other h2 { margin: 0; font-size: 22px; }
.app .dl { margin: 8px 0 12px; text-decoration: none; flex-direction: column; gap: 0; line-height: 1.3; border-radius: 16px; }
.app .dl small { opacity: .85; font-size: 13px; font-weight: 400; }
.app details { color: var(--text); font-size: 15px; }
.app summary { cursor: pointer; color: var(--soft); }
.app ol { padding-left: 20px; margin: 8px 0 0; }
.app li { margin-bottom: 6px; }
.sum { font: 11px var(--mono); color: #80868f; word-break: break-all; margin: 12px 0 0; }
.other { margin-top: 18px; }
.other h2 { margin-bottom: 8px; }
.other a { color: #8fb4ff; }
