/* About page. Plain list styles, FAQ and spacing work without JS. The chips and panel exist only under html.ab. */
.ab-sec { padding-block: clamp(56px, 8vw, 96px); }
.ab-sec .section-head { margin-bottom: 32px; }
.ab-list, .ab-points, .ab-steps { max-width: 680px; border-top: 1px solid var(--line); }
.ab-list, .ab-points { list-style: none; }
.ab-list li, .ab-points li, .ab-steps li { padding: 20px 0; border-bottom: 1px solid var(--line); color: var(--fg-muted); font-size: 16px; }
.ab-list h3 { margin-bottom: 6px; color: var(--fg); font-size: 18px; }
.ab-points strong, .ab-steps strong { color: var(--fg); font-weight: 600; }
.ab-steps { padding-left: 28px; }
.ab-steps li { padding-left: 8px; }
.ab-steps li::marker { color: var(--accent); font-weight: 600; }

/* FAQ: native details, plus/minus drawn with gradients */
.ab-faq { max-width: 680px; border-top: 1px solid var(--line); }
.ab-faq details { border-bottom: 1px solid var(--line); }
.ab-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: 14px 4px; color: var(--fg); font-size: 16px; font-weight: 600; cursor: pointer; list-style: none; }
.ab-faq summary::-webkit-details-marker { display: none; }
.ab-faq summary::after { content: ""; flex-shrink: 0; width: 14px; height: 14px; background: linear-gradient(var(--accent), var(--accent)) center / 100% 2px no-repeat, linear-gradient(var(--accent), var(--accent)) center / 2px 100% no-repeat; }
.ab-faq details[open] summary::after { background-size: 100% 2px, 0 0; }
.ab-faq summary:hover { color: var(--accent); }
.ab-faq details p { padding: 0 4px 20px; color: var(--fg-muted); font-size: 16px; max-width: 640px; }

/* Selector: replaces the list when html.ab is set */
html.ab .ab-list { display: none; }
html.ab .ab-chips { display: flex; flex-wrap: wrap; gap: 8px; max-width: 680px; }
html.ab .ab-chip { min-height: 44px; padding: 8px 16px; border: 1.5px solid var(--ghost-border); border-radius: 22px; background: var(--surface); color: var(--fg); font: inherit; font-size: 15px; font-weight: 500; line-height: 1.35; text-align: left; cursor: pointer; transition: background 0.15s, color 0.15s; }
html.ab .ab-chip:hover { border-color: var(--accent); }
html.ab .ab-chip[aria-pressed="true"] { border-color: var(--blue); background: var(--blue); color: var(--white); }
html.ab .ab-panel { min-height: 5.5rem; max-width: 680px; margin-top: 20px; padding: 4px 0 4px 20px; border-left: 2px solid var(--accent); color: var(--fg); font-size: 16px; transition: opacity 0.18s ease; }
html.ab .ab-panel.ab-fade { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  html.ab .ab-chip, html.ab .ab-panel { transition: none; }
}
