/*
 * FediPress theme core — shared by FediPress Fjord and FediPress Agora.
 *
 * Everything that styles FediPress's own pages and components lives here:
 * posts, conversations, profiles, notifications, the sidebar, forms, the
 * composer and dialogs. Each theme's theme.css adds its colours, type and
 * navigation by setting the --fpt-* tokens below.
 *
 * FediPress's light/dark choice sets data-afv-theme on <html>, and the accent
 * picked in Appearance sets data-fpt-accent. html:root outranks both
 * WordPress presets and the plugin's display.css.
 */

/* ---------- Tokens every theme can set ------------------------------- */
html:root {
	--fpt-radius: 14px;
	--fpt-radius-sm: 10px;
	--fpt-button-radius: 10px;
	--fpt-pad: 1.25rem;
	--fpt-admin: 0px;
	--fpt-header: 0px;
	--fpt-tabbar: 0px;
	--fpt-title-size: 1.375rem;
	--fpt-title-weight: 650;
	--fpt-title-tracking: -.012em;
	--fpt-title-size-phone: 1.25rem;
	--fpt-profile-name-phone: 1.5rem;
	--fpt-badge-top: .25rem;
	--fpt-badge-start: 1.85rem;
	--fpt-badge-ring: var(--fpt-canvas);
	--fpt-side-top: .875rem;
	--fpt-read-leading: 1.58;
	--fpt-read-tracking: .003em;
	--fpt-icon-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 4.2 2.6 17.5A2 2 0 0 0 4.3 20.5h15.4a2 2 0 0 0 1.7-3L13.7 4.2a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9.5v4.5M12 17.2v.1'/%3E%3C/svg%3E");
	--fpt-tint: color-mix(in srgb, var(--fpt-accent) 10%, var(--fpt-paper));
	--fpt-tint-strong: color-mix(in srgb, var(--fpt-accent) 18%, var(--fpt-paper));

	/* Hand the palette to WordPress and FediPress. */
	--wp--preset--color--base: var(--fpt-paper);
	--wp--preset--color--surface: var(--fpt-mist);
	--wp--preset--color--line: var(--fpt-line);
	--wp--preset--color--ink: var(--fpt-ink);
	--wp--preset--color--contrast: var(--fpt-ink);
	--wp--preset--color--muted: var(--fpt-muted);
	--wp--preset--color--iris: var(--fpt-accent);
	--wp--preset--color--primary: var(--fpt-accent);
	--wp--preset--color--reply: var(--fpt-accent);
	--wp--preset--color--repost: var(--fpt-repost);
	--wp--preset--color--like: var(--fpt-like);
	--wp--preset--color--canvas: var(--fpt-canvas);
	--afv-c-base: var(--fpt-paper);
	--afv-c-surface: var(--fpt-mist);
	--afv-c-line: var(--fpt-line);
	--afv-c-ink: var(--fpt-ink);
	--afv-c-muted: var(--fpt-muted);
	--afv-c-iris: var(--fpt-accent);
	--afv-c-reply: var(--fpt-accent);
	--afv-c-repost: var(--fpt-repost);
	--afv-c-like: var(--fpt-like);
}

/* ---------- Base ----------------------------------------------------- */
html { scroll-padding-top: calc(4.5rem + var(--fpt-header) + var(--fpt-admin)); -webkit-text-size-adjust: 100%; }
body.admin-bar { --fpt-admin: 32px; }
@media (max-width: 782px) { body.admin-bar { --fpt-admin: 46px; } }
html:root body,
html:root[data-afv-theme] body {
	margin: 0;
	background: var(--fpt-canvas);
	color: var(--fpt-ink);
	font-family: var(--fpt-font);
	font-size: 1rem;
	line-height: 1.5;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
.wp-site-blocks { min-height: 100vh; }
a { color: var(--fpt-accent); text-underline-offset: .18em; text-decoration-thickness: 1px; }
::selection { background: var(--fpt-tint-strong); color: var(--fpt-ink); }
button, input, textarea, select { font-family: inherit; }
button { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--fpt-accent) !important;
	outline-offset: 2px;
}
.screen-reader-text:not(:focus) { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

/* ---------- Top bar -------------------------------------------------- */
.afv-topbar {
	position: sticky;
	top: calc(var(--fpt-admin) + var(--fpt-header)) !important;
	z-index: 20;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: .5rem;
	min-height: 3.75rem;
	padding: .5rem var(--fpt-pad);
	border-bottom: 1px solid var(--fpt-line);
	background: color-mix(in srgb, var(--fpt-paper) 88%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(14px);
	backdrop-filter: saturate(1.4) blur(14px);
}
.afv-topbar > * { margin: 0 !important; }
.afv-topbar__title, .afv-topbar .wp-block-query-title {
	flex: 1;
	min-width: 0;
	font-family: var(--fpt-serif);
	font-size: var(--fpt-title-size);
	font-weight: var(--fpt-title-weight);
	letter-spacing: var(--fpt-title-tracking);
	line-height: 1.2;
	color: var(--fpt-ink);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.afv-back {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
	margin-inline-start: -.5rem !important;
	border-radius: 50%;
	color: var(--fpt-ink);
}
.afv-back:hover { background: var(--fpt-hover); }
.afv-article-back { font-weight: 650; text-decoration: none; }
.fpt-icon-button {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--fpt-muted);
	cursor: pointer;
}
.fpt-icon-button:hover { background: var(--fpt-hover); color: var(--fpt-ink); }
.fpt-topbar__end { margin-inline-start: auto !important; margin-inline-end: -.5rem !important; }
.fpt-topbar__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.fpt-groups-top { flex-wrap: wrap; }
.fpt-groups-top .fpt-topbar__actions .wp-element-button,
.fpt-groups-top .fpt-topbar__actions button {
	min-height: 2.5rem;
	padding: .45rem .9rem;
	font-size: .9375rem;
}
.fpt-groups-top [data-afv-g-call="groups/feed/refresh"] {
	background: transparent !important;
	color: var(--fpt-accent) !important;
	box-shadow: inset 0 0 0 1px var(--fpt-line-strong);
}

/* ---------- Tabs and feed controls ---------------------------------- */
.afv-main .afv-tabs {
	display: flex;
	gap: 0;
	margin: 0 !important;
	padding: 0 calc(var(--fpt-pad) - .5rem);
	border-bottom: 1px solid var(--fpt-line);
	background: var(--fpt-paper);
	overflow-x: auto;
	scrollbar-width: none;
}
.afv-main .afv-tabs::-webkit-scrollbar { display: none; }
.afv-main .afv-tabs a {
	flex: 0 0 auto;
	padding: .9rem .75rem .8rem;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	color: var(--fpt-muted);
	font-size: 1rem;
	font-weight: 650;
	text-decoration: none;
}
.afv-main .afv-tabs a:hover { background: transparent; color: var(--fpt-ink); }
.afv-main .afv-tabs a[aria-current] { color: var(--fpt-ink); border-bottom-color: var(--fpt-accent); font-weight: 800; }

.afv-home-langs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .5rem;
	padding: .625rem var(--fpt-pad);
	border-bottom: 1px solid var(--fpt-line);
	color: var(--fpt-muted);
	font-size: .875rem;
}
.afv-home-langs__label { font-weight: 650; }
.afv-home-langs__flag {
	display: inline-grid;
	place-items: center;
	min-width: 2.25rem;
	height: 2rem;
	border: 1px solid var(--fpt-line);
	border-radius: 8px;
	text-decoration: none !important;
}
.afv-home-langs__flag.is-active { border-color: var(--fpt-accent); background: var(--fpt-tint); }
.afv-feed-status:not(:empty), .afv-intro { padding: .75rem var(--fpt-pad); border-bottom: 1px solid var(--fpt-line); color: var(--fpt-muted); }
.afv-new-posts:not([hidden]) {
	position: sticky;
	top: calc(4.25rem + var(--fpt-header) + var(--fpt-admin));
	z-index: 15;
	display: block;
	width: max-content;
	max-width: calc(100% - 2rem);
	margin: .75rem auto !important;
	padding: .5rem 1rem;
	border: 0;
	border-radius: 999px;
	background: var(--fpt-accent);
	color: var(--fpt-on-accent);
	font: inherit;
	font-weight: 750;
	box-shadow: var(--fpt-shadow);
	cursor: pointer;
}

/* ---------- Posts in a feed ----------------------------------------- */
/*
 * The avatar sits beside the author line only. The text below runs the full
 * column width, which gives every line of a post more room on phones.
 */
.afv-timeline { margin: 0 !important; }
.afv-timeline .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.afv-timeline .wp-block-post-template > li { margin: 0 !important; padding: 0 !important; }
.afv-timeline .wp-block-post-template > li + li { border-top: 1px solid var(--fpt-line); }

.afv-post--list {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	column-gap: .75rem;
	align-items: center;
	padding: 1.125rem var(--fpt-pad) .5rem;
	cursor: pointer;
	transition: background-color .15s;
}
.afv-post--list:hover { background: var(--fpt-hover); }
.afv-post--list > .wp-block-avatar { grid-column: 1; grid-row: 1; margin: 0 !important; }
.afv-post--list .afv-post__body { display: contents; }
.afv-post--list .afv-post__body > * { grid-column: 1 / -1; margin: .625rem 0 0 !important; }
.afv-post--list .afv-post__body > .afv-post__meta { grid-column: 2; grid-row: 1; margin: 0 !important; }

.wp-block-avatar { margin: 0; line-height: 0; }
.wp-block-avatar img { display: block; border-radius: 50%; background: var(--fpt-mist); object-fit: cover; }
.afv-post--list > .wp-block-avatar img { width: 3rem; height: 3rem; }

.afv-post__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: .5rem;
	row-gap: 0;
	min-width: 0;
	color: var(--fpt-muted);
	font-size: .875rem;
	line-height: 1.35;
}
.afv-post__meta > * { margin: 0 !important; }
.afv-post__meta .wp-block-post-author-name {
	flex-basis: 100%;
	min-width: 0;
	font-size: 1.0625rem;
	font-weight: 750;
	letter-spacing: -.005em;
}
.afv-post__meta .wp-block-post-author-name a { color: var(--fpt-ink); text-decoration: none; }
.afv-post__meta .wp-block-post-author-name a:hover { text-decoration: underline; }
.afv-post__meta .afv-handle {
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--fpt-muted);
}
.afv-post__meta .wp-block-post-date, .afv-post__meta .wp-block-post-date a { color: var(--fpt-muted); text-decoration: none; white-space: nowrap; }
.afv-post__meta .wp-block-post-date a:hover { color: var(--fpt-ink); text-decoration: underline; }
.afv-post__meta .afv-edited, .afv-post__meta .afv-edited-sep { color: var(--fpt-muted); }

/* Reading text. */
.afv-post__content, .afv-post__excerpt {
	color: var(--fpt-ink);
	font-size: 1.0625rem;
	line-height: var(--fpt-read-leading);
	letter-spacing: var(--fpt-read-tracking);
	hyphens: manual;
}
.afv-post__content > * { margin-block: .7em 0 !important; }
.afv-post__content > :first-child { margin-block-start: 0 !important; }
.afv-post__content p, .afv-post__excerpt p { margin: 0; }
.afv-post__content p + p { margin-top: .7em; }
.afv-post__content a { color: var(--fpt-accent); text-decoration: none; }
.afv-post__content a:hover { text-decoration: underline; }
.afv-post__content a.mention, .afv-post__content a.hashtag, .afv-post__content a[rel~="tag"] { font-weight: 650; }
.afv-post__content blockquote {
	margin-inline: 0;
	padding: .1rem 0 .1rem 1rem;
	border-inline-start: 3px solid var(--fpt-line-strong);
	color: var(--fpt-ink-soft);
}
.afv-post__content :is(ul, ol) { padding-inline-start: 1.4em; }
.afv-post__content li + li { margin-top: .25em; }
.afv-post__content code { padding: .1em .35em; border-radius: 5px; background: var(--fpt-mist); font-size: .9em; }
.afv-post__content pre { overflow-x: auto; padding: .9rem 1rem; border-radius: var(--fpt-radius-sm); background: var(--fpt-mist); font-size: .875rem; line-height: 1.5; }
.afv-post__content :is(h1, h2, h3, h4) { font-family: var(--fpt-serif); font-size: 1.25rem; line-height: 1.3; }
.afv-post__content figure { margin-inline: 0; }
.afv-post__content img, .afv-post__content video, .afv-post__image img, .afv-media :is(img, video) {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: var(--fpt-radius);
	background: var(--fpt-mist);
	box-shadow: inset 0 0 0 1px var(--fpt-line);
}
.afv-post--list .afv-post__content .wp-block-image img,
.afv-post--list .afv-post__content > figure img { width: 100%; max-height: 34rem; object-fit: cover; }
.afv-post__content figcaption { margin-top: .4rem; color: var(--fpt-muted); font-size: .875rem; }
.afv-media { gap: .25rem; border-radius: var(--fpt-radius); overflow: hidden; }
.afv-media :is(img, video) { border-radius: 0; box-shadow: none; }
.afv-media--1 { border-radius: var(--fpt-radius); }

/* Articles in a list: serif title, picture and excerpt. */
.afv-post__title { font-family: var(--fpt-serif); font-size: 1.375rem; font-weight: 650; line-height: 1.25; letter-spacing: -.01em; }
.afv-post__title a { color: var(--fpt-ink); text-decoration: none; }
.afv-post__title a:hover { text-decoration: underline; }
.afv-post__image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.afv-post__excerpt { color: var(--fpt-ink-soft); }
.afv-post__excerpt .wp-block-post-excerpt__more-text { display: none; }

/* Quotes, link cards, content warnings, polls. */
.afv-main .afv-quote,
.afv-main .afv-card,
.afv-main .afv-link-preview,
.afv-main .afv-bsky-quote {
	border: 1px solid var(--fpt-line);
	border-radius: var(--fpt-radius);
	background: var(--fpt-raised);
	color: var(--fpt-ink);
}
.afv-main .afv-quote { padding: .875rem 1rem; font-size: 1rem; line-height: 1.5; }
.afv-main .afv-card:hover, .afv-main .afv-quote:hover { border-color: var(--fpt-line-strong); }
/* Content warnings: the warning is a bar you tap to show the post; the
   post itself gets the same margins as everywhere else. */
.afv-main :is(details.afv-cw, details.afv-warning) {
	margin-block: .25rem 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--fpt-line);
	border-radius: var(--fpt-radius);
	background: var(--fpt-raised);
}
.afv-main :is(details.afv-cw, details.afv-warning) > summary {
	display: flex;
	align-items: center;
	gap: .625rem;
	min-height: 2.75rem;
	margin: 0 !important;
	padding: .625rem .875rem;
	border-radius: 0;
	background: var(--fpt-mist);
	color: var(--fpt-ink);
	font-size: .9688rem;
	font-weight: 650;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
}
.afv-main :is(details.afv-cw, details.afv-warning) > summary::-webkit-details-marker { display: none; }
.afv-main :is(details.afv-cw, details.afv-warning) > summary::before {
	content: "";
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	background: var(--fpt-muted);
	-webkit-mask: var(--fpt-icon-warning) center / contain no-repeat;
	mask: var(--fpt-icon-warning) center / contain no-repeat;
}
.afv-main :is(details.afv-cw, details.afv-warning) > summary::after {
	content: "";
	flex: none;
	width: .5rem;
	height: .5rem;
	margin-inline-start: auto;
	border-right: 2px solid var(--fpt-muted);
	border-bottom: 2px solid var(--fpt-muted);
	transform: translateY(-2px) rotate(45deg);
	transition: transform .15s;
}
.afv-main :is(details.afv-cw, details.afv-warning)[open] > summary { border-bottom: 1px solid var(--fpt-line); }
.afv-main :is(details.afv-cw, details.afv-warning)[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.afv-main :is(details.afv-cw, details.afv-warning) > summary:hover { background: var(--fpt-hover); }
.afv-main :is(details.afv-cw, details.afv-warning) > :not(summary) { margin: .75rem 1rem 0 !important; }
.afv-main :is(details.afv-cw, details.afv-warning) > :not(summary):last-child { margin-bottom: 1rem !important; }
.afv-main :is(details.afv-cw, details.afv-warning) > :is(figure, .afv-media, img, video) { margin-inline: .75rem !important; }
.afv-poll { font-size: 1rem; }
.afv-poll__bar { border-radius: 6px; }

/* Actions: generous tap targets, evenly spread, "more" at the far end. */
.afv-main .afv-actions {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	max-width: none;
	margin-inline: -.5rem !important;
	padding: 0;
	border: 0;
}
.afv-post--list .afv-actions { margin-top: .375rem !important; }
.afv-main .afv-actions > .afv-action { flex: 0 1 5.25rem; justify-content: flex-start; }
.afv-main .afv-actions > .afv-more,
.afv-main .afv-actions > .afv-feed-more { position: relative; margin-inline-start: auto; }
.afv-main .afv-action {
	gap: .4rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: .25rem .5rem;
	border-radius: 999px;
	color: var(--fpt-muted);
	font-size: .9375rem;
	font-weight: 600;
}
.afv-main .afv-action svg { width: 1.25rem; height: 1.25rem; flex: none; }
.afv-main .afv-action .afv-count:empty,
.afv-main .afv-action .afv-count:is([data-count="0"]) { display: none; }
.afv-main .afv-action:hover { background: var(--fpt-mist); color: var(--fpt-ink); }
.afv-main .afv-action--reply:hover { color: var(--fpt-accent); background: var(--fpt-tint); }
.afv-main .afv-action--repost:hover, .afv-main .afv-action--repost[aria-pressed="true"] { color: var(--fpt-repost); background: color-mix(in srgb, var(--fpt-repost) 10%, transparent); }
.afv-main .afv-action--like:hover, .afv-main .afv-action--like[aria-pressed="true"] { color: var(--fpt-like); background: color-mix(in srgb, var(--fpt-like) 10%, transparent); }
.afv-main .afv-action--bookmark[aria-pressed="true"] { color: var(--fpt-accent); }
/* FediPress moves each post's "more" menu to the post's top corner. */
.afv-main .afv-feed-more.afv-feed-more--corner { inset-block-start: .875rem; inset-inline-end: calc(var(--fpt-pad) - .625rem); }
.afv-main .afv-feed-more--corner > [data-afv-more] {
	width: 2.5rem;
	min-width: 2.5rem;
	height: 2.5rem;
	min-height: 2.5rem;
	padding: 0;
	justify-content: center;
	border: 0;
	background: transparent;
	color: var(--fpt-muted);
}
.afv-main .afv-feed-more--corner > [data-afv-more]:hover,
.afv-main .afv-feed-more--corner > [data-afv-more][aria-expanded="true"] { background: var(--fpt-mist); color: var(--fpt-ink); }
.afv-main .wp-block-post:has(> .afv-feed-more) .afv-post__meta,
.afv-main .afv-thread__item:has(> .afv-feed-more) .afv-post__meta { padding-inline-end: 2.25rem; }
.afv-more__menu {
	padding: .375rem !important;
	border: 1px solid var(--fpt-line) !important;
	border-radius: var(--fpt-radius) !important;
	background: var(--fpt-raised) !important;
	box-shadow: var(--fpt-shadow) !important;
}
.afv-more__menu > * { min-height: 2.5rem; border-radius: 8px !important; color: var(--fpt-ink) !important; font-size: 1rem !important; }
.afv-more__menu > *:hover { background: var(--fpt-mist) !important; }
.afv-more__menu .is-danger { color: var(--fpt-like) !important; }

.afv-pinned-label, .afv-boost {
	grid-column: 1 / -1;
	color: var(--fpt-muted);
	font-size: .875rem;
	font-weight: 600;
}

/* ---------- A single post and its conversation ---------------------- */
.afv-post--single { padding: 1.25rem var(--fpt-pad) .5rem; border-bottom: 1px solid var(--fpt-line); }
.afv-post--single > * { margin: 0 !important; }
.afv-post--single > * + * { margin-top: 1rem !important; }
.afv-post--single .afv-post__head { display: flex; align-items: center; gap: .875rem; }
.afv-post--single .afv-post__head > * { margin: 0 !important; }
.afv-post--single .afv-post__head .wp-block-avatar img { width: 3.25rem; height: 3.25rem; }
.afv-post--single .afv-post__meta .wp-block-post-author-name { font-size: 1.125rem; }
.afv-post--single .afv-post__content { font-size: 1.25rem; line-height: 1.55; }
.afv-post--single .afv-post__title { font-size: 1.875rem; }
.afv-post--single .afv-post__tags { font-size: .9375rem; }
.afv-post--single .afv-post__tags a { font-weight: 650; text-decoration: none; }
.afv-post--single > .afv-actions { margin-top: .5rem !important; }
.afv-post--single > .afv-actions + .afv-thread-view { margin-top: .5rem !important; }
.afv-reactions { color: var(--fpt-muted); font-size: .9375rem; }

.afv-thread__item {
	grid-template-columns: 2.75rem minmax(0, 1fr) !important;
	column-gap: .75rem !important;
	padding: 1rem var(--fpt-pad) .5rem !important;
	border-color: var(--fpt-line) !important;
}
.afv-thread__item .afv-thread__avatar img, .afv-thread__item > a img { width: 2.75rem; height: 2.75rem; border-radius: 50%; object-fit: cover; }
.afv-thread__item .afv-post__meta { font-size: .875rem; }
.afv-thread__item .afv-thread__name { color: var(--fpt-ink); font-size: 1rem; font-weight: 750; text-decoration: none; }
.afv-thread__item .afv-thread__date { color: var(--fpt-muted); text-decoration: none; }
.afv-thread__item .afv-post__content { font-size: 1.0625rem; }
.afv-thread__item.is-focus { background: var(--fpt-tint) !important; }
.afv-thread__item.is-focus .afv-post__content { font-size: 1.25rem; line-height: 1.55; }
.afv-thread__item.is-parent::after { background: var(--fpt-line-strong) !important; }
.afv-thread__replies .afv-thread__replies { border-inline-start-color: var(--fpt-line-strong) !important; }
.afv-post--single .afv-single-discussion > .afv-thread__replies { margin: 0 !important; }
.afv-bsky-foot, .afv-discussion-counts { color: var(--fpt-muted); }

.afv-thread { margin: 0 !important; }
.afv-thread > * { margin-block: 0; }
.afv-thread__title {
	padding: 1.25rem var(--fpt-pad) .5rem;
	margin: 0 !important;
	font-family: var(--fpt-serif);
	font-size: 1.1875rem;
	font-weight: 650;
}
.afv-thread ol { margin: 0; padding: 0; list-style: none; }
.afv-thread .wp-block-comment-template > li { border-bottom: 1px solid var(--fpt-line); }
.afv-reply { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .75rem; padding: 1rem var(--fpt-pad); }
.afv-reply > *, .afv-reply__body > * { margin-block: 0; }
.afv-reply__body > * + * { margin-top: .3rem; }
.afv-reply .wp-block-comment-content { font-size: 1.0625rem; line-height: 1.55; }
.afv-reply__actions { display: flex; gap: 1rem; font-size: .875rem; }
.afv-reply__actions a { color: var(--fpt-muted); font-weight: 600; }

.afv-reply-form { padding: 1.25rem var(--fpt-pad); margin: 0 !important; }
.afv-reply-form .comment-reply-title { margin: 0 0 .75rem; font-family: var(--fpt-serif); font-size: 1.1875rem; }
.afv-reply-form .logged-in-as, .afv-reply-form .comment-notes { color: var(--fpt-muted); font-size: .875rem; }
.afv-reply-form label { display: block; margin-bottom: .25rem; color: var(--fpt-muted); font-size: .875rem; font-weight: 650; }
.afv-reply-form .comment-form-cookies-consent label { display: inline; }


/* FediPress's unified conversation under a single post. */
body.afv-unified-single-discussion .afv-main .afv-single-discussion {
	width: auto !important;
	max-width: none !important;
	margin: .5rem calc(var(--fpt-pad) * -1) 0 !important;
	border-top: 1px solid var(--fpt-line) !important;
}
body.afv-unified-single-discussion .afv-main .afv-single-discussion__list > li {
	padding: 1rem var(--fpt-pad) .625rem !important;
	border-bottom: 1px solid var(--fpt-line) !important;
}
body.afv-unified-single-discussion .afv-main .afv-single-discussion__list > li:last-child { border-bottom: 0 !important; }
body.afv-unified-single-discussion .afv-main .afv-single-discussion .afv-post__content { font-size: 1.0625rem !important; line-height: 1.55 !important; }
body.afv-unified-single-discussion .afv-main .afv-single-discussion .afv-discussion-meta { font-size: .875rem; }
body.afv-unified-single-discussion .afv-main .afv-single-discussion .afv-thread__name { color: var(--fpt-ink); font-size: 1rem; }
body.afv-unified-single-discussion .afv-main .afv-single-discussion .afv-bsky-foot :is(.afv-actions--comment, .afv-at-acts, .afv-discussion-counts) {
	display: flex !important;
	justify-content: flex-start !important;
	gap: 2.25rem !important;
	color: var(--fpt-muted);
}
.afv-main .afv-single-discussion .afv-feed-more.afv-feed-more--corner { inset-block-start: -.45rem; inset-inline-end: -.5rem; }

/* ---------- Profiles ------------------------------------------------- */
.afv-main .afv-profile {
	position: relative;
	margin: 0 !important;
	border: 0;
	border-bottom: 1px solid var(--fpt-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}
.afv-main .afv-profile:has(.afv-menu[open]) { z-index: 25; }
.afv-main .afv-profile__cover {
	aspect-ratio: 3 / 1;
	min-height: 7rem;
	overflow: hidden;
	background:
		radial-gradient(120% 140% at 15% 0%, color-mix(in srgb, var(--fpt-accent) 55%, var(--fpt-paper)) 0%, transparent 60%),
		linear-gradient(160deg, color-mix(in srgb, var(--fpt-accent) 30%, var(--fpt-mist)), var(--fpt-mist));
}
.afv-main .afv-profile__cover img { width: 100%; height: 100%; object-fit: cover; }
.afv-main .afv-profile__head {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	gap: .75rem;
	min-width: 0;
	margin-top: 0 !important;
	padding: .75rem var(--fpt-pad) .5rem !important;
}
.afv-main .afv-profile__head .afv-profile__avatar {
	position: relative;
	width: 6.5rem;
	height: 6.5rem;
	margin-top: -4rem;
	border: 4px solid var(--fpt-paper);
	border-radius: 50%;
	box-sizing: border-box;
	object-fit: cover;
	background: var(--fpt-mist);
}
.afv-main .afv-profile__buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: .5rem;
	margin: 0 0 0 auto !important;
	padding: 0 0 .125rem;
}
/* Every profile control is the same height and shape, on a solid background,
   so it stays readable where it meets the cover picture. */
.afv-main .afv-profile__buttons > :is(a, button).wp-element-button,
.afv-main .afv-profile__buttons .afv-menu__toggle {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 2.5rem;
	min-height: 2.5rem;
	margin: 0;
	border-radius: var(--fpt-button-radius) !important;
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
}
.afv-main .afv-profile__buttons > :is(a, button).wp-element-button { padding: 0 1rem; }
.afv-main .afv-profile__buttons > .afv-button-quiet.wp-element-button,
.afv-main .afv-profile__buttons .afv-menu__toggle {
	border: 1px solid var(--fpt-line-strong) !important;
	background: var(--fpt-paper) !important;
	color: var(--fpt-ink) !important;
	box-shadow: none !important;
}
.afv-main .afv-profile__buttons > .afv-button-quiet.wp-element-button:hover,
.afv-main .afv-profile__buttons .afv-menu__toggle:hover,
.afv-main .afv-profile__buttons .afv-menu[open] > .afv-menu__toggle {
	border-color: var(--fpt-accent) !important;
	background: var(--fpt-mist) !important;
	filter: none;
}
.afv-main .afv-profile__buttons > .afv-menu { position: relative; flex: none; margin: 0; padding: 0; }
.afv-main .afv-profile__buttons .afv-menu__toggle {
	width: 2.5rem;
	min-width: 2.5rem;
	padding: 0;
	list-style: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.afv-main .afv-profile__buttons .afv-menu__toggle::-webkit-details-marker { display: none; }
.afv-main .afv-profile__buttons .afv-menu__toggle::marker { content: ""; }
.afv-main .afv-profile__buttons .afv-menu__toggle svg { display: block; width: 1.25rem; height: 1.25rem; fill: currentColor; }
.afv-main .afv-profile__buttons .afv-menu__panel {
	z-index: 40;
	inset-inline-end: 0;
	top: calc(100% + .5rem);
	min-width: min(16rem, calc(100vw - 2rem));
	border: 1px solid var(--fpt-line);
	border-radius: var(--fpt-radius);
	background: var(--fpt-raised);
	box-shadow: var(--fpt-shadow);
}
.afv-main .afv-profile__text { padding: 0 var(--fpt-pad) 1.125rem !important; }
.afv-main .afv-profile__name {
	font-family: var(--fpt-serif);
	font-size: 1.75rem;
	font-weight: 650;
	letter-spacing: -.015em;
	line-height: 1.15;
	color: var(--fpt-ink);
	white-space: normal;
	overflow-wrap: anywhere;
}
.afv-main .afv-profile__handle { color: var(--fpt-muted); font-size: .9375rem; }
.afv-main .afv-profile__bio { font-size: 1.0625rem; line-height: 1.58; }
.afv-main .afv-profile__counts { gap: .5rem 1.25rem; color: var(--fpt-muted); font-size: .9375rem; }
.afv-main .afv-profile__counts strong { color: var(--fpt-ink); font-size: 1.0625rem; }
.afv-main .afv-profile__fields { border: 1px solid var(--fpt-line); border-radius: var(--fpt-radius); overflow: hidden; }
.afv-main:has(.afv-profile) .afv-tabs { position: sticky; top: calc(3.75rem + var(--fpt-header) + var(--fpt-admin)); z-index: 18; }

/* ---------- Notifications ------------------------------------------- */
.afv-notify-filters {
	display: flex;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 calc(var(--fpt-pad) - .5rem) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--fpt-line) !important;
	border-radius: 0 !important;
	background: var(--fpt-paper) !important;
	overflow-x: auto;
	scrollbar-width: none;
	white-space: nowrap;
}
.afv-notify-filters::-webkit-scrollbar { display: none; }
.afv-notify-filters a {
	flex: none;
	padding: .9rem .75rem .8rem !important;
	border: 0 !important;
	border-bottom: 3px solid transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--fpt-muted) !important;
	font-size: .9375rem !important;
	font-weight: 650;
	text-decoration: none;
}
.afv-notify-filters a:hover { color: var(--fpt-ink) !important; }
.afv-notify-filters a[aria-current] { color: var(--fpt-ink) !important; border-bottom-color: var(--fpt-accent) !important; font-weight: 800; }
.afv-notify-filters:has(a[href*="filter=mentions"]) a[href*="filter=replies"] { display: none !important; }
.afv-notes { margin: 0 !important; padding: 0 !important; list-style: none; }
.afv-note {
	position: relative;
	padding: 1rem var(--fpt-pad) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--fpt-line) !important;
	border-radius: 0 !important;
	background: transparent;
}
.afv-note:hover { background: var(--fpt-hover); }
.afv-note.is-unread { background: var(--fpt-tint); }
.afv-note.is-unread::before {
	content: "";
	position: absolute;
	inset-block-start: 1.35rem;
	inset-inline-start: .45rem;
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: var(--fpt-lantern);
}
.afv-note__text { font-size: 1rem; line-height: 1.5; }
.afv-note__excerpt { color: var(--fpt-muted); font-size: .9375rem; line-height: 1.5; }
.afv-note__icon { color: var(--fpt-accent) !important; }
.afv-note:is(.afv-note--like, .afv-note--atproto_like, .afv-note--community_up) .afv-note__icon { color: var(--fpt-like) !important; }
.afv-note:is(.afv-note--repost, .afv-note--atproto_repost) .afv-note__icon { color: var(--fpt-repost) !important; }

/* ---------- Unread badges ------------------------------------------- */
.fpt-slot .afv-badge {
	position: absolute;
	inset-block-start: var(--fpt-badge-top);
	inset-inline-start: var(--fpt-badge-start);
	z-index: 1;
	display: inline-grid !important;
	place-items: center;
	min-width: 1.25rem;
	height: 1.25rem;
	padding: 0 .3rem;
	box-sizing: border-box;
	border-radius: 999px;
	box-shadow: 0 0 0 2px var(--fpt-badge-ring);
	background: var(--fpt-lantern);
	color: var(--fpt-lantern-ink);
	font-size: .75rem;
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

/* ---------- Sidebar -------------------------------------------------- */
.afv-side {
	position: sticky !important;
	top: calc(var(--fpt-admin) + var(--fpt-header)) !important;
	height: calc(100vh - var(--fpt-admin) - var(--fpt-header)) !important;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: none;
}
.afv-side__inner.fpt-side { display: flex; flex-direction: column; gap: 1rem; padding: var(--fpt-side-top) 0 1.5rem; }
.fpt-side > * { margin: 0 !important; }
.fpt-search .wp-block-search__inside-wrapper {
	display: flex;
	align-items: center;
	min-height: 2.875rem;
	padding: 0 .375rem 0 .5rem;
	border: 1px solid var(--fpt-line);
	border-radius: var(--fpt-radius);
	background: var(--fpt-paper);
}
.fpt-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--fpt-accent); box-shadow: 0 0 0 3px var(--fpt-tint-strong); }
.fpt-search .wp-block-search__input {
	flex: 1;
	min-width: 0;
	padding: .5rem;
	border: 0;
	background: transparent;
	color: var(--fpt-ink);
	font-size: 1rem;
	outline: 0 !important;
	box-shadow: none !important;
}
.fpt-search .wp-block-search__input::placeholder { color: var(--fpt-muted); opacity: 1; }
.fpt-search .wp-block-search__button {
	order: -1;
	display: grid;
	place-items: center;
	margin: 0;
	padding: .25rem;
	border: 0;
	background: transparent !important;
	color: var(--fpt-muted) !important;
}
.fpt-search .wp-block-search__button svg { width: 1.375rem; height: 1.375rem; fill: currentColor; min-width: 0; }

.fpt-panels { display: grid; gap: 1rem; }
.fpt-panel {
	padding: 1rem 1.125rem;
	border: 1px solid var(--fpt-line);
	border-radius: var(--fpt-radius);
	background: var(--fpt-paper);
	min-width: 0;
}
.fpt-panel .afv-panel, .fpt-panel .afv-suggest, .fpt-panel .afv-trends {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.fpt-panel__title, .fpt-panel .afv-panel__title {
	margin: 0 0 .5rem !important;
	font-family: var(--fpt-serif);
	font-size: 1.125rem;
	font-weight: 650;
	line-height: 1.3;
	color: var(--fpt-ink);
}
.fpt-panel ul { margin: 0; padding: 0; list-style: none; }
.fpt-panel li { padding: .625rem 0; border-top: 1px solid var(--fpt-line); }
.fpt-panel li:first-child { border-top: 0; }
.fpt-panel li > a { display: flex; align-items: center; gap: .75rem; min-width: 0; color: var(--fpt-ink); text-decoration: none; }
.fpt-panel li > a:hover strong { text-decoration: underline; }
.fpt-panel li strong { display: block; font-size: 1rem; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.fpt-panel li small { display: block; margin-top: .125rem; color: var(--fpt-muted); font-size: .875rem; }
.fpt-panel__mark {
	display: grid;
	place-items: center;
	flex: none;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 10px;
	background: var(--fpt-tint-strong);
	color: var(--fpt-accent);
	font-family: var(--fpt-serif);
	font-weight: 700;
}
.fpt-panel__more, .fpt-panel .afv-panel__more {
	display: block;
	margin-top: .375rem !important;
	padding-top: .625rem;
	border-top: 1px solid var(--fpt-line);
	color: var(--fpt-accent);
	font-size: .9375rem;
	font-weight: 700;
	text-decoration: none;
}
.fpt-panel .afv-trends li a { flex-direction: column; align-items: flex-start; gap: 0; }
.fpt-panel .afv-follow__who { display: flex; align-items: center; gap: .625rem; min-width: 0; color: var(--fpt-ink); text-decoration: none; }
.fpt-panel .afv-follow__who img { flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%; object-fit: cover; }
.fpt-panel .afv-follow__text { min-width: 0; }
.fpt-panel .afv-follow__text strong { display: block; font-size: 1rem; }
.fpt-panel .afv-follow__text > span { display: block; color: var(--fpt-muted); font-size: .875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fpt-panel .afv-suggest__why { color: var(--fpt-muted); font-size: .8125rem; white-space: normal; }
.fpt-panel .afv-suggest__buttons { display: flex; gap: .5rem; margin: .5rem 0 0 3.125rem; }
.fpt-panel .afv-suggest__buttons .wp-element-button { min-height: 2.25rem; padding: .35rem .85rem; font-size: .875rem; }
.fpt-panel .afv-mod { border: 0; background: transparent; color: var(--fpt-muted); font-size: .875rem; }

.fpt-colophon { padding: 0 .25rem; color: var(--fpt-muted); font-size: .875rem; line-height: 1.55; }
.fpt-colophon p { margin: 0 0 .375rem; }
.fpt-colophon strong { color: var(--fpt-ink-soft); }
.fpt-colophon a { margin-inline-end: .875rem; color: var(--fpt-muted); }

/* ---------- Plugin pages, forms and buttons -------------------------- */
.afv-main > :is(.afv-about, .afv-discover, .afv-directory, .afv-trends, .afv-suggest, .afv-list-index,
	.afv-prefpage, .afv-prefs, .afv-signup, .afv-login, .afv-filter-list, .afv-filter-form, .afv-people,
	.afv-full-list, .afv-notify-settings, .afv-dm-list, .afv-dm-chat, .afv-photos, .afv-collections,
	.afv-article-reader, .afv-professional-hub, .afv-messages, .afv-groups, .afv-page, .afv-welcome, .afv-news-compose) {
	box-sizing: border-box;
	margin: 0 !important;
	padding: 1.25rem var(--fpt-pad);
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
/* News: quote or share in a community (full-page form). */
.afv-news-compose { display: flex; flex-direction: column; gap: 1rem; }
.afv-news-compose > * { margin: 0; }
.afv-news-compose__back { align-self: flex-start; display: inline-flex; align-items: center; min-height: 2.25rem; font-weight: 600; text-decoration: none; }
.afv-news-compose h1 { font-family: var(--fpt-serif); font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); line-height: 1.2; }
.afv-news-compose__preview { display: grid; gap: .25rem; padding: .875rem 1rem; border: 1px solid var(--fpt-line); border-inline-start: 4px solid var(--fpt-accent); border-radius: var(--fpt-radius); background: var(--fpt-raised); min-width: 0; }
.afv-news-compose__preview strong { font-size: 1.0625rem; line-height: 1.35; }
.afv-news-compose__preview small { color: var(--fpt-muted); font-size: .875rem; }
.afv-news-compose__preview span { color: var(--fpt-muted); font-size: .8125rem; overflow-wrap: anywhere; }
.afv-news-compose__help, .afv-news-compose__tag { color: var(--fpt-muted); font-size: .9375rem; line-height: 1.5; }
.afv-news-compose__form { display: flex; flex-direction: column; gap: 1rem; }
.afv-news-compose__form > p { margin: -.5rem 0 0; }
.afv-news-compose__form label { display: flex; flex-direction: column; gap: .375rem; font-weight: 600; font-size: .9375rem; }
.afv-news-compose__form :is(input, select, textarea) { width: 100%; box-sizing: border-box; font-weight: 400; }
.afv-news-compose__form input[readonly] { color: var(--fpt-muted); background: var(--fpt-mist); cursor: default; text-overflow: ellipsis; }
.afv-news-compose__form textarea { min-height: 8rem; resize: vertical; }
.afv-news-compose__form [type="submit"] { align-self: flex-start; }
/* The photo feed is a narrow column; keep it in the middle of the main column. */
.afv-main > .afv-photos { margin-inline: auto !important; }
.afv-photo__time { display: inline-flex; align-items: center; min-height: 1.5rem; }
.afv-main :is(.afv-card, .afv-news-card, .afv-photo, .afv-remote-result, .afv-panel, .afv-welcome__step, .afv-g-card, .afv-instance-card) {
	border-color: var(--fpt-line);
	border-radius: var(--fpt-radius);
	background-color: var(--fpt-raised);
	color: var(--fpt-ink);
}
.afv-main :is(input, textarea, select):not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="file"], [type="range"]),
.afv-dialog :is(input, textarea, select):not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="file"], [type="range"]),
.afv-reply-form :is(input, textarea):not([type="checkbox"], [type="submit"]) {
	box-sizing: border-box;
	max-width: 100%;
	min-height: 2.75rem;
	padding: .55rem .75rem;
	border: 1px solid var(--fpt-line-strong);
	border-radius: var(--fpt-radius-sm);
	background: var(--fpt-raised);
	color: var(--fpt-ink);
	font: inherit;
	font-size: 1rem;
}
.afv-reply-form :is(input, textarea):not([type="checkbox"], [type="submit"]) { width: 100%; }
.afv-main :is(input, textarea, select):focus,
.afv-dialog :is(input, textarea, select):focus { border-color: var(--fpt-accent); outline: 0; box-shadow: 0 0 0 3px var(--fpt-tint-strong); }
:is(.afv-main, .afv-dialog) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--fpt-accent); width: 1.15rem; height: 1.15rem; }

.wp-element-button, .wp-block-button__link, .afv-reply-form [type="submit"] {
	min-height: 2.75rem;
	border: 0;
	border-radius: var(--fpt-button-radius);
	background: var(--fpt-accent);
	color: var(--fpt-on-accent);
	font-weight: 700;
	cursor: pointer;
}
.wp-element-button:hover, .wp-block-button__link:hover, .afv-reply-form [type="submit"]:hover { filter: brightness(1.08); }
.afv-reply-form [type="submit"] { padding: .55rem 1.25rem; font: inherit; font-weight: 700; }
.fpt-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: .5rem 1.1rem;
	border-radius: var(--fpt-radius-sm);
	background: var(--fpt-accent);
	color: var(--fpt-on-accent);
	font-weight: 700;
	text-decoration: none !important;
}
.fpt-button--quiet { background: transparent; color: var(--fpt-ink); box-shadow: inset 0 0 0 1px var(--fpt-line-strong); }
.fpt-button--quiet:hover { background: var(--fpt-hover); }

.afv-pagination, .fpt-pagination { margin: 0 !important; padding: 1.25rem var(--fpt-pad) !important; border-top: 1px solid var(--fpt-line); }
.afv-pagination a { font-weight: 700; text-decoration: none; }
.afv-empty { margin: 0 !important; padding: 3.5rem 2rem !important; color: var(--fpt-muted); font-size: 1.0625rem; text-align: center; text-wrap: balance; }
.afv-page { padding: 1.25rem var(--fpt-pad) 2rem; font-size: 1.0625rem; line-height: 1.6; }
.afv-page > * { max-width: 40rem; }

/* Long-form articles and pages read in a serif. */
.single-afv_article .afv-post__content,
.afv-article-reader .afv-post__content,
.afv-article-reader .entry-content,
.afv-page.wp-block-post-content {
	font-family: var(--fpt-serif);
	font-size: 1.1875rem;
	line-height: 1.7;
}

/* ---------- Composer and dialogs ------------------------------------ */
.afv-main > .afv-composer-wrap, .afv-main > .afv-composer { display: none; }
.afv-fab { display: none !important; }

dialog.afv-dialog, dialog.fpt-dialog {
	box-sizing: border-box;
	width: min(36rem, calc(100vw - 2rem));
	max-height: calc(100svh - 4rem);
	margin: auto;
	padding: 1.25rem 1.25rem 1rem;
	border: 1px solid var(--fpt-line);
	border-radius: 20px;
	background: var(--fpt-raised);
	color: var(--fpt-ink);
	box-shadow: 0 30px 80px -20px rgb(0 0 0 / .45);
	overflow: auto;
}
dialog.afv-dialog::backdrop, dialog.fpt-dialog::backdrop { background: var(--fpt-scrim); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
dialog.afv-dialog[open], dialog.fpt-dialog[open] { animation: fpt-rise .2s ease-out; }
@keyframes fpt-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.afv-dialog h2, .fpt-dialog h2 { margin: 0; font-family: var(--fpt-serif); font-size: 1.375rem; font-weight: 650; }
.afv-dialog .afv-dialog__close { position: absolute; top: .75rem; right: .75rem; }
.afv-dialog .afv-dialog__close button {
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--fpt-muted);
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}
.afv-dialog .afv-dialog__close button:hover { background: var(--fpt-mist); color: var(--fpt-ink); }

dialog.afv-dialog--compose { width: min(38rem, calc(100vw - 2rem)); top: 8vh; margin-top: 0; padding: 1rem 1.25rem 1.125rem; }
.afv-dialog--compose .afv-composer {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: .75rem;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
.afv-dialog--compose .afv-composer:focus-within { background: transparent; }
.afv-dialog--compose .afv-composer__avatar img { width: 2.75rem; height: 2.75rem; border-radius: 50%; }
.afv-dialog--compose .afv-composer textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 9rem;
	padding: .25rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--fpt-ink);
	font: inherit;
	font-size: 1.1875rem;
	line-height: 1.55;
	resize: vertical;
	box-shadow: none !important;
}
.afv-dialog--compose .afv-composer textarea::placeholder { color: var(--fpt-muted); }
.afv-dialog--compose .afv-composer textarea:focus-visible { outline: 0 !important; }
.afv-dialog--compose .afv-composer__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem;
	margin-top: .75rem;
	padding-top: .75rem;
	border-top: 1px solid var(--fpt-line);
}
.afv-dialog--compose :is(.afv-composer__visibility, .afv-composer__language) { min-height: 2.5rem; border-radius: var(--fpt-radius-sm); }
.afv-dialog--compose .afv-composer__submit { min-height: 2.75rem; padding: .5rem 1.4rem; border-radius: var(--fpt-radius-sm) !important; font-size: 1rem; font-weight: 750; }

.fpt-composer-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 2.75rem .875rem 0; }
.fpt-composer-head h2 { flex: 1; min-width: 8rem; margin: 0 !important; font-size: 1.25rem; }
.fpt-composer-head :is(button, a) {
	box-sizing: border-box;
	height: 2.25rem;
	min-height: 2.25rem !important;
	margin: 0 !important;
	line-height: 1 !important;
	padding: .3rem .75rem;
	border: 0;
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px var(--fpt-line-strong);
	background: transparent;
	color: var(--fpt-ink);
	font: inherit;
	font-size: .875rem;
	font-weight: 650;
	text-decoration: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.fpt-composer-head :is(button, a):hover { background: var(--fpt-mist); }
/* Composer tool bar: every tool is the same 40 px square with its icon
   centred, in one row with even spacing; count and Publish sit at the end. */
.afv-dialog--compose .afv-composer__bar { gap: .25rem; row-gap: .25rem; }
.afv-dialog--compose .afv-composer__bar .afv-tool,
.afv-dialog--compose .afv-composer__bar .afv-emoji-picker > summary.afv-tool {
	box-sizing: border-box;
	position: relative;
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 2.5rem;
	min-width: 2.5rem;
	height: 2.5rem;
	min-height: 2.5rem;
	margin: 0 !important;
	padding: 0;
	border: 0;
	border-radius: var(--fpt-radius-sm);
	background: transparent;
	color: var(--fpt-accent);
	font: inherit;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	list-style: none;
}
.afv-dialog--compose .afv-composer__bar .afv-tool:hover,
.afv-dialog--compose .afv-composer__bar .afv-tool[aria-pressed="true"] { background: var(--fpt-tint); }
.afv-dialog--compose .afv-composer__bar .afv-tool svg { display: block; width: 1.25rem; height: 1.25rem; }
.afv-dialog--compose .afv-composer__bar .afv-tool--cw { font-size: .8125rem; font-weight: 800; letter-spacing: .02em; }
.afv-dialog--compose .afv-composer__bar .afv-tool input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.afv-dialog--compose .afv-composer__bar .afv-emoji-picker { position: relative; display: inline-flex; }
.afv-dialog--compose .afv-composer__bar .afv-emoji-picker > summary::-webkit-details-marker { display: none; }
.afv-dialog--compose .afv-composer__status:empty { display: none; }
.afv-dialog--compose .afv-composer__status:not(:empty) { flex: 1 1 100%; order: 9; color: var(--fpt-muted); font-size: .875rem; }
.afv-dialog--compose .afv-composer__count { margin-inline-start: auto; color: var(--fpt-muted); font-size: .875rem; font-variant-numeric: tabular-nums; }

/* "Also post on your AT account (Bluesky, Eurosky …)": rarely changed, so it
   only shows when "+" is open, as its own line under the extra tools. */
.afv-dialog--compose .afv-composer__more[hidden] ~ .afv-composer__at { display: none; }
.afv-dialog--compose .afv-composer__more:not([hidden]) ~ .afv-composer__at:not([hidden]) {
	order: 11;
	display: flex;
	flex: 1 0 100%;
	align-items: center;
	gap: .5rem;
	min-height: 2.5rem;
	padding: .125rem .25rem;
	color: var(--fpt-ink-soft);
	font-size: .875rem;
	font-weight: 600;
}
.afv-dialog--compose .afv-composer__at input { width: 1.125rem; height: 1.125rem; margin: 0; accent-color: var(--fpt-accent); }
.afv-dialog--compose .afv-composer__at .afv-software { flex: none; }
.afv-dialog--compose .afv-composer__at .screen-reader-text {
	position: static !important;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	white-space: normal;
}

/* FediPress's "+" (More options) opens a second row under the tool bar:
   content warning, thread, poll, schedule and message on the left; who can
   see the post and its language on the right. Who can see it is rarely
   changed, so it only appears here, quietly. */
.afv-dialog--compose .afv-tool--more { transform: none !important; }
.afv-dialog--compose .afv-tool--more > span[aria-hidden] { display: inline-block; transition: transform .15s; }
.afv-dialog--compose .afv-tool--more[aria-expanded="true"] { border-color: transparent; background: var(--fpt-tint); }
.afv-dialog--compose .afv-tool--more[aria-expanded="true"] > span[aria-hidden] { transform: rotate(45deg); }
.afv-dialog--compose .afv-composer__more:not([hidden]) {
	order: 10;
	display: flex;
	flex: 1 0 100%;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem;
	margin-top: .375rem;
	padding-top: .5rem;
	border-top: 1px dashed var(--fpt-line);
}
.afv-dialog--compose .afv-composer__more > .afv-tool { order: 1; }
/* Line break after the tools, so the label always sits right before its choice. */
.afv-dialog--compose .afv-composer__more:not([hidden])::after { content: ""; order: 2; flex-basis: 100%; height: 0; }
.afv-dialog--compose .afv-composer__more label[for="afv-modal-visibility"] {
	order: 3;
	position: static !important;
	width: auto;
	height: auto;
	margin: .25rem .625rem .25rem .25rem !important;
	padding: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	color: var(--fpt-muted);
	font-size: .8125rem;
	font-weight: 600;
	white-space: nowrap;
}
.afv-dialog--compose .afv-composer__more .afv-composer__visibility { order: 4; }
.afv-dialog--compose .afv-composer__more .afv-composer__language { order: 5; }
.afv-dialog--compose .afv-composer__more :is(.afv-composer__visibility, .afv-composer__language) {
	min-height: 2.25rem;
	padding: .25rem 1.75rem .25rem .625rem;
	border: 1px solid var(--fpt-line);
	border-radius: var(--fpt-radius-sm);
	background-color: transparent;
	color: var(--fpt-ink-soft);
	font-size: .875rem;
}
/* The theme's header already has Save draft, which uses this same button. */
.afv-dialog--compose .afv-composer__more .afv-composer__draft { display: none; }

.fpt-resume {
	position: fixed;
	z-index: 90;
	inset-inline-start: 50%;
	inset-block-end: calc(1.25rem + var(--fpt-tabbar));
	transform: translateX(-50%);
	padding: .7rem 1.25rem;
	border: 1px solid var(--fpt-line);
	border-radius: 999px;
	background: var(--fpt-raised);
	color: var(--fpt-ink);
	box-shadow: var(--fpt-shadow);
	font: inherit;
	font-weight: 750;
	cursor: pointer;
}
.fpt-resume[hidden] { display: none !important; }

/* Appearance */
.fpt-dialog { width: min(26rem, calc(100vw - 2rem)); }
.fpt-dialog__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.fpt-swatches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; padding: 0; border: 0; }
.fpt-swatches legend { margin-bottom: .5rem; padding: 0; font-weight: 750; }
.fpt-swatch {
	display: flex;
	align-items: center;
	gap: .6rem;
	min-height: 3rem;
	padding: .5rem .75rem;
	border: 0;
	border-radius: var(--fpt-radius-sm);
	box-shadow: inset 0 0 0 1px var(--fpt-line);
	background: var(--fpt-paper);
	color: var(--fpt-ink);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.fpt-swatch[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--fpt-accent); background: var(--fpt-tint); font-weight: 750; }
.fpt-swatch__dot { width: 1.125rem; height: 1.125rem; border-radius: 50%; flex: none; }
.fpt-dialog__note { margin: .625rem 0 1.25rem; color: var(--fpt-muted); font-size: .875rem; }
.fpt-dialog__box { padding: 1rem; border-radius: var(--fpt-radius); background: var(--fpt-mist); }
.fpt-dialog__box p { margin: .375rem 0 .875rem; color: var(--fpt-ink-soft); font-size: .9375rem; }

/* ---------- Smaller plugin pieces ----------------------------------- */
.afv-news-empty { padding: 2.5rem var(--fpt-pad); color: var(--fpt-muted); text-align: center; text-wrap: balance; }
.afv-news-empty strong { display: block; color: var(--fpt-ink); font-family: var(--fpt-serif); font-size: 1.1875rem; font-weight: 650; }
.afv-news-topbar p { margin: 0; }
.afv-news-topbar__manage { font-weight: 700; text-decoration: none; }
.afv-main form button:not([class]),
.afv-main form input[type="submit"]:not([class]) {
	min-height: 2.75rem;
	padding: .5rem 1rem;
	border: 0;
	border-radius: var(--fpt-radius-sm);
	background: var(--fpt-accent);
	color: var(--fpt-on-accent);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}


/* Buttons in a page's top bar (New message, Create group, Write article…):
   one compact height, never stretched by the bar. */
.afv-topbar :is(a, button).wp-element-button,
.afv-topbar .afv-dm-newbutton {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	align-self: center;
	height: 2.375rem;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 1rem !important;
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1 !important;
	white-space: nowrap;
	text-decoration: none;
}

/* ---------- Notifications heading ------------------------------------ */
/* FediPress puts its own heading row, with refresh and settings, inside the
   top bar. It lines up with every other page's title. */
.afv-topbar > .afv-notify-heading-row {
	display: flex;
	flex: 1;
	align-items: center;
	gap: .5rem;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}
.afv-notify-heading-row > .afv-topbar__title { flex: 1; margin: 0 !important; padding: 0 !important; }
.afv-notify-heading-actions { display: flex; flex: none; gap: .125rem; margin-inline-end: -.5rem; }
.afv-notify-heading-actions .afv-notify-gear {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--fpt-muted);
}
.afv-notify-heading-actions .afv-notify-gear:hover { background: var(--fpt-hover); color: var(--fpt-ink); }
.afv-notify-heading-actions .afv-notify-gear svg { width: 1.25rem; height: 1.25rem; }

/* "View profile" at the top of FediPress's account menu. */
.afv-switch__actions .fpt-account-profile { font-weight: 700; }

/* ---------- Buttons inside content ----------------------------------- */
/* FediPress's own buttons in pages and cards ("Follow and reply in
   FediPress", "Turn on", "Follow"…): one compact 40 px height instead of
   the tall default. Profile and top-bar buttons have their own rules. */
.afv-main :is(a, button).wp-element-button:not(.afv-topbar *, .afv-profile__buttons *, .afv-composer__submit),
.afv-main .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	min-height: 2.5rem;
	height: auto;
	padding: .5rem 1.1rem;
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}
.afv-bsky-bridge .wp-element-button { justify-self: start; }


/* ---------- Language flags ------------------------------------------- */
/* Drawn flags for every European language FediPress offers (and the other
   EU languages, ready for when it does), so they look the same on every
   system. A flag stands for the language, not a nationality. */
.afv-home-langs__flag[data-afv-home-lang="da"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=da"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=da&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="da"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="en"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=en"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=en&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="en"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="sv"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=sv"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=sv&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="sv"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="nb"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=nb"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=nb&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="nb"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="nn"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=nn"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=nn&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="nn"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="is"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=is"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=is&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="is"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="fi"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=fi"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=fi&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="fi"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="de"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=de"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=de&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="de"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="nl"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=nl"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=nl&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="nl"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="fr"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=fr"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=fr&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="fr"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="es"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=es"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=es&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="es"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="pt"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=pt"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=pt&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="pt"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="it"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=it"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=it&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="it"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="ca"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=ca"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=ca&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="ca"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="pl"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=pl"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=pl&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="pl"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="cs"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=cs"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=cs&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="cs"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="hu"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=hu"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=hu&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="hu"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="ro"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=ro"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=ro&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="ro"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="el"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=el"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=el&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="el"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="uk"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=uk"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=uk&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="uk"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="et"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=et"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=et&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="et"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="lv"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=lv"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=lv&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="lv"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="lt"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=lt"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=lt&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="lt"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="sk"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=sk"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=sk&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="sk"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="sl"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=sl"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=sl&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="sl"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="hr"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=hr"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=hr&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="hr"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="bg"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=bg"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=bg&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="bg"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="ga"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=ga"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=ga&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="ga"]) > span[aria-hidden="true"],
.afv-home-langs__flag[data-afv-home-lang="mt"] > span[aria-hidden="true"],
.afv-home-langs__flag[href$="sprog=mt"] > span[aria-hidden="true"],
.afv-home-langs__flag[href*="sprog=mt&"] > span[aria-hidden="true"],
.afv-advanced-search__flag:has(input[value="mt"]) > span[aria-hidden="true"] {
	display: inline-flex;
	font-size: 0 !important;
	line-height: 0;
}
.afv-home-langs__flag[data-afv-home-lang="da"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=da"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=da&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="da"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="en"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=en"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=en&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="en"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="sv"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=sv"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=sv&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="sv"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="nb"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=nb"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=nb&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="nb"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="nn"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=nn"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=nn&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="nn"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="is"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=is"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=is&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="is"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="fi"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=fi"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=fi&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="fi"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="de"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=de"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=de&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="de"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="nl"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=nl"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=nl&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="nl"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="fr"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=fr"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=fr&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="fr"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="es"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=es"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=es&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="es"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="pt"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=pt"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=pt&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="pt"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="it"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=it"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=it&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="it"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="ca"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=ca"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=ca&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="ca"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="pl"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=pl"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=pl&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="pl"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="cs"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=cs"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=cs&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="cs"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="hu"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=hu"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=hu&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="hu"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="ro"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=ro"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=ro&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="ro"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="el"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=el"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=el&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="el"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="uk"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=uk"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=uk&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="uk"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="et"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=et"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=et&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="et"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="lv"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=lv"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=lv&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="lv"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="lt"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=lt"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=lt&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="lt"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="sk"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=sk"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=sk&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="sk"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="sl"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=sl"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=sl&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="sl"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="hr"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=hr"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=hr&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="hr"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="bg"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=bg"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=bg&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="bg"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="ga"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=ga"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=ga&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="ga"]) > span[aria-hidden="true"]::before,
.afv-home-langs__flag[data-afv-home-lang="mt"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href$="sprog=mt"] > span[aria-hidden="true"]::before,
.afv-home-langs__flag[href*="sprog=mt&"] > span[aria-hidden="true"]::before,
.afv-advanced-search__flag:has(input[value="mt"]) > span[aria-hidden="true"]::before {
	content: "";
	width: 1.5rem;
	height: 1rem;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgb(0 0 0 / .15);
	background: var(--fpt-flag) center / 100% 100% no-repeat;
}
.afv-home-langs__flag[data-afv-home-lang="da"],
.afv-home-langs__flag[href$="sprog=da"],
.afv-home-langs__flag[href*="sprog=da&"],
.afv-advanced-search__flag:has(input[value="da"]) { --fpt-flag: url("../images/flags/dk.svg"); }
.afv-home-langs__flag[data-afv-home-lang="en"],
.afv-home-langs__flag[href$="sprog=en"],
.afv-home-langs__flag[href*="sprog=en&"],
.afv-advanced-search__flag:has(input[value="en"]) { --fpt-flag: url("../images/flags/gb.svg"); }
.afv-home-langs__flag[data-afv-home-lang="sv"],
.afv-home-langs__flag[href$="sprog=sv"],
.afv-home-langs__flag[href*="sprog=sv&"],
.afv-advanced-search__flag:has(input[value="sv"]) { --fpt-flag: url("../images/flags/se.svg"); }
.afv-home-langs__flag[data-afv-home-lang="nb"],
.afv-home-langs__flag[href$="sprog=nb"],
.afv-home-langs__flag[href*="sprog=nb&"],
.afv-advanced-search__flag:has(input[value="nb"]) { --fpt-flag: url("../images/flags/no.svg"); }
.afv-home-langs__flag[data-afv-home-lang="nn"],
.afv-home-langs__flag[href$="sprog=nn"],
.afv-home-langs__flag[href*="sprog=nn&"],
.afv-advanced-search__flag:has(input[value="nn"]) { --fpt-flag: url("../images/flags/no.svg"); }
.afv-home-langs__flag[data-afv-home-lang="is"],
.afv-home-langs__flag[href$="sprog=is"],
.afv-home-langs__flag[href*="sprog=is&"],
.afv-advanced-search__flag:has(input[value="is"]) { --fpt-flag: url("../images/flags/is.svg"); }
.afv-home-langs__flag[data-afv-home-lang="fi"],
.afv-home-langs__flag[href$="sprog=fi"],
.afv-home-langs__flag[href*="sprog=fi&"],
.afv-advanced-search__flag:has(input[value="fi"]) { --fpt-flag: url("../images/flags/fi.svg"); }
.afv-home-langs__flag[data-afv-home-lang="de"],
.afv-home-langs__flag[href$="sprog=de"],
.afv-home-langs__flag[href*="sprog=de&"],
.afv-advanced-search__flag:has(input[value="de"]) { --fpt-flag: url("../images/flags/de.svg"); }
.afv-home-langs__flag[data-afv-home-lang="nl"],
.afv-home-langs__flag[href$="sprog=nl"],
.afv-home-langs__flag[href*="sprog=nl&"],
.afv-advanced-search__flag:has(input[value="nl"]) { --fpt-flag: url("../images/flags/nl.svg"); }
.afv-home-langs__flag[data-afv-home-lang="fr"],
.afv-home-langs__flag[href$="sprog=fr"],
.afv-home-langs__flag[href*="sprog=fr&"],
.afv-advanced-search__flag:has(input[value="fr"]) { --fpt-flag: url("../images/flags/fr.svg"); }
.afv-home-langs__flag[data-afv-home-lang="es"],
.afv-home-langs__flag[href$="sprog=es"],
.afv-home-langs__flag[href*="sprog=es&"],
.afv-advanced-search__flag:has(input[value="es"]) { --fpt-flag: url("../images/flags/es.svg"); }
.afv-home-langs__flag[data-afv-home-lang="pt"],
.afv-home-langs__flag[href$="sprog=pt"],
.afv-home-langs__flag[href*="sprog=pt&"],
.afv-advanced-search__flag:has(input[value="pt"]) { --fpt-flag: url("../images/flags/pt.svg"); }
.afv-home-langs__flag[data-afv-home-lang="it"],
.afv-home-langs__flag[href$="sprog=it"],
.afv-home-langs__flag[href*="sprog=it&"],
.afv-advanced-search__flag:has(input[value="it"]) { --fpt-flag: url("../images/flags/it.svg"); }
.afv-home-langs__flag[data-afv-home-lang="ca"],
.afv-home-langs__flag[href$="sprog=ca"],
.afv-home-langs__flag[href*="sprog=ca&"],
.afv-advanced-search__flag:has(input[value="ca"]) { --fpt-flag: url("../images/flags/ca.svg"); }
.afv-home-langs__flag[data-afv-home-lang="pl"],
.afv-home-langs__flag[href$="sprog=pl"],
.afv-home-langs__flag[href*="sprog=pl&"],
.afv-advanced-search__flag:has(input[value="pl"]) { --fpt-flag: url("../images/flags/pl.svg"); }
.afv-home-langs__flag[data-afv-home-lang="cs"],
.afv-home-langs__flag[href$="sprog=cs"],
.afv-home-langs__flag[href*="sprog=cs&"],
.afv-advanced-search__flag:has(input[value="cs"]) { --fpt-flag: url("../images/flags/cz.svg"); }
.afv-home-langs__flag[data-afv-home-lang="hu"],
.afv-home-langs__flag[href$="sprog=hu"],
.afv-home-langs__flag[href*="sprog=hu&"],
.afv-advanced-search__flag:has(input[value="hu"]) { --fpt-flag: url("../images/flags/hu.svg"); }
.afv-home-langs__flag[data-afv-home-lang="ro"],
.afv-home-langs__flag[href$="sprog=ro"],
.afv-home-langs__flag[href*="sprog=ro&"],
.afv-advanced-search__flag:has(input[value="ro"]) { --fpt-flag: url("../images/flags/ro.svg"); }
.afv-home-langs__flag[data-afv-home-lang="el"],
.afv-home-langs__flag[href$="sprog=el"],
.afv-home-langs__flag[href*="sprog=el&"],
.afv-advanced-search__flag:has(input[value="el"]) { --fpt-flag: url("../images/flags/gr.svg"); }
.afv-home-langs__flag[data-afv-home-lang="uk"],
.afv-home-langs__flag[href$="sprog=uk"],
.afv-home-langs__flag[href*="sprog=uk&"],
.afv-advanced-search__flag:has(input[value="uk"]) { --fpt-flag: url("../images/flags/ua.svg"); }
.afv-home-langs__flag[data-afv-home-lang="et"],
.afv-home-langs__flag[href$="sprog=et"],
.afv-home-langs__flag[href*="sprog=et&"],
.afv-advanced-search__flag:has(input[value="et"]) { --fpt-flag: url("../images/flags/ee.svg"); }
.afv-home-langs__flag[data-afv-home-lang="lv"],
.afv-home-langs__flag[href$="sprog=lv"],
.afv-home-langs__flag[href*="sprog=lv&"],
.afv-advanced-search__flag:has(input[value="lv"]) { --fpt-flag: url("../images/flags/lv.svg"); }
.afv-home-langs__flag[data-afv-home-lang="lt"],
.afv-home-langs__flag[href$="sprog=lt"],
.afv-home-langs__flag[href*="sprog=lt&"],
.afv-advanced-search__flag:has(input[value="lt"]) { --fpt-flag: url("../images/flags/lt.svg"); }
.afv-home-langs__flag[data-afv-home-lang="sk"],
.afv-home-langs__flag[href$="sprog=sk"],
.afv-home-langs__flag[href*="sprog=sk&"],
.afv-advanced-search__flag:has(input[value="sk"]) { --fpt-flag: url("../images/flags/sk.svg"); }
.afv-home-langs__flag[data-afv-home-lang="sl"],
.afv-home-langs__flag[href$="sprog=sl"],
.afv-home-langs__flag[href*="sprog=sl&"],
.afv-advanced-search__flag:has(input[value="sl"]) { --fpt-flag: url("../images/flags/si.svg"); }
.afv-home-langs__flag[data-afv-home-lang="hr"],
.afv-home-langs__flag[href$="sprog=hr"],
.afv-home-langs__flag[href*="sprog=hr&"],
.afv-advanced-search__flag:has(input[value="hr"]) { --fpt-flag: url("../images/flags/hr.svg"); }
.afv-home-langs__flag[data-afv-home-lang="bg"],
.afv-home-langs__flag[href$="sprog=bg"],
.afv-home-langs__flag[href*="sprog=bg&"],
.afv-advanced-search__flag:has(input[value="bg"]) { --fpt-flag: url("../images/flags/bg.svg"); }
.afv-home-langs__flag[data-afv-home-lang="ga"],
.afv-home-langs__flag[href$="sprog=ga"],
.afv-home-langs__flag[href*="sprog=ga&"],
.afv-advanced-search__flag:has(input[value="ga"]) { --fpt-flag: url("../images/flags/ie.svg"); }
.afv-home-langs__flag[data-afv-home-lang="mt"],
.afv-home-langs__flag[href$="sprog=mt"],
.afv-home-langs__flag[href*="sprog=mt&"],
.afv-advanced-search__flag:has(input[value="mt"]) { --fpt-flag: url("../images/flags/mt.svg"); }

/* ---------- Phones ---------------------------------------------------- */
@media (max-width: 43.75rem) {
	html:root { --fpt-pad: 1rem; }
	.afv-topbar { min-height: 3.5rem; }
	.afv-topbar__title, .afv-topbar .wp-block-query-title { font-size: var(--fpt-title-size-phone); }
	.afv-post--list { grid-template-columns: 2.75rem minmax(0, 1fr); padding-top: 1rem; }
	.afv-post--list > .wp-block-avatar img { width: 2.75rem; height: 2.75rem; }
	.afv-main .afv-actions > .afv-action { flex-basis: 4.5rem; }
	.afv-post--single .afv-post__content, .afv-thread__item.is-focus .afv-post__content { font-size: 1.1875rem; }
	.afv-main .afv-profile__head .afv-profile__avatar { width: 5.5rem; height: 5.5rem; margin-top: -3.5rem; }
	.afv-main .afv-profile__name { font-size: var(--fpt-profile-name-phone); }
	.afv-main:has(.afv-profile) .afv-tabs { top: calc(3.5rem + var(--fpt-admin)); }

	/* FediPress opens the editor full screen on phones, which suits the keyboard. */
	dialog.afv-dialog--compose[open] { padding-top: max(.75rem, env(safe-area-inset-top, 0px)); border-radius: 0; animation: fpt-sheet .24s cubic-bezier(.2, .8, .2, 1); }
	.afv-dialog--compose .afv-composer { grid-template-columns: minmax(0, 1fr); }
	.afv-dialog--compose .afv-composer__avatar { display: none; }
}
@keyframes fpt-sheet { from { transform: translateY(40%); opacity: .4; } to { transform: none; opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}
@media print {
	.afv-rail, .afv-side, .fpt-tabbar, .afv-actions, .afv-topbar { display: none !important; }
	.afv-shell { display: block; }
	.afv-main { border: 0; }
}

/* ---------- Icons (masks, so they take the text colour) ------------- */
.afv-i-home { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20h-5.5v-5.5h-5V20H4z'/%3E%3C/svg%3E"); }
.afv-i-search { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Ccircle cx='10.8' cy='10.8' r='6.3'/%3E%3Cpath d='m15.6 15.6 4.6 4.6'/%3E%3C/svg%3E"); }
.afv-i-bell { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M6 16.5V11a6 6 0 0 1 12 0v5.5l1.5 1.8h-15z'/%3E%3Cpath d='M10 20.6a2.1 2.1 0 0 0 4 0'/%3E%3C/svg%3E"); }
.afv-i-messages { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M4 5.5h16v11H9.5L4.5 20z'/%3E%3Cpath d='M8 9.8h8M8 12.8h5'/%3E%3C/svg%3E"); }
.afv-i-news { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Crect x='3.8' y='4.5' width='13' height='15.5' rx='1.5'/%3E%3Cpath d='M16.8 8.5h3.4v9.5a2 2 0 0 1-2 2H16'/%3E%3Cpath d='M7.3 8.5h6M7.3 12h6M7.3 15.5h4'/%3E%3C/svg%3E"); }
.afv-i-bookmark { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M6.5 4h11v16l-5.5-4-5.5 4z'/%3E%3C/svg%3E"); }
.afv-i-profile { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Ccircle cx='12' cy='8.5' r='3.8'/%3E%3Cpath d='M4.5 20c.8-3.6 3.8-5.6 7.5-5.6s6.7 2 7.5 5.6'/%3E%3C/svg%3E"); }
.afv-i-lists { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M9.5 6.5h10.5M9.5 12h10.5M9.5 17.5h10.5'/%3E%3Ccircle cx='4.8' cy='6.5' r='.9'/%3E%3Ccircle cx='4.8' cy='12' r='.9'/%3E%3Ccircle cx='4.8' cy='17.5' r='.9'/%3E%3C/svg%3E"); }
.afv-i-groups { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Ccircle cx='9' cy='9' r='3.2'/%3E%3Cpath d='M3.5 19c.6-3 2.8-4.6 5.5-4.6s4.9 1.6 5.5 4.6'/%3E%3Ccircle cx='16.6' cy='8.2' r='2.5'/%3E%3Cpath d='M16.5 13.2c2.3 0 3.8 1.5 4.2 4.1'/%3E%3C/svg%3E"); }
.afv-i-communities { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M12 3.8 19.8 8v8L12 20.2 4.2 16V8z'/%3E%3Ccircle cx='12' cy='12' r='2.4'/%3E%3C/svg%3E"); }
.afv-i-collections { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Crect x='7.5' y='7.5' width='12.5' height='12.5' rx='2'/%3E%3Cpath d='M4 15.5V6a2 2 0 0 1 2-2h9.5'/%3E%3C/svg%3E"); }
.afv-i-articles { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M6 3.8h8.3l4.2 4.2v12.2H6z'/%3E%3Cpath d='M14 4v4.3h4.3'/%3E%3Cpath d='M9 12.5h6.5M9 16h6.5'/%3E%3C/svg%3E"); }
.afv-i-photos { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Crect x='3.8' y='5' width='16.4' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='m4.2 17 4.6-4 3.4 2.8 3-2.6 4.6 3.9'/%3E%3C/svg%3E"); }
.afv-i-jobs { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Crect x='3.8' y='7.5' width='16.4' height='12' rx='2'/%3E%3Cpath d='M9 7.5V5.6c0-.9.7-1.6 1.6-1.6h2.8c.9 0 1.6.7 1.6 1.6v1.9'/%3E%3Cpath d='M4 12.8h16'/%3E%3C/svg%3E"); }
.afv-i-organisations { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M5 20V5.3l8-1.5V20'/%3E%3Cpath d='M13 9h6v11'/%3E%3Cpath d='M3.5 20h17'/%3E%3Cpath d='M8.2 8.2h1.6M8.2 11.7h1.6M8.2 15.2h1.6M15.6 12.6h1M15.6 16h1'/%3E%3C/svg%3E"); }
.afv-i-drafts { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M5.5 3.8h8.3l4.7 4.7v11.7h-13z'/%3E%3Cpath d='m9 16.5.4-2.2 4.8-4.8 1.8 1.8-4.8 4.8z'/%3E%3C/svg%3E"); }
.afv-i-filters { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E"); }
.afv-i-preferences { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 3.5v2.3M12 18.2v2.3M3.5 12h2.3M18.2 12h2.3M6 6l1.6 1.6M16.4 16.4 18 18M6 18l1.6-1.6M16.4 7.6 18 6'/%3E%3C/svg%3E"); }
.afv-i-about { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Ccircle cx='12' cy='12' r='8.2'/%3E%3Cpath d='M12 11v5.3'/%3E%3Cpath d='M12 7.7v.2'/%3E%3C/svg%3E"); }
.afv-i-palette { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M12 3.8a8.2 8.2 0 0 0 0 16.4c1.2 0 1.8-.7 1.8-1.6 0-1.2-1-1.6-1-2.7 0-.9.7-1.5 1.7-1.5h2.2a3.5 3.5 0 0 0 3.5-3.5c0-3.9-3.7-7.1-8.2-7.1z'/%3E%3Ccircle cx='7.9' cy='11.2' r='.8'/%3E%3Ccircle cx='10.4' cy='7.6' r='.8'/%3E%3Ccircle cx='14.8' cy='8' r='.8'/%3E%3C/svg%3E"); }
.afv-i-menu { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Cpath d='M4 7h16M4 12h16M4 17h10'/%3E%3C/svg%3E"); }
.afv-i-grid { --afv-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'%3E%3Crect x='4' y='4' width='6.5' height='6.5' rx='1.5'/%3E%3Crect x='13.5' y='4' width='6.5' height='6.5' rx='1.5'/%3E%3Crect x='4' y='13.5' width='6.5' height='6.5' rx='1.5'/%3E%3Crect x='13.5' y='13.5' width='6.5' height='6.5' rx='1.5'/%3E%3C/svg%3E"); }

/* ---------- Groups ---------------------------------------------------- */
/* The group composer's tools and Post button wrap on narrow screens
   instead of pushing the page sideways. */
.afv-main .afv-g-compose__bar { flex-wrap: wrap; row-gap: .5rem; }
.afv-main .afv-g-compose__bar .wp-element-button { margin-inline-start: auto; }

/* ---------- People lists ----------------------------------------------- */
/* The handle and its "Runs on …" badge stay on one line; the badge keeps
   its own small size instead of the avatar's. */
.afv-main .afv-follow__text > span:not(.afv-software) {
	display: block !important;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.afv-main .afv-follow__text .afv-software {
	display: inline-flex !important;
	flex-direction: row;
	width: 1rem;
	height: 1rem;
	overflow: visible;
	vertical-align: -.2em;
}
.afv-main .afv-follow__text .afv-software :is(img, svg) { width: 100% !important; height: 100% !important; max-width: none; border-radius: 0; }

/* ---------- Articles --------------------------------------------------- */
.afv-main .afv-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; margin: 0; color: var(--fpt-muted); font-size: .875rem; font-weight: 600; }
.afv-main .afv-article-meta > span[aria-hidden="true"] { color: var(--fpt-line-strong); }
.afv-main .afv-article-reader__body blockquote,
.afv-main .afv-article-reader__body .wp-block-quote {
	margin: 1.25rem 0;
	padding: .25rem 0 .25rem 1.125rem;
	border-inline-start: 3px solid var(--fpt-accent);
	color: var(--fpt-ink-soft);
	font-style: italic;
}
.afv-main .afv-article-reader__body .wp-block-quote > :last-child { margin-bottom: 0; }
.afv-main .afv-article-reader__body :is(ul, ol) { padding-inline-start: 1.4em; }
.afv-main .afv-article-reader__body img { max-width: 100%; height: auto; border-radius: var(--fpt-radius-sm); }
/* Group section headings sit directly in the main column; give them back
   the space the core's margin reset takes away. */
.afv-main > .afv-g-h { margin: 1.25rem var(--fpt-pad) .5rem !important; font-family: var(--fpt-serif); font-size: 1.125rem; }
.afv-main > .afv-g-h:first-of-type { margin-top: 1rem !important; }

/* ---------- File pickers ---------------------------------------------- */
/* Import, archive and avatar pickers: the browser's grey "Choose file"
   button gets the theme's quiet button style. */
.afv-main input[type="file"] { max-width: 100%; color: var(--fpt-muted); font: inherit; font-size: .875rem; }
.afv-main input[type="file"]::file-selector-button {
	margin-inline-end: .75rem;
	padding: .5rem .9rem;
	border: 1px solid var(--fpt-line-strong);
	border-radius: var(--fpt-button-radius);
	background: var(--fpt-paper);
	color: var(--fpt-ink);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.afv-main input[type="file"]::file-selector-button:hover { background: var(--fpt-mist); border-color: var(--fpt-accent); }
/* Each person row: avatar, name (shortened when long) and the buttons on
   the right, the same for every row however long the name is. */
.afv-main .afv-person { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: .75rem; }
.afv-main .afv-person > .afv-follow__who { display: flex; flex: 1 1 auto; align-items: center; gap: .75rem; min-width: 0; }
.afv-main .afv-person > .afv-follow__who > img { flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; object-fit: cover; }
.afv-main .afv-person .afv-follow__text { min-width: 0; }
.afv-main .afv-person .afv-follow__text strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.afv-main .afv-person__tools { display: flex; flex: none; flex-direction: column; align-items: flex-end; gap: .375rem; }

/* ---------- Preferences search ---------------------------------------- */
/* Room for FediPress's magnifier, which sits inside the field. */
.afv-main .afv-pref-tabs__find .afv-pref-search { padding-inline-start: 2.25rem !important; }

/* Notification filters scroll sideways on phones instead of wrapping. */
.afv-main .afv-notify-filters { flex-wrap: nowrap !important; }

/* "Edited" opens the edit history: a tap target of 24 px, as WCAG asks. */
.afv-main .afv-post__meta .afv-edited { display: inline-flex; align-items: center; min-height: 1.5rem; }

/* Phones: top-bar buttons a little smaller, so pairs such as "Create group"
   and "Refresh external groups" fit side by side. */
@media (max-width: 43.75rem) {
	.afv-topbar :is(a, button).wp-element-button { height: 2.25rem; padding: 0 .8rem !important; font-size: .875rem; }
	.fpt-topbar__actions { gap: .375rem; }
	.fpt-groups-top .fpt-topbar__actions .afv-g-create { margin-inline-start: 0; }
	.fpt-groups-top { row-gap: .5rem; padding-block: .625rem; }
	.fpt-groups-top .afv-topbar__title { flex: 1 1 100%; }
	.fpt-groups-top .fpt-topbar__actions { flex: 1 1 100%; }
	.fpt-groups-top .fpt-topbar__actions :is(a, button).wp-element-button { min-height: 0; height: 2.25rem; padding: 0 .75rem !important; font-size: .8125rem; }
}
