/* Amicitia loader: four design-system petals light up in turn, plus shimmering skeleton blocks. */
.ami-loader { display: inline-block; width: 40px; height: 40px; line-height: 0; }
.ami-loader svg { width: 100%; height: 100%; overflow: visible; }
.ami-loader path { transform-origin: 0 0; animation: ami-ld-chase 1.4s ease-in-out infinite; opacity: .25; }
.ami-loader g:nth-child(odd) path { fill: #6C6CB2; }
.ami-loader g:nth-child(even) path { fill: #EBCB5E; }
.ami-loader g:nth-child(2) path { animation-delay: .35s; }
.ami-loader g:nth-child(3) path { animation-delay: .7s; }
.ami-loader g:nth-child(4) path { animation-delay: 1.05s; }
.ami-loader--lg { width: 56px; height: 56px; }
@keyframes ami-ld-chase { 0%, 100% { opacity: .25; transform: scale(.85); } 25% { opacity: 1; transform: scale(1.05); } 60% { opacity: .25; transform: scale(.85); } }

.ami-sk { display: block; border-radius: 8px; background: linear-gradient(90deg, #ECECFA 0%, #F8F8FE 45%, #ECECFA 90%); background-size: 200% 100%; animation: ami-ld-shim 1.8s linear infinite; }
@keyframes ami-ld-shim { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* Page change: skeleton in place of the content while the next page is on its way. */
.ami-navload { display: flex; flex-direction: column; gap: 16px; }
.ami-navload__card { background: #fff; border-radius: 18px; box-shadow: 0 2px 10px rgba(34,34,64,.06); overflow: hidden; }
.ami-navload__row { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-top: 1px solid #ECECFA; }
.ami-navload__row:first-child { border-top: 0; }
.ami-navload__lines { flex: 1; display: flex; flex-direction: column; gap: 8px; }
#ami-main.is-nav-loading > :not(.ami-navload) { display: none !important; }

/* Real page pieces as skeleton: the theme's own markup, text hidden under shimmer. */
.ami-navload.ami-skel { display: block; }
.ami-skel, .ami-skel * { pointer-events: none; cursor: default; }
.ami-skel svg, .ami-skel img { visibility: hidden; }
.ami-skel .ami-skt, .ami-skel .ami-avatar, .ami-skel .ami-badge, .ami-skel .ami-chip, .ami-skel .ami-input, .ami-skel .ami-evdate,
.ami-skel .ami-folder__icon, .ami-skel .ami-photo, .ami-skel .ami-newscard__media, .ami-skel .ami-post__cover, .ami-skel .ami-doc-icon, .ami-skel .ami-stats__n, .ami-skel .ami-segmented a, .ami-skel .ami-hero__media {
	color: transparent !important; -webkit-text-fill-color: transparent; border-color: transparent !important; box-shadow: none !important;
	background: linear-gradient(90deg, #ECECFA 0%, #F8F8FE 45%, #ECECFA 90%) !important; background-size: 200% 100% !important; animation: ami-ld-shim 1.8s linear infinite;
}
.ami-skel .ami-skt { display: inline-block; max-width: 100%; border-radius: 6px; line-height: 1.15; vertical-align: middle; white-space: nowrap; overflow: hidden; }
.ami-skel .ami-evdate *, .ami-skel .ami-badge *, .ami-skel .ami-chip * { color: transparent !important; }
.ami-skel .ami-photo, .ami-skel .ami-post__cover, .ami-skel .ami-newscard__media { border-radius: var(--ami-radius); }
.ami-skel .ami-newscard__media { border-radius: 0; }
.ami-skel .ami-segmented a.is-active { background: #E2E2F4 !important; }

/* Pull to refresh (phones). */
html.ami-ptr-on, html.ami-ptr-on body { overscroll-behavior-y: contain; }
.ami-ptr { position: fixed; left: 50%; top: 0; z-index: 60; width: 44px; height: 44px; margin-left: -22px; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(34,34,64,.16); display: flex; align-items: center; justify-content: center; transform: translateY(-60px); opacity: 0; pointer-events: none; }
.ami-ptr .ami-loader { width: 26px; height: 26px; }
.ami-ptr:not(.is-busy) .ami-loader path { animation: none; opacity: .9; }
.ami-ptr.is-back { transition: transform .25s ease, opacity .25s ease; }

@media (prefers-reduced-motion: reduce) {
	.ami-loader path, .ami-sk, .ami-skel * { animation: none !important; }
	.ami-loader path { opacity: 1; }
}
