/* Own IPAs: cap visible desktop cards at three. Never add fourth/fifth columns.
   Future cards flow sideways in the slider rather than wrapping into more columns. */
.own-ipa-rule{border:0;border-top:1px solid var(--line);margin:0}
.own-library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.own-library-heading h2{margin:10px 0 0;font-size:30px;letter-spacing:-.035em;line-height:1.15}
.own-library-controls{display:flex;gap:8px}
.own-library-controls .button{width:44px;padding:0}
.own-ipa-slider{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/3);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;padding:2px 0 12px}
.own-ipa-slider:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.own-ipa-card{min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.own-ipa-card .ipa-icon-container{background:transparent;box-shadow:none}
.own-coming-soon{display:flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--muted);font-size:13px}
@media(max-width:900px){.own-ipa-slider{grid-auto-columns:calc((100% - 12px)/2)}}
@media(max-width:680px){.own-ipa-slider{grid-auto-columns:100%}.own-library-heading{gap:12px}}

/* Compact spacing around the first-party library on /builds only. */
.builds-page .page-hero{padding-bottom:32px}
.builds-page .own-library{padding-top:32px;padding-bottom:24px}
.builds-page .own-library-heading{margin-bottom:20px}
.builds-page .own-ipa-rule + .section-pad:not(.own-library){padding-top:32px}
@media(max-width:680px){.builds-page .page-hero{padding-bottom:24px}.builds-page .own-library{padding-top:24px;padding-bottom:20px}.builds-page .own-ipa-rule + .section-pad:not(.own-library){padding-top:24px}}
