/*
 * Public community pages (R-071, R-072, OD-C12). The theme's frame (nexus_community_page, themes lane) styles the
 * page; these rules give the content a complete, accessible look when it is drawn alone or inside the plain frame.
 * Dark by default (R-076); light when the page or the region says data-theme="light". Colours come from the kit
 * tokens (--nx-*) and the site's accent (--nx-accent, --nx-accent-strong, --nx-accent-ink); the literals after each
 * var() are the kit's dark values. Logical properties only, so right-to-left pages mirror without extra rules.
 */
/* The tokens are set once, on the outermost community block: a list, a thread or a board inside a page inherits the
   page's mode instead of resetting to dark (a light page with dark-mode greys was the 2026-11-04 contrast finding). */
:is(.nxc-page, .nxc-list, .nxc-thread, .nxr-board):not(:is(.nxc-page, .nxc-list, .nxc-thread, .nxr-board) *) {
	--nxc-bg: var(--nx-bg-canvas, #000);
	--nxc-surface: var(--nx-bg-surface, #0a0a0a);
	--nxc-muted-bg: var(--nx-bg-muted, #141414);
	--nxc-text: var(--nx-text-primary, #fff);
	--nxc-text-2: var(--nx-text-secondary, #d4d4d4);
	--nxc-text-3: var(--nx-text-muted, #a3a3a3);
	--nxc-line: var(--nx-border-hairline, rgba(255, 255, 255, 0.1));
	--nxc-line-2: var(--nx-border-hairline-strong, rgba(255, 255, 255, 0.2));
	--nxc-accent: var(--nx-accent, #8ab4f8);
	--nxc-accent-strong: var(--nx-accent-strong, #a8c7fa);
	--nxc-accent-soft: var(--nx-accent-soft, rgba(138, 180, 248, 0.12));
	--nxc-accent-ink: var(--nx-accent-ink, #000);
	--nxc-positive: var(--nx-positive, #81c995);
	--nxc-caution: var(--nx-caution, #fdd663);
	--nxc-critical: var(--nx-critical, #f28b82);
	--nxc-focus: var(--nx-focus, #8ab4f8);
	--nx-radius: 5px; --nx-radius-sm: 2px; --nx-radius-chip: 2px; /* bar section 9: 5px or 2px corners */
	--nxc-r: var(--nx-radius, 5px);
	color-scheme: dark;
}

[data-theme="light"] :is(.nxc-page, .nxc-list, .nxc-thread, .nxr-board):not(:is(.nxc-page, .nxc-list, .nxc-thread, .nxr-board) *),
:is(.nxc-page, .nxc-list, .nxc-thread, .nxr-board)[data-theme="light"]:not(:is(.nxc-page, .nxc-list, .nxc-thread, .nxr-board) *) {
	--nxc-bg: var(--nx-bg-canvas, #fff);
	--nxc-surface: var(--nx-bg-surface, #fff);
	--nxc-muted-bg: var(--nx-bg-muted, #f4f4f5);
	--nxc-text: var(--nx-text-primary, #000);
	--nxc-text-2: var(--nx-text-secondary, #262626);
	--nxc-text-3: var(--nx-text-muted, #525252);
	--nxc-line: var(--nx-border-hairline, rgba(0, 0, 0, 0.1));
	--nxc-line-2: var(--nx-border-hairline-strong, rgba(0, 0, 0, 0.2));
	--nxc-accent: var(--nx-accent, #1a73e8);
	--nxc-accent-strong: var(--nx-accent-strong, #1557b0);
	--nxc-accent-soft: var(--nx-accent-soft, rgba(26, 115, 232, 0.1));
	--nxc-accent-ink: var(--nx-accent-ink, #fff);
	--nxc-positive: var(--nx-positive, #1e7e46);
	--nxc-caution: var(--nx-caution, #b45309);
	--nxc-critical: var(--nx-critical, #c62828);
	--nxc-focus: var(--nx-focus, #1a73e8);
	color-scheme: light;
}

.nxc-page {
	background: var(--nxc-bg);
	color: var(--nxc-text);
	font-family: var(--nx-font-sans, "IBM Plex Sans", system-ui, sans-serif);
	line-height: 1.55;
}

/* The column and its padding belong to the plugin's own plain frame only; the theme's frame owns them otherwise. */
/* 1.24.1 (ACCOUNT_EXPERIENCE_BAR section 8, owner 2026-11-04: all pages always in full width): full bleed, the gutter only;
   running text keeps its own measure (about 72ch) inside its section. */
.nxc-page__wrap {
	margin-inline: 0;
	max-inline-size: none;
	padding-block: 2rem 4rem;
	padding-inline: clamp(1rem, 3vw, 3rem);
}
.nxc-page__wrap :is(.nxc-page__lede, .nxc-prose, .nxc-thread__body) { max-inline-size: 72ch; }

.nxc-page__head h1 {
	font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
	line-height: 1.15;
	margin-block: 0.5rem;
}

.nxc-page__lede {
	color: var(--nxc-text-2);
	margin-block: 0 1rem;
}

.nxc-page__actions,
.nxc-tools {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.nxc-page__grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr);
	margin-block-start: 1.5rem;
}

@media (min-width: 64rem) {
	.nxc-page__grid {
		grid-template-columns: minmax(0, 1fr) 20rem;
	}
}

.nxc-page__aside section {
	border-block-start: 1px solid var(--nxc-line);
	padding-block: 1rem;
}

/* The first section of the aside starts the card: no rule above it, and its heading sits at the top. */
.nxc-page__aside section:first-of-type {
	border-block-start: 0;
	padding-block-start: 0;
}

.nxc-page__aside section:first-of-type > h2:first-child {
	margin-block-start: 0;
}

/* Initials avatar (no Gravatar): a round badge before a name, with a gap. Four tints by user id, on the kit's tokens. */
.nxc-av {
	align-items: center;
	background: var(--nx-info-soft, var(--nxc-line));
	block-size: 1.75em;
	border-radius: 50%;
	color: var(--nx-info, var(--nxc-text));
	display: inline-flex;
	flex: none;
	font-size: 0.75rem;
	font-weight: 600;
	inline-size: 1.75em;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1;
	margin-inline-end: 0.5rem;
	vertical-align: middle;
}

.nxc-av[data-hue="1"] {
	background: var(--nx-positive-soft, var(--nxc-line));
	color: var(--nx-positive, var(--nxc-text));
}

.nxc-av[data-hue="2"] {
	background: var(--nx-quantum-soft, var(--nxc-line));
	color: var(--nx-quantum, var(--nxc-text));
}

.nxc-av[data-hue="3"] {
	background: var(--nx-caution-soft, var(--nxc-line));
	color: var(--nx-caution, var(--nxc-text));
}

.nxc-page h2 {
	font-size: 1.25rem;
	margin-block: 1.5rem 0.75rem;
}

.nxc-page a {
	color: var(--nxc-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.nxc-page a:hover {
	color: var(--nxc-accent-strong);
}

.nxc-page :focus-visible {
	outline: 2px solid var(--nxc-focus);
	outline-offset: 2px;
}

.nxc-crumbs {
	font-size: 0.875rem;
}

/* 1.25.0 (forums parity): a matter or a space as a row on the section 11 grid: kind 88 / title, status and tags /
   where, who, replies / when 96 / what is new and the votes. Unread is a 6px mark, never a fill. */
.nxc-list > .nxc-matter.nx-row {
	align-items: start;
	column-gap: 0.75rem;
	grid-template-columns: var(--nx-row-kind, 88px) minmax(0, 1fr) minmax(0, 14rem) var(--nx-row-due, 96px) auto;
	padding-block: 0.75rem;
}
.nxc-matter.nx-row .nx-row__kind {
	align-items: center;
	color: var(--nxc-text-2);
	display: inline-flex;
	font-size: var(--nx-t-meta, 12px);
	gap: 0.375rem;
	min-inline-size: 0;
	padding-block-start: 0.2rem;
}
.nxc-matter.nx-row .nxc-matter__type { font-weight: 500; }
.nxc-matter.nx-row .nx-row__title { display: grid; gap: 0.25rem; min-inline-size: 0; }
.nxc-matter.nx-row .nxc-matter__title { font-size: var(--nx-t-row, 15px); font-weight: 600; line-height: 1.35; }
.nxc-matter.nx-row .nxc-matter__marks { align-items: center; display: flex; flex-wrap: wrap; gap: 0.375rem; margin: 0; }
.nxc-matter.nx-row .nxc-matter__marks .nxc-tags { margin: 0; }
.nxc-matter.nx-row .nx-row__context { font-size: var(--nx-t-meta, 12px); margin: 0; min-inline-size: 0; padding-block-start: 0.2rem; }
.nxc-matter.nx-row .nx-row__due { color: var(--nxc-text-3); font-size: var(--nx-t-meta, 12px); font-variant-numeric: tabular-nums; padding-block-start: 0.2rem; text-align: end; }
.nxc-matter.nx-row .nx-row__action { align-items: center; display: inline-flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; }
.nxc-matter.nx-row .nx-chip {
	align-items: center;
	background: var(--nx-surface-2, var(--nxc-accent-soft));
	border: 0;
	border-radius: var(--nx-radius-sm, 2px);
	color: var(--nxc-text-2);
	display: inline-flex;
	font-size: 11px;
	font-weight: 500;
	gap: 6px;
	padding: 0.125rem 0.375rem;
	text-decoration: none;
	white-space: nowrap;
}
.nxc-matter.nx-row .nx-chip[data-mark]::before { background: var(--nx-mark-accent, var(--nxc-accent)); block-size: 6px; border-radius: 2px; content: ""; flex: none; inline-size: 6px; }
.nxc-matter.nx-row[data-unread] .nxc-matter__title a { color: var(--nxc-text); }
.nxc-pulse { color: var(--nxc-text-3); display: block; }
.nxc-spacerow__sum { color: var(--nxc-text-2); font-size: 0.875rem; margin: 0; }
.nxc-spacerow[data-depth="1"] .nx-row__title { padding-inline-start: 1rem; }
@media (max-width: 40rem) {
	.nxc-list > .nxc-matter.nx-row { grid-template-areas: "kind due" "title title" "context action"; grid-template-columns: minmax(0, 1fr) auto; row-gap: 0.375rem; }
	.nxc-matter.nx-row .nx-row__kind { grid-area: kind; }
	.nxc-matter.nx-row .nx-row__title { grid-area: title; }
	.nxc-matter.nx-row .nx-row__context { grid-area: context; }
	.nxc-matter.nx-row .nx-row__due { grid-area: due; }
	.nxc-matter.nx-row .nx-row__action { grid-area: action; }
}

/* Lists of matters */
.nxc-list,
.nxc-spaces,
.nxc-members,
.nxc-notes {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nxc-matter,
.nxc-space {
	border-block-end: 1px solid var(--nxc-line);
	display: grid;
	gap: 0.25rem 1rem;
	padding-block: 1rem;
}

.nxc-matter:focus {
	background: var(--nxc-accent-soft);
	outline: 2px solid var(--nxc-focus);
}

.nxc-matter__title {
	font-size: 1.0625rem;
	margin: 0;
}

.nxc-matter__title a {
	color: var(--nxc-text);
	text-decoration: none;
}

.nxc-matter__title a:hover {
	text-decoration: underline;
}

.nxc-matter__meta,
.nxc-space__meta,
.nxc-help {
	color: var(--nxc-text-3);
	font-size: 0.875rem;
	margin: 0;
}

.nxc-matter__type {
	font-weight: 600;
}

.nxc-matter__status,
.nxc-flag,
.nxc-matter__votes,
.nxc-accepted,
.nxr-request__state,
.nxr-review__state,
.nxc-roadmap__state,
.nxc-stance {
	align-items: center;
	color: var(--nxc-text-2);
	display: inline-flex;
	font-size: 0.8125rem;
	gap: 0.3em;
	inline-size: fit-content;
}

.nxc-matter__status,
.nxr-request__state,
.nxr-review__state {
	border: 1px solid var(--nxc-line-2);
	border-radius: var(--nx-radius-sm, 2px);
	padding: 0.1rem 0.6rem;
}

[data-state="resolved"] .nxc-ic,
[data-state="adopted"] .nxc-ic,
[data-state="done"] .nxc-ic,
[data-state="accepted"] .nxc-ic,
[data-state="completed"] .nxc-ic,
.nxc-accepted .nxc-ic {
	color: var(--nxc-positive);
}

[data-state="declined"] .nxc-ic,
[data-state="cancelled"] .nxc-ic,
[data-state="hidden"] .nxc-ic {
	color: var(--nxc-critical);
}

.nxc-ic {
	flex: none;
	vertical-align: -0.15em;
}

.nxc-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	list-style: none;
	margin: 0.25rem 0 0;
	padding: 0;
}

/* A tag reads in the text colour on the page's own background, with the accent on its border when pointed at: an
   accent on a tinted chip fell under 4.5:1 for some networks' light accents (Index #c94a00 on the muted fill, 4.28). */
.nxc-page a.nxc-tag,
.nxc-tag {
	background: color-mix(in srgb, var(--nx-text-primary, #fff) 8%, var(--nxc-bg, transparent));
	border: 0;
	border-radius: var(--nx-radius-sm, 2px);
	color: var(--nxc-text-2);
	font-size: 0.8125rem;
	padding: 0.1rem 0.6rem;
	text-decoration: none;
}

.nxc-page a.nxc-tag:hover,
.nxc-page a.nxc-tag:focus-visible {
	border-color: var(--nxc-accent);
	color: var(--nxc-text);
}

.nxc-space[data-depth="1"] {
	padding-inline-start: 1.5rem;
}

/* The matter page */
.nxc-matter--full {
	border: 0;
}

.nxc-prose {
	max-inline-size: 70ch;
	overflow-wrap: anywhere;
}

.nxc-prose blockquote,
.nxc-quote,
.nxc-queue blockquote {
	border-inline-start: 3px solid var(--nxc-line-2);
	color: var(--nxc-text-2);
	margin-inline: 0;
	padding-inline-start: 1rem;
}

.nxc-code,
.nxc-prose pre {
	background: var(--nxc-muted-bg);
	border-radius: var(--nxc-r);
	font-family: var(--nx-font-mono, "IBM Plex Mono", ui-monospace, monospace);
	font-size: 0.875rem;
	overflow-x: auto;
	padding: 0.75rem 1rem;
}

/* 1.25.0: code structure by tone and weight only (colour stays for marks and category icons). */
.nxc-code .nxc-tk[data-t="k"] { color: var(--nxc-text); font-weight: 700; }
.nxc-code .nxc-tk[data-t="c"] { color: var(--nxc-text-3); font-style: italic; }
.nxc-code .nxc-tk[data-t="s"] { color: var(--nxc-text-2); }
.nxc-code .nxc-tk[data-t="n"] { color: var(--nxc-text-2); font-variant-numeric: tabular-nums; }

.nxc-fields > div {
	border-block-start: 1px solid var(--nxc-line);
	padding-block: 0.75rem;
}

.nxc-fields dt {
	font-weight: 600;
}

.nxc-fields dd {
	margin: 0;
}

.nxc-thread {
	margin-block-start: 2rem;
}

.nxc-reply {
	border-block-start: 1px solid var(--nxc-line);
	padding-block: 1rem;
}

.nxc-reply[data-depth="1"] {
	border-inline-start: 2px solid var(--nxc-line);
	margin-inline-start: 1.25rem;
	padding-inline-start: 1rem;
}

.nxc-reply[data-depth="2"] {
	border-inline-start: 2px solid var(--nxc-line);
	margin-inline-start: 2.5rem;
	padding-inline-start: 1rem;
}

.nxc-reply[data-accepted="1"] {
	background: var(--nxc-accent-soft);
	border-radius: var(--nxc-r);
	padding-inline: 1rem;
}

.nxc-reply:focus {
	outline: 2px solid var(--nxc-focus);
}

.nxc-held {
	color: var(--nxc-text-3);
	font-style: italic;
}

.nxc-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nxc-timeline > li {
	border-inline-start: 2px solid var(--nxc-line-2);
	padding-block: 0.25rem;
	padding-inline-start: 0.75rem;
}

.nxc-timeline > li > span {
	font-weight: 600;
}

/* Forms and buttons */
.nxc-form,
.nxc-filters {
	display: grid;
	gap: 0.75rem;
}

.nxc-filters {
	align-items: end;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	margin-block-end: 1rem;
}

/* 1.25.0: every filter control fills its own cell at one height (a text box was wider and taller than the selects). */
.nxc-filters .nxc-field { margin: 0; min-inline-size: 0; }
.nxc-filters .nxc-field > :is(input, select) { block-size: 2.75rem; box-sizing: border-box; inline-size: 100%; margin: 0; min-inline-size: 0; }
.nxc-filters > :is(button, .nxc-btn) { block-size: 2.75rem; }

.nxc-inline {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.nxc-field {
	display: grid;
	gap: 0.25rem;
	margin: 0;
}

.nxc-field label,
.nxc-field legend {
	font-weight: 600;
}

.nxc-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.nxc-page select,
.nxc-page textarea {
	background: var(--nxc-surface);
	border: 1px solid var(--nxc-line-2);
	border-radius: var(--nxc-r);
	color: var(--nxc-text);
	font: inherit;
	min-block-size: 2.75rem;
	padding: 0.5rem 0.75rem;
}

/* Community pages lane (2026-11-06 audit): the background shorthand above reset background-repeat, and a theme that draws
   its select arrow as a background image (Ohio) then tiled that arrow across the whole field. The select draws its own
   single arrow now (a neutral grey that reads in both modes), at the end of the field, with room kept for it. */
.nxc-page select:not([multiple]),
.nxc-page select:not([multiple]):focus {
	-webkit-appearance: none;
	appearance: none;
	background: var(--nxc-surface) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23888' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") no-repeat right 0.75rem center / 14px 12px;
	padding-inline-end: 2.25rem !important;
	/* a theme animates the field's background (its input effect), which would move the arrow; the arrow stays put */
	animation: none !important;
	background-position: right 0.75rem center !important;
}
[dir="rtl"] .nxc-page select:not([multiple]) { background-position: left 0.75rem center !important; }

.nxc-page textarea {
	min-block-size: 8rem;
}

.nxc-btn {
	align-items: center;
	background: transparent;
	border: 1px solid var(--nxc-line-2);
	border-radius: var(--nxc-r);
	color: var(--nxc-text);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-weight: 600;
	gap: 0.4em;
	min-block-size: 2.75rem;
	padding: 0.5rem 1rem;
	text-decoration: none;
}

.nxc-btn:hover {
	background: var(--nxc-muted-bg);
}

.nxc-btn[data-kind="primary"] {
	background: var(--nxc-accent);
	border-color: var(--nxc-accent);
	color: var(--nxc-accent-ink);
}

.nxc-btn[data-kind="primary"]:hover {
	background: var(--nxc-accent-strong);
	border-color: var(--nxc-accent-strong);
	color: var(--nxc-accent-ink);
}

.nxc-vote[aria-pressed="true"] {
	border-color: var(--nxc-accent);
	box-shadow: inset 0 0 0 1px var(--nxc-accent);
}

.nxc-page details > summary {
	cursor: pointer;
	font-weight: 600;
	min-block-size: 2.75rem;
	padding-block: 0.5rem;
}

.nxc-notice {
	border: 1px solid var(--nxc-line-2);
	border-inline-start-width: 4px;
	border-radius: var(--nxc-r);
	padding: 0.75rem 1rem;
}

.nxc-notice[data-tone="success"] {
	border-inline-start-color: var(--nxc-positive);
}

.nxc-notice[data-tone="critical"] {
	border-inline-start-color: var(--nxc-critical);
}

.nxc-note {
	color: var(--nxc-text-2);
	font-size: 0.875rem;
}

.nxc-empty {
	border: 1px dashed var(--nxc-line-2);
	border-radius: var(--nxc-r);
	display: grid;
	gap: 0.5rem;
	justify-items: start;
	padding: 1.5rem;
}

.nxc-empty__t {
	font-weight: 600;
	margin: 0;
}

.nxc-empty__x {
	color: var(--nxc-text-2);
	margin: 0;
}

/* Search */
.nxc-search {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	position: relative;
}

.nxc-search input {
	flex: 1 1 16rem;
}

.nxc-suggest {
	background: var(--nxc-surface);
	border: 1px solid var(--nxc-line-2);
	border-radius: var(--nxc-r);
	inset-block-start: 100%;
	inset-inline: 0;
	list-style: none;
	margin: 0.25rem 0 0;
	padding: 0.25rem;
	position: absolute;
	z-index: 5;
}

.nxc-suggest [role="option"] {
	display: block;
	padding: 0.5rem;
}

.nxc-suggest [aria-selected="true"] {
	background: var(--nxc-accent-soft);
}

/* Roadmap */
.nxc-roadmap {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.nxc-roadmap__col {
	background: var(--nxc-muted-bg);
	border-radius: var(--nxc-r);
	padding: 0.75rem;
}

/* Tables: rubric, leaderboard, settings, log */
.nxr-rubric,
.nxr-board,
.nxc-table {
	border-collapse: collapse;
	inline-size: 100%;
}

.nxr-rubric th,
.nxr-rubric td,
.nxr-board th,
.nxr-board td,
.nxc-table th,
.nxc-table td {
	border-block-end: 1px solid var(--nxc-line);
	padding: 0.5rem;
	text-align: start;
}

.nxr-board caption {
	font-weight: 600;
	padding-block: 0.5rem;
	text-align: start;
}

.nxr-board tr[aria-current="true"] {
	background: var(--nxc-accent-soft);
}

.nxr-request dl {
	display: grid;
	gap: 0.5rem 1rem;
	grid-template-columns: max-content minmax(0, 1fr);
}

.nxr-request dl > div {
	display: contents;
}

.nxr-request dt {
	color: var(--nxc-text-3);
}

.nxr-request dd {
	margin: 0;
}

.nxr-review {
	border: 1px solid var(--nxc-line);
	border-radius: var(--nxc-r);
	margin-block: 1rem;
	padding: 1rem;
}

.nxc-stats {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.nxc-stats > div {
	background: var(--nxc-muted-bg);
	border-radius: var(--nxc-r);
	padding: 0.75rem;
}

.nxc-stats dd {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0;
}

.nxc-bell {
	align-items: center;
	display: inline-flex;
	gap: 0.25rem;
	min-block-size: 2.75rem;
	min-inline-size: 2.75rem;
	text-decoration: none;
}

.nxc-bell__n[data-count="0"] {
	display: none;
}

.nxc-bell__n {
	background: var(--nxc-accent);
	border-radius: var(--nx-radius-sm, 2px);
	color: var(--nxc-accent-ink);
	font-size: 0.75rem;
	padding: 0 0.4rem;
}

.nxc-keys dl {
	display: grid;
	gap: 0.25rem;
	margin: 0;
}

.nxc-keys dl > div {
	display: flex;
	gap: 0.5rem;
}

.nxc-keys dd {
	margin: 0;
}

.nxc-keys kbd {
	border: 1px solid var(--nxc-line-2);
	border-radius: var(--nx-radius-sm, 2px);
	font-family: var(--nx-font-mono, ui-monospace, monospace);
	padding: 0 0.35rem;
}

.nxc-tabs {
	border-block-end: 1px solid var(--nxc-line);
	display: flex;
	gap: 1rem;
	margin-block-end: 1rem;
}

.nxc-tabs a {
	padding-block: 0.5rem;
}

.nxc-tabs a[aria-current="page"] {
	border-block-end: 2px solid var(--nxc-accent);
	color: var(--nxc-text);
}

.screen-reader-text {
	block-size: 1px;
	clip: rect(1px, 1px, 1px, 1px);
	inline-size: 1px;
	overflow: hidden;
	position: absolute;
}

@media (prefers-reduced-motion: reduce) {
	.nxc-page * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

/* Profiles (R-036): full-bleed cover with a focal-point crop, ring avatar, three header layouts, sticky compact header,
   stats bar, tabs, two-column body with the member's widgets. Presets are SVG line patterns (masks) in the accent,
   never a colour blend (OD-64); the SVGs are inline data, so no request leaves the site. */
.nxc-prof {
	--nxc-prof-accent: var(--nxc-accent);
	margin-block-end: 1rem;
	position: relative;
}

.nxc-prof[data-accent="yellow"] { --nxc-prof-accent: var(--nx-palette-yellow, #ffc800); }
.nxc-prof[data-accent="red"] { --nxc-prof-accent: var(--nx-palette-red, #ff5c75); }
.nxc-prof[data-accent="blue"] { --nxc-prof-accent: var(--nx-palette-blue, #6ea8ff); }
.nxc-prof[data-accent="orange"] { --nxc-prof-accent: var(--nx-palette-orange, #ff8a3d); }
.nxc-prof[data-accent="violet"] { --nxc-prof-accent: var(--nx-palette-violet, #8c9aff); }
.nxc-prof[data-accent="teal"] { --nxc-prof-accent: var(--nx-palette-teal, #4fd1c5); }
.nxc-prof[data-accent="green"] { --nxc-prof-accent: var(--nx-palette-green, #81c995); }

.nxc-prof__cover {
	aspect-ratio: 16 / 5;
	background-color: var(--nxc-muted-bg);
	background-position: var(--nxc-focal-x, 50%) var(--nxc-focal-y, 50%);
	background-size: calc(var(--nxc-zoom, 1) * 100%) auto;
	border-radius: var(--nxc-r);
	inline-size: 100%;
}

@media (max-width: 40rem) {
	.nxc-prof__cover {
		aspect-ratio: 3 / 2;
	}
}

.nxc-prof__cover {
	position: relative;
}

.nxc-prof__cover[data-preset="hex"]::before,
.nxc-prof__cover[data-preset="field"]::before,
.nxc-prof__cover[data-preset="contour"]::before {
	background-color: var(--nxc-prof-accent);
	border-radius: inherit;
	content: "";
	inset: 0;
	opacity: 0.35;
	position: absolute;
}

.nxc-prof__cover[data-preset="hex"]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48' viewBox='0 0 28 48'%3E%3Cpath d='M14 0l14 8v16l-14 8-14-8V8zM14 32v16' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48' viewBox='0 0 28 48'%3E%3Cpath d='M14 0l14 8v16l-14 8-14-8V8zM14 32v16' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");
}

.nxc-prof__cover[data-preset="field"]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M0 .5h20M.5 0v20' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M0 .5h20M.5 0v20' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");
}

.nxc-prof__cover[data-preset="contour"]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cpath d='M0 30c20-12 40 12 60 0s40 12 60 0M0 10c20-12 40 12 60 0s40 12 60 0M0 50c20-12 40 12 60 0s40 12 60 0' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cpath d='M0 30c20-12 40 12 60 0s40 12 60 0M0 10c20-12 40 12 60 0s40 12 60 0M0 50c20-12 40 12 60 0s40 12 60 0' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E");
	-webkit-mask-position: var(--nxc-focal-x, 50%) var(--nxc-focal-y, 50%);
	mask-position: var(--nxc-focal-x, 50%) var(--nxc-focal-y, 50%);
}

.nxc-prof__head {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-template-columns: auto minmax(0, 1fr) auto;
	margin-block-start: -3.5rem;
	padding-inline: 1rem;
}

.nxc-prof__avatar {
	background: var(--nxc-bg);
	block-size: 10rem;
	border: 4px solid var(--nxc-bg);
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--nxc-line-2);
	display: grid;
	inline-size: 10rem;
	overflow: hidden;
	place-items: center;
}

.nxc-prof__avatar[data-shape="square"] {
	border-radius: var(--nxc-r);
}

.nxc-prof__avatar[data-ring="role"],
.nxc-prof__avatar[data-tier="3"],
.nxc-prof__avatar[data-tier="4"],
.nxc-prof__avatar[data-tier="5"] {
	box-shadow: 0 0 0 3px var(--nxc-prof-accent);
}

.nxc-prof__avatar img {
	block-size: 100%;
	inline-size: 100%;
	object-fit: cover;
}

.nxc-prof__avatar .nxc-av {
	block-size: 100%;
	border-radius: 0;
	font-size: 3rem;
	inline-size: 100%;
	margin: 0;
}

.nxc-prof__name {
	font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.25rem);
	margin: 0;
}

.nxc-prof__handle,
.nxc-prof__lines,
.nxc-prof__links {
	color: var(--nxc-text-3);
	margin: 0;
}

.nxc-prof__lines,
.nxc-prof__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	list-style: none;
	padding: 0;
}

.nxc-prof__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.25rem 0;
}

.nxc-prof__badge {
	align-items: center;
	border: 1px solid var(--nxc-line-2);
	border-radius: var(--nx-radius-sm, 2px);
	display: inline-flex;
	font-size: 0.8125rem;
	gap: 0.3em;
	padding: 0.1rem 0.6rem;
}

.nxc-prof__actions,
.nxc-prof__owner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.nxc-prof[data-layout="hero"] .nxc-prof__head {
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
	text-align: center;
}

.nxc-prof[data-layout="hero"] .nxc-prof__lines,
.nxc-prof[data-layout="hero"] .nxc-prof__links,
.nxc-prof[data-layout="hero"] .nxc-prof__badges,
.nxc-prof[data-layout="hero"] .nxc-prof__actions {
	justify-content: center;
}

.nxc-prof[data-layout="compact"] .nxc-prof__cover {
	aspect-ratio: 16 / 3;
}

.nxc-prof[data-layout="compact"] .nxc-prof__head {
	margin-block-start: -2rem;
}

.nxc-prof[data-layout="compact"] .nxc-prof__avatar {
	block-size: 5rem;
	inline-size: 5rem;
}

@media (max-width: 48rem) {
	.nxc-prof__head {
		grid-template-columns: minmax(0, 1fr);
	}

	.nxc-prof__avatar {
		block-size: 7rem;
		inline-size: 7rem;
	}
}

.nxc-prof__stats {
	border-block: 1px solid var(--nxc-line);
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 1rem 0 0;
	padding: 0;
}

.nxc-prof__stat {
	color: var(--nxc-text);
	display: grid;
	min-inline-size: 8rem;
	padding: 0.75rem 1rem;
	text-decoration: none;
}

.nxc-prof__stat-v {
	font-family: var(--nx-font-mono, ui-monospace, monospace);
	font-size: 1.25rem;
	font-weight: 600;
}

.nxc-prof__stat-l {
	color: var(--nxc-text-3);
	font-size: 0.8125rem;
}

.nxc-prof__tabs {
	border-block-end: 1px solid var(--nxc-line);
	display: flex;
	gap: 0.25rem;
	overflow-x: auto;
}

.nxc-prof__tabs a {
	color: var(--nxc-text-2);
	padding: 0.75rem 1rem;
	text-decoration: none;
	white-space: nowrap;
}

.nxc-prof__tabs a[aria-current="page"] {
	border-block-end: 2px solid var(--nxc-prof-accent, var(--nxc-accent));
	color: var(--nxc-text);
}

.nxc-prof__body {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1fr);
	margin-block-start: 1.5rem;
}

@media (min-width: 64rem) {
	.nxc-prof__body[data-sidebar="end"] {
		grid-template-columns: minmax(0, 1fr) 20rem;
	}

	.nxc-prof__body[data-sidebar="start"] {
		grid-template-columns: 20rem minmax(0, 1fr);
	}

	.nxc-prof__body[data-sidebar="start"] .nxc-prof__side {
		order: -1;
	}

	.nxc-prof__tabs[data-nav="rail"] {
		border: 0;
		flex-direction: column;
		float: inline-start;
		inline-size: 14rem;
	}
}

.nxc-prof__widget {
	border-block-start: 1px solid var(--nxc-line);
	padding-block: 1rem;
}

.nxc-prof__widget h2 {
	font-size: 1rem;
	margin-block: 0 0.5rem;
}

.nxc-prof__widget ul {
	margin: 0;
	padding-inline-start: 1.25rem;
}

.nxc-add {
	border: 1px dashed var(--nxc-line-2);
	border-radius: var(--nxc-r);
	display: inline-block;
	padding: 0.5rem 1rem;
}

.nxc-prof__sticky {
	align-items: center;
	background: var(--nxc-surface);
	border-block-end: 1px solid var(--nxc-line);
	display: flex;
	gap: 0.75rem;
	inset-block-start: var(--nxh-visible-bottom, 0);
	inset-inline: 0;
	padding: 0.5rem 1rem;
	position: fixed;
	z-index: 20;
}

.nxc-prof__sticky .nxc-prof__avatar {
	block-size: 2.25rem;
	border-width: 0;
	box-shadow: none;
	inline-size: 2.25rem;
}

.nxc-prof__sticky .nxc-prof__avatar .nxc-av {
	font-size: 1rem;
}

.nxc-prof__sticky .nxc-prof__name {
	font-size: 1rem;
}

.nxc-viewas {
	background: var(--nxc-accent-soft);
	border-radius: var(--nxc-r);
	padding: 0.75rem 1rem;
}

.nxc-order {
	display: grid;
	gap: 0.25rem;
	padding-inline-start: 1.25rem;
}

.nxc-order li {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.nxc-order li > span {
	flex: 1 1 10rem;
}

.nxc-field-pair {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr);
}

@media (max-width: 40rem) {
	.nxc-field-pair {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* The bundled editor */
.nxc-editor__bar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin-block-end: 0.25rem;
}

.nxc-editor__btn {
	font-size: 0.8125rem;
	min-block-size: 2.25rem;
	padding: 0.25rem 0.6rem;
}

.nxc-editor__btn[aria-pressed="true"] {
	border-color: var(--nxc-accent);
}

.nxc-editor__preview {
	border: 1px dashed var(--nxc-line-2);
	border-radius: var(--nxc-r);
	min-block-size: 8rem;
	padding: 0.75rem;
}

/* The notification centre (1.24.1, Forum\InboxView): filter tabs with counts, a quiet toolbar, sections (Needs your
   action, Today, This week, Earlier), rows with the actor, one plain line, a kind chip, the time and an unread dot. */
.nxc-nc { display: grid; gap: 1.5rem; }
.nxc-nc__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; border-block-end: 1px solid var(--nxc-line, var(--nx-border-hairline)); }
.nxc-nc__tabs { display: flex; gap: 0.25rem; overflow-x: auto; scrollbar-width: none; }
.nxc-nc__tab { display: inline-flex; align-items: center; gap: 0.375rem; min-block-size: 2.75rem; padding: 0 0.75rem; color: var(--nxc-ink-2, var(--nx-text-secondary)); text-decoration: none; white-space: nowrap; border-block-end: 2px solid transparent; margin-block-end: -1px; }
.nxc-nc__tab:hover { color: var(--nxc-ink, var(--nx-text-primary)); }
.nxc-nc__tab[aria-current="page"] { color: var(--nxc-ink, var(--nx-text-primary)); font-weight: 600; border-block-end-color: var(--nxc-accent, var(--nx-accent)); }
.nxc-nc__n { padding: 0.125rem 0.375rem; border-radius: var(--nx-radius-sm, 2px); background: color-mix(in srgb, var(--nx-text-primary, #fff) 9%, transparent); font: 500 0.75rem/1 var(--nx-font-mono, monospace); }
.nxc-nc__tools { display: flex; align-items: center; gap: 0.5rem; }
.nxc-nc__tools form { margin: 0; }
.nxc-nc__h { margin: 0 0 0.5rem; font: 500 0.75rem/1.2 var(--nx-font-mono, monospace); letter-spacing: 0.12em; text-transform: uppercase; color: var(--nxc-ink-3, var(--nx-text-muted)); }
.nxc-nc__sec[data-sec="action"] .nxc-nc__list { border-inline-start: 2px solid var(--nxc-accent, var(--nx-accent)); }
.nxc-nc__list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--nxc-line, var(--nx-border-hairline)); border-radius: var(--nx-radius, 5px); }
.nxc-nc__line { margin: 0; color: var(--nxc-ink-2, var(--nx-text-secondary)); line-height: 1.45; }
.nxc-nc__line strong { color: var(--nxc-ink, var(--nx-text-primary)); font-weight: 600; }
/* 1.25.0: notification rows on the section 11 grid (kind 88, title, context, due 96, action); repeated here so the rows hold on any theme. */
.nxc-nc .nx-row { display: grid; grid-template-columns: var(--nx-row-kind, 88px) minmax(0, 1fr) auto var(--nx-row-due, 96px) auto; align-items: start; column-gap: 0.75rem; min-block-size: var(--nx-row-min, 44px); padding: 0.75rem 1rem; font-size: var(--nx-t-body, 14px); line-height: 1.4; }
.nxc-nc .nx-row + .nx-row { border-block-start: 1px solid var(--nxc-line, var(--nx-border-hairline)); }
.nxc-nc .nx-row__kind { display: inline-flex; align-items: center; gap: 0.375rem; min-block-size: 2rem; color: var(--nxc-ink-2, var(--nx-text-secondary)); font-size: var(--nx-t-meta, 12px); }
.nxc-nc .nxc-nc__mark { inline-size: 6px; block-size: 6px; flex: none; border-radius: 2px; background: var(--nx-mark-attention, var(--nxc-accent, var(--nx-accent))); }
.nxc-nc .nx-row__title.nxc-nc__body { display: flex; align-items: flex-start; gap: 0.625rem; min-inline-size: 0; overflow: visible; -webkit-line-clamp: unset; line-clamp: none; font-size: var(--nx-t-row, 15px); font-weight: 400; }
.nxc-nc .nxc-nc__text { display: grid; gap: 0.25rem; min-inline-size: 0; padding-block-start: 0.3rem; }
.nxc-nc .nx-row__context { min-inline-size: 0; }
.nxc-nc .nx-row__due { padding-block-start: 0.4rem; text-align: end; font-variant-numeric: tabular-nums; font-size: var(--nx-t-meta, 12px); color: var(--nxc-ink-3, var(--nx-text-muted)); }
.nxc-nc .nx-row__action { justify-self: end; white-space: nowrap; display: inline-flex; align-items: center; gap: 0.375rem; }
.nxc-nc .nxc-nc__acts { display: inline-flex; align-items: center; gap: 0.375rem; }
.nxc-nc .nxc-nc__done { font-size: var(--nx-t-meta, 12px); color: var(--nxc-ink-2, var(--nx-text-secondary)); white-space: normal; }
.nxc-nc .nx-row[data-unread] .nxc-nc__line { color: var(--nxc-ink, var(--nx-text-primary)); }
@media (max-width: 40rem) { .nxc-nc .nx-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "kind due" "title title" "context action"; row-gap: 0.25rem; } .nxc-nc .nx-row__kind { grid-area: kind; min-block-size: 0; } .nxc-nc .nx-row__title { grid-area: title; } .nxc-nc .nx-row__context { grid-area: context; } .nxc-nc .nx-row__due { grid-area: due; padding: 0; } .nxc-nc .nx-row__action { grid-area: action; } }
.nxc-nc__more { color: var(--nxc-ink-3, var(--nx-text-muted)); }
.nxc-nc__fold summary { cursor: pointer; font-size: 0.875rem; color: var(--nxc-ink-2, var(--nx-text-secondary)); }
.nxc-nc__fold ul { margin: 0.375rem 0 0; padding: 0; list-style: none; display: grid; gap: 0.25rem; font-size: 0.875rem; color: var(--nxc-ink-2, var(--nx-text-secondary)); }
.nxc-nc__empty { display: grid; justify-items: center; gap: 0.375rem; padding: 3rem 1rem; text-align: center; color: var(--nxc-ink-2, var(--nx-text-secondary)); border: 1px solid var(--nxc-line, var(--nx-border-hairline)); border-radius: var(--nx-radius, 5px); }
.nxc-nc__empty p { margin: 0; max-inline-size: 48ch; }
.nxc-nc__et { font-weight: 600; color: var(--nxc-ink, var(--nx-text-primary)); }
/* The centre's own links read as tabs and buttons, not as underlined text links. */
.nxc-nc a.nxc-nc__tab { color: var(--nxc-ink-2, var(--nx-text-secondary)); text-decoration: none; }
.nxc-nc a.nxc-nc__tab[aria-current="page"], .nxc-nc a.nxc-nc__tab:hover { color: var(--nxc-ink, var(--nx-text-primary)); }
.nxc-nc .nxc-nc__tools a, .nxc-nc a.nxc-nc__open { display: inline-flex; align-items: center; gap: 0.375rem; min-block-size: 2.25rem; padding: 0 0.75rem; border-radius: var(--nx-radius, 5px); color: var(--nxc-ink, var(--nx-text-primary)); text-decoration: none; }
.nxc-nc .nxc-nc__tools a:hover, .nxc-nc a.nxc-nc__open:hover { background: color-mix(in srgb, var(--nx-text-primary, #fff) 8%, transparent); }
.nxc-nc .nxc-nc__fold { margin: 0; }
.nxc-nc .nxc-nc__fold[open] { margin-block-end: 0.25rem; }
.nxc-nc .nxc-nc__row .nxc-av { flex: none; inline-size: 2rem; block-size: 2rem; font-size: 0.75rem; letter-spacing: 0; display: inline-grid; place-items: center; overflow: hidden; }
.nxc-nc .nxc-nc__body > * { margin-block: 0; }
.nxc-page .nxc-nc .nxc-nc__fold > summary { min-block-size: 0; padding: 0.25rem 0; margin: 0; border: 0; background: none; font-size: 0.875rem; font-weight: 500; }

/* 1.25.0 Reactions on community posts: words as quiet chips; the six choices in a small menu. */
.nxc-react { align-items: center; display: inline-flex; flex-wrap: wrap; gap: 0.375rem; position: relative; }
.nxc-react__n { align-items: center; background: var(--nx-surface-2, var(--nxc-accent-soft)); border-radius: var(--nx-radius-sm, 2px); color: var(--nxc-text-2); display: inline-flex; font-size: 0.8125rem; gap: 0.25rem; padding: 0.125rem 0.5rem; }
.nxc-react__n[data-mine] { color: var(--nxc-text); font-weight: 600; }
.nxc-react__pick { position: relative; }
.nxc-react__pick > summary { cursor: pointer; list-style: none; }
.nxc-react__pick > summary::-webkit-details-marker { display: none; }
.nxc-react__menu { background: var(--nxc-surface, var(--nx-bg-surface)); border: 1px solid var(--nxc-line-2, var(--nx-border-hairline)); border-radius: var(--nx-radius, 5px); display: flex; flex-wrap: wrap; gap: 0.25rem; inset-block-start: calc(100% + 0.25rem); inset-inline-start: 0; padding: 0.375rem; position: absolute; z-index: 5; inline-size: max-content; max-inline-size: 22rem; }
.nxc-react__menu form { margin: 0; }
.nxc-react__menu .nxc-btn[aria-pressed="true"] { font-weight: 700; }
.nxc-react .nxc-btn, .nxc-react__pick > summary.nxc-btn { align-items: center; display: inline-flex; font-size: 0.875rem; min-block-size: 2.25rem; padding: 0.25rem 0.75rem; }
.nxc-tools { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* 1.25.0 Community insights: stat tiles with their weekly pulse. */
.nxc-ins__stats { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); list-style: none; margin: 0 0 1.5rem; padding: 0; }
.nxc-ins__stat { border: 1px solid var(--nxc-line, var(--nx-border-hairline)); border-radius: var(--nx-radius, 5px); display: grid; gap: 0.25rem; padding: 1rem; }
.nxc-ins__stat .nx-stat__value { color: var(--nxc-text); font: 600 24px/1.1 var(--nx-font-sans, inherit); font-variant-numeric: tabular-nums; }
.nxc-ins__stat .nx-stat__label { color: var(--nxc-text-3); font-size: var(--nx-t-meta, 12px); }
.nxc-ins__stat .nx-stat__pulse { color: var(--nxc-text-3); margin-block-start: 0.5rem; }
.nxc-ins__tags { display: flex; flex-wrap: wrap; gap: 0.75rem; list-style: none; padding: 0; }

/* Forums lane (2026-11-05): the latest topic in the forum index, a group's Forum tab, mention suggestions, and files
   added to a post (corners 5px at most, chips 2px, never a pill: ACCOUNT_EXPERIENCE_BAR). */
.nxc-spacerow__latest { font-size: 0.875rem; margin: 0.25rem 0 0; }
.nxc-spacerow__latest a { color: var(--nxc-text-2); }
.nxc-forum-tab__head { align-items: center; display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: space-between; margin-block-end: 1rem; }
.nxc-forum-tab__head h2 { margin: 0; }
.nxc-mentions { position: static; max-inline-size: 22rem; }
.nxc-mentions button { background: none; border: 0; border-radius: var(--nxc-r); color: inherit; cursor: pointer; display: block; font: inherit; inline-size: 100%; padding: 0.5rem; text-align: start; }
.nxc-mentions button:hover,
.nxc-mentions button:focus-visible { background: var(--nxc-accent-soft); }
.nxc-editor__attach { cursor: pointer; display: inline-flex; margin-block: 0.5rem; }
.nxc-editor__attach:focus-within { outline: 2px solid var(--nxc-accent); outline-offset: 2px; }
.nxc-page form textarea[data-drop] { outline: 2px dashed var(--nxc-accent); outline-offset: 2px; }
.nxc-attachments { display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); list-style: none; margin: 1rem 0; padding: 0; }
.nxc-attachments img { block-size: auto; border-radius: var(--nxc-r); display: block; max-inline-size: 100%; }
.nxc-attachments figcaption { color: var(--nxc-text-2); font-size: 0.8125rem; margin-block-start: 0.25rem; }
