/* =====================================================================
 * Noya AI News — front-end
 *
 * Principles:
 *  - No font-family anywhere: all text inherits the site's own font
 *    (form controls are told to inherit too, which browsers don't by default).
 *  - Readable on any theme: page-level text (titles, article body) inherits
 *    the theme's text colour; boxes and cards paint their own surface and
 *    text colour. The old automatic dark mode that coloured text without a
 *    background is gone; dark is an explicit setting.
 *  - Every rule is scoped as `.nain .nain-*` so theme/builder globals
 *    (a, button, input, h2 …) can't override the layout.
 * ================================================================== */

/* ---------- Tokens ---------- */
.nain {
	--nain-primary: #0F5257;
	--nain-primary-rgb: 15, 82, 87;
	--nain-accent: #E8A54B;
	--nain-accent-rgb: 232, 165, 75;
	--nain-ink: #06191C;
	--nain-hot: #E5484D;
	--nain-surface: #ffffff;
	--nain-surface-2: #f4f6f6;
	--nain-surface-text: #152124;
	--nain-surface-muted: #5d6d70;
	--nain-surface-line: #e6eaea;
	--nain-line: rgba(128, 128, 128, .22);
	--nain-muted-opacity: .72;
	--nain-radius: 18px;
	--nain-radius-sm: 12px;
	--nain-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 2px 8px rgba(16, 24, 40, .06);
	--nain-shadow-lg: 0 24px 48px -16px rgba(16, 24, 40, .25);
	--nain-container: 1240px;
	--nain-sticky-top: 24px;
	direction: rtl;
	text-align: right;
	font-family: inherit;
	-webkit-font-smoothing: antialiased;
}
:root[data-nain-theme="dark"] .nain, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] {
	--nain-surface: #111c1e;
	--nain-surface-2: #182528;
	--nain-surface-text: #e6eeee;
	--nain-surface-muted: #97a9ab;
	--nain-surface-line: #24363a;
	--nain-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);
}
@media (prefers-color-scheme: dark) {
	:root:not([data-nain-theme]) .nain[data-nain-mode="auto"] {
		--nain-surface: #111c1e;
		--nain-surface-2: #182528;
		--nain-surface-text: #e6eeee;
		--nain-surface-muted: #97a9ab;
		--nain-surface-line: #24363a;
		--nain-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);
	}
}
/* In dark mode the plugin paints its own page area so text never sits on a light theme background. */
:root[data-nain-theme="dark"] .nain-page, :root:not([data-nain-theme]) .nain-page[data-nain-mode="dark"], :root[data-nain-theme="dark"] .nain-feed:not(.is-in-page), :root:not([data-nain-theme]) .nain-feed[data-nain-mode="dark"]:not(.is-in-page), :root[data-nain-theme="dark"] .nain-inline, :root:not([data-nain-theme]) .nain-inline[data-nain-mode="dark"] { background: #0b1416; color: #e6eeee; }
:root[data-nain-theme="dark"] .nain-feed:not(.is-in-page), :root:not([data-nain-theme]) .nain-feed[data-nain-mode="dark"]:not(.is-in-page) { padding: 20px; border-radius: var(--nain-radius); }
@media (prefers-color-scheme: dark) {
	:root:not([data-nain-theme]) .nain-page[data-nain-mode="auto"], :root:not([data-nain-theme]) .nain-feed[data-nain-mode="auto"]:not(.is-in-page) { background: #0b1416; color: #e6eeee; }
	:root:not([data-nain-theme]) .nain-feed[data-nain-mode="auto"]:not(.is-in-page) { padding: 20px; border-radius: var(--nain-radius); }
}

/* ---------- Reset inside the plugin's markup ---------- */
.nain *, .nain *::before, .nain *::after { box-sizing: border-box; }
.nain .nain-ic { display: inline-block; flex: none; vertical-align: middle; width: auto; height: 1em; min-width: 1em; }
.nain svg.nain-ic { width: 1.05em; height: 1.05em; }
.nain a { text-decoration: none; box-shadow: none; }
.nain button, .nain input { font: inherit; letter-spacing: inherit; text-transform: none; }
.nain button {
	-webkit-appearance: none; appearance: none; margin: 0; padding: 0; border: 0;
	background: none; color: inherit; box-shadow: none; min-height: 0; line-height: inherit; cursor: pointer;
}
/* !important on size only: some themes/lazy-load plugins write inline width/height styles onto images. */
.nain .nain-img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: cover; border: 0; border-radius: 0; box-shadow: none; margin: 0; }
.nain .nain-img-ph {
	display: flex; align-items: center; justify-content: center;
	background: radial-gradient(120% 120% at 100% 0%, rgba(var(--nain-accent-rgb), .45), transparent 55%), linear-gradient(135deg, var(--nain-ink), var(--nain-primary));
	color: rgba(255, 255, 255, .75);
}
.nain .nain-img-ph svg { width: 44px; height: 44px; }

/* ---------- Layout ---------- */
.nain.nain-page { display: block; padding-block: clamp(18px, 3vw, 36px) clamp(40px, 6vw, 80px); }
.nain .nain-container { width: 100%; max-width: var(--nain-container); margin-inline: auto; padding-inline: clamp(16px, 3.2vw, 32px); }
.nain.nain-feed { display: block; width: 100%; max-width: 100%; margin-block: 0; }
.nain.nain-feed.alignwide { max-width: var(--nain-container); margin-inline: auto; }

/* ---------- Breadcrumb ---------- */
.nain .nain-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: .84rem; margin: 0 0 18px; opacity: var(--nain-muted-opacity); }
.nain .nain-crumbs a { color: inherit; }
.nain .nain-crumbs a:hover { color: var(--nain-primary); opacity: 1; }
.nain .nain-crumbs span[aria-hidden] { opacity: .5; }

/* ---------- Chips / badges ---------- */
.nain .nain-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.nain .nain-chip {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 12px; border-radius: 999px;
	background: var(--nain-primary); color: #fff;
	font-size: .76rem; font-weight: 700; line-height: 1.4; white-space: nowrap;
}
.nain a.nain-chip:hover { background: var(--nain-ink); color: #fff; }
.nain .nain-chip-hot { background: #cf3339; color: #fff; } /* Darker than --nain-hot: white text at 12px needs 4.5:1 (WCAG AA). */
.nain .nain-chip-hot .nain-ic { animation: nain-flicker 1.6s ease-in-out infinite; }
@keyframes nain-flicker { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }

/* ---------- Section title ---------- */
.nain .nain-section-title {
	display: flex; align-items: center; gap: 10px;
	margin: 0 0 18px; padding: 0; border: 0;
	font-size: clamp(1.15rem, 1.05rem + .4vw, 1.4rem); font-weight: 800; line-height: 1.5; color: inherit;
}
.nain .nain-section-title::before {
	content: ""; width: 5px; height: 1.2em; border-radius: 4px; flex: none;
	background: linear-gradient(180deg, var(--nain-accent), var(--nain-primary));
}
.nain .nain-section-title .nain-ic { color: var(--nain-primary); }

/* =====================================================================
 * Archive page header
 * ================================================================== */
.nain .nain-archive-head {
	position: relative; overflow: hidden;
	margin: 0 0 clamp(22px, 3vw, 34px); padding: clamp(22px, 4vw, 44px);
	border-radius: var(--nain-radius); color: #fff;
	background:
		radial-gradient(70% 140% at 0% 0%, rgba(255, 255, 255, .10), transparent 60%),
		radial-gradient(45% 90% at 100% 100%, rgba(var(--nain-primary-rgb), .55), transparent 70%),
		linear-gradient(135deg, var(--nain-primary) 0%, var(--nain-ink) 100%);
}
.nain .nain-archive-head::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18;
	background-image: radial-gradient(rgba(255, 255, 255, .8) 1px, transparent 1.4px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(to left, #000, transparent 70%);
	mask-image: linear-gradient(to left, #000, transparent 70%);
}
.nain .nain-kicker {
	position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14);
	font-size: .8rem; font-weight: 700; color: #fff;
}
.nain .nain-kicker .nain-ic { color: var(--nain-accent); }
.nain .nain-archive-title { position: relative; z-index: 1; margin: 14px 0 8px; padding: 0; font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.5rem); font-weight: 800; line-height: 1.4; color: #fff; border: 0; }
.nain .nain-archive-desc { position: relative; z-index: 1; margin: 0; max-width: 680px; font-size: 1rem; line-height: 1.9; color: rgba(255, 255, 255, .82); }
.nain .nain-archive-desc p { margin: 0; color: inherit; }

/* =====================================================================
 * Lead block (top story + side stories)
 * ================================================================== */
.nain .nain-lead { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 20px; margin: 0 0 clamp(26px, 3.5vw, 40px); }
.nain .nain-lead-main { position: relative; min-height: 440px; border-radius: var(--nain-radius); overflow: hidden; box-shadow: var(--nain-shadow); background: var(--nain-ink); }
.nain .nain-lead-link { position: absolute; inset: 0; display: block; color: #fff; }
.nain .nain-lead-link:hover, .nain .nain-lead-link:focus { color: #fff; }
.nain .nain-lead-main .nain-img { position: absolute; inset: 0; object-position: 72% 50%; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.nain .nain-lead-main:hover .nain-img { transform: scale(1.04); }
.nain .nain-lead-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 12, 14, 0) 25%, rgba(3, 12, 14, .55) 55%, rgba(3, 12, 14, .94) 100%); }
.nain .nain-lead-body { position: absolute; inset-inline: 0; bottom: 0; padding: clamp(18px, 3vw, 32px); }
.nain .nain-lead-title { margin: 12px 0 8px; padding: 0; border: 0; color: #fff; font-size: clamp(1.3rem, 1rem + 1.3vw, 2rem); font-weight: 800; line-height: 1.5; text-shadow: 0 2px 16px rgba(0, 0, 0, .3); }
.nain .nain-lead-excerpt { margin: 0 0 12px; color: rgba(255, 255, 255, .85); font-size: .95rem; line-height: 1.85; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-lead-body .nain-meta { color: rgba(255, 255, 255, .78); }

.nain .nain-lead-side { display: flex; flex-direction: column; gap: 12px; }
.nain .nain-mini {
	display: flex; gap: 14px; align-items: center; flex: 1;
	padding: 12px; border-radius: var(--nain-radius-sm);
	background: var(--nain-surface); color: var(--nain-surface-text);
	border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.nain .nain-mini:hover { transform: translateY(-2px); box-shadow: var(--nain-shadow-lg); }
.nain .nain-mini-media { flex: none; width: 104px; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; display: block; background: var(--nain-surface-2); }
.nain .nain-mini-body { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nain .nain-mini-cat { font-size: .74rem; font-weight: 700; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-mini-cat, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mini-cat { color: var(--nain-accent); }
.nain .nain-mini-title { margin: 0; padding: 0; border: 0; font-size: .95rem; font-weight: 700; line-height: 1.65; }
.nain .nain-mini-title a { color: var(--nain-surface-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-mini-title a:hover { color: var(--nain-primary); }
.nain .nain-mini .nain-meta { color: var(--nain-surface-muted); }

/* =====================================================================
 * Category tabs, then title + sort + search
 * ================================================================== */
.nain .nain-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 clamp(18px, 2.4vw, 26px); padding-block: 2px; }
.nain .nain-tabs::-webkit-scrollbar { display: none; }
.nain .nain-feed-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; margin: 0 0 20px; }
.nain .nain-feed-head .nain-section-title { margin: 0; }
.nain .nain-tab {
	flex: none; display: inline-flex; align-items: center;
	padding: 8px 16px; border-radius: 999px;
	background: var(--nain-surface); color: var(--nain-surface-text);
	border: 1px solid var(--nain-surface-line);
	font-size: .88rem; font-weight: 600; line-height: 1.4; white-space: nowrap;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.nain .nain-tab:hover { border-color: var(--nain-primary); color: var(--nain-primary); }
.nain .nain-tab.is-active, .nain .nain-tab.is-active:hover { background: var(--nain-primary); border-color: var(--nain-primary); color: #fff; }
.nain .nain-toolbar-end { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nain .nain-seg { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--nain-surface-2); border: 1px solid var(--nain-surface-line); }
.nain .nain-seg-item { display: inline-flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 999px; font-size: .84rem; font-weight: 600; color: var(--nain-surface-muted); white-space: nowrap; }
.nain .nain-seg-item:hover { color: var(--nain-surface-text); }
.nain .nain-seg-item.is-active, .nain .nain-seg-item.is-active:hover { background: var(--nain-surface); color: var(--nain-primary); box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.nain .nain-search { position: relative; display: flex; margin: 0; }
.nain .nain-search-ic { position: absolute; inset-inline-start: 13px; top: 50%; transform: translateY(-50%); color: var(--nain-surface-muted); pointer-events: none; display: flex; }
.nain .nain-search-input {
	width: 230px; max-width: 100%; height: 40px; margin: 0;
	padding: 0 40px 0 14px; border-radius: 999px;
	border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text);
	font-size: .9rem; box-shadow: none; outline: none; transition: border-color .2s ease, box-shadow .2s ease, width .25s ease;
}
.nain .nain-search-input::placeholder { color: var(--nain-surface-muted); opacity: 1; }
.nain .nain-search-input:focus { border-color: var(--nain-primary); box-shadow: 0 0 0 4px rgba(var(--nain-primary-rgb), .14); width: 280px; }

/* =====================================================================
 * Cards
 * ================================================================== */
.nain .nain-cards { display: grid; gap: clamp(16px, 2vw, 24px); margin: 0; padding: 0; }
.nain .nain-grid.nain-cols-1 { grid-template-columns: minmax(0, 1fr); }
.nain .nain-grid.nain-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nain .nain-grid.nain-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nain .nain-grid.nain-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.nain .nain-card {
	position: relative; display: flex; flex-direction: column; min-width: 0;
	border-radius: var(--nain-radius); overflow: hidden;
	background: var(--nain-surface); color: var(--nain-surface-text);
	border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow);
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease, border-color .3s ease;
}
.nain .nain-card:hover { transform: translateY(-4px); box-shadow: var(--nain-shadow-lg); border-color: rgba(var(--nain-primary-rgb), .35); }
.nain .nain-card-media { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--nain-surface-2); }
.nain .nain-card-media .nain-img { transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.nain .nain-card:hover .nain-card-media .nain-img { transform: scale(1.06); }
.nain .nain-card-media .nain-badges { position: absolute; top: 12px; inset-inline-start: 12px; inset-inline-end: 12px; }
.nain .nain-card-media .nain-chip { box-shadow: 0 4px 12px rgba(0, 0, 0, .18); }
.nain .nain-card-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 16px 18px 18px; }
.nain .nain-card-title { margin: 0; padding: 0; border: 0; font-size: 1.04rem; font-weight: 800; line-height: 1.7; }
.nain .nain-card-title a { color: var(--nain-surface-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* Whole card clickable. */
.nain .nain-card:hover .nain-card-title a { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-card:hover .nain-card-title a, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-card:hover .nain-card-title a { color: var(--nain-accent); }
.nain .nain-card-excerpt { margin: 0; font-size: .9rem; line-height: 1.9; color: var(--nain-surface-muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-card .nain-meta { margin-top: auto; padding-top: 10px; border-top: 1px dashed var(--nain-surface-line); color: var(--nain-surface-muted); }

/* List layout */
.nain .nain-list { grid-template-columns: minmax(0, 1fr); }
.nain .nain-list .nain-card { flex-direction: row; }
.nain .nain-list .nain-card-media { flex: none; width: min(34%, 320px); aspect-ratio: auto; min-height: 170px; }
.nain .nain-list .nain-card-title { font-size: 1.12rem; }

/* Meta row */
.nain .nain-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: .78rem; line-height: 1.6; }
.nain .nain-meta > * { display: inline-flex; align-items: center; gap: 5px; }
.nain .nain-meta .nain-ic { opacity: .8; }

/* Empty state */
.nain .nain-empty {
	display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center;
	padding: 48px 20px; border-radius: var(--nain-radius);
	background: var(--nain-surface); color: var(--nain-surface-muted); border: 1px dashed var(--nain-surface-line);
}
.nain .nain-empty svg { width: 36px; height: 36px; color: var(--nain-primary); }
.nain .nain-empty p { margin: 0; }

/* Pagination */
.nain .nain-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: clamp(26px, 3vw, 40px) 0 0; }
.nain .nain-pager .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-width: 42px; height: 42px; padding: 0 14px; border-radius: 12px;
	background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line);
	font-size: .9rem; font-weight: 700; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.nain .nain-pager a.page-numbers:hover { border-color: var(--nain-primary); color: var(--nain-primary); }
.nain .nain-pager .page-numbers.current { background: var(--nain-primary); border-color: var(--nain-primary); color: #fff; }
.nain .nain-pager .page-numbers.dots { background: none; border-color: transparent; min-width: 0; padding: 0 4px; }

/* =====================================================================
 * Single article
 * ================================================================== */
.nain-progress { position: fixed; top: 0; right: 0; left: 0; height: 3px; z-index: 100000; pointer-events: none; background: transparent; }
.nain-progress span { display: block; height: 100%; width: 100%; transform: scaleX(0); transform-origin: right center; background: linear-gradient(90deg, var(--nain-accent, #E8A54B), var(--nain-primary, #0F5257)); }
.admin-bar .nain-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .nain-progress { top: 46px; } }
.admin-bar .nain { --nain-sticky-top: 56px; }

.nain .nain-head { max-width: 920px; margin: 0 0 clamp(20px, 3vw, 30px); }
.nain .nain-head .nain-title { margin: 14px 0 12px; padding: 0; border: 0; font-size: clamp(1.6rem, 1.1rem + 2.1vw, 2.65rem); font-weight: 800; line-height: 1.5; color: inherit; letter-spacing: 0; }
.nain .nain-dek { margin: 0 0 18px; font-size: clamp(1.02rem, .96rem + .3vw, 1.2rem); line-height: 1.95; opacity: .8; }
.nain .nain-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; font-size: .86rem; }
.nain .nain-byline > * { display: inline-flex; align-items: center; gap: 6px; opacity: var(--nain-muted-opacity); }
.nain .nain-byline > .nain-author { opacity: 1; font-weight: 700; }
.nain .nain-avatar {
	display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%;
	background: linear-gradient(135deg, var(--nain-primary), var(--nain-ink)); color: #fff; font-weight: 800; font-size: .95rem;
}
.nain .nain-cover { margin: 0 0 clamp(24px, 3.5vw, 40px); border-radius: var(--nain-radius); overflow: hidden; aspect-ratio: 2 / 1; background: var(--nain-surface-2); box-shadow: var(--nain-shadow); }

.nain .nain-layout { display: block; }
.nain .nain-layout .nain-article { max-width: 780px; margin-inline: auto; }
.nain .nain-layout.has-sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.nain .nain-layout.has-sidebar .nain-article { max-width: 780px; margin-inline: 0; }
.nain .nain-aside { min-width: 0; }
.nain .nain-sticky { position: sticky; top: var(--nain-sticky-top); display: flex; flex-direction: column; gap: 16px; }

/* Boxes (surfaces) */
.nain .nain-box {
	padding: 18px 20px; border-radius: var(--nain-radius);
	background: var(--nain-surface); color: var(--nain-surface-text);
	border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow);
}
.nain .nain-box-title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: .95rem; font-weight: 800; color: var(--nain-surface-text); }
.nain .nain-box-title .nain-ic { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-box-title .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-box-title .nain-ic { color: var(--nain-accent); }

/* Table of contents */
.nain .nain-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; counter-reset: none; }
.nain .nain-toc li { margin: 0; padding: 0; }
.nain .nain-toc li::before, .nain .nain-toc li::marker { content: none; }
.nain .nain-toc a {
	display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 10px;
	font-size: .88rem; line-height: 1.7; color: var(--nain-surface-muted);
	border-inline-start: 3px solid transparent; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.nain .nain-toc a:hover { background: var(--nain-surface-2); color: var(--nain-surface-text); }
.nain .nain-toc a.is-active { background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); border-inline-start-color: var(--nain-primary); font-weight: 700; }
:root[data-nain-theme="dark"] .nain .nain-toc a.is-active, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-toc a.is-active { color: var(--nain-accent); border-inline-start-color: var(--nain-accent); background: rgba(var(--nain-accent-rgb), .08); }
.nain .nain-toc-n { flex: none; font-weight: 800; opacity: .6; min-width: 1.2em; }
.nain .nain-toc-mobile { display: none; margin: 0 0 22px; border-radius: var(--nain-radius); background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); overflow: hidden; }
.nain .nain-toc-mobile summary { display: flex; align-items: center; gap: 8px; padding: 14px 18px; cursor: pointer; font-weight: 800; list-style: none; }
.nain .nain-toc-mobile summary::-webkit-details-marker { display: none; }
.nain .nain-toc-mobile summary span { flex: 1; }
.nain .nain-toc-mobile summary .nain-ic { color: var(--nain-primary); transition: transform .25s ease; }
.nain .nain-toc-mobile[open] summary .nain-ic:last-child { transform: rotate(180deg); }
.nain .nain-toc-mobile ol { padding: 0 10px 12px; }

/* Takeaways */
.nain .nain-takeaways {
	position: relative; margin: 0 0 30px; padding: 22px 24px;
	background: linear-gradient(135deg, rgba(var(--nain-primary-rgb), .07), rgba(var(--nain-accent-rgb), .08)), var(--nain-surface);
	border-color: rgba(var(--nain-primary-rgb), .2);
}
.nain .nain-takeaways ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nain .nain-takeaways li { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 0; line-height: 1.9; font-size: .98rem; }
.nain .nain-takeaways li::before, .nain .nain-takeaways li::marker { content: none; }
.nain .nain-takeaways li .nain-ic {
	margin-top: .35em; padding: 3px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--nain-primary); color: #fff; stroke-width: 3;
}

/* Article body typography */
.nain .nain-prose { font-size: clamp(1rem, .96rem + .22vw, 1.13rem); line-height: 2.05; color: inherit; overflow-wrap: break-word; }
.nain .nain-prose > * { margin-top: 0; }
.nain .nain-prose p { margin: 0 0 1.35em; }
.nain .nain-prose h2 {
	position: relative; margin: 1.9em 0 .8em; padding: 0 16px 0 0; border: 0;
	font-size: 1.42em; font-weight: 800; line-height: 1.6; color: inherit; scroll-margin-top: calc(var(--nain-sticky-top) + 20px);
}
.nain .nain-prose h2::before { content: ""; position: absolute; inset-inline-start: 0; top: .35em; bottom: .35em; width: 5px; border-radius: 4px; background: linear-gradient(180deg, var(--nain-accent), var(--nain-primary)); }
.nain .nain-prose h3 { margin: 1.6em 0 .6em; padding: 0; border: 0; font-size: 1.18em; font-weight: 800; line-height: 1.7; color: inherit; }
.nain .nain-prose h4 { margin: 1.4em 0 .5em; font-size: 1.05em; font-weight: 800; }
.nain .nain-prose a { color: var(--nain-primary); text-decoration: underline; text-decoration-color: rgba(var(--nain-primary-rgb), .35); text-underline-offset: 4px; text-decoration-thickness: 2px; }
.nain .nain-prose a:hover { text-decoration-color: var(--nain-primary); }
.nain .nain-prose strong, .nain .nain-prose b { font-weight: 800; }
.nain .nain-prose ul, .nain .nain-prose ol { margin: 0 0 1.35em; padding: 0 1.4em 0 0; }
.nain .nain-prose ul { list-style: none; }
.nain .nain-prose ul > li { position: relative; }
.nain .nain-prose ul > li::before { content: ""; position: absolute; inset-inline-start: -1.1em; top: .85em; width: 7px; height: 7px; border-radius: 50%; background: var(--nain-accent); }
.nain .nain-prose ol { list-style: persian; }
.nain .nain-prose ol > li::marker { color: var(--nain-primary); font-weight: 800; }
.nain .nain-prose li { margin: 0 0 .5em; padding: 0; }
.nain .nain-prose blockquote {
	margin: 1.6em 0; padding: 18px 22px; border: 0; border-inline-start: 4px solid var(--nain-accent);
	border-radius: 0; border-start-end-radius: var(--nain-radius-sm); border-end-end-radius: var(--nain-radius-sm);
	background: var(--nain-surface-2); color: var(--nain-surface-text); font-size: 1.02em;
}
.nain .nain-prose blockquote p:last-child { margin-bottom: 0; }
.nain .nain-prose img { max-width: 100%; height: auto; border-radius: var(--nain-radius-sm); }
.nain .nain-prose figure { margin: 1.6em 0; }
.nain .nain-prose figcaption { margin-top: 8px; font-size: .85em; text-align: center; opacity: .7; }
.nain .nain-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 0 0 1.4em; font-size: .92em; }
.nain .nain-prose th, .nain .nain-prose td { padding: 10px 14px; border: 1px solid var(--nain-line); text-align: right; }
.nain .nain-prose th { background: rgba(var(--nain-primary-rgb), .08); font-weight: 800; }
.nain .nain-prose code { padding: 2px 6px; border-radius: 6px; background: var(--nain-surface-2); color: var(--nain-surface-text); font-size: .88em; direction: ltr; unicode-bidi: embed; }
.nain .nain-prose hr { border: 0; height: 1px; background: var(--nain-line); margin: 2em 0; }

/* FAQ */
.nain .nain-faq { margin: 38px 0 0; }
.nain .nain-faq-item { margin: 0 0 10px; border-radius: var(--nain-radius-sm); background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.nain .nain-faq-item[open] { border-color: rgba(var(--nain-primary-rgb), .35); box-shadow: var(--nain-shadow); }
.nain .nain-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; cursor: pointer; list-style: none; font-size: 1rem; font-weight: 800; line-height: 1.7; margin: 0; }
.nain .nain-faq-item summary::-webkit-details-marker { display: none; }
.nain .nain-faq-item summary .nain-ic { flex: none; color: var(--nain-primary); transition: transform .25s ease; }
.nain .nain-faq-item[open] summary .nain-ic { transform: rotate(180deg); }
.nain .nain-faq-a { padding: 0 20px 18px; font-size: .95rem; line-height: 2; color: var(--nain-surface-muted); }

/* Source, tags */
.nain .nain-source {
	display: flex; align-items: center; gap: 14px; margin: 30px 0 0; padding: 16px 18px;
	border-radius: var(--nain-radius-sm); background: var(--nain-surface-2); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line);
}
.nain .nain-source-ic { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: none; border-radius: 12px; background: var(--nain-surface); color: var(--nain-primary); border: 1px solid var(--nain-surface-line); }
.nain .nain-source-label { display: block; font-size: .78rem; color: var(--nain-surface-muted); }
.nain .nain-source a { font-weight: 800; color: var(--nain-surface-text); }
.nain .nain-source a:hover { color: var(--nain-primary); }
.nain .nain-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 22px 0 0; }
.nain .nain-tags > .nain-ic { opacity: .6; }
.nain .nain-tag { padding: 5px 12px; border-radius: 999px; font-size: .82rem; border: 1px solid var(--nain-line); opacity: .85; }

/* Share */
.nain .nain-share-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 26px 0 0; padding: 16px 0; border-block: 1px solid var(--nain-line); }
.nain .nain-share-label { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; }
.nain .nain-share { display: flex; flex-wrap: wrap; gap: 8px; }
.nain .nain-sbtn {
	display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%;
	background: var(--nain-surface-2); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line);
	transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.nain .nain-sbtn:hover { transform: translateY(-2px); color: #fff; border-color: transparent; }
.nain .nain-sbtn.is-tg:hover { background: #229ED9; }
.nain .nain-sbtn.is-x:hover { background: #000; }
.nain .nain-sbtn.is-wa:hover { background: #25D366; }
.nain .nain-sbtn.is-copy:hover, .nain .nain-sbtn.is-native:hover { background: var(--nain-primary); }
.nain .nain-sbtn.is-done { background: var(--nain-primary); color: #fff; }
.nain .nain-sbtn[hidden] { display: none; }

/* Previous / next */
.nain .nain-adjacent { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 26px 0 0; }
.nain .nain-adj {
	display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: var(--nain-radius-sm);
	background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line);
	transition: border-color .2s ease, transform .2s ease;
}
.nain .nain-adj:hover { border-color: var(--nain-primary); transform: translateY(-2px); }
.nain .nain-adj.is-next { text-align: left; align-items: flex-end; }
.nain .nain-adj-label { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; color: var(--nain-surface-muted); }
.nain .nain-adj-title { font-weight: 800; line-height: 1.7; font-size: .93rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Sidebar: latest */
.nain .nain-latest { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nain .nain-latest li { margin: 0; padding: 10px 0; border-top: 1px solid var(--nain-surface-line); }
.nain .nain-latest li:first-child { border-top: 0; padding-top: 0; }
.nain .nain-latest li::before, .nain .nain-latest li::marker { content: none; }
.nain .nain-latest a { display: flex; gap: 12px; align-items: center; color: var(--nain-surface-text); }
.nain .nain-latest-media { flex: none; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; background: var(--nain-surface-2); display: block; }
.nain .nain-latest-text { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nain .nain-latest-title { font-size: .87rem; font-weight: 700; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-latest a:hover .nain-latest-title { color: var(--nain-primary); }
.nain .nain-latest-time { font-size: .74rem; color: var(--nain-surface-muted); }

/* Related */
.nain .nain-related { margin: clamp(40px, 5vw, 64px) 0 0; padding-top: clamp(28px, 3.5vw, 40px); border-top: 1px solid var(--nain-line); }

/* Inline mode (inside the theme's own single template) */
.nain.nain-inline { display: block; margin: 0 0 24px; }
.nain.nain-inline .nain-related .nain-grid.nain-cols-3 { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }

/* =====================================================================
 * Ticker
 * ================================================================== */
.nain.nain-ticker {
	display: flex; align-items: stretch; min-height: 46px; border-radius: 14px; overflow: hidden;
	background: var(--nain-ink); color: #e8f0f0; box-shadow: 0 10px 30px -18px rgba(6, 25, 28, .8); font-size: .9rem;
}
.nain.nain-ticker--light { background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain.nain-ticker--brand { background: linear-gradient(90deg, var(--nain-ink), var(--nain-primary)); color: #fff; }
.nain .nain-ticker-label {
	position: relative; flex: none; display: flex; align-items: center; gap: 9px; padding-block: 0; padding-inline: 18px 30px;
	background: #cc3338; color: #fff; font-size: .86rem; font-weight: 900; white-space: nowrap;
	clip-path: polygon(16px 0, 100% 0, 100% 100%, 0 100%);
}
.nain .nain-ticker-track {
	position: relative; flex: 1; min-width: 0; display: flex; align-items: center; overflow: hidden;
	-webkit-mask-image: linear-gradient(to left, transparent, #000 32px, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(to left, transparent, #000 32px, #000 calc(100% - 48px), transparent);
}
.nain .nain-ticker-list { display: flex; align-items: center; width: max-content; margin: 0; padding: 0; list-style: none; white-space: nowrap; animation: nain-ticker var(--nain-ticker-speed, 40s) linear infinite; }
.nain.nain-ticker:hover .nain-ticker-list, .nain.nain-ticker:focus-within .nain-ticker-list { animation-play-state: paused; }
.nain .nain-ticker-list li { position: relative; display: inline-flex; align-items: center; gap: 9px; margin: 0; padding-block: 0; padding-inline: 22px; font-size: .9rem; }
.nain .nain-ticker-list li::before, .nain .nain-ticker-list li::marker { content: none; }
.nain .nain-ticker-list li::after { content: ""; position: absolute; inset-inline-end: -3px; top: 50%; width: 6px; height: 6px; margin-top: -3px; transform: rotate(45deg); background: var(--nain-accent); opacity: .8; }
.nain .nain-ticker-time { font-size: .76rem; font-weight: 800; padding: 1px 7px; border-radius: 6px; background: rgba(255, 255, 255, .09); color: var(--nain-accent); font-variant-numeric: tabular-nums; }
.nain.nain-ticker--light .nain-ticker-time { background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); }
.nain .nain-ticker-list a { color: inherit; font-weight: 600; text-decoration: none; }
.nain .nain-ticker-list a:hover, .nain .nain-ticker-list a:focus { color: var(--nain-accent); }
.nain.nain-ticker--light .nain-ticker-list a:hover { color: var(--nain-primary); }
.nain .nain-ticker-hot { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 999px; background: var(--nain-hot); color: #fff; font-size: .7rem; font-weight: 800; }
.nain .nain-ticker-date { flex: none; display: flex; align-items: center; gap: 6px; padding-inline: 16px; font-size: .8rem; font-weight: 600; opacity: .8; border-inline-start: 1px solid rgba(128, 128, 128, .25); white-space: nowrap; }
/* The list is doubled, so moving by half its width loops seamlessly (RTL: headlines enter from the left, start first). */
@keyframes nain-ticker { from { transform: translateX(0); } to { transform: translateX(50%); } }
/* Live dot with a ping ring. */
.nain .nain-dot { position: relative; display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.nain .nain-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: currentColor; animation: nain-ping 1.6s cubic-bezier(0, 0, .2, 1) infinite; }
@keyframes nain-ping { 75%, 100% { transform: scale(2.6); opacity: 0; } }

/* =====================================================================
 * Responsive
 * ================================================================== */
@media (max-width: 1100px) {
	.nain .nain-grid.nain-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.nain .nain-layout.has-sidebar { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-layout.has-sidebar .nain-article { max-width: 780px; margin-inline: auto; }
	.nain .nain-aside { display: none; }
	.nain .nain-toc-mobile { display: block; }
	.nain .nain-lead { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-lead-main { min-height: 380px; }
	.nain .nain-lead-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.nain .nain-grid.nain-cols-3, .nain .nain-grid.nain-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nain .nain-cover { aspect-ratio: 16 / 9; }
}
@media (max-width: 640px) {
	.nain .nain-grid.nain-cols-2, .nain .nain-grid.nain-cols-3, .nain .nain-grid.nain-cols-4 { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-list .nain-card { flex-direction: column; }
	.nain .nain-list .nain-card-media { width: 100%; aspect-ratio: 16 / 9; min-height: 0; }
	.nain .nain-lead-main { min-height: 340px; border-radius: 14px; }
	.nain .nain-lead-side { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-mini-media { width: 88px; }
	.nain .nain-toolbar-end, .nain .nain-search, .nain .nain-search-input, .nain .nain-search-input:focus { width: 100%; }
	.nain .nain-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * clamp(16px, 3.2vw, 32px)); padding-inline: clamp(16px, 3.2vw, 32px); -webkit-mask-image: linear-gradient(to left, #000 88%, transparent); mask-image: linear-gradient(to left, #000 88%, transparent); }
	.nain .nain-feed-head .nain-toolbar-end { width: 100%; justify-content: space-between; }
	.nain .nain-adjacent { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-adj.is-next { text-align: right; align-items: flex-start; }
	.nain .nain-share-row { flex-direction: column; align-items: flex-start; }
	.nain .nain-cover { border-radius: 14px; margin-inline: calc(-1 * clamp(16px, 3.2vw, 32px)); border-radius: 0; }
	.nain .nain-ticker-label span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.nain *, .nain *::before, .nain *::after { animation: none !important; transition: none !important; }
	.nain .nain-ticker-list { overflow-x: auto; }
}
@media print {
	.nain-progress, .nain .nain-aside, .nain .nain-share-row, .nain .nain-adjacent, .nain .nain-related, .nain .nain-toc-mobile { display: none !important; }
	.nain .nain-layout.has-sidebar { display: block; }
}

/* =====================================================================
 * Internal link boxes (inside the article, between paragraphs)
 * Root carries .nain itself, so they work inside the theme's own template too.
 * `.nain.nain-ilink …` outranks article-body link styles (underline, colour).
 * ================================================================== */
.nain.nain-ilink { display: block; clear: both; margin: 2em 0; padding: 0; border: 0; background: none; box-shadow: none; }
.nain.nain-ilink .nain-ilink-a {
	position: relative; display: flex; align-items: center; gap: 16px; overflow: hidden;
	text-decoration: none; border-bottom: 0; box-shadow: none; line-height: 1.7;
	transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.nain.nain-ilink .nain-ilink-a:focus-visible { outline: 3px solid rgba(var(--nain-primary-rgb), .45); outline-offset: 3px; }
.nain.nain-ilink .nain-ilink-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.nain.nain-ilink .nain-ilink-label { display: inline-flex; align-items: center; gap: 6px; font-size: .76rem; font-weight: 800; letter-spacing: 0; }
.nain.nain-ilink .nain-ilink-title { font-size: 1.02rem; font-weight: 800; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain.nain-ilink .nain-ilink-desc { font-size: .86rem; line-height: 1.85; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Card */
.nain.nain-ilink--card .nain-ilink-a {
	padding: 14px 18px 14px 14px; border-radius: 18px;
	background: var(--nain-surface); color: var(--nain-surface-text);
	border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow);
}
.nain.nain-ilink--card .nain-ilink-a::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: 5px; background: linear-gradient(180deg, var(--nain-accent), var(--nain-primary)); }
.nain.nain-ilink--card .nain-ilink-a:hover { transform: translateY(-2px); box-shadow: var(--nain-shadow-lg); border-color: rgba(var(--nain-primary-rgb), .35); color: var(--nain-surface-text); }
.nain.nain-ilink--card .nain-ilink-media {
	flex: none; width: 78px; height: 78px; border-radius: 14px; overflow: hidden; display: flex; align-items: center; justify-content: center;
	background: radial-gradient(120% 120% at 100% 0%, rgba(var(--nain-accent-rgb), .5), transparent 55%), linear-gradient(135deg, var(--nain-ink), var(--nain-primary)); color: #fff;
}
.nain.nain-ilink .nain-ilink-img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.nain.nain-ilink--card .nain-ilink-label { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain.nain-ilink--card .nain-ilink-label, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"].nain-ilink--card .nain-ilink-label { color: var(--nain-accent); }
.nain.nain-ilink--card .nain-ilink-title { color: var(--nain-surface-text); }
.nain.nain-ilink--card .nain-ilink-desc { color: var(--nain-surface-muted); }
.nain.nain-ilink--card .nain-ilink-go {
	flex: none; width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: rgba(var(--nain-primary-rgb), .1); color: var(--nain-primary); transition: transform .25s ease, background .25s ease, color .25s ease;
}
.nain.nain-ilink--card .nain-ilink-a:hover .nain-ilink-go { background: var(--nain-primary); color: #fff; transform: translateX(-4px); }

/* Banner */
.nain.nain-ilink--banner .nain-ilink-a {
	padding: 18px 20px; border-radius: 20px; color: #fff;
	background:
		radial-gradient(60% 140% at 0% 0%, rgba(var(--nain-accent-rgb), .30), transparent 60%),
		radial-gradient(50% 120% at 100% 100%, rgba(255, 255, 255, .10), transparent 60%),
		linear-gradient(135deg, var(--nain-primary), var(--nain-ink));
	box-shadow: 0 16px 34px -18px rgba(var(--nain-primary-rgb), .9);
}
.nain.nain-ilink--banner .nain-ilink-a::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .16;
	background-image: radial-gradient(rgba(255, 255, 255, .9) 1px, transparent 1.4px); background-size: 18px 18px;
	-webkit-mask-image: linear-gradient(to right, #000, transparent 60%); mask-image: linear-gradient(to right, #000, transparent 60%);
}
.nain.nain-ilink--banner .nain-ilink-a:hover { transform: translateY(-2px); color: #fff; }
.nain.nain-ilink--banner .nain-ilink-icon { position: relative; z-index: 1; flex: none; width: 52px; height: 52px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .14); color: var(--nain-accent); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.nain.nain-ilink--banner .nain-ilink-body { position: relative; z-index: 1; }
.nain.nain-ilink--banner .nain-ilink-label { align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: rgba(255, 255, 255, .16); color: #fff; }
.nain.nain-ilink--banner .nain-ilink-title { color: #fff; font-size: 1.08rem; }
.nain.nain-ilink--banner .nain-ilink-desc { color: rgba(255, 255, 255, .82); }
.nain.nain-ilink--banner .nain-ilink-cta {
	position: relative; z-index: 1; flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border-radius: 12px;
	background: var(--nain-accent); color: #1a1206; font-weight: 800; font-size: .9rem; white-space: nowrap; transition: transform .25s ease;
}
.nain.nain-ilink--banner .nain-ilink-a:hover .nain-ilink-cta { transform: translateX(-4px); }

/* Inline */
.nain.nain-ilink--inline .nain-ilink-a {
	flex-wrap: wrap; gap: 6px 10px; padding: 13px 18px; border-radius: 14px; color: inherit;
	background: rgba(var(--nain-primary-rgb), .06); border: 1px dashed rgba(var(--nain-primary-rgb), .35);
}
.nain.nain-ilink--inline .nain-ilink-a:hover { background: rgba(var(--nain-primary-rgb), .1); border-style: solid; color: inherit; }
.nain.nain-ilink--inline .nain-ilink-label { color: var(--nain-primary); font-size: .88rem; }
.nain.nain-ilink--inline .nain-ilink-label::after { content: ":"; margin-inline-start: -6px; }
.nain.nain-ilink--inline .nain-ilink-title { flex: 1; min-width: 0; font-size: .96rem; -webkit-line-clamp: 1; text-decoration: underline; text-decoration-color: rgba(var(--nain-primary-rgb), .35); text-underline-offset: 5px; text-decoration-thickness: 2px; }
.nain.nain-ilink--inline .nain-ilink-go { color: var(--nain-primary); display: flex; transition: transform .25s ease; }
.nain.nain-ilink--inline .nain-ilink-a:hover .nain-ilink-go { transform: translateX(-4px); }

@media (max-width: 600px) {
	.nain.nain-ilink--card .nain-ilink-media { width: 64px; height: 64px; }
	.nain.nain-ilink--card .nain-ilink-go { display: none; }
	.nain.nain-ilink--banner .nain-ilink-a { flex-wrap: wrap; }
	.nain.nain-ilink--banner .nain-ilink-icon { width: 44px; height: 44px; }
	.nain.nain-ilink--banner .nain-ilink-body { flex-basis: calc(100% - 64px); }
	.nain.nain-ilink--banner .nain-ilink-cta { flex: 1 1 100%; justify-content: center; }
}

/* =====================================================================
 * Ad popup — container & positions
 * ================================================================== */
.nain.nain-pop { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; pointer-events: none; }
.nain.nain-pop[hidden] { display: none !important; }
.nain-pop .nain-pop-overlay { position: absolute; inset: 0; background: rgba(3, 10, 12, .6); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; transition: opacity .35s ease; pointer-events: auto; }
.nain-pop .nain-pop-box {
	position: relative; width: min(460px, 100%); max-height: calc(100vh - 32px); overflow: auto; overscroll-behavior: contain;
	border-radius: 26px; box-shadow: 0 40px 90px -24px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);
	opacity: 0; transform: translateY(26px) scale(.96); transition: opacity .35s ease, transform .5s cubic-bezier(.2, .8, .2, 1); pointer-events: auto; scrollbar-width: none;
}
.nain-pop .nain-pop-box::-webkit-scrollbar { display: none; }
.nain-pop.is-open .nain-pop-overlay { opacity: 1; }
.nain-pop.is-open .nain-pop-box { opacity: 1; transform: none; }
.nain-pop[data-layout="split"] .nain-pop-box { width: min(760px, 100%); }
.nain-pop[data-layout="coupon"] .nain-pop-box { width: min(620px, 100%); }
.nain-pop[data-layout="announce"] .nain-pop-box { width: min(640px, 100%); }
.nain-pop .nain-pop-x {
	position: absolute; top: 12px; inset-inline-end: 12px; z-index: 5; width: 36px; height: 36px; margin: 0; padding: 0; border: 0; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; cursor: pointer; background: rgba(0, 0, 0, .3); color: #fff;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background .2s ease, transform .2s ease; box-shadow: none;
}
.nain-pop .nain-pop-x:hover { background: rgba(0, 0, 0, .5); transform: rotate(90deg); color: #fff; }
.nain-pop .nain-pop-x:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
/* Corner card (left in RTL) — no overlay, doesn't block the page. */
.nain.nain-pop[data-pos="corner"] { align-items: flex-end; justify-content: flex-end; padding: 20px; }
.nain-pop[data-pos="corner"] .nain-pop-overlay { display: none; }
.nain-pop[data-pos="corner"] .nain-pop-box, .nain-pop[data-pos="corner"][data-layout] .nain-pop-box { width: min(380px, 100%); border-radius: 22px; }
/* Bottom bar — compact. */
.nain.nain-pop[data-pos="bar"] { align-items: flex-end; padding: 14px; }
.nain-pop[data-pos="bar"] .nain-pop-overlay { display: none; }
.nain-pop[data-pos="bar"] .nain-pop-box, .nain-pop[data-pos="bar"][data-layout] .nain-pop-box { width: min(980px, 100%); border-radius: 20px; }
html.nain-pop-lock, html.nain-pop-lock body { overflow: hidden !important; }

/* =====================================================================
 * Ad templates
 * ================================================================== */
.nain .nain-ad {
	--ad-bg1: var(--nain-ink); --ad-bg2: var(--nain-primary); --ad-text: #fff; --ad-muted: rgba(255, 255, 255, .8);
	--ad-accent: var(--nain-accent); --ad-btn: var(--nain-accent); --ad-btn-text: #1a1206; --ad-chip: rgba(255, 255, 255, .13); --ad-line: rgba(255, 255, 255, .18);
	position: relative; overflow: hidden; isolation: isolate; color: var(--ad-text); text-align: right; direction: rtl; line-height: 1.8; border-radius: inherit;
	background: radial-gradient(110% 80% at 100% 0%, rgba(255, 255, 255, .16), transparent 55%), linear-gradient(150deg, var(--ad-bg2) 0%, var(--ad-bg1) 100%);
}
.nain .nain-ad::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .14;
	background-image: radial-gradient(rgba(255, 255, 255, .95) 1px, transparent 1.5px); background-size: 20px 20px;
	-webkit-mask-image: radial-gradient(70% 60% at 0% 0%, #000, transparent 70%); mask-image: radial-gradient(70% 60% at 0% 0%, #000, transparent 70%);
}
.nain .nain-ad::after {
	content: ""; position: absolute; z-index: -1; width: 320px; height: 320px; left: -110px; bottom: -150px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, var(--ad-accent), transparent 68%); opacity: .38; filter: blur(8px);
}
/* Palettes */
.nain .nain-ad--p-midnight { --ad-bg1: #070b18; --ad-bg2: #1e2a4a; --ad-accent: #38bdf8; --ad-btn: #38bdf8; --ad-btn-text: #03121d; }
.nain .nain-ad--p-royal    { --ad-bg1: #1e0b4b; --ad-bg2: #6d28d9; --ad-accent: #fbbf24; --ad-btn: #fbbf24; --ad-btn-text: #2a1605; }
.nain .nain-ad--p-ocean    { --ad-bg1: #062a43; --ad-bg2: #0891b2; --ad-accent: #a5f3fc; --ad-btn: #ffffff; --ad-btn-text: #073b56; }
.nain .nain-ad--p-emerald  { --ad-bg1: #022c22; --ad-bg2: #059669; --ad-accent: #fde68a; --ad-btn: #fde68a; --ad-btn-text: #06301f; }
.nain .nain-ad--p-sunset   { --ad-bg1: #5a1a0b; --ad-bg2: #f97316; --ad-accent: #fff1d6; --ad-btn: #ffffff; --ad-btn-text: #9a3412; }
.nain .nain-ad--p-rose     { --ad-bg1: #4c0519; --ad-bg2: #db2777; --ad-accent: #fce7f3; --ad-btn: #ffffff; --ad-btn-text: #9d174d; }
.nain .nain-ad--p-gold     { --ad-bg1: #0c0a09; --ad-bg2: #3b3024; --ad-accent: #f5b83d; --ad-btn: linear-gradient(135deg, #fcd576, #e29b1f); --ad-btn-text: #1c1206; --ad-chip: rgba(245, 184, 61, .12); --ad-line: rgba(245, 184, 61, .28); }
.nain .nain-ad--p-light    { --ad-bg1: #eef2f6; --ad-bg2: #ffffff; --ad-text: #0f1b2d; --ad-muted: #4b5a6b; --ad-accent: var(--nain-primary); --ad-btn: var(--nain-primary); --ad-btn-text: #fff; --ad-chip: rgba(var(--nain-primary-rgb), .09); --ad-line: rgba(15, 27, 45, .08); }
.nain .nain-ad--p-light::before { opacity: .5; background-image: radial-gradient(rgba(var(--nain-primary-rgb), .35) 1px, transparent 1.5px); }
.nain .nain-ad--p-light::after { opacity: .18; }
.nain-pop[data-palette="light"] .nain-pop-x { background: rgba(15, 27, 45, .08); color: #0f1b2d; }
.nain-pop[data-palette="light"] .nain-pop-x:hover { background: rgba(15, 27, 45, .16); color: #0f1b2d; }

/* Shared pieces */
.nain .nain-ad-body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 12px; padding: 30px 28px 26px; }
.nain .nain-ad-top { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.nain .nain-ad-icon { flex: none; width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: var(--ad-chip); color: var(--ad-accent); box-shadow: inset 0 0 0 1px var(--ad-line); }
.nain .nain-ad-icon .nain-ic { width: 28px; height: 28px; }
.nain .nain-ad-badge { display: inline-flex; align-items: center; padding: 5px 13px; border-radius: 999px; background: var(--ad-accent); color: var(--ad-btn-text); font-size: .76rem; font-weight: 800; line-height: 1.5; }
.nain .nain-ad--p-light .nain-ad-badge { color: #fff; }
.nain .nain-ad--p-ocean .nain-ad-badge, .nain .nain-ad--p-sunset .nain-ad-badge, .nain .nain-ad--p-rose .nain-ad-badge { color: var(--ad-btn-text); }
.nain .nain-ad-headline { margin: 0; font-size: clamp(1.3rem, 1.1rem + .9vw, 1.7rem); font-weight: 900; line-height: 1.5; color: var(--ad-text); }
.nain .nain-ad-sub { margin: 0; font-size: .96rem; line-height: 1.95; color: var(--ad-muted); }
.nain .nain-ad-list { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.nain .nain-ad-list li { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 0; font-size: .92rem; line-height: 1.7; color: var(--ad-text); }
.nain .nain-ad-list li::before, .nain .nain-ad-list li::marker { content: none; }
.nain .nain-ad-list .nain-ic { flex: none; width: 20px; height: 20px; margin-top: .2em; padding: 3px; border-radius: 50%; background: var(--ad-accent); color: var(--ad-btn-text); stroke-width: 3.2; }
.nain .nain-ad--p-light .nain-ad-list .nain-ic { color: #fff; }
.nain .nain-ad-cta {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; padding: 14px 24px; border: 0; border-radius: 15px;
	background: var(--ad-btn); color: var(--ad-btn-text); font-size: 1.02rem; font-weight: 900; line-height: 1.5; text-decoration: none;
	box-shadow: 0 14px 28px -12px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .35); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.nain .nain-ad-cta:hover, .nain .nain-ad-cta:focus { color: var(--ad-btn-text); transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 18px 34px -12px rgba(0, 0, 0, .6); }
.nain .nain-ad-cta:focus-visible { outline: 3px solid var(--ad-text); outline-offset: 3px; }
.nain .nain-ad-cta .nain-ic { transition: transform .2s ease; }
.nain .nain-ad-cta:hover .nain-ic { transform: translateX(-4px); }
.nain .nain-ad-note { font-size: .8rem; line-height: 1.7; color: var(--ad-muted); text-align: center; }

/* Spotlight — centred */
.nain .nain-ad--spotlight .nain-ad-body { align-items: center; text-align: center; padding: 38px 30px 28px; }
.nain .nain-ad--spotlight .nain-ad-top { flex-direction: column; gap: 14px; }
.nain .nain-ad--spotlight .nain-ad-icon { width: 72px; height: 72px; border-radius: 24px; box-shadow: inset 0 0 0 1px var(--ad-line), 0 0 0 8px var(--ad-chip); }
.nain .nain-ad--spotlight .nain-ad-icon .nain-ic { width: 34px; height: 34px; }
.nain .nain-ad--spotlight .nain-ad-list { align-self: stretch; text-align: right; padding: 14px 16px; border-radius: 16px; background: var(--ad-chip); box-shadow: inset 0 0 0 1px var(--ad-line); }
.nain .nain-ad--spotlight .nain-ad-cta { align-self: stretch; }

/* Split — picture + content */
.nain .nain-ad--split { display: grid; grid-template-columns: 44% minmax(0, 1fr); }
.nain .nain-ad-media { position: relative; min-height: 360px; background: var(--ad-bg1); }
.nain .nain-ad-media .nain-ad-img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; margin: 0; border-radius: 0; }
.nain .nain-ad-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to left, transparent 55%, rgba(0, 0, 0, .28)); }
.nain .nain-ad--split .nain-ad-body { justify-content: center; padding: 34px 28px 28px; }
.nain .nain-ad--split .nain-ad-cta { align-self: flex-start; }

/* Coupon — ticket with a value stub */
.nain .nain-ad--coupon { display: grid; grid-template-columns: 150px minmax(0, 1fr); }
.nain .nain-ad-stub {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 26px 12px; text-align: center;
	background: var(--ad-accent); color: var(--ad-btn-text); border-inline-end: 3px dashed rgba(0, 0, 0, .22);
}
.nain .nain-ad--p-gold .nain-ad-stub { background: linear-gradient(160deg, #fcd576, #e29b1f); }
.nain .nain-ad--p-light .nain-ad-stub { color: #fff; border-inline-end-color: rgba(255, 255, 255, .5); }
.nain .nain-ad-highlight { font-size: 2.3rem; font-weight: 900; line-height: 1.15; }
.nain .nain-ad-stub-label { font-size: .78rem; font-weight: 800; line-height: 1.5; opacity: .9; }
.nain .nain-ad-stub .nain-ad-icon { background: rgba(0, 0, 0, .1); color: inherit; box-shadow: none; }
.nain .nain-ad--coupon .nain-ad-body { padding: 30px 26px 24px; }
.nain .nain-ad--coupon .nain-ad-cta { align-self: flex-start; }

/* Announce — one compact row */
.nain .nain-ad--announce .nain-ad-body { flex-direction: row; align-items: center; gap: 18px; padding-block: 24px; padding-inline-start: 26px; padding-inline-end: 62px; }
.nain .nain-ad--announce .nain-ad-text { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.nain .nain-ad--announce .nain-ad-headline { font-size: clamp(1.15rem, 1.05rem + .5vw, 1.35rem); }
.nain .nain-ad--announce .nain-ad-sub { font-size: .9rem; }
.nain .nain-ad--announce .nain-ad-cta { flex: none; margin: 0; }

/* Minimal — flat, elegant, left-aligned (right in RTL) */
.nain .nain-ad--minimal { background: linear-gradient(180deg, var(--ad-bg2), var(--ad-bg1)); }
.nain .nain-ad--minimal::after { opacity: .16; }
.nain .nain-ad--minimal .nain-ad-body { padding: 34px 30px 28px; border-top: 5px solid var(--ad-accent); }
.nain .nain-ad--minimal .nain-ad-icon { width: 46px; height: 46px; border-radius: 14px; }
.nain .nain-ad--minimal .nain-ad-icon .nain-ic { width: 22px; height: 22px; }
.nain .nain-ad--minimal .nain-ad-actions { display: flex; }
.nain .nain-ad--minimal .nain-ad-note { text-align: right; }

@media (max-width: 600px) {
	.nain.nain-pop, .nain.nain-pop[data-pos="corner"] { padding: 0; align-items: flex-end; justify-content: center; }
	.nain-pop .nain-pop-box, .nain-pop[data-layout] .nain-pop-box, .nain-pop[data-pos="corner"] .nain-pop-box, .nain-pop[data-pos="corner"][data-layout] .nain-pop-box { width: 100%; max-height: 88vh; border-radius: 24px 24px 0 0; transform: translateY(100%); }
	.nain-pop.is-open .nain-pop-box { transform: none; }
	.nain-pop[data-pos="corner"] .nain-pop-overlay { display: block; }
	.nain-pop[data-pos="bar"] .nain-pop-box { border-radius: 18px; }
	.nain .nain-ad-body { padding: 26px 20px 22px; }
	.nain .nain-ad--spotlight .nain-ad-body { padding: 32px 20px 22px; }
	.nain .nain-ad--split, .nain .nain-ad--coupon { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-ad-media { min-height: 180px; }
	.nain .nain-ad-stub { flex-direction: row; padding: 16px 20px; border-inline-end: 0; border-bottom: 3px dashed rgba(0, 0, 0, .22); }
	.nain .nain-ad-highlight { font-size: 1.9rem; }
	.nain .nain-ad--announce .nain-ad-body { flex-wrap: wrap; }
	.nain .nain-ad--announce .nain-ad-cta { flex: 1 1 100%; }
	.nain .nain-ad--split .nain-ad-cta, .nain .nain-ad--coupon .nain-ad-cta { align-self: stretch; }
}
@media (prefers-reduced-motion: reduce) {
	.nain-pop .nain-pop-box, .nain-pop .nain-pop-overlay { transition: opacity .2s ease; transform: none !important; }
}

/* Bottom bar: one compact row — icon | text | button — whatever the ad's layout.
   Placed last and with extra specificity so it overrides the layout rules above. */
.nain.nain-pop[data-pos="bar"] .nain-ad { display: block; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-media,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-stub,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-list,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-note,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-top .nain-ad-badge { display: none; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 18px; row-gap: 2px; align-items: center; justify-items: stretch;
	text-align: right; border-top: 0; padding-block: 16px; padding-inline-start: 20px; padding-inline-end: 64px;
}
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-top,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-icon { grid-column: 1; grid-row: 1 / span 2; flex-direction: row; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-icon { width: 48px; height: 48px; border-radius: 15px; box-shadow: inset 0 0 0 1px var(--ad-line); }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-icon .nain-ic { width: 24px; height: 24px; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-headline,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-sub,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-text { grid-column: 2; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-text { align-items: flex-start; gap: 2px; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-headline { font-size: 1.1rem; line-height: 1.6; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-sub { font-size: .88rem; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-cta,
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-actions { grid-column: 3; grid-row: 1 / span 2; align-self: center; width: auto; margin: 0; }
.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-cta { padding: 12px 20px; white-space: nowrap; }
@media (max-width: 600px) {
	.nain.nain-pop[data-pos="bar"] { padding: 10px; }
	.nain.nain-pop[data-pos="bar"] .nain-pop-box { border-radius: 18px; }
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body { grid-template-columns: minmax(0, 1fr); row-gap: 8px; padding-block: 14px; padding-inline-start: 16px; padding-inline-end: 52px; }
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-top,
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-icon { display: none; }
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-headline,
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-sub,
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-text,
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-cta,
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-body > .nain-ad-actions { grid-column: 1; grid-row: auto; }
	.nain.nain-pop[data-pos="bar"] .nain-ad .nain-ad-cta { width: 100%; }
}

/* =====================================================================
 * NEWS PORTAL
 * ================================================================== */
.nain.nain-portal-page { padding-block: clamp(12px, 2vw, 22px) clamp(40px, 6vw, 80px); }
.nain.nain-portal { display: flex; flex-direction: column; gap: clamp(22px, 2.8vw, 34px); }
.nain.nain-portal > .nain-crumbs { margin-bottom: calc(-1 * clamp(10px, 1.6vw, 20px)); }
/* Stretched links: the whole card is clickable; category links and badges sit above it. */
.nain .nain-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.nain .nain-above { position: relative; z-index: 2; }
.nain .nain-chip-new { background: #16a34a; }
.nain .nain-chip-new .nain-dot { width: 6px; height: 6px; }

/* ---------- Page head: title + live stats ---------- */
.nain .nain-phead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 28px; }
.nain .nain-phead-main { flex: 1 1 440px; min-width: 0; }
.nain .nain-phead .nain-kicker, .nain .nain-brief-head .nain-kicker, .nain .nain-mr-head .nain-kicker { background: rgba(var(--nain-primary-rgb), .09); color: var(--nain-primary); }
.nain .nain-phead .nain-kicker .nain-dot, .nain .nain-brief-head .nain-kicker .nain-dot, .nain .nain-mr-head .nain-kicker .nain-dot { color: #16a34a; }
.nain .nain-phead .nain-archive-title { margin: 12px 0 6px; color: inherit; font-weight: 900; font-size: clamp(1.7rem, 1.25rem + 1.9vw, 2.7rem); }
.nain .nain-phead .nain-archive-desc { color: inherit; opacity: var(--nain-muted-opacity); max-width: 640px; }
.nain .nain-pstats { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.nain .nain-pstats > div { min-width: 104px; padding: 11px 16px; border-radius: 16px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-pstats dt { display: flex; align-items: center; gap: 5px; margin: 0; font-size: .74rem; font-weight: 600; color: var(--nain-surface-muted); }
.nain .nain-pstats dd { margin: 2px 0 0; font-size: 1.45rem; font-weight: 900; line-height: 1.35; color: var(--nain-primary); font-variant-numeric: tabular-nums; }
:root[data-nain-theme="dark"] .nain .nain-pstats dd, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-pstats dd { color: var(--nain-accent); }
.nain .nain-pstats dd small { font-size: .72rem; font-weight: 600; color: var(--nain-surface-muted); }
.nain .nain-pstats dd.is-sm { font-size: .92rem; font-weight: 800; color: var(--nain-surface-text); line-height: 2.3; }

/* ---------- Hero: mosaic slider ---------- */
.nain .nain-hero { display: grid; gap: 14px; }
.nain .nain-hero--mosaic, .nain .nain-hero--mosaic4 { grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 262px 262px; grid-template-areas: "s a b" "s c c"; }
.nain .nain-hero--mosaic4 { grid-template-areas: "s a b" "s c d"; }
.nain .nain-hero--split { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: 540px; grid-template-areas: "s l"; }
.nain .nain-hero--wide { grid-template-columns: minmax(0, 1fr); }
.nain .nain-hero .nain-slider, .nain .nain-hero .nain-slider { grid-area: s; }
.nain .nain-hero .nain-tile--1 { grid-area: a; }
.nain .nain-hero .nain-tile--2 { grid-area: b; }
.nain .nain-hero .nain-tile--3 { grid-area: c; }
.nain .nain-hero .nain-tile--4 { grid-area: d; }

.nain .nain-slider { position: relative; display: flex; flex-direction: column; overflow: hidden; isolation: isolate; border-radius: 24px; background: var(--nain-ink); color: #fff; outline: none; box-shadow: 0 30px 60px -34px rgba(6, 25, 28, .9); }
.nain .nain-slider:focus-visible { box-shadow: 0 0 0 3px rgba(var(--nain-accent-rgb), .85); }
.nain .nain-slides { position: relative; flex: 1; min-height: 100%; touch-action: pan-y; -webkit-user-select: none; user-select: none; }
.nain .nain-slider img, .nain .nain-slider a { -webkit-user-drag: none; }
.nain .nain-hero--wide .nain-slides { flex: none; min-height: 0; height: clamp(380px, 44vw, 560px); }
.nain .nain-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility 0s linear .9s; }
.nain .nain-slide.is-active { z-index: 1; opacity: 1; visibility: visible; transition: opacity .9s ease; }
.nain .nain-slide-media { position: absolute; inset: 0; overflow: hidden; }
.nain .nain-slide-media .nain-img { transform: scale(1.1); transform-origin: 70% 40%; }
.nain .nain-slide.is-active .nain-slide-media .nain-img { animation: nain-kenburns 14s ease-out forwards; }
@keyframes nain-kenburns { from { transform: scale(1.14); } to { transform: scale(1.02); } }
.nain .nain-slide-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(6, 25, 28, .97) 0%, rgba(6, 25, 28, .72) 30%, rgba(6, 25, 28, .1) 62%, rgba(6, 25, 28, .45) 100%); }
.nain .nain-slide-body { position: absolute; inset-inline: 0; bottom: 0; z-index: 2; max-width: 860px; padding: 0 clamp(20px, 3vw, 38px) 84px; }
.nain .nain-hero--wide .nain-slide-body { padding-bottom: 40px; }
.nain .nain-slide-body > * { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .7s cubic-bezier(.2, .8, .2, 1); }
.nain .nain-slide.is-active .nain-slide-body > * { opacity: 1; transform: none; }
.nain .nain-slide.is-active .nain-slide-body > :nth-child(1) { transition-delay: .15s; }
.nain .nain-slide.is-active .nain-slide-body > :nth-child(2) { transition-delay: .25s; }
.nain .nain-slide.is-active .nain-slide-body > :nth-child(3) { transition-delay: .35s; }
.nain .nain-slide.is-active .nain-slide-body > :nth-child(4) { transition-delay: .45s; }
.nain .nain-slide-title { margin: 14px 0 10px; padding: 0; border: 0; font-size: clamp(1.35rem, .95rem + 1.55vw, 2.3rem); font-size: clamp(1.3rem, .8rem + 2.6cqi, 2.3rem); font-weight: 900; line-height: 1.45; color: #fff; text-shadow: 0 2px 20px rgba(0, 0, 0, .35); }
.nain .nain-slide-title a { color: #fff; text-decoration: none; }
.nain .nain-slide-title a:hover { color: #fff; text-decoration: underline; text-decoration-color: var(--nain-accent); text-decoration-thickness: 3px; text-underline-offset: 8px; }
.nain .nain-slide-excerpt { margin: 0 0 12px; max-width: 660px; font-size: 1rem; line-height: 1.95; color: rgba(255, 255, 255, .84); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-slide .nain-meta, .nain .nain-tile .nain-meta { color: rgba(255, 255, 255, .78); opacity: 1; }
/* Progress segments ("stories" style) */
.nain .nain-segs { position: absolute; z-index: 3; top: 16px; inset-inline: 22px; display: flex; gap: 6px; }
.nain .nain-seg { display: block !important; flex: 1; min-width: 0; padding: 8px 0 !important; cursor: pointer; background: none !important; border: 0 !important; box-shadow: none !important; }
.nain .nain-seg-bar { display: block; width: 100%; height: 3px; border-radius: 3px; overflow: hidden; background: rgba(255, 255, 255, .3); }
.nain .nain-seg-bar i { display: block; width: 0; height: 100%; border-radius: inherit; background: #fff; }
.nain .nain-seg.is-done .nain-seg-bar i { width: 100%; }
.nain .nain-seg.is-active .nain-seg-bar i { animation: nain-seg var(--nain-dur, 6s) linear forwards; }
.nain .nain-slider[data-autoplay="0"] .nain-seg.is-active .nain-seg-bar i, .nain .nain-slider.is-static .nain-seg.is-active .nain-seg-bar i { animation: none; width: 100%; }
.nain .nain-slider.is-paused .nain-seg.is-active .nain-seg-bar i { animation-play-state: paused; }
@keyframes nain-seg { from { width: 0; } to { width: 100%; } }
.nain .nain-seg-text { display: none; }
/* Wide layout: the segments become a tab bar with headlines. */
.nain .nain-hero--wide .nain-segs { position: static; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; padding: 0 12px 6px; background: var(--nain-ink); }
.nain .nain-hero--wide .nain-seg { padding: 0 10px 12px !important; text-align: right; }
.nain .nain-hero--wide .nain-seg-bar { margin-bottom: 10px; }
.nain .nain-hero--wide .nain-seg-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .85rem; font-weight: 700; line-height: 1.75; color: rgba(255, 255, 255, .55); transition: color .3s ease; }
.nain .nain-hero--wide .nain-seg.is-active .nain-seg-text, .nain .nain-hero--wide .nain-seg:hover .nain-seg-text { color: #fff; }
/* Controls */
.nain .nain-slider-ctrl { position: absolute; z-index: 3; bottom: 22px; inset-inline-end: 22px; display: flex; align-items: center; gap: 8px; }
.nain .nain-hero--wide .nain-slider-ctrl { top: 22px; bottom: auto; }
.nain .nain-slider-count { display: inline-flex; align-items: baseline; gap: 5px; margin-inline-end: 6px; font-size: .9rem; font-weight: 700; color: rgba(255, 255, 255, .7); font-variant-numeric: tabular-nums; }
.nain .nain-slider-count b { font-size: 1.3rem; font-weight: 900; color: #fff; }
.nain .nain-sbtn {
	display: flex !important; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50% !important;
	background: rgba(255, 255, 255, .14) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .22) !important;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background .25s ease, color .25s ease, transform .25s ease;
}
.nain .nain-sbtn:hover, .nain .nain-sbtn:focus-visible { background: #fff !important; color: var(--nain-ink) !important; transform: scale(1.06); }
.nain .nain-sbtn-pause .nain-ic + .nain-ic { display: none; }
.nain .nain-slider.is-user-paused .nain-sbtn-pause .nain-ic:first-child { display: none; }
.nain .nain-slider.is-user-paused .nain-sbtn-pause .nain-ic + .nain-ic { display: block; }

/* Mosaic tiles */
.nain .nain-tile { position: relative; overflow: hidden; isolation: isolate; min-height: 200px; border-radius: 20px; background: var(--nain-ink); color: #fff; box-shadow: 0 20px 40px -30px rgba(6, 25, 28, .9); }
.nain .nain-tile-media { position: absolute; inset: 0; overflow: hidden; }
.nain .nain-tile-media .nain-img, .nain .nain-story-media .nain-img, .nain .nain-rank-media .nain-img, .nain .nain-mini2-media .nain-img, .nain .nain-hl-media .nain-img { transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.nain .nain-tile:hover .nain-tile-media .nain-img, .nain .nain-story:hover .nain-story-media .nain-img, .nain .nain-hl-item:hover .nain-img, .nain .nain-mini2:hover .nain-img { transform: scale(1.07); }
.nain .nain-tile-shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(6, 25, 28, .96) 0%, rgba(6, 25, 28, .5) 48%, rgba(6, 25, 28, .05) 100%); transition: background .4s ease; }
.nain .nain-tile-body { position: absolute; inset-inline: 0; bottom: 0; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 16px 18px 16px; }
.nain .nain-tile-title { margin: 0; padding: 0; border: 0; font-size: 1.03rem; font-weight: 800; line-height: 1.7; color: #fff; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-tile-title a { color: #fff; text-decoration: none; }
.nain .nain-tile:hover .nain-tile-title a { text-decoration: underline; text-decoration-color: var(--nain-accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.nain .nain-hero .nain-tile--3 .nain-tile-title { font-size: 1.2rem; -webkit-line-clamp: 2; }
.nain .nain-hero--mosaic4 .nain-tile--3 .nain-tile-title { font-size: 1.03rem; -webkit-line-clamp: 3; }

/* Split: side list */
.nain .nain-hero-list { grid-area: l; display: flex; flex-direction: column; min-width: 0; padding: 18px; border-radius: 24px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); overflow: hidden; }
.nain .nain-hero-list-head { display: flex; align-items: center; gap: 8px; padding-bottom: 12px; margin-bottom: 4px; border-bottom: 1px solid var(--nain-surface-line); font-weight: 900; color: var(--nain-primary); }
.nain .nain-hero-list ol { flex: 1; display: flex; flex-direction: column; justify-content: space-between; margin: 0; padding: 0; list-style: none; }
.nain .nain-hl-item { position: relative; display: flex; gap: 12px; padding: 10px 0; margin: 0; border-bottom: 1px dashed var(--nain-surface-line); }
.nain .nain-hl-item:last-child { border-bottom: 0; }
.nain .nain-hl-item::before, .nain .nain-hl-item::marker { content: none; }
.nain .nain-hl-media { flex: none; width: 86px; height: 66px; border-radius: 12px; overflow: hidden; }
.nain .nain-hl-body { min-width: 0; }
.nain .nain-hl-cat { font-size: .72rem; font-weight: 800; color: var(--nain-primary); }
.nain .nain-hl-title { margin: 2px 0 4px; padding: 0; border: 0; font-size: .92rem; font-weight: 800; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-hl-title a { color: inherit; text-decoration: none; }
.nain .nain-hl-item:hover .nain-hl-title a { color: var(--nain-primary); }

/* ---------- Category bar ---------- */
.nain.nain-catbar { display: flex; align-items: center; gap: 12px; padding: 7px; border-radius: 18px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-catbar-scroll { flex: 1; min-width: 0; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
.nain .nain-catbar-scroll::-webkit-scrollbar { display: none; }
.nain .nain-cat { flex: none; scroll-snap-align: start; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px; color: var(--nain-surface-text); font-size: .88rem; font-weight: 700; line-height: 1.5; white-space: nowrap; text-decoration: none; transition: background .2s ease, color .2s ease; }
.nain .nain-cat:hover { background: var(--nain-surface-2); color: var(--nain-primary); }
.nain .nain-cat.is-active { background: var(--nain-primary); color: #fff; box-shadow: 0 8px 18px -10px rgba(var(--nain-primary-rgb), .9); }
.nain .nain-cat-ic { display: flex; color: var(--nain-primary); }
.nain .nain-cat.is-active .nain-cat-ic { color: var(--nain-accent); }
.nain .nain-cat-count { padding: 0 7px; border-radius: 999px; background: var(--nain-surface-2); color: var(--nain-surface-muted); font-size: .7rem; font-weight: 800; line-height: 1.8; }
.nain .nain-cat.is-active .nain-cat-count { background: rgba(255, 255, 255, .18); color: #fff; }
.nain .nain-catbar-search { flex: none; display: flex; align-items: center; margin: 0; padding-inline: 12px 4px; border-radius: 12px; background: var(--nain-surface-2); }
.nain .nain-catbar-search input { width: 190px; height: 40px; margin: 0; padding: 0; border: 0 !important; background: transparent !important; color: var(--nain-surface-text); box-shadow: none !important; outline: none; font-size: .88rem; }
.nain .nain-catbar-search button { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background: var(--nain-primary) !important; color: #fff !important; }
/* Cards style */
.nain.nain-catbar--cards { padding: 0; background: none; border: 0; box-shadow: none; }
.nain.nain-catbar--cards .nain-catbar-scroll { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; overflow: visible; }
.nain.nain-catbar--cards .nain-cat { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; padding: 14px 16px; border-radius: 18px; background: var(--nain-surface); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); white-space: normal; }
.nain.nain-catbar--cards .nain-cat:hover { transform: translateY(-2px); box-shadow: var(--nain-shadow-lg); }
.nain.nain-catbar--cards .nain-cat-ic { grid-row: span 2; width: 48px; height: 48px; border-radius: 14px; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--nain-cb, var(--nain-primary)), var(--nain-ink)); }
.nain.nain-catbar--cards .nain-cat-count { justify-self: start; background: none; padding: 0; font-weight: 600; }

/* ---------- Main grid: feed + sidebar ---------- */
.nain .nain-pgrid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(22px, 2.6vw, 34px); align-items: start; }
.nain .nain-pgrid-side { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.nain .nain-sec-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 6px; padding-bottom: 14px; border-bottom: 1px solid var(--nain-line); }
.nain .nain-sec-head .nain-section-title { margin: 0; }
.nain .nain-filters { display: flex; flex-wrap: wrap; gap: 3px; padding: 4px; border-radius: 12px; background: var(--nain-surface-2); }
.nain .nain-filter { padding: 6px 12px; border-radius: 9px; color: var(--nain-surface-muted); font-size: .84rem; font-weight: 700; line-height: 1.6; text-decoration: none; transition: background .2s ease, color .2s ease; }
.nain .nain-filter:hover { color: var(--nain-surface-text); }
.nain .nain-filter.is-active { background: var(--nain-surface); color: var(--nain-primary); box-shadow: var(--nain-shadow); }

/* Stories */
.nain .nain-feedx-list { transition: opacity .25s ease; }
.nain.nain-feedx.is-loading .nain-feedx-list { opacity: .4; pointer-events: none; }
.nain .nain-story { position: relative; display: grid; grid-template-columns: minmax(0, 290px) minmax(0, 1fr); gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--nain-line); }
.nain .nain-story:last-child { border-bottom: 0; }
.nain .nain-story.is-new { animation: nain-fadeup .55s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes nain-fadeup { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.nain .nain-story-media { position: relative; aspect-ratio: 16 / 10; border-radius: 16px; overflow: hidden; background: var(--nain-surface-2); }
.nain .nain-story-media > .nain-badges { position: absolute; top: 10px; inset-inline-start: 10px; }
.nain .nain-story-body { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 8px; min-width: 0; }
.nain .nain-story-cat { padding: 3px 11px; border-radius: 999px; background: rgba(var(--nain-primary-rgb), .09); color: var(--nain-primary); font-size: .76rem; font-weight: 800; line-height: 1.7; text-decoration: none; transition: background .2s ease, color .2s ease; }
:root[data-nain-theme="dark"] .nain .nain-story-cat, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-story-cat { color: var(--nain-accent); background: rgba(var(--nain-accent-rgb), .12); }
.nain a.nain-story-cat:hover { background: var(--nain-primary); color: #fff; }
.nain .nain-story-title { margin: 0; padding: 0; border: 0; font-size: clamp(1.04rem, .96rem + .35vw, 1.22rem); font-weight: 800; line-height: 1.75; }
.nain .nain-story-title a, .nain .nain-rank-title a, .nain .nain-tl-title a, .nain .nain-mini2-title a {
	color: inherit; text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 100% 100%; background-size: 0 2px; transition: background-size .35s ease, color .2s ease;
}
.nain .nain-story:hover .nain-story-title a, .nain .nain-rank-item:hover .nain-rank-title a, .nain .nain-tl-item:hover .nain-tl-title a, .nain .nain-mini2:hover .nain-mini2-title a { background-size: 100% 2px; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-story:hover .nain-story-title a, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-story:hover .nain-story-title a { color: var(--nain-accent); }
.nain .nain-story-excerpt { margin: 0; font-size: .93rem; line-height: 1.95; opacity: var(--nain-muted-opacity); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-story .nain-meta { opacity: .75; }
.nain .nain-meta-src { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Compact */
.nain .nain-story--compact { display: flex; gap: 14px; padding: 12px 0; }
.nain .nain-story-time { flex: none; min-width: 46px; padding-top: 3px; font-size: .84rem; font-weight: 800; color: var(--nain-primary); font-variant-numeric: tabular-nums; }
.nain .nain-story--compact .nain-story-body { gap: 2px; }
.nain .nain-story--compact .nain-story-title { font-size: .98rem; }
.nain .nain-story--compact .nain-story-cat { padding: 0; background: none; font-size: .72rem; }
/* Load more */
.nain .nain-more-wrap { display: flex; justify-content: center; margin-top: 22px; }
.nain .nain-more { display: inline-flex; align-items: center; gap: 8px; padding: 12px 30px; border-radius: 999px; border: 1.5px solid rgba(var(--nain-primary-rgb), .35); color: var(--nain-primary); font-weight: 800; text-decoration: none; transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease; }
.nain .nain-more:hover, .nain .nain-more:focus-visible { background: var(--nain-primary); border-color: var(--nain-primary); color: #fff; transform: translateY(-1px); }
.nain .nain-more.is-loading { pointer-events: none; opacity: .75; }
.nain .nain-more.is-loading .nain-ic { animation: nain-spin .8s linear infinite; }
@keyframes nain-spin { to { transform: rotate(360deg); } }
:root[data-nain-theme="dark"] .nain .nain-more, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-more { color: var(--nain-accent); border-color: rgba(var(--nain-accent-rgb), .4); }

/* ---------- Sidebar boxes ---------- */
.nain.nain-sidebox { padding: 18px; border-radius: 20px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-box-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.nain .nain-box-title { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; font-size: 1.02rem; font-weight: 900; line-height: 1.6; color: inherit; }
.nain .nain-box-title .nain-ic { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-box-title .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-box-title .nain-ic { color: var(--nain-accent); }
.nain .nain-tabs2 { display: flex; padding: 3px; border-radius: 10px; background: var(--nain-surface-2); }
.nain .nain-tabs2 button { padding: 4px 12px !important; border-radius: 8px !important; color: var(--nain-surface-muted) !important; background: none !important; font-size: .8rem !important; font-weight: 700; line-height: 1.7; }
.nain .nain-tabs2 button.is-active { background: var(--nain-surface) !important; color: var(--nain-primary) !important; box-shadow: var(--nain-shadow); }
.nain .nain-tabpane[hidden] { display: none; }
.nain .nain-tabpane.is-active { animation: nain-fadeup .35s ease both; }
/* Rank */
.nain .nain-rank { margin: 0; padding: 0; list-style: none; }
.nain .nain-rank-item { position: relative; display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 12px 0; border-top: 1px dashed var(--nain-surface-line); }
.nain .nain-rank-item:first-child { border-top: 0; padding-top: 4px; }
.nain .nain-rank-item::before, .nain .nain-rank-item::marker { content: none; }
.nain .nain-rank-n { flex: none; width: 32px; font-size: 1.95rem; font-weight: 900; line-height: 1.05; text-align: center; background: linear-gradient(180deg, var(--nain-accent), var(--nain-primary)); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
.nain .nain-rank-body { flex: 1; min-width: 0; }
.nain .nain-rank-title { margin: 0 0 4px; padding: 0; border: 0; font-size: .92rem; font-weight: 800; line-height: 1.75; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-rank-item .nain-meta { font-size: .74rem; opacity: .7; }
.nain .nain-rank-media { flex: none; width: 82px; height: 64px; border-radius: 12px; overflow: hidden; }
.nain .nain-stars { color: var(--nain-accent); font-size: .55rem; letter-spacing: 2px; }
/* Timeline */
.nain .nain-live { display: inline-flex; align-items: center; gap: 7px; padding: 3px 10px; border-radius: 999px; background: rgba(229, 72, 77, .1); color: var(--nain-hot); font-size: .74rem; font-weight: 800; }
.nain .nain-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.nain .nain-timeline::before { content: ""; position: absolute; top: 34px; bottom: 12px; inset-inline-start: 55px; width: 2px; border-radius: 2px; background: linear-gradient(to bottom, rgba(var(--nain-primary-rgb), .28), rgba(var(--nain-primary-rgb), .14) 85%, transparent); }
.nain .nain-tl-day { position: relative; margin: 0; padding: 8px 0 4px; font-size: .76rem; font-weight: 800; color: var(--nain-surface-muted); }
.nain .nain-tl-day::before, .nain .nain-tl-day::marker, .nain .nain-tl-item::marker { content: none; }
.nain .nain-tl-item { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 22px; margin: 0; padding: 7px 0; }
.nain .nain-tl-item::before { content: ""; position: absolute; top: 14px; inset-inline-start: 51px; z-index: 1; width: 10px; height: 10px; border-radius: 50%; background: var(--nain-surface); border: 2px solid var(--nain-primary); }
.nain .nain-tl-day + .nain-tl-item::before { background: var(--nain-primary); }
.nain .nain-tl-item time { padding-top: 3px; font-size: .8rem; font-weight: 800; color: var(--nain-primary); text-align: center; font-variant-numeric: tabular-nums; }
.nain .nain-tl-body { position: relative; min-width: 0; }
.nain .nain-tl-title { margin: 0; padding: 0; border: 0; font-size: .89rem; font-weight: 700; line-height: 1.75; }
.nain .nain-tl-cat { font-size: .72rem; color: var(--nain-surface-muted); }
/* Tags */
.nain .nain-tagcloud { display: flex; flex-wrap: wrap; gap: 8px; }
.nain .nain-tag { opacity: 1; display: inline-flex; align-items: baseline; gap: 3px; padding: 6px 12px; border-radius: 10px; background: var(--nain-surface-2); color: var(--nain-surface-text); font-size: .84rem; font-weight: 700; line-height: 1.5; text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s ease; }
.nain .nain-tag sup { font-size: .64rem; color: var(--nain-surface-muted); }
.nain .nain-tag:hover { background: var(--nain-primary); color: #fff; transform: translateY(-1px); }
.nain .nain-tag:hover sup { color: rgba(255, 255, 255, .8); }

/* ---------- Category blocks ---------- */
.nain.nain-cblocks > .nain-section-title { margin-bottom: 18px; }
.nain .nain-cblocks-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.nain.nain-cblock {
	--nain-cb: var(--nain-primary);
	display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px 16px;
	padding: 18px; border-radius: 22px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow);
}
.nain.nain-cblock--models, .nain .nain-cat--models { --nain-cb: #6d28d9; }
.nain.nain-cblock--research, .nain .nain-cat--research { --nain-cb: #0891b2; }
.nain.nain-cblock--products, .nain .nain-cat--products { --nain-cb: #0f766e; }
.nain.nain-cblock--funding, .nain .nain-cat--funding { --nain-cb: #c2410c; }
.nain.nain-cblock--policy, .nain .nain-cat--policy { --nain-cb: #1d4ed8; }
.nain.nain-cblock--safety, .nain .nain-cat--safety { --nain-cb: #be123c; }
.nain.nain-cblock--robotics, .nain .nain-cat--robotics { --nain-cb: #4d7c0f; }
.nain.nain-cblock--industry, .nain .nain-cat--industry { --nain-cb: #475569; }
.nain .nain-cblock-head { flex: 1 1 100%; display: flex; align-items: center; gap: 10px; }
.nain .nain-cblock-ic { flex: none; width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, var(--nain-cb), var(--nain-ink)); box-shadow: 0 8px 18px -10px var(--nain-cb); }
.nain .nain-cblock-title { flex: 1; min-width: 0; margin: 0; padding: 0; border: 0; font-size: 1.1rem; font-weight: 900; line-height: 1.5; color: inherit; }
.nain .nain-cblock-all { display: inline-flex; align-items: center; gap: 4px; padding: 5px 12px; border-radius: 999px; background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); font-size: .8rem; font-weight: 800; text-decoration: none; transition: background .2s ease, color .2s ease, gap .2s ease; }
.nain .nain-cblock-all:hover { background: var(--nain-primary); color: #fff; gap: 8px; }
.nain .nain-cblock-lead { flex: 1.05 1 250px; min-height: 250px; border-radius: 16px; }
.nain .nain-cblock-lead .nain-tile-title { font-size: .98rem; }
.nain .nain-cblock-list { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; justify-content: flex-start; margin: 0; padding: 0; list-style: none; }
.nain .nain-mini2 { position: relative; display: flex; gap: 10px; margin: 0; padding: 8px 0; border-bottom: 1px dashed var(--nain-surface-line); }
.nain .nain-mini2:last-child { border-bottom: 0; }
.nain .nain-mini2::before, .nain .nain-mini2::marker { content: none; }
.nain .nain-mini2-media { flex: none; width: 66px; height: 54px; border-radius: 10px; overflow: hidden; }
.nain .nain-mini2 > div { min-width: 0; }
.nain .nain-mini2-title { margin: 0 0 2px; padding: 0; border: 0; font-size: .86rem; font-weight: 800; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-mini2 .nain-meta { font-size: .72rem; opacity: .7; }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
	.nain .nain-pgrid { grid-template-columns: minmax(0, 1fr) 320px; }
	.nain .nain-story { grid-template-columns: minmax(0, 230px) minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 1024px) {
	.nain .nain-hero--mosaic { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 440px 220px 220px; grid-template-areas: "s s" "a b" "c c"; }
	.nain .nain-hero--mosaic4 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 440px 220px 220px; grid-template-areas: "s s" "a b" "c d"; }
	.nain .nain-hero--split { grid-template-columns: minmax(0, 1fr); grid-template-rows: 460px auto; grid-template-areas: "s" "l"; }
	.nain .nain-pgrid { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-pgrid-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
	.nain .nain-pgrid-side > :last-child:nth-child(odd) { grid-column: 1 / -1; }
	.nain .nain-cblocks-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
	.nain .nain-phead { align-items: stretch; }
	.nain .nain-pstats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
	.nain .nain-pstats > div { min-width: 0; }
	.nain .nain-hero--mosaic, .nain .nain-hero--mosaic4 { grid-template-rows: 460px 190px 190px; gap: 10px; }
	.nain .nain-slider { border-radius: 20px; }
	.nain .nain-slide-body { padding: 0 18px 76px; }
	.nain .nain-slide-excerpt { display: none; }
	.nain .nain-slide-title { font-size: 1.32rem; }
	.nain .nain-segs { top: 12px; inset-inline: 16px; }
	.nain .nain-slider-ctrl { bottom: 18px; inset-inline-end: 16px; gap: 6px; }
	.nain .nain-sbtn { width: 38px; height: 38px; }
	.nain .nain-tile { border-radius: 16px; min-height: 0; }
	.nain .nain-tile-body { padding: 12px 14px; gap: 6px; }
	.nain .nain-tile-title { font-size: .9rem; }
	.nain .nain-tile .nain-badges .nain-chip { font-size: .68rem; padding: 3px 9px; }
	.nain .nain-hero--wide .nain-segs { grid-auto-columns: minmax(46%, 1fr); overflow-x: auto; scrollbar-width: none; }
	.nain.nain-catbar { flex-direction: column; align-items: stretch; }
	.nain .nain-catbar-search input { width: 100%; }
	.nain .nain-catbar-search { width: 100%; }
	.nain .nain-sec-head { align-items: flex-start; flex-direction: column; }
	.nain .nain-filters { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
	.nain .nain-filter { white-space: nowrap; }
	.nain .nain-story { grid-template-columns: 118px minmax(0, 1fr); gap: 14px; padding: 16px 0; }
	.nain .nain-story-media { aspect-ratio: 1 / 1; border-radius: 14px; }
	.nain .nain-story-media > .nain-badges { display: none; }
	.nain .nain-story-excerpt { display: none; }
	.nain .nain-story-title { font-size: .98rem; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.nain .nain-story .nain-meta-src { display: none; }
	.nain .nain-pgrid-side { grid-template-columns: minmax(0, 1fr); }
	.nain.nain-cblock { padding: 14px; }
	.nain .nain-cblock-lead { min-height: 210px; }
	.nain .nain-ticker-date { display: none; }
	.nain .nain-ticker-label { padding-inline: 14px 26px; }
	.nain.nain-ticker { min-height: 42px; border-radius: 12px; }
}
.nain .nain-more-wrap[hidden] { display: none; }

/* ---------- Container queries: every section adapts to the space it actually gets
   (a narrow page column, an Elementor column, a sidebar) — not just to the screen. ---------- */
.nain.nain-herowrap { display: block; container: nainhero / inline-size; }
.nain.nain-feedx { container: nainfeed / inline-size; }
.nain.nain-portal { container: nainportal / inline-size; }
.nain.nain-cblocks { container: nainblocks / inline-size; }
.nain .nain-sc { display: block; }
@container nainhero (max-width: 980px) {
	.nain .nain-hero--mosaic { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 420px 220px 220px; grid-template-areas: "s s" "a b" "c c"; }
	.nain .nain-hero--mosaic4 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 420px 220px 220px; grid-template-areas: "s s" "a b" "c d"; }
	.nain .nain-hero--split { grid-template-columns: minmax(0, 1fr); grid-template-rows: 440px auto; grid-template-areas: "s" "l"; }
}
@container nainhero (max-width: 620px) {
	.nain .nain-hero--mosaic, .nain .nain-hero--mosaic4 { grid-template-rows: 440px 190px 190px; gap: 10px; }
	.nain .nain-hero--split { grid-template-rows: 440px auto; }
	.nain .nain-slide-body { padding: 0 18px 76px; }
	.nain .nain-slide-excerpt { display: none; }
	.nain .nain-segs { top: 12px; inset-inline: 16px; }
	.nain .nain-slider-ctrl { bottom: 18px; inset-inline-end: 16px; gap: 6px; }
	.nain .nain-sbtn { width: 38px; height: 38px; }
	.nain .nain-tile { border-radius: 16px; min-height: 0; }
	.nain .nain-tile-body { padding: 12px 14px; gap: 6px; }
	.nain .nain-tile-title { font-size: .9rem; }
	.nain .nain-hero .nain-tile--3 .nain-tile-title { font-size: 1rem; }
	.nain .nain-tile .nain-badges .nain-chip { font-size: .68rem; padding: 3px 9px; }
	.nain .nain-hero--wide .nain-segs { grid-auto-columns: minmax(46%, 1fr); overflow-x: auto; scrollbar-width: none; }
}
@container nainfeed (max-width: 620px) {
	.nain .nain-sec-head { align-items: flex-start; flex-direction: column; }
	.nain .nain-filters { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
	.nain .nain-filter { white-space: nowrap; }
	.nain .nain-story { grid-template-columns: 118px minmax(0, 1fr); gap: 14px; padding: 16px 0; }
	.nain .nain-story-media { aspect-ratio: 1 / 1; border-radius: 14px; }
	.nain .nain-story-media > .nain-badges, .nain .nain-story-excerpt, .nain .nain-story .nain-meta-src { display: none; }
	.nain .nain-story-title { font-size: .98rem; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}
@container nainportal (max-width: 1000px) {
	.nain .nain-pgrid { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-pgrid-side { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items: start; }
}
@container nainblocks (max-width: 900px) {
	.nain .nain-cblocks-grid { grid-template-columns: minmax(0, 1fr); }
}

/* =====================================================================
 * SEO: Google preferred-sources button, hub link, news-page guide text
 * ================================================================== */
.nain .nain-gsrc-wrap { margin: 14px 0 0; }
.nain .nain-inline > .nain-gsrc-wrap:first-child { margin: 0 0 18px; }
.nain .nain-gsrc {
	display: inline-flex; align-items: center; gap: 9px; max-width: 100%;
	padding: 4px; padding-inline-end: 6px; border-radius: 999px;
	border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text);
	font-size: .8rem; font-weight: 600; line-height: 1.6; text-decoration: none !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.nain .nain-gsrc-g { flex: none; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px rgba(60, 64, 67, .14); }
.nain .nain-gsrc-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nain .nain-gsrc-plus { flex: none; display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: rgba(26, 115, 232, .1); color: #1a73e8; transition: background .25s ease, color .25s ease, transform .35s ease; }
.nain .nain-gsrc:hover, .nain .nain-gsrc:focus-visible { border-color: rgba(26, 115, 232, .45); color: var(--nain-surface-text); box-shadow: 0 6px 18px -8px rgba(26, 115, 232, .5); transform: translateY(-1px); }
.nain .nain-gsrc:hover .nain-gsrc-plus, .nain .nain-gsrc:focus-visible .nain-gsrc-plus { background: #1a73e8; color: #fff; transform: rotate(90deg); }
.nain .nain-gsrc:focus-visible { outline: 2px solid #1a73e8; outline-offset: 2px; }
@media (max-width: 420px) {
	.nain .nain-gsrc-t { white-space: normal; }
}

/* Hub link at the end of every article */
.nain .nain-hub {
	display: flex; align-items: center; gap: 14px; margin: 26px 0 0; padding: 14px 16px; border-radius: 16px;
	background: linear-gradient(135deg, rgba(var(--nain-primary-rgb), .07), rgba(var(--nain-accent-rgb), .09));
	border: 1px solid rgba(var(--nain-primary-rgb), .16); color: inherit; text-decoration: none !important;
	transition: border-color .25s ease, box-shadow .25s ease;
}
.nain .nain-hub:hover { border-color: rgba(var(--nain-primary-rgb), .35); box-shadow: 0 10px 26px -18px rgba(var(--nain-primary-rgb), .9); }
.nain .nain-hub-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, var(--nain-primary), var(--nain-ink)); color: #fff; }
.nain .nain-hub-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.nain .nain-hub-t b { font-size: .98rem; font-weight: 800; line-height: 1.7; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-hub-t b, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hub-t b { color: var(--nain-accent); }
.nain .nain-hub-t small { font-size: .8rem; opacity: .75; }
.nain .nain-hub-go { flex: none; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nain-surface); color: var(--nain-primary); box-shadow: var(--nain-shadow); transition: transform .25s ease; }
.nain .nain-hub:hover .nain-hub-go { transform: translateX(-4px); }

/* News page: guide text + FAQ */
.nain.nain-seo { display: grid; gap: 22px; }
.nain .nain-seo-card { position: relative; padding: clamp(20px, 3vw, 34px); border-radius: 22px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-seo-body { position: relative; font-size: .98rem; line-height: 2.05; }
.nain .nain-seo-body.is-collapsed { max-height: 340px; overflow: hidden; }
.nain .nain-seo-body.is-collapsed::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 130px; background: linear-gradient(to bottom, transparent, var(--nain-surface)); pointer-events: none; }
.nain .nain-seo-body h2 { margin: 0 0 12px; padding: 0; border: 0; font-size: clamp(1.2rem, 1.05rem + .6vw, 1.55rem); font-weight: 900; line-height: 1.6; color: inherit; }
.nain .nain-seo-body h3 { margin: 24px 0 8px; padding: 0; border: 0; font-size: 1.08rem; font-weight: 800; line-height: 1.7; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-seo-body h3, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-seo-body h3 { color: var(--nain-accent); }
.nain .nain-seo-body p { margin: 0 0 12px; }
.nain .nain-seo-body a { color: var(--nain-primary); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(var(--nain-primary-rgb), .3); text-underline-offset: 4px; }
.nain .nain-seo-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; margin: 8px 0 16px; padding: 0; list-style: none; }
.nain .nain-seo-cats li { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; padding: 9px 14px; border-radius: 12px; background: var(--nain-surface-2); line-height: 1.7; }
.nain .nain-seo-cats li::before, .nain .nain-seo-cats li::marker { content: none; }
.nain .nain-seo-cats a { text-decoration: none; }
.nain .nain-seo-cats span { flex: none; font-size: .74rem; opacity: .7; }
.nain .nain-seo-more { display: flex !important; align-items: center; gap: 6px; margin: 14px auto 0; padding: 8px 22px !important; border-radius: 999px !important; border: 1px solid var(--nain-surface-line) !important; background: var(--nain-surface) !important; color: var(--nain-primary) !important; font-size: .86rem; font-weight: 800; }
.nain .nain-seo-more:hover { border-color: rgba(var(--nain-primary-rgb), .4) !important; }
.nain .nain-seo-more .nain-ic { transition: transform .3s ease; }
.nain .nain-seo-more[aria-expanded="true"] .nain-ic { transform: rotate(180deg); }
.nain .nain-seo-faq { padding: clamp(18px, 3vw, 30px); border-radius: 22px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }

/* =====================================================================
 * «خلاصه اخبار هوش مصنوعی امروز» — daily report section
 * ================================================================== */
.nain.nain-brief { margin: 0 0 clamp(28px, 4vw, 44px); container: nainbrief / inline-size; }
.nain .nain-brief-head, .nain .nain-mr-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.nain .nain-brief-h, .nain .nain-mr-h { margin: 6px 0 0; padding: 0; border: 0; font-size: clamp(1.3rem, 1.1rem + .9vw, 1.8rem); font-weight: 900; line-height: 1.5; color: inherit; }
.nain .nain-brief-tabs { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--nain-surface-2); border: 1px solid var(--nain-surface-line); }
.nain .nain-brief-tabs button { margin: 0; padding: 7px 20px !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; color: var(--nain-surface-text) !important; font: inherit; font-size: .88rem; font-weight: 800; line-height: 1.6; opacity: .7; cursor: pointer; box-shadow: none; transition: background .25s ease, opacity .25s ease; }
.nain .nain-brief-tabs button[aria-selected="true"] { background: var(--nain-primary) !important; color: #fff !important; opacity: 1; box-shadow: 0 6px 16px -8px rgba(var(--nain-primary-rgb), .9); }
.nain .nain-brief-tabs button:focus-visible { outline: 2px solid var(--nain-primary); outline-offset: 2px; }
.nain .nain-brief-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: stretch; }
.nain .nain-brief-grid.no-side { grid-template-columns: minmax(0, 1fr); }
@container nainbrief (max-width: 780px) { .nain .nain-brief-grid { grid-template-columns: minmax(0, 1fr); } }
.nain .nain-brief-main, .nain .nain-brief-pane { min-width: 0; height: 100%; }
.nain .nain-brief-pane[hidden] { display: none; }
.nain .nain-brief-card {
	position: relative; isolation: isolate; height: 100%; box-sizing: border-box; padding: clamp(20px, 3vw, 32px); border-radius: 24px; overflow: hidden; color: #fff;
	background: radial-gradient(120% 140% at 100% 0%, rgba(var(--nain-accent-rgb), .38), transparent 55%), linear-gradient(135deg, var(--nain-primary), var(--nain-ink));
	box-shadow: 0 26px 50px -30px rgba(var(--nain-primary-rgb), .95);
}
.nain .nain-brief-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255, 255, 255, .13) 1px, transparent 1.4px); background-size: 18px 18px; -webkit-mask-image: linear-gradient(200deg, #000, transparent 55%); mask-image: linear-gradient(200deg, #000, transparent 55%); pointer-events: none; }
.nain .nain-brief-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: .8rem; opacity: .92; }
.nain .nain-brief-badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .24); font-weight: 800; }
.nain .nain-brief-title { margin: 14px 0 10px; padding: 0; border: 0; font-size: clamp(1.12rem, 1rem + .7vw, 1.5rem); font-weight: 900; line-height: 1.7; color: #fff; }
.nain .nain-brief-title a { color: #fff !important; text-decoration: none; }
.nain .nain-brief-title a:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.nain .nain-brief-intro { margin: 0 0 16px; max-width: 72ch; font-size: .95rem; line-height: 2; opacity: .88; }
.nain .nain-brief-list { display: grid; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.nain .nain-brief-list li { margin: 0; padding: 0; }
.nain .nain-brief-list li::before, .nain .nain-brief-list li::marker { content: none; }
.nain .nain-brief-list a { display: flex; align-items: flex-start; gap: 12px; padding: 9px 12px; border-radius: 14px; background: rgba(255, 255, 255, .07); color: #fff !important; text-decoration: none; font-size: .92rem; font-weight: 600; line-height: 1.8; transition: background .2s ease; }
.nain .nain-brief-list a:hover { background: rgba(255, 255, 255, .16); }
.nain .nain-brief-n { flex: none; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-top: 1px; border-radius: 50%; background: #fff; color: var(--nain-primary); font-size: .8rem; font-weight: 900; }
.nain .nain-brief-list li:first-child .nain-brief-n { box-shadow: 0 0 0 4px rgba(255, 255, 255, .22); }
.nain .nain-brief-cta { display: inline-flex; align-items: center; gap: 8px; padding: 10px 22px; border-radius: 999px; background: #fff; color: var(--nain-primary) !important; font-size: .9rem; font-weight: 900; text-decoration: none !important; box-shadow: 0 10px 22px -12px rgba(0, 0, 0, .5); transition: transform .25s ease; }
.nain .nain-brief-cta:hover { transform: translateY(-2px); }
.nain .nain-brief-soon { display: flex; align-items: center; gap: 6px; margin: 4px 0 0; font-size: .82rem; opacity: .85; }
.nain .nain-brief-side { display: flex; flex-direction: column; gap: 14px; padding: 20px; border-radius: 24px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-brief-side-t { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 900; }
.nain .nain-brief-side-t .nain-ic { color: var(--nain-primary); }
.nain .nain-brief-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.nain .nain-brief-tile { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 4px; border-radius: 16px; background: var(--nain-surface-2); text-align: center; }
.nain .nain-brief-tile .nain-ic { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-brief-tile .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-brief-tile .nain-ic, :root[data-nain-theme="dark"] .nain .nain-brief-side-t .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-brief-side-t .nain-ic { color: var(--nain-accent); }
.nain .nain-brief-tile b { font-size: 1.35rem; font-weight: 900; line-height: 1.4; }
.nain .nain-brief-tile span { font-size: .7rem; line-height: 1.6; opacity: .75; }
.nain .nain-brief-facts { display: grid; gap: 8px; margin: 0; }
.nain .nain-brief-facts div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-radius: 12px; border: 1px dashed var(--nain-surface-line); }
.nain .nain-brief-facts dt { font-size: .82rem; opacity: .7; }
.nain .nain-brief-facts dd { margin: 0; font-size: .86rem; font-weight: 800; }
.nain .nain-brief-facts a { color: var(--nain-primary); text-decoration: none; }
.nain .nain-brief-arch { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: auto; padding: 10px; border-radius: 12px; background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary) !important; font-size: .86rem; font-weight: 800; text-decoration: none !important; }
:root[data-nain-theme="dark"] .nain .nain-brief-arch, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-brief-arch, :root[data-nain-theme="dark"] .nain .nain-brief-facts a, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-brief-facts a { color: var(--nain-accent) !important; }

/* =====================================================================
 * «آخرین اخبار مدل‌های هوش مصنوعی» — model radar
 * ================================================================== */
.nain.nain-mradar { margin: 0 0 clamp(28px, 4vw, 44px); container: nainradar / inline-size; }
.nain .nain-mr-sub { margin: 4px 0 0; font-size: .9rem; opacity: .72; }
.nain .nain-mr-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.nain .nain-mr-stat { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 14px; border-radius: 14px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); font-size: .8rem; }
.nain .nain-mr-stat b { font-size: 1.1rem; font-weight: 900; }
.nain .nain-mr-stat.is-new_model b { color: #7c3aed; } .nain .nain-mr-stat.is-model_update b { color: #0284c7; } .nain .nain-mr-stat.is-new_feature b { color: #059669; }
.nain .nain-mr-filters { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.nain .nain-mr-chips { display: flex; gap: 6px; max-width: 100%; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.nain .nain-mr-chips::-webkit-scrollbar { display: none; }
.nain .nain-mr-chip { flex: none; display: inline-flex !important; align-items: center; gap: 7px; margin: 0; padding: 7px 14px !important; border-radius: 999px !important; border: 1px solid var(--nain-surface-line) !important; background: var(--nain-surface) !important; color: var(--nain-surface-text) !important; font: inherit; font-size: .84rem; font-weight: 700; line-height: 1.5; cursor: pointer; box-shadow: none; transition: background .2s ease, color .2s ease; }
.nain .nain-mr-chip i { width: 9px; height: 9px; border-radius: 50%; background: var(--co); }
.nain .nain-mr-chip small { font-size: .72rem; opacity: .6; }
.nain .nain-mr-chip.is-active { background: var(--nain-surface-text) !important; color: var(--nain-surface) !important; border-color: transparent !important; }
.nain .nain-mr-seg { display: inline-flex; padding: 3px; border-radius: 12px; background: var(--nain-surface-2); }
.nain .nain-mr-seg button { margin: 0; padding: 6px 12px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--nain-surface-text) !important; font: inherit; font-size: .8rem; font-weight: 700; line-height: 1.6; opacity: .7; cursor: pointer; box-shadow: none; }
.nain .nain-mr-seg button.is-active { background: var(--nain-surface) !important; opacity: 1; box-shadow: 0 2px 6px rgba(0, 0, 0, .08); }
.nain .nain-mr-chip:focus-visible, .nain .nain-mr-seg button:focus-visible, .nain .nain-mr-more:focus-visible { outline: 2px solid var(--nain-primary); outline-offset: 2px; }
.nain .nain-mr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@container nainradar (max-width: 900px) { .nain .nain-mr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container nainradar (max-width: 560px) { .nain .nain-mr-grid { grid-template-columns: minmax(0, 1fr); } }
.nain .nain-mr-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 20px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.nain .nain-mr-card[hidden] { display: none; }
.nain .nain-mr-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(to left, var(--co), transparent 85%); }
.nain .nain-mr-card:hover { transform: translateY(-3px); border-color: var(--co); box-shadow: 0 18px 34px -26px var(--co); }
.nain .nain-mr-top { display: flex; align-items: center; gap: 8px; }
.nain .nain-mr-logo { flex: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: var(--co); color: #fff; font-size: .95rem; font-weight: 900; line-height: 1; }
.nain .nain-mr-co { font-size: .86rem; font-weight: 800; }
.nain .nain-mr-type { display: inline-flex; align-items: center; gap: 4px; margin-inline-start: auto; padding: 3px 10px; border-radius: 999px; background: var(--nain-surface-2); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.nain .nain-mr-type.is-new_model { background: rgba(124, 58, 237, .12); color: #6d28d9; }
.nain .nain-mr-type.is-model_update { background: rgba(2, 132, 199, .12); color: #0369a1; }
.nain .nain-mr-type.is-new_feature { background: rgba(5, 150, 105, .12); color: #047857; }
:root[data-nain-theme="dark"] .nain .nain-mr-type.is-new_model, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-type.is-new_model, :root[data-nain-theme="dark"] .nain .nain-mr-stat.is-new_model b, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-stat.is-new_model b { color: #b39dfa; }
:root[data-nain-theme="dark"] .nain .nain-mr-type.is-model_update, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-type.is-model_update, :root[data-nain-theme="dark"] .nain .nain-mr-stat.is-model_update b, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-stat.is-model_update b { color: #5cc8f5; }
:root[data-nain-theme="dark"] .nain .nain-mr-type.is-new_feature, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-type.is-new_feature, :root[data-nain-theme="dark"] .nain .nain-mr-stat.is-new_feature b, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-stat.is-new_feature b { color: #4ade9f; }
.nain .nain-mr-title { margin: 0; padding: 0; border: 0; font-size: 1rem; font-weight: 800; line-height: 1.75; color: inherit; }
.nain .nain-mr-title a { color: inherit !important; text-decoration: none; }
.nain .nain-mr-title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.nain .nain-mr-title a:focus-visible { outline: none; }
.nain .nain-mr-card:focus-within { outline: 2px solid var(--nain-primary); outline-offset: 2px; }
.nain .nain-mr-sum { display: -webkit-box; margin: 0; overflow: hidden; font-size: .84rem; line-height: 1.9; opacity: .75; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nain .nain-mr-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; font-size: .76rem; }
.nain .nain-mr-model { padding: 2px 9px; border-radius: 8px; background: var(--nain-surface-2); font-weight: 700; }
.nain .nain-mr-foot time { display: inline-flex; align-items: center; gap: 4px; opacity: .8; }
.nain .nain-mr-empty { margin: 0; padding: 22px; text-align: center; opacity: .7; }
.nain .nain-mr-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-top: 18px; }
.nain .nain-mr-more { display: inline-flex !important; align-items: center; gap: 6px; margin: 0; padding: 9px 22px !important; border-radius: 999px !important; border: 1px solid var(--nain-surface-line) !important; background: var(--nain-surface) !important; color: var(--nain-surface-text) !important; font: inherit; font-size: .88rem; font-weight: 800; cursor: pointer; }
.nain .nain-mr-more[hidden] { display: none !important; }
.nain .nain-mr-all { display: inline-flex; align-items: center; gap: 6px; color: var(--nain-primary) !important; font-size: .88rem; font-weight: 800; text-decoration: none !important; }
:root[data-nain-theme="dark"] .nain .nain-mr-all, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-all { color: var(--nain-accent) !important; }

/* =====================================================================
 * Report article body (works inside the plugin's template and the theme's)
 * ================================================================== */
.nain-bd-lede { font-size: 1.1em; font-weight: 500; line-height: 2.05; }
.nain-bd-glance { margin: 1.6em 0; padding: 18px 22px; border-radius: 18px; background: rgba(var(--nain-primary-rgb, 15, 118, 110), .06); border: 1px solid rgba(var(--nain-primary-rgb, 15, 118, 110), .16); }
.nain-bd-glance-t { margin: 0 0 8px !important; font-weight: 900; }
.nain-bd-glance ol { margin: 0; padding-inline-start: 1.4em; }
.nain-bd-glance li { margin: 5px 0; }
.nain-bd-glance a { font-weight: 700; text-decoration: none; }
.nain-bd-item { margin: 2em 0; padding-bottom: 1.4em; border-bottom: 1px dashed rgba(127, 127, 127, .3); scroll-margin-top: 90px; }
.nain-bd-item h2 { display: flex; align-items: flex-start; gap: 12px; }
.nain-bd-n { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-top: 3px; border-radius: 12px; background: var(--nain-primary, #0f766e); color: #fff; font-size: .8em; line-height: 1; }
.nain-bd-fig { margin: 1em 0 !important; }
.nain-bd-fig img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; }
.nain-bd-why { padding: 12px 16px; border-radius: 14px; background: rgba(245, 158, 11, .1); border-inline-start: 4px solid #f59e0b; }
.nain-bd-more a { font-weight: 800; }
.nain-bd-more span { font-size: .9em; opacity: .7; }
.nain-bd-note { padding: 12px 16px; border-radius: 12px; background: rgba(127, 127, 127, .08); font-size: .88em; opacity: .8; }
:root[data-nain-theme="dark"] .nain .nain-phead .nain-kicker, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-phead .nain-kicker, :root[data-nain-theme="dark"] .nain .nain-brief-head .nain-kicker, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-brief-head .nain-kicker, :root[data-nain-theme="dark"] .nain .nain-mr-head .nain-kicker, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mr-head .nain-kicker { background: rgba(var(--nain-accent-rgb), .14); color: var(--nain-accent); }

/* =====================================================================
 * 1.8 — Smart linking, model pages, authors
 * ================================================================== */

/* ---------- Avatar (photo over a monogram) ---------- */
.nain .nain-av { position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center; width: var(--s, 40px); height: var(--s, 40px); border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, var(--nain-primary), var(--nain-ink)); color: #fff; font-weight: 800; font-size: calc(var(--s, 40px) * .42); line-height: 1; }
.nain .nain-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.nain .nain-av.is-ring { box-shadow: 0 0 0 4px var(--nain-surface), 0 0 0 6px rgba(var(--nain-primary-rgb), .35); }
.nain .nain-av.is-xl { box-shadow: 0 0 0 5px var(--nain-surface), 0 14px 30px -12px rgba(0, 0, 0, .45); }

/* ---------- Byline: author link ---------- */
.nain .nain-byline > a.nain-author { color: inherit; text-decoration: none; gap: 9px; }
.nain .nain-byline > a.nain-author > span:last-child { display: inline-flex; flex-direction: column; line-height: 1.35; }
.nain .nain-byline > a.nain-author small { font-size: .74rem; font-weight: 500; opacity: .7; }
.nain .nain-byline > a.nain-author:hover > span:last-child { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-byline > a.nain-author:hover > span:last-child, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-byline > a.nain-author:hover > span:last-child { color: var(--nain-accent); }

/* ---------- Model chips in the article header ---------- */
.nain .nain-chip.nain-chip-model { background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); }
.nain .nain-chip.nain-chip-model i { width: 8px; height: 8px; border-radius: 50%; background: var(--co); }
.nain a.nain-chip.nain-chip-model:hover { background: var(--co); color: #fff; border-color: var(--co); }
.nain a.nain-chip.nain-chip-model:hover i { background: #fff; }

/* ---------- 2-line analysis ---------- */
.nain .nain-analysis, .nain-analysis {
	position: relative; margin: 0 0 30px; padding: 20px 24px 20px 22px; border-radius: var(--nain-radius, 18px); overflow: hidden;
	background: linear-gradient(135deg, var(--nain-ink, #0f172a), var(--nain-primary, #0f766e)); color: #fff;
	box-shadow: 0 18px 36px -26px rgba(var(--nain-primary-rgb, 15, 118, 110), .9);
}
.nain-analysis::after { content: ""; position: absolute; inset: 0; background: radial-gradient(80% 120% at 0% 0%, rgba(var(--nain-accent-rgb, 245, 158, 11), .28), transparent 60%); pointer-events: none; }
.nain-analysis-k { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 7px; margin-bottom: 8px; padding: 3px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .22); font-size: .78rem; font-weight: 800; }
.nain-analysis p { position: relative; z-index: 1; margin: 0 !important; color: #fff; font-size: 1.02rem; font-weight: 600; line-height: 2.05; }

/* ---------- In-text link to a model page ---------- */
.nain-prose a.nain-entity, a.nain-entity { text-decoration: none; border-bottom: 2px dotted rgba(var(--nain-primary-rgb, 15, 118, 110), .55); font-weight: 600; }
a.nain-entity:hover { border-bottom-style: solid; }

/* ---------- Related products / site articles ---------- */
.nain .nain-relbox, .nain-relbox { margin: 34px 0; }
.nain-relbox-t { display: flex; align-items: center; gap: 9px; margin: 0 0 14px !important; padding: 0; border: 0; font-size: 1.08rem; font-weight: 800; line-height: 1.6; }
.nain-relbox-t .nain-ic { color: var(--nain-primary, #0f766e); }
.nain-relbox-list { display: grid; gap: 10px; }
.nain .nain-relart, .nain-relart { display: flex; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; border-radius: 16px; background: var(--nain-surface, #fff); color: var(--nain-surface-text, inherit) !important; border: 1px solid var(--nain-surface-line, rgba(0, 0, 0, .08)); text-decoration: none !important; transition: border-color .2s ease, transform .2s ease; }
.nain-relart:hover { border-color: rgba(var(--nain-primary-rgb, 15, 118, 110), .5); transform: translateX(-3px); }
.nain-relart > .nain-ic { flex: none; opacity: .5; }
.nain-relart-img { flex: none; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; background: var(--nain-surface-2, #f1f5f9); color: var(--nain-primary, #0f766e); }
.nain-relart-img img { width: 100%; height: 100%; object-fit: cover; }
.nain-relart-body { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.nain-relart-title { font-weight: 800; line-height: 1.7; font-size: .95rem; }
.nain-relart-ex { font-size: .82rem; opacity: .7; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.nain-prods { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.nain .nain-prod, .nain-prod { display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: var(--nain-surface, #fff); color: var(--nain-surface-text, inherit) !important; border: 1px solid var(--nain-surface-line, rgba(0, 0, 0, .08)); box-shadow: var(--nain-shadow, none); text-decoration: none !important; transition: transform .25s ease, box-shadow .25s ease; }
.nain-prod:hover { transform: translateY(-3px); box-shadow: 0 18px 34px -24px rgba(var(--nain-primary-rgb, 15, 118, 110), .8); }
.nain-prod-img { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; overflow: hidden; background: var(--nain-surface-2, #f1f5f9); color: var(--nain-primary, #0f766e); }
.nain-prod-img img { width: 100%; height: 100%; object-fit: cover; }
.nain-prod-body { display: flex; flex: 1; flex-direction: column; gap: 4px; padding: 12px 14px 14px; }
.nain-prod-title { font-weight: 800; line-height: 1.7; font-size: .95rem; }
.nain-prod-ex { font-size: .8rem; line-height: 1.8; opacity: .7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain-prod-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.nain-prod-price { font-size: .86rem; font-weight: 800; color: var(--nain-primary, #0f766e); }
.nain-prod-price del { opacity: .5; font-weight: 500; }
.nain-prod-cta { display: inline-flex; align-items: center; gap: 4px; padding: 5px 12px; border-radius: 999px; background: var(--nain-primary, #0f766e); color: #fff; font-size: .78rem; font-weight: 800; }
:root[data-nain-theme="dark"] .nain .nain-prod-price, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-prod-price, :root[data-nain-theme="dark"] .nain .nain-relbox-t .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-relbox-t .nain-ic { color: var(--nain-accent); }

/* ---------- About the author ---------- */
.nain .nain-abox, .nain-abox { display: flex; gap: 18px; align-items: flex-start; margin: 34px 0; padding: 22px; border-radius: var(--nain-radius, 18px); background: var(--nain-surface, #fff); color: var(--nain-surface-text, inherit); border: 1px solid var(--nain-surface-line, rgba(0, 0, 0, .08)); box-shadow: var(--nain-shadow, none); }
.nain-abox-body { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.nain-abox-k { font-size: .74rem; font-weight: 800; letter-spacing: .02em; opacity: .6; }
.nain .nain-abox-name, .nain-abox-name { color: inherit !important; text-decoration: none !important; font-size: 1.12rem; font-weight: 900; line-height: 1.6; }
.nain-abox-name:hover { color: var(--nain-primary, #0f766e) !important; }
.nain-abox-job { font-size: .84rem; font-weight: 700; color: var(--nain-primary, #0f766e); }
:root[data-nain-theme="dark"] .nain .nain-abox-job, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-abox-job, :root[data-nain-theme="dark"] .nain .nain-abox-name:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-abox-name:hover { color: var(--nain-accent) !important; }
.nain-abox-bio { margin: 6px 0 4px !important; font-size: .9rem; line-height: 2; opacity: .85; }
.nain-abox-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; }
.nain .nain-abox-all, .nain-abox-all { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; background: var(--nain-primary, #0f766e); color: #fff !important; font-size: .82rem; font-weight: 800; text-decoration: none !important; }
.nain .nain-soc, .nain-soc { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--nain-surface-2, #f1f5f9); color: var(--nain-surface-text, inherit) !important; border: 1px solid var(--nain-surface-line, rgba(0, 0, 0, .08)); font-size: .8rem; font-weight: 700; text-decoration: none !important; transition: background .2s ease; }
.nain-soc.is-sm { padding: 5px 10px; font-size: .76rem; }
.nain-soc:hover { background: rgba(var(--nain-primary-rgb, 15, 118, 110), .12); }
@media (max-width: 560px) { .nain-abox { flex-direction: column; align-items: center; text-align: center; } .nain-abox-links { justify-content: center; } }

/* ---------- More on <model> ---------- */
.nain .nain-modelbox { border-top: 3px solid var(--co); }
.nain .nain-modelbox .nain-box-title { gap: 10px; }
.nain .nain-modelbox-list { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 4px; }
.nain .nain-modelbox-list li { margin: 0; padding: 0; }
.nain .nain-modelbox-list a { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 9px 10px; border-radius: 12px; color: inherit; text-decoration: none; transition: background .2s ease; }
.nain .nain-modelbox-list a:hover { background: var(--nain-surface-2); }
.nain .nain-modelbox-t { font-size: .88rem; font-weight: 700; line-height: 1.75; }
.nain .nain-modelbox-list time { font-size: .74rem; opacity: .8; }
.nain .nain-modelbox-all { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px; border-radius: 12px; background: color-mix(in srgb, var(--co) 12%, transparent); color: color-mix(in srgb, var(--co) 70%, #000) !important; font-size: .84rem; font-weight: 800; text-decoration: none !important; }
:root[data-nain-theme="dark"] .nain .nain-modelbox-all, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-modelbox-all { color: #fff !important; background: color-mix(in srgb, var(--co) 35%, transparent); }

/* ---------- Model logo (monogram) ---------- */
.nain .nain-hub-logo { flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; background: var(--co, var(--nain-primary)); color: #fff; font-weight: 900; line-height: 1; }
.nain .nain-hub-logo.is-lg { width: 72px; height: 72px; border-radius: 22px; font-size: 2rem; box-shadow: 0 16px 30px -14px var(--co, rgba(0, 0, 0, .5)); }
.nain .nain-hub-logo.is-md { width: 44px; height: 44px; border-radius: 14px; font-size: 1.2rem; }
.nain .nain-hub-logo.is-sm { width: 24px; height: 24px; border-radius: 8px; font-size: .78rem; }

/* ---------- Model page ---------- */
.nain .nain-hubhead { position: relative; overflow: hidden; margin: 0 0 clamp(24px, 3.5vw, 36px); padding: clamp(22px, 3.5vw, 36px); border-radius: 26px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-hubhead::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(to left, var(--co), transparent 90%); }
.nain .nain-hubhead::after { content: ""; position: absolute; inset: -40% -10% auto auto; width: 55%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--co) 16%, transparent), transparent); pointer-events: none; }
.nain .nain-hub-id { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; }
.nain .nain-hub-kicker { display: inline-block; font-size: .8rem; font-weight: 800; color: var(--co); }
:root[data-nain-theme="dark"] .nain .nain-hub-kicker, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hub-kicker { color: #fff; opacity: .8; }
.nain .nain-hub-h1, .nain .nain-dir-h1 { margin: 2px 0 6px; padding: 0; border: 0; font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.3rem); font-weight: 900; line-height: 1.45; color: inherit; }
.nain .nain-hub-fa { font-size: .55em; font-weight: 700; opacity: .6; }
.nain .nain-hub-sub { margin: 0; max-width: 70ch; font-size: .95rem; line-height: 1.95; opacity: .78; }
.nain .nain-hub-facts { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
.nain .nain-hub-facts div { display: flex; flex-direction: column; gap: 2px; min-width: 110px; padding: 10px 16px; border-radius: 16px; background: var(--nain-surface-2); }
.nain .nain-hub-facts dt { font-size: .74rem; opacity: .65; }
.nain .nain-hub-facts dd { margin: 0; font-size: 1.05rem; font-weight: 900; }
.nain .nain-hub-facts .is-new_model dd { color: #7c3aed; } .nain .nain-hub-facts .is-model_update dd { color: #0284c7; } .nain .nain-hub-facts .is-new_feature dd { color: #059669; }
:root[data-nain-theme="dark"] .nain .nain-hub-facts .is-new_model dd, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hub-facts .is-new_model dd { color: #b39dfa; } :root[data-nain-theme="dark"] .nain .nain-hub-facts .is-model_update dd, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hub-facts .is-model_update dd { color: #5cc8f5; } :root[data-nain-theme="dark"] .nain .nain-hub-facts .is-new_feature dd, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hub-facts .is-new_feature dd { color: #4ade9f; }
.nain .nain-hub-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.nain .nain-hub-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 16px; border-radius: 999px; background: var(--co); color: #fff !important; font-size: .84rem; font-weight: 800; text-decoration: none !important; }
.nain .nain-hub-btn.is-ghost { background: transparent; color: var(--nain-surface-text) !important; border: 1px solid var(--nain-surface-line); }
.nain .nain-hub-h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 16px; padding: 0; border: 0; font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); font-weight: 900; line-height: 1.6; color: inherit; }
.nain .nain-hub-h2 .nain-ic { color: var(--co, var(--nain-primary)); }
:root[data-nain-theme="dark"] .nain .nain-hub-h2 .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hub-h2 .nain-ic { color: var(--nain-accent); }
.nain .nain-hub-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 20px; margin: 0 0 clamp(26px, 4vw, 40px); }
.nain .nain-hub-grid.is-single { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 900px) { .nain .nain-hub-grid { grid-template-columns: minmax(0, 1fr); } }
.nain .nain-hub-about, .nain .nain-hub-tl { padding: clamp(18px, 2.5vw, 26px); border-radius: 22px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-hub-about p { margin: 0 0 12px; font-size: .96rem; line-height: 2.1; }
.nain .nain-hub-about p:last-child { margin: 0; }
.nain .nain-tl { list-style: none; margin: 0; padding: 0; position: relative; }
.nain .nain-tl::before { content: ""; position: absolute; top: 8px; bottom: 8px; inset-inline-start: 7px; width: 2px; background: var(--nain-surface-line); }
.nain .nain-tl li { position: relative; margin: 0; padding: 0 30px 18px 0; }
.nain .nain-tl li:last-child { padding-bottom: 0; }
.nain .nain-tl li::before { content: ""; position: absolute; top: 6px; inset-inline-start: 0; width: 16px; height: 16px; box-sizing: border-box; border-radius: 50%; background: var(--nain-surface); border: 4px solid var(--nain-surface-line); }
.nain .nain-tl li.is-new_model::before { border-color: #7c3aed; } .nain .nain-tl li.is-model_update::before { border-color: #0284c7; } .nain .nain-tl li.is-new_feature::before { border-color: #059669; }
.nain .nain-tl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: .76rem; }
.nain .nain-tl-meta time { opacity: .8; }
.nain .nain-tl-title { display: block; margin: 5px 0 2px; color: inherit; font-weight: 800; line-height: 1.8; text-decoration: none; }
.nain .nain-tl-title:hover { color: var(--co, var(--nain-primary)); }
:root[data-nain-theme="dark"] .nain .nain-tl-title:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-tl-title:hover { color: var(--nain-accent); }
.nain .nain-tl-an { margin: 0; font-size: .84rem; line-height: 1.9; opacity: .72; }
.nain .nain-hub-news, .nain .nain-hub-rel, .nain .nain-atopics { margin: 0 0 clamp(26px, 4vw, 40px); }
.nain .nain-hub-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nain .nain-hub-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 8px; border-radius: 999px; background: var(--nain-surface); color: var(--nain-surface-text) !important; border: 1px solid var(--nain-surface-line); font-size: .86rem; font-weight: 800; text-decoration: none !important; transition: border-color .2s ease, transform .2s ease; }
.nain .nain-hub-chip:hover { border-color: var(--co, var(--nain-primary)); transform: translateY(-2px); }
.nain .nain-hub-chip > .nain-ic { color: var(--nain-primary); margin-inline-start: 4px; }
.nain .nain-hub-chip small { font-size: .72rem; font-weight: 600; opacity: .8; }
.nain .nain-empty { padding: 26px; text-align: center; opacity: .7; }

/* ---------- Directory pages ---------- */
.nain .nain-dirhead { margin: 0 0 clamp(20px, 3vw, 30px); }
.nain .nain-dirhead .nain-kicker { background: rgba(var(--nain-primary-rgb), .09); color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-dirhead .nain-kicker, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-dirhead .nain-kicker { background: rgba(var(--nain-accent-rgb), .14); color: var(--nain-accent); }
.nain .nain-dirhead p { margin: 0; max-width: 75ch; font-size: .96rem; line-height: 2; opacity: .75; }
.nain .nain-hubcard { gap: 12px; }
.nain .nain-hubcard .nain-mr-top { align-items: center; }
.nain .nain-hubcard-id { display: flex; flex-direction: column; min-width: 0; }
.nain .nain-hubcard-id .nain-mr-title { font-size: 1.08rem; }
.nain .nain-hubcard-id > span { font-size: .76rem; opacity: .65; }
.nain .nain-hubcard-n { display: flex; flex-direction: column; align-items: center; margin-inline-start: auto; font-size: 1.25rem; font-weight: 900; line-height: 1.2; color: var(--co); }
:root[data-nain-theme="dark"] .nain .nain-hubcard-n, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hubcard-n { color: #fff; }
.nain .nain-hubcard-n small { font-size: .66rem; font-weight: 600; opacity: .7; color: var(--nain-surface-text); }
.nain .nain-hubcard-last { margin: 0; font-size: .84rem; line-height: 1.9; opacity: .78; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-hubcard-last span { font-weight: 800; opacity: .8; }
.nain .nain-hubcard-go { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; color: var(--co); }
:root[data-nain-theme="dark"] .nain .nain-hubcard-go, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hubcard-go { color: #fff; }

/* ---------- Author page ---------- */
.nain .nain-ahead { position: relative; overflow: hidden; margin: 0 0 clamp(24px, 3.5vw, 36px); padding: 0 clamp(20px, 3.5vw, 36px) clamp(22px, 3vw, 32px); border-radius: 26px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-ahead-band { height: clamp(90px, 12vw, 130px); margin: 0 calc(-1 * clamp(20px, 3.5vw, 36px)); background: radial-gradient(90% 160% at 0% 0%, rgba(var(--nain-accent-rgb), .45), transparent 55%), linear-gradient(135deg, var(--nain-primary), var(--nain-ink)); }
.nain .nain-ahead-main { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 20px; margin-top: -56px; }
.nain .nain-ahead-main .nain-av.is-xl { --s: 128px; }
.nain .nain-ahead-id { flex: 1; min-width: 200px; padding-bottom: 4px; }
.nain .nain-ahead-k { font-size: .78rem; font-weight: 800; opacity: .65; }
.nain .nain-ahead-h1 { margin: 2px 0 0; padding: 0; border: 0; font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.2rem); font-weight: 900; line-height: 1.45; color: inherit; }
.nain .nain-ahead-job { margin: 2px 0 0; font-size: .95rem; font-weight: 700; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-ahead-job, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-ahead-job { color: var(--nain-accent); }
.nain .nain-ahead-soc { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 6px; }
.nain .nain-ahead-bio { margin: 18px 0 0; max-width: 80ch; font-size: .98rem; line-height: 2.1; opacity: .85; }
.nain .nain-ahead-ex { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
.nain .nain-ahead-ex li { margin: 0; padding: 4px 12px; border-radius: 999px; background: rgba(var(--nain-primary-rgb), .09); color: var(--nain-primary); font-size: .8rem; font-weight: 700; }
:root[data-nain-theme="dark"] .nain .nain-ahead-ex li, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-ahead-ex li { background: rgba(var(--nain-accent-rgb), .14); color: var(--nain-accent); }
.nain .nain-ahead-ex.is-sm li { padding: 3px 10px; font-size: .74rem; }
.nain .nain-ahead-stats { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 0; }
.nain .nain-ahead-stats div { display: flex; flex-direction: column; gap: 2px; min-width: 110px; padding: 10px 16px; border-radius: 16px; background: var(--nain-surface-2); }
.nain .nain-ahead-stats dt { font-size: .74rem; opacity: .65; }
.nain .nain-ahead-stats dd { margin: 0; font-size: 1.05rem; font-weight: 900; }
@media (max-width: 600px) { .nain .nain-ahead-main { flex-direction: column; align-items: center; text-align: center; } .nain .nain-ahead-soc, .nain .nain-ahead-ex { justify-content: center; } .nain .nain-ahead-main .nain-av.is-xl { --s: 108px; } }

/* ---------- Authors directory ---------- */
.nain.nain-adir, .nain .nain-adir { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.nain .nain-acard { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 26px 20px 20px; border-radius: 24px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); text-align: center; overflow: hidden; }
.nain .nain-acard::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 70px; background: linear-gradient(135deg, rgba(var(--nain-primary-rgb), .16), rgba(var(--nain-accent-rgb), .16)); }
.nain .nain-acard > * { position: relative; }
.nain .nain-acard-name { margin: 8px 0 0; padding: 0; border: 0; font-size: 1.12rem; font-weight: 900; line-height: 1.6; }
.nain .nain-acard-name a { color: inherit; text-decoration: none; }
.nain .nain-acard-name a::after { content: ""; position: absolute; inset: 0; }
.nain .nain-acard-job { margin: 0; font-size: .84rem; font-weight: 700; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-acard-job, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-acard-job { color: var(--nain-accent); }
.nain .nain-acard-bio { margin: 4px 0 0; font-size: .86rem; line-height: 1.95; opacity: .78; }
.nain .nain-acard .nain-ahead-ex { justify-content: center; margin-top: 6px; }
.nain .nain-acard-stats { display: flex; justify-content: center; gap: 18px; margin: 10px 0 2px; }
.nain .nain-acard-stats div { display: flex; flex-direction: column; }
.nain .nain-acard-stats dt { font-size: .7rem; opacity: .6; }
.nain .nain-acard-stats dd { margin: 0; font-weight: 900; }
.nain .nain-acard-last { z-index: 1; display: block; width: 100%; box-sizing: border-box; padding: 9px 12px; border-radius: 12px; background: var(--nain-surface-2); color: inherit; font-size: .8rem; line-height: 1.8; text-decoration: none; text-align: start; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-acard-last span { font-weight: 800; }
.nain .nain-acard-go { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; font-size: .84rem; font-weight: 800; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-acard-go, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-acard-go { color: var(--nain-accent); }
@media (max-width: 600px) {
	.nain .nain-hub-id { flex-direction: column; align-items: flex-start; gap: 12px; }
	.nain .nain-hub-logo.is-lg { width: 56px; height: 56px; border-radius: 18px; font-size: 1.6rem; }
	.nain .nain-hub-facts div { flex: 1 1 calc(50% - 10px); min-width: 0; }
}

/* =====================================================================
 * 1.9 — Full AI pages (profile), directory and comparison
 * ================================================================== */
.nain .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Hero */
.nain .nain-hubhead.has-profile { background: radial-gradient(70% 140% at 100% 0%, color-mix(in srgb, var(--co) 14%, transparent), transparent 60%), var(--nain-surface); }
.nain .nain-hub-idt { min-width: 0; }
.nain .nain-hub-h1 .nain-hub-name { font-size: 1.25em; letter-spacing: -.01em; }
.nain .nain-hub-h1 .nain-hub-h1s { display: block; margin-top: 2px; font-size: .5em; font-weight: 700; opacity: .7; }
.nain .nain-hub-tag { position: relative; z-index: 1; margin: 6px 0 0; max-width: 70ch; font-size: 1.02rem; font-weight: 600; line-height: 1.95; opacity: .88; }
.nain .nain-hub-latest { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 10px 14px; border-radius: 14px; background: var(--nain-surface-2); color: inherit !important; text-decoration: none !important; font-size: .88rem; transition: background .2s ease; }
.nain .nain-hub-latest:hover { background: color-mix(in srgb, var(--co) 12%, var(--nain-surface-2)); }
.nain .nain-hub-latest-k { flex: none; display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; background: var(--nain-hot); color: #fff; font-size: .74rem; font-weight: 800; }
.nain .nain-hub-latest-t { flex: 1; min-width: 0; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nain .nain-hub-latest .nain-ago { flex: none; font-size: .76rem; opacity: .65; }

/* In-page navigation */
.nain .nain-pf-nav { position: sticky; top: var(--nain-sticky-top, 0px); z-index: 20; margin: 0 0 clamp(20px, 3vw, 30px); padding: 6px; border-radius: 16px; background: color-mix(in srgb, var(--nain-surface) 88%, transparent); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); }
.nain .nain-pf-nav ul { display: flex; gap: 4px; margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.nain .nain-pf-nav ul::-webkit-scrollbar { display: none; }
.nain .nain-pf-nav li { flex: none; margin: 0; padding: 0; }
.nain .nain-pf-nav a { display: block; padding: 7px 14px; border-radius: 11px; color: var(--nain-surface-text) !important; font-size: .84rem; font-weight: 700; text-decoration: none !important; white-space: nowrap; opacity: .75; transition: background .2s ease, opacity .2s ease; }
.nain .nain-pf-nav a:hover { opacity: 1; background: var(--nain-surface-2); }
.nain .nain-pf-nav a.is-active { opacity: 1; background: var(--co, var(--nain-primary)); color: #fff !important; }
.nain .nain-pf-sec { margin: 0 0 clamp(30px, 4.5vw, 48px); scroll-margin-top: calc(var(--nain-sticky-top, 0px) + 80px); }
.nain .nain-pf-h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 0; border: 0; font-size: clamp(1.15rem, 1.02rem + .5vw, 1.45rem); font-weight: 900; line-height: 1.6; color: inherit; }
.nain .nain-pf-h2 .nain-ic { flex: none; width: 36px; height: 36px; padding: 8px; box-sizing: border-box; border-radius: 11px; background: color-mix(in srgb, var(--co, var(--nain-primary)) 13%, transparent); color: var(--co, var(--nain-primary)); }
:root[data-nain-theme="dark"] .nain .nain-pf-h2 .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-pf-h2 .nain-ic { color: #fff; background: color-mix(in srgb, var(--co, var(--nain-primary)) 45%, transparent); }
.nain .nain-pf-sub { margin: -8px 0 16px; font-size: .9rem; opacity: .7; }

/* About + at a glance */
.nain .nain-pf-top { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; margin: 0 0 clamp(30px, 4.5vw, 48px); }
.nain .nain-pf-top .nain-pf-sec { margin: 0; }
@media (max-width: 960px) { .nain .nain-pf-top { grid-template-columns: minmax(0, 1fr); } }
.nain .nain-pf-prose p { margin: 0 0 14px; font-size: 1rem; line-height: 2.15; }
.nain .nain-pf-prose p.is-lead { font-size: 1.08rem; font-weight: 500; }
.nain .nain-pf-prose p.is-lead::first-letter { font-weight: 900; color: var(--co, var(--nain-primary)); }
.nain .nain-pf-glance { position: sticky; top: calc(var(--nain-sticky-top, 0px) + 74px); padding: 20px; border-radius: 22px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); border-top: 4px solid var(--co, var(--nain-primary)); box-shadow: var(--nain-shadow); }
@media (max-width: 960px) { .nain .nain-pf-glance { position: static; } }
.nain .nain-pf-glance-t { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0; border: 0; font-size: 1rem; font-weight: 900; color: inherit; }
.nain .nain-pf-glance-t .nain-ic { color: var(--co, var(--nain-primary)); }
.nain .nain-pf-glance dl { display: grid; gap: 2px; margin: 0; }
.nain .nain-pf-glance dl div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--nain-surface-line); }
.nain .nain-pf-glance dt { display: flex; align-items: center; gap: 6px; font-size: .8rem; opacity: .65; }
.nain .nain-pf-glance dd { margin: 0; font-size: .88rem; font-weight: 700; line-height: 1.8; }
.nain .nain-pf-plat { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; font-size: .78rem; }
.nain .nain-pf-plat span { opacity: .65; }
.nain .nain-pf-plat b { padding: 3px 10px; border-radius: 999px; background: var(--nain-surface-2); font-weight: 700; }
.nain .nain-pf-fa { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: var(--nain-surface-2); font-size: .82rem; font-weight: 700; }
.nain .nain-pf-meter { display: inline-flex; gap: 4px; direction: ltr; }
.nain .nain-pf-meter i { width: 16px; height: 8px; border-radius: 4px; background: var(--nain-surface-line); }
.nain .nain-pf-meter i.on { background: #10b981; }
.nain .nain-pf-meter.is-sm i { width: 9px; height: 6px; }

/* Capability map */
.nain .nain-pf-capmap { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.nain .nain-pf-capmap li { position: relative; display: flex; align-items: center; gap: 9px; margin: 0; padding: 12px 14px; border-radius: 14px; font-size: .84rem; font-weight: 700; line-height: 1.5; }
.nain .nain-pf-capmap li > .nain-ic:last-of-type { margin-inline-start: auto; flex: none; }
.nain .nain-pf-capmap li.is-on { background: color-mix(in srgb, var(--co, var(--nain-primary)) 11%, var(--nain-surface)); border: 1px solid color-mix(in srgb, var(--co, var(--nain-primary)) 30%, transparent); color: var(--nain-surface-text); }
.nain .nain-pf-capmap li.is-on > .nain-ic:first-child { color: var(--co, var(--nain-primary)); }
.nain .nain-pf-capmap li.is-on > .nain-ic:last-of-type { color: #10b981; }
.nain .nain-pf-capmap li.is-off { border: 1px dashed var(--nain-surface-line); color: var(--nain-surface-text); opacity: .42; }
:root[data-nain-theme="dark"] .nain .nain-pf-capmap li.is-on > .nain-ic:first-child, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-pf-capmap li.is-on > .nain-ic:first-child { color: #fff; }
.nain .nain-pf-capcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.nain .nain-pf-capcard { display: flex; gap: 12px; padding: 16px; border-radius: 18px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); }
.nain .nain-pf-capcard h3, .nain .nain-pf-use h3 { margin: 0 0 4px; padding: 0; border: 0; font-size: .95rem; font-weight: 800; line-height: 1.6; color: inherit; }
.nain .nain-pf-capcard p, .nain .nain-pf-use p { margin: 0; font-size: .86rem; line-height: 1.95; opacity: .8; }
.nain .nain-pf-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 13px; background: color-mix(in srgb, var(--co, var(--nain-primary)) 13%, transparent); color: var(--co, var(--nain-primary)); }
:root[data-nain-theme="dark"] .nain .nain-pf-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-pf-ic { color: #fff; background: color-mix(in srgb, var(--co, var(--nain-primary)) 40%, transparent); }

/* Models */
.nain .nain-pf-models { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.nain .nain-pf-model { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 18px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); box-shadow: var(--nain-shadow); overflow: hidden; }
.nain .nain-pf-model::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(to left, var(--co, var(--nain-primary)), transparent); }
.nain .nain-pf-model.is-legacy { box-shadow: none; opacity: .85; }
.nain .nain-pf-model.is-legacy::before { background: var(--nain-surface-line); }
.nain .nain-pf-model-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.nain .nain-pf-model h3 { margin: 0; padding: 0; border: 0; font-size: 1.12rem; font-weight: 900; line-height: 1.5; color: inherit; text-align: left; }
.nain .nain-pf-kind { flex: none; padding: 3px 10px; border-radius: 999px; background: color-mix(in srgb, var(--co, var(--nain-primary)) 12%, transparent); color: var(--co, var(--nain-primary)); font-size: .74rem; font-weight: 800; }
:root[data-nain-theme="dark"] .nain .nain-pf-kind, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-pf-kind { color: #fff; }
.nain .nain-pf-model p { margin: 0; font-size: .88rem; line-height: 1.95; opacity: .85; }
.nain .nain-pf-model dl { display: grid; gap: 4px; margin: auto 0 0; padding-top: 8px; border-top: 1px dashed var(--nain-surface-line); }
.nain .nain-pf-model dl div { display: flex; gap: 8px; font-size: .8rem; line-height: 1.8; }
.nain .nain-pf-model dt { flex: none; display: inline-flex; align-items: center; gap: 4px; opacity: .6; }
.nain .nain-pf-model dd { margin: 0; font-weight: 700; }
.nain .nain-pf-legacy { margin-top: 14px; }
.nain .nain-pf-legacy summary { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--nain-surface-2); font-size: .84rem; font-weight: 800; cursor: pointer; list-style: none; }
.nain .nain-pf-legacy summary::-webkit-details-marker { display: none; }
.nain .nain-pf-legacy[open] summary { margin-bottom: 12px; }

/* Use cases */
.nain .nain-pf-uses { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.nain .nain-pf-use { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 18px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); transition: transform .25s ease, border-color .25s ease; }
.nain .nain-pf-use:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--co, var(--nain-primary)) 50%, transparent); }

/* Strengths / limitations */
.nain .nain-pf-pros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 700px) { .nain .nain-pf-pros { grid-template-columns: minmax(0, 1fr); } }
.nain .nain-pf-pro { padding: 18px 20px; border-radius: 18px; border: 1px solid; }
.nain .nain-pf-pro.is-good { background: rgba(16, 185, 129, .07); border-color: rgba(16, 185, 129, .3); }
.nain .nain-pf-pro.is-bad { background: rgba(245, 158, 11, .07); border-color: rgba(245, 158, 11, .32); }
.nain .nain-pf-pro h3 { margin: 0 0 10px; padding: 0; border: 0; font-size: 1rem; font-weight: 900; color: inherit; }
.nain .nain-pf-pro ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nain .nain-pf-pro li { display: flex; gap: 8px; margin: 0; padding: 0; font-size: .9rem; line-height: 1.9; }
.nain .nain-pf-pro li .nain-ic { flex: none; margin-top: 4px; }
.nain .nain-pf-pro.is-good li .nain-ic { color: #10b981; }
.nain .nain-pf-pro.is-bad li .nain-ic { color: #f59e0b; }

/* Tips */
.nain .nain-pf-callout { display: flex; gap: 12px; margin: 0 0 14px; padding: 16px 18px; border-radius: 16px; background: color-mix(in srgb, var(--co, var(--nain-primary)) 8%, var(--nain-surface)); border: 1px solid color-mix(in srgb, var(--co, var(--nain-primary)) 25%, transparent); }
.nain .nain-pf-callout > .nain-ic { flex: none; margin-top: 3px; color: var(--co, var(--nain-primary)); }
.nain .nain-pf-callout p { margin: 2px 0 0; font-size: .9rem; line-height: 1.95; }
.nain .nain-pf-tips { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: tip; }
.nain .nain-pf-tips li { position: relative; margin: 0; padding: 14px 16px 14px 16px; padding-inline-start: 54px; border-radius: 16px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); font-size: .9rem; line-height: 1.9; counter-increment: tip; }
.nain .nain-pf-tips li::before { content: counter(tip, persian); position: absolute; inset-inline-start: 14px; top: 13px; display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 9px; background: var(--co, var(--nain-primary)); color: #fff; font-weight: 900; font-size: .85rem; }

/* Rivals */
.nain .nain-pf-rivals { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.nain .nain-pf-rival { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 18px; background: var(--nain-surface); color: var(--nain-surface-text) !important; border: 1px solid var(--nain-surface-line); text-decoration: none !important; transition: transform .25s ease, border-color .25s ease; }
a.nain-pf-rival:hover { transform: translateY(-3px); border-color: var(--co); }
.nain .nain-pf-rival-top { display: flex; align-items: center; gap: 10px; }
.nain .nain-pf-rival-top b { font-size: .95rem; }
.nain .nain-pf-rival-top i { font-style: normal; font-size: .76rem; opacity: .78; }
.nain .nain-pf-rival p { margin: 0; font-size: .86rem; line-height: 1.9; opacity: .8; }
.nain .nain-pf-more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; font-size: .8rem; font-weight: 800; color: color-mix(in srgb, var(--co) 70%, #000); }
:root[data-nain-theme="dark"] .nain .nain-pf-more, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-pf-more { color: #fff; }

/* FAQ */
.nain .nain-pf-faq { display: grid; gap: 8px; }
.nain .nain-pf-faq details { border-radius: 16px; background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); }
.nain .nain-pf-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px 18px; font-weight: 800; line-height: 1.7; cursor: pointer; list-style: none; }
.nain .nain-pf-faq summary::-webkit-details-marker { display: none; }
.nain .nain-pf-faq summary .nain-ic { flex: none; transition: transform .25s ease; }
.nain .nain-pf-faq details[open] summary .nain-ic { transform: rotate(180deg); }
.nain .nain-pf-faq p { margin: 0; padding: 0 18px 16px; font-size: .92rem; line-height: 2; opacity: .85; }
.nain .nain-pf-note { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--nain-surface-2); font-size: .8rem; line-height: 1.9; opacity: .8; }
.nain .nain-pf-note .nain-ic { flex: none; margin-top: 4px; }

/* Directory cards and comparison */
.nain .nain-hubcard-grp { flex: none; margin-inline-start: auto; padding: 3px 10px; border-radius: 999px; background: var(--nain-surface-2); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.nain .nain-hubcard-tag { margin: 0; font-size: .86rem; line-height: 1.9; opacity: .82; }
.nain .nain-hubcard-caps { display: flex; flex-wrap: wrap; gap: 5px; }
.nain .nain-hubcard-caps > span { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 9px; background: color-mix(in srgb, var(--co) 11%, transparent); color: var(--co); }
:root[data-nain-theme="dark"] .nain .nain-hubcard-caps > span, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hubcard-caps > span { color: #fff; }
.nain .nain-hubcard-n2 { display: inline-flex; align-items: center; gap: 4px; opacity: .7; }
.nain .nain-hubdir-seg { flex-wrap: wrap; }
.nain .nain-hubdir-seg small { opacity: .6; font-size: .72rem; }
.nain.nain-cmp { margin: clamp(30px, 4.5vw, 48px) 0 0; }
.nain .nain-cmp-wrap { overflow-x: auto; border-radius: 18px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); box-shadow: var(--nain-shadow); }
.nain .nain-cmp-wrap:focus-visible { outline: 2px solid var(--nain-primary); outline-offset: 2px; }
.nain .nain-cmp-t { width: 100%; min-width: 860px; margin: 0; border-collapse: collapse; color: var(--nain-surface-text); font-size: .82rem; }
.nain .nain-cmp-t th, .nain .nain-cmp-t td { padding: 10px 8px; border: 0; border-bottom: 1px solid var(--nain-surface-line); text-align: center; vertical-align: middle; background: transparent; }
.nain .nain-cmp-t thead th { position: sticky; top: 0; background: var(--nain-surface-2); font-weight: 800; }
.nain .nain-cmp-hd { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: .72rem; line-height: 1.4; }
.nain .nain-cmp-t tbody th { position: sticky; inset-inline-start: 0; z-index: 1; background: var(--nain-surface); text-align: start; white-space: nowrap; }
.nain .nain-cmp-t tbody th a { display: inline-flex; align-items: center; gap: 8px; color: inherit; font-weight: 800; text-decoration: none; }
.nain .nain-cmp-t tbody tr:hover td, .nain .nain-cmp-t tbody tr:hover th { background: var(--nain-surface-2); }
.nain .nain-cmp-t td.is-on .nain-ic { color: #10b981; }
.nain .nain-cmp-t td.is-off .nain-ic { opacity: .25; }
.nain .nain-cmp-t tbody tr:last-child > * { border-bottom: 0; }

/* =====================================================================
 * 2.0 — Magazine: page, header, footer, search, drawer, home sections,
 * AI archive. Colours come from the surface tokens, so light and dark
 * follow <html data-nain-theme> automatically.
 * ================================================================== */

/* ---------- Page (template «مجله نویا») ---------- */
body.nain-mag { margin: 0; background: #f3f6f6; color: #152124; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:root[data-nain-theme="dark"] body.nain-mag, :root:not([data-nain-theme]) body.nain-mag.nain-mode-dark { background: #0b1416; color: #e6eeee; }
@media (prefers-color-scheme: dark) {
	:root:not([data-nain-theme]) body.nain-mag.nain-mode-auto { background: #0b1416; color: #e6eeee; }
}
body.nain-mag .nain-mag-main { display: block; min-height: 50vh; outline: none; }
body.nain-mag .nain-mag-main > .elementor { overflow-x: clip; }
body.nain-lock { overflow: hidden; }
.nain-skip {
	position: absolute; inset-inline-start: 12px; top: -80px; z-index: 100001;
	padding: 10px 18px; border-radius: 0 0 12px 12px; background: #0F5257; color: #fff !important;
	font-weight: 800; text-decoration: none !important; transition: top .2s ease;
}
.nain-skip:focus { top: 0; outline: 3px solid #E8A54B; outline-offset: 0; }
.nain.nain-mag-title { max-width: var(--nain-container); margin: 0 auto; padding: clamp(24px, 4vw, 44px) clamp(16px, 3vw, 28px) 8px; }
.nain.nain-mag-title h1 { margin: 0; padding: 0; border: 0; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem); font-weight: 900; line-height: 1.45; color: inherit; }

/* Shared bits */
.nain .nain-more-link {
	display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 12px; white-space: nowrap;
	background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); font-size: .85rem; font-weight: 800; line-height: 1.6;
	transition: background .2s ease, color .2s ease;
}
.nain .nain-more-link:hover { background: var(--nain-primary); color: #fff; }
:root[data-nain-theme="dark"] .nain .nain-more-link, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-more-link { background: rgba(var(--nain-accent-rgb), .12); color: var(--nain-accent); }
:root[data-nain-theme="dark"] .nain .nain-more-link:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-more-link:hover { background: var(--nain-accent); color: var(--nain-ink); }
.nain .nain-newbadge {
	display: inline-flex; align-items: center; margin-inline-start: 6px; padding: 0 7px; border-radius: 999px;
	background: var(--nain-hot); color: #fff; font-size: .66rem; font-weight: 800; line-height: 1.7; vertical-align: 2px;
	animation: nain-pop .35s ease both;
}
@keyframes nain-pop { from { opacity: 0; transform: scale(.9) translateY(4px); } to { opacity: 1; transform: none; } }
@keyframes nain-fade { from { opacity: 0; } to { opacity: 1; } }

.nain.nain-mh :focus-visible, .nain.nain-mf :focus-visible, .nain.nain-search :focus-visible, .nain.nain-drawer :focus-visible,
.nain.nain-hi :focus-visible, .nain.nain-spot :focus-visible, .nain.nain-tt :focus-visible, .nain.nain-cta :focus-visible,
.nain.nain-aishow :focus-visible, .nain.nain-arow :focus-visible, .nain.nain-aiar :focus-visible { outline: 2px solid var(--nain-accent); outline-offset: 2px; }

/* =====================================================================
 * Header
 * ================================================================== */
.nain-mh-wrap { position: relative; z-index: 900; }
.nain.nain-mh { --nain-mh-bg: rgba(255, 255, 255, .92); position: relative; display: block; color: var(--nain-surface-text); font-size: 1rem; }
:root[data-nain-theme="dark"] .nain.nain-mh, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"].nain-mh { --nain-mh-bg: rgba(12, 22, 24, .9); }
.nain .nain-mh-row { display: flex; align-items: center; gap: 14px; max-width: var(--nain-container); margin-inline: auto; padding-inline: clamp(14px, 3vw, 28px); }

/* Top bar */
.nain .nain-mh-top { background: var(--nain-ink); color: rgba(255, 255, 255, .78); font-size: .78rem; }
.nain .nain-mh-top .nain-mh-row { min-height: 38px; gap: 18px; }
.nain .nain-mh-date, .nain .nain-mh-upd { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.nain .nain-mh-date .nain-ic { color: var(--nain-accent); }
.nain .nain-mh-upd .nain-dot { color: #22c55e; width: 7px; height: 7px; }
.nain .nain-mh-trends { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; overflow: hidden; white-space: nowrap; -webkit-mask-image: linear-gradient(to left, #000 88%, transparent); mask-image: linear-gradient(to left, #000 88%, transparent); }
.nain .nain-mh-trends > span { display: inline-flex; align-items: center; gap: 4px; color: var(--nain-accent); font-weight: 800; }
.nain .nain-mh-trends a { color: inherit; transition: color .15s ease; }
.nain .nain-mh-trends a:hover { color: #fff; }
.nain .nain-mh-socs { display: flex; gap: 2px; margin-inline-start: auto; }
.nain .nain-mh-soc { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; color: inherit; transition: background .15s ease, color .15s ease; }
.nain .nain-mh-top .nain-mh-soc:hover { background: rgba(255, 255, 255, .1); color: #fff; }

/* Main bar */
.nain .nain-mh-bar { position: relative; z-index: 20; background: var(--nain-mh-bg); border-bottom: 1px solid var(--nain-surface-line); -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px); }
.nain .nain-mh-bar .nain-mh-row { min-height: 72px; position: static; }
.nain .nain-mh-logo { display: inline-flex; flex: none; align-items: center; gap: 10px; color: var(--nain-surface-text); }
.nain .nain-logo-img { display: block; width: auto !important; height: 44px !important; max-width: 210px; object-fit: contain; }
.nain .nain-logo-mark {
	position: relative; flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px;
	background: radial-gradient(90% 90% at 100% 0%, rgba(var(--nain-accent-rgb), .55), transparent 60%), linear-gradient(135deg, var(--nain-primary), var(--nain-ink));
	color: #fff; box-shadow: 0 10px 22px -12px rgba(var(--nain-primary-rgb), .9);
}
.nain .nain-logo-mark b { font-size: .95rem; font-weight: 900; letter-spacing: .5px; direction: ltr; }
.nain .nain-logo-mark::after { content: ""; position: absolute; top: 7px; inset-inline-end: 7px; width: 6px; height: 6px; border-radius: 50%; background: var(--nain-accent); box-shadow: 0 0 0 3px rgba(var(--nain-accent-rgb), .25); }
.nain .nain-logo-txt { display: flex; flex-direction: column; line-height: 1.3; }
.nain .nain-logo-name { font-size: 1.12rem; font-weight: 900; }
.nain .nain-logo-tag { font-size: .7rem; font-weight: 600; color: var(--nain-surface-muted); }

/* Navigation */
.nain .nain-mh-nav { flex: 1; min-width: 0; }
.nain .nain-mh-menu { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.nain .nain-mh-item { position: static; display: flex; align-items: center; margin: 0; }
.nain .nain-mh-item.has-sub { position: relative; }
.nain .nain-mh-item::marker { content: none; }
.nain .nain-mh-item > a {
	position: relative; display: block; padding: 10px 12px; border-radius: 10px; white-space: nowrap;
	color: var(--nain-surface-text); font-size: .93rem; font-weight: 700; line-height: 1.6; transition: color .15s ease, background .15s ease;
}
.nain .nain-mh-item > a:hover, .nain .nain-mh-item.is-open > a, .nain .nain-mh-item.has-mega:hover > a, .nain .nain-mh-item.has-sub:hover > a { color: var(--nain-primary); background: rgba(var(--nain-primary-rgb), .06); }
:root[data-nain-theme="dark"] .nain .nain-mh-item > a:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mh-item > a:hover, :root[data-nain-theme="dark"] .nain .nain-mh-item.is-open > a, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mh-item.is-open > a, :root[data-nain-theme="dark"] .nain .nain-mh-item.has-mega:hover > a, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mh-item.has-mega:hover > a { color: var(--nain-accent); background: rgba(255, 255, 255, .05); }
.nain .nain-mh-item > a[aria-current="page"]::after { content: ""; position: absolute; inset-inline: 12px; bottom: 1px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--nain-accent), var(--nain-primary)); }
.nain .nain-mh-caret { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 30px; margin-inline-start: -8px; border-radius: 7px; color: var(--nain-surface-muted); }
.nain .nain-mh-caret .nain-ic { transition: transform .2s ease; }
.nain .nain-mh-item.is-open > .nain-mh-caret .nain-ic { transform: rotate(180deg); }

/* Mega menus */
.nain .nain-mega, .nain .nain-mh-drop {
	position: absolute; z-index: 80; top: 100%; opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none;
	transition: opacity .18s ease .12s, transform .18s ease .12s, visibility 0s linear .3s;
}
.nain .nain-mega { inset-inline: 0; }
.nain .nain-mh-item.is-open > .nain-mega, .nain .nain-mh-item.is-open > .nain-mh-drop { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition-delay: .08s, .08s, 0s; }
@media (hover: hover) and (pointer: fine) {
	.nain .nain-mh-item.has-mega:not(.is-shut):hover > .nain-mega, .nain .nain-mh-item.has-sub:not(.is-shut):hover > .nain-mh-drop { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition-delay: .08s, .08s, 0s; }
}
.nain .nain-mega-in {
	display: grid; grid-template-columns: 196px minmax(0, 1fr) 240px; gap: 24px;
	max-width: var(--nain-container); margin: 0 auto; padding: 22px clamp(14px, 3vw, 28px) 26px;
	background: var(--nain-surface); color: var(--nain-surface-text);
	border: 1px solid var(--nain-surface-line); border-top: 0; border-radius: 0 0 22px 22px;
	box-shadow: 0 34px 60px -30px rgba(6, 25, 28, .45);
}
.nain .nain-mega-tabs { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0 0 0 0; padding-inline-end: 14px; list-style: none; border-inline-end: 1px solid var(--nain-surface-line); }
.nain .nain-mega-tabs li { margin: 0; }
.nain .nain-mega-tab { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border-radius: 10px; color: var(--nain-surface-text); font-size: .9rem; font-weight: 700; line-height: 1.6; transition: background .15s ease, color .15s ease; }
.nain .nain-mega-tab small { padding: 0 8px; border-radius: 999px; background: var(--nain-surface-2); color: var(--nain-surface-muted); font-size: .7rem; font-weight: 700; }
.nain .nain-mega-tab.is-on, .nain .nain-mega-tab:hover { background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-mega-tab.is-on, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mega-tab.is-on, :root[data-nain-theme="dark"] .nain .nain-mega-tab:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mega-tab:hover { background: rgba(255, 255, 255, .06); color: var(--nain-accent); }
.nain .nain-mega-panel[hidden] { display: none; }
.nain .nain-mega-panel { animation: nain-fade .2s ease; }
.nain .nain-mega-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.nain .nain-mega-card { display: flex; flex-direction: column; gap: 7px; color: var(--nain-surface-text); }
.nain .nain-mega-img { display: block; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: var(--nain-surface-2); }
.nain .nain-mega-img .nain-img { transition: transform .4s ease; }
.nain .nain-mega-card:hover .nain-img { transform: scale(1.05); }
.nain .nain-mega-t { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: .86rem; font-weight: 700; line-height: 1.75; }
.nain .nain-mega-card:hover .nain-mega-t { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-mega-card:hover .nain-mega-t, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mega-card:hover .nain-mega-t { color: var(--nain-accent); }
.nain .nain-mega-card .nain-ago { font-size: .72rem; color: var(--nain-surface-muted); }
.nain .nain-mega-all { display: inline-flex; align-items: center; gap: 5px; margin-top: 14px; color: var(--nain-primary); font-size: .86rem; font-weight: 800; }
:root[data-nain-theme="dark"] .nain .nain-mega-all, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mega-all { color: var(--nain-accent); }
.nain .nain-mega-side { display: flex; flex-direction: column; gap: 12px; padding-inline-start: 18px; border-inline-start: 1px solid var(--nain-surface-line); }
.nain .nain-mega-brief { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: linear-gradient(135deg, var(--nain-primary), var(--nain-ink)); color: #fff; }
.nain .nain-mega-brief .nain-ic { color: var(--nain-accent); }
.nain .nain-mega-brief b { display: block; font-size: .9rem; }
.nain .nain-mega-brief small { display: block; font-size: .72rem; opacity: .8; }
.nain .nain-mega-k { margin: 0; color: var(--nain-surface-muted); font-size: .74rem; font-weight: 800; }
.nain .nain-mega-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.nain .nain-mega-tags a { padding: 4px 10px; border-radius: 999px; background: var(--nain-surface-2); color: var(--nain-surface-text); font-size: .78rem; font-weight: 600; transition: background .15s ease, color .15s ease; }
.nain .nain-mega-tags a:hover { background: var(--nain-primary); color: #fff; }
.nain .nain-mega-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin-top: auto; padding: 10px 14px; border-radius: 12px; background: var(--nain-primary); color: #fff; font-size: .86rem; font-weight: 800; transition: filter .15s ease; }
.nain .nain-mega-btn:hover { filter: brightness(1.12); color: #fff; }
.nain .nain-mega-btn.is-ghost { background: transparent; color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); }
.nain .nain-mega-btn.is-ghost:hover { border-color: var(--nain-primary); color: var(--nain-primary); }
.nain .nain-mega-ais .nain-mega-in { grid-template-columns: minmax(0, 1fr); }
.nain .nain-mega-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 18px; }
.nain .nain-mega-grp ul { display: flex; flex-direction: column; gap: 2px; margin: 8px 0 0; padding: 0; list-style: none; }
.nain .nain-mega-grp li { margin: 0; }
.nain .nain-mega-grp a { display: flex; align-items: center; gap: 9px; padding: 6px 8px; border-radius: 10px; color: var(--nain-surface-text); font-size: .88rem; font-weight: 700; transition: background .15s ease; }
.nain .nain-mega-grp a:hover { background: var(--nain-surface-2); }
.nain .nain-mega-foot { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 16px; border-top: 1px solid var(--nain-surface-line); }
.nain .nain-mega-foot .nain-mega-btn { margin-top: 0; }
.nain .nain-mh-drop { inset-inline-start: 0; min-width: 230px; margin: 0; padding: 8px; list-style: none; background: var(--nain-surface); border: 1px solid var(--nain-surface-line); border-radius: 14px; box-shadow: var(--nain-shadow-lg); }
.nain .nain-mh-drop li { margin: 0; }
.nain .nain-mh-drop a { display: block; padding: 8px 12px; border-radius: 9px; color: var(--nain-surface-text); font-size: .9rem; }
.nain .nain-mh-drop a:hover { background: var(--nain-surface-2); color: var(--nain-primary); }

/* Tools */
.nain .nain-mh-tools { display: flex; flex: none; align-items: center; gap: 8px; margin-inline-start: auto; }
.nain .nain-mh-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 42px; min-width: 42px; padding: 0 11px;
	border-radius: 12px; border: 1px solid transparent; background: var(--nain-surface-2); color: var(--nain-surface-text);
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.nain .nain-mh-btn:hover { border-color: var(--nain-surface-line); color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-mh-btn:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-mh-btn:hover { color: var(--nain-accent); }
.nain .nain-mh-sbtn { justify-content: flex-start; min-width: 200px; padding-inline: 12px 8px; color: var(--nain-surface-muted); font-size: .85rem; }
.nain .nain-mh-sbtn kbd { margin-inline-start: auto; padding: 0 7px; border-radius: 6px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-muted); font: inherit; font-size: .72rem; line-height: 1.7; }
.nain .nain-ts-sun, .nain .nain-ts-moon { display: inline-flex; }
.nain .nain-ts-sun { display: none; }
:root[data-nain-theme="dark"] .nain .nain-ts-sun, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-ts-sun { display: inline-flex; color: var(--nain-accent); }
:root[data-nain-theme="dark"] .nain .nain-ts-moon, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-ts-moon { display: none; }
.nain [data-nain-theme-toggle] .nain-ic { animation: nain-spin-in .35s ease; }
@keyframes nain-spin-in { from { transform: rotate(-90deg) scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.nain .nain-mh-cta {
	display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 16px; border-radius: 12px; white-space: nowrap;
	background: linear-gradient(135deg, var(--nain-primary), var(--nain-ink)); color: #fff; font-size: .88rem; font-weight: 800;
	box-shadow: 0 10px 22px -12px rgba(var(--nain-primary-rgb), .9); transition: transform .15s ease, box-shadow .15s ease;
}
.nain .nain-mh-cta:hover { transform: translateY(-1px); color: #fff; box-shadow: 0 14px 26px -12px rgba(var(--nain-primary-rgb), .95); }
.nain .nain-mh-cta .nain-ic { color: var(--nain-accent); }
.nain .nain-mh-cta.is-block { display: flex; justify-content: center; height: 46px; }
.nain .nain-mh-burger { display: none; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--nain-surface-2); color: var(--nain-surface-text); }

/* Ticker inside the header: full width */
.nain .nain-mh-ticker .nain.nain-ticker { border-radius: 0; box-shadow: none; min-height: 42px; }

/* Smart sticky bar (classes set by the script on the wrapper outside the header) */
.nain-mh-wrap .nain-mh-ph { display: none; }
.nain-mh-wrap.is-stuck .nain-mh-ph { display: block; }
.nain-mh-wrap.is-stuck .nain-mh-bar {
	position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; z-index: 950;
	transform: translateY(-115%); transition: transform .32s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease;
}
.nain-mh-wrap.is-stuck.is-shown .nain-mh-bar { transform: none; box-shadow: 0 12px 30px -18px rgba(6, 25, 28, .45); }
.nain-mh-wrap.is-stuck .nain-mh-bar .nain-mh-row { min-height: 62px; }
@media (max-width: 600px) { .nain-mh-wrap.is-stuck .nain-mh-bar { top: 0; } }

/* Responsive header */
@media (max-width: 1240px) {
	.nain .nain-mh-sbtn { min-width: 42px; padding: 0; justify-content: center; color: var(--nain-surface-text); }
	.nain .nain-mh-sbtn .nain-mh-sk, .nain .nain-mh-sbtn kbd { display: none; }
	.nain .nain-mh-item > a { padding-inline: 9px; font-size: .9rem; }
}
@media (max-width: 1080px) {
	.nain .nain-mh-nav, .nain .nain-mh-tools .nain-mh-cta { display: none; }
	.nain .nain-mh-burger { display: inline-flex; }
	.nain .nain-mh-bar .nain-mh-row { min-height: 64px; gap: 10px; }
}
@media (max-width: 640px) {
	.nain .nain-mh-trends, .nain .nain-mh-upd { display: none; }
	.nain .nain-mh-top .nain-mh-row { min-height: 34px; }
	.nain .nain-mh-bar .nain-mh-row { min-height: 60px; }
	.nain .nain-logo-tag { display: none; }
	.nain .nain-logo-mark { width: 38px; height: 38px; border-radius: 12px; }
	.nain .nain-logo-name { font-size: 1.02rem; }
	.nain .nain-mh-tools { gap: 6px; }
	.nain .nain-mh-btn, .nain .nain-mh-burger { width: 40px; min-width: 40px; height: 40px; }
	.nain .nain-mh-ticker .nain.nain-ticker { min-height: 40px; }
}

/* =====================================================================
 * Search overlay
 * ================================================================== */
.nain.nain-search {
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center;
	padding: clamp(16px, 9vh, 110px) 16px 16px; background: rgba(6, 16, 18, .55);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: nain-fade .18s ease;
}
.nain.nain-search[hidden], .nain.nain-drawer[hidden] { display: none; }
.nain .nain-search-box {
	width: min(720px, 100%); max-height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 14px;
	border-radius: 22px; background: var(--nain-surface); color: var(--nain-surface-text);
	box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .55); animation: nain-pop .22s ease;
}
.nain .nain-search-form { display: flex; align-items: center; gap: 10px; padding: 4px 8px 12px; border-bottom: 1px solid var(--nain-surface-line); }
.nain .nain-search-form > .nain-ic { flex: none; color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-search-form > .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-search-form > .nain-ic { color: var(--nain-accent); }
.nain .nain-search-form input {
	flex: 1; min-width: 0; margin: 0; padding: 8px 0; border: 0 !important; border-radius: 0; outline: 0;
	background: transparent !important; box-shadow: none !important; color: var(--nain-surface-text); font-size: 1.12rem;
}
.nain .nain-search-form input::-webkit-search-cancel-button { display: none; }
.nain .nain-search-x { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: var(--nain-surface-2); }
.nain.nain-search.is-loading .nain-search-form > .nain-ic { animation: nain-flicker .8s ease-in-out infinite; }
.nain .nain-search-res:empty { display: none; }
.nain .nain-search-res { padding: 6px 2px; }
.nain .nain-search-k { margin: 12px 6px 6px; color: var(--nain-surface-muted); font-size: .74rem; font-weight: 800; }
.nain .nain-search-ais { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nain .nain-search-ais a { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 14px; border: 1px solid var(--nain-surface-line); color: var(--nain-surface-text); transition: border-color .15s ease, background .15s ease; }
.nain .nain-search-ais a:hover, .nain .nain-search-ais a.is-active { border-color: var(--co); background: var(--nain-surface-2); }
.nain .nain-search-ais b { display: block; font-size: .95rem; }
.nain .nain-search-ais small { display: block; color: var(--nain-surface-muted); font-size: .74rem; line-height: 1.6; }
.nain .nain-search-list { margin: 0; padding: 0; list-style: none; }
.nain .nain-search-list li { margin: 0; }
.nain .nain-search-list a { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px; border-radius: 12px; color: var(--nain-surface-text); }
.nain .nain-search-list a:hover, .nain .nain-search-list a.is-active { background: var(--nain-surface-2); }
.nain .nain-search-img { display: block; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: var(--nain-surface-2); }
.nain .nain-search-t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: .92rem; font-weight: 700; line-height: 1.75; }
.nain .nain-search-list .nain-ago { color: var(--nain-surface-muted); font-size: .72rem; white-space: nowrap; }
.nain .nain-search-all { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 8px; padding: 11px; font-size: .92rem; border-radius: 12px; background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); font-weight: 800; }
:root[data-nain-theme="dark"] .nain .nain-search-all, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-search-all { background: rgba(var(--nain-accent-rgb), .12); color: var(--nain-accent); }
.nain .nain-search-none { margin: 0; padding: 26px 10px; text-align: center; color: var(--nain-surface-muted); }
.nain .nain-search-sug { padding: 12px 6px 2px; }
.nain .nain-search-sug p { margin: 0 0 8px; color: var(--nain-surface-muted); font-size: .74rem; font-weight: 800; }
.nain .nain-search-sug div { display: flex; flex-wrap: wrap; gap: 6px; }
.nain .nain-search-sug a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--nain-surface-2); color: var(--nain-surface-text); font-size: .84rem; font-weight: 600; transition: background .15s ease, color .15s ease; }
.nain .nain-search-sug a:hover { background: var(--nain-primary); color: #fff; }
.nain .nain-search-sug a.is-ai i { width: 8px; height: 8px; border-radius: 50%; background: var(--co); }
.nain .nain-search-hint { margin: 12px 6px 2px; color: var(--nain-surface-muted); font-size: .74rem; }
.nain .nain-search-hint kbd { padding: 0 6px; border-radius: 6px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface-2); font: inherit; font-size: .7rem; }
@media (max-width: 640px) {
	.nain.nain-search { padding: 0; }
	.nain .nain-search-box { width: 100%; height: 100%; max-height: none; border-radius: 0; }
	.nain .nain-search-ais { grid-template-columns: minmax(0, 1fr); }
	.nain .nain-search-hint { display: none; }
}

/* =====================================================================
 * Mobile drawer
 * ================================================================== */
.nain.nain-drawer { position: fixed; inset: 0; z-index: 100000; }
.nain .nain-dr-scrim { position: absolute; inset: 0; background: rgba(6, 16, 18, .5); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); animation: nain-fade .2s ease; }
.nain .nain-dr-panel {
	position: absolute; top: 0; bottom: 0; inset-inline-start: 0; display: flex; flex-direction: column; gap: 14px;
	width: min(360px, 88vw); padding: 16px; overflow-y: auto; overscroll-behavior: contain;
	background: var(--nain-surface); color: var(--nain-surface-text); box-shadow: -20px 0 60px -20px rgba(0, 0, 0, .4);
	animation: nain-dr-in .28s cubic-bezier(.2, .8, .2, 1);
}
@keyframes nain-dr-in { from { transform: translateX(100%); } to { transform: none; } }
[dir="ltr"] .nain .nain-dr-panel { animation-name: nain-dr-in-ltr; }
@keyframes nain-dr-in-ltr { from { transform: translateX(-100%); } to { transform: none; } }
.nain .nain-dr-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nain .nain-dr-x { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--nain-surface-2); }
.nain .nain-dr-search { display: flex; overflow: hidden; border: 1px solid var(--nain-surface-line); border-radius: 12px; }
.nain .nain-dr-search input { flex: 1; min-width: 0; margin: 0; padding: 10px 12px; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; color: var(--nain-surface-text); outline: 0; }
.nain .nain-dr-search button { display: flex; align-items: center; justify-content: center; width: 46px; background: var(--nain-primary); color: #fff; }
.nain .nain-dr-nav ul { margin: 0; padding: 0; list-style: none; }
.nain .nain-dr-nav li { margin: 0; }
.nain .nain-dr-nav > ul > li { position: relative; border-bottom: 1px solid var(--nain-surface-line); }
.nain .nain-dr-nav > ul > li > a { display: flex; align-items: center; gap: 10px; padding: 13px 4px; padding-inline-end: 46px; color: var(--nain-surface-text); font-weight: 800; }
.nain .nain-dr-nav > ul > li > a .nain-ic { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-dr-nav > ul > li > a .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-dr-nav > ul > li > a .nain-ic { color: var(--nain-accent); }
.nain .nain-dr-nav a[aria-current="page"] { color: var(--nain-primary); }
.nain .nain-dr-acc > summary {
	position: absolute; top: 6px; inset-inline-end: 0; display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 10px; list-style: none; cursor: pointer; color: var(--nain-surface-muted);
}
.nain .nain-dr-acc > summary::-webkit-details-marker { display: none; }
.nain .nain-dr-acc > summary::marker { content: none; }
.nain .nain-dr-acc > summary:hover { background: var(--nain-surface-2); }
.nain .nain-dr-acc[open] > summary .nain-ic { transform: rotate(180deg); }
.nain .nain-dr-acc > summary .nain-ic { transition: transform .2s ease; }
.nain .nain-dr-sub { padding: 0 0 10px; padding-inline-start: 32px; }
.nain .nain-dr-sub a { display: block; padding: 7px 0; color: var(--nain-surface-muted); font-size: .9rem; font-weight: 600; }
.nain .nain-dr-sub a:hover { color: var(--nain-primary); }
.nain .nain-dr-mode { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 12px; background: var(--nain-surface-2); }
.nain .nain-dr-mode button { display: flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 4px; border-radius: 9px; color: var(--nain-surface-text); font-size: .82rem; font-weight: 700; }
.nain .nain-dr-mode button[aria-pressed="true"] { background: var(--nain-surface); color: var(--nain-primary); box-shadow: 0 2px 8px rgba(0, 0, 0, .1); }
:root[data-nain-theme="dark"] .nain .nain-dr-mode button[aria-pressed="true"], :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-dr-mode button[aria-pressed="true"] { color: var(--nain-accent); }
.nain .nain-dr-socs { display: flex; justify-content: center; gap: 6px; }
.nain .nain-dr-socs:empty { display: none; }
.nain .nain-dr-socs .nain-mh-soc { width: 38px; height: 38px; border-radius: 11px; background: var(--nain-surface-2); color: var(--nain-surface-text); }

/* =====================================================================
 * Footer
 * ================================================================== */
.nain.nain-mf {
	position: relative; display: block; margin-top: clamp(56px, 7vw, 90px); color: rgba(255, 255, 255, .76);
	background: radial-gradient(50% 120% at 100% 0%, rgba(var(--nain-primary-rgb), .45), transparent 70%), var(--nain-ink);
}
.nain .nain-mf-row { max-width: var(--nain-container); margin-inline: auto; padding-inline: clamp(16px, 3vw, 28px); }
.nain .nain-mf-cta {
	position: relative; top: -40px; margin-bottom: -16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px;
	padding: 22px 26px; border-radius: 22px; color: #fff; overflow: hidden;
	background: radial-gradient(60% 140% at 0% 100%, rgba(var(--nain-accent-rgb), .45), transparent 60%), linear-gradient(120deg, var(--nain-primary), #0c3d41);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .55);
}
.nain .nain-mf-cta-t { display: flex; align-items: center; gap: 14px; }
.nain .nain-mf-cta-ic { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border-radius: 16px; background: rgba(255, 255, 255, .14); color: var(--nain-accent); }
.nain .nain-mf-cta-h { margin: 0; color: #fff; font-size: 1.1rem; font-weight: 900; line-height: 1.6; }
.nain .nain-mf-cta-s { margin: 2px 0 0; font-size: .86rem; opacity: .85; }
.nain .nain-mf-cta-b { display: flex; flex-wrap: wrap; gap: 8px; }
.nain .nain-mf-btn { display: inline-flex; align-items: center; gap: 7px; padding: 10px 16px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .12); color: #fff; font-size: .86rem; font-weight: 800; transition: transform .15s ease, background .15s ease; }
.nain .nain-mf-btn:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .2); color: #fff; }
.nain .nain-mf-btn.is-tg { background: #fff; border-color: #fff; color: var(--nain-primary); }
.nain .nain-mf-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr)); gap: clamp(22px, 3vw, 44px); padding-block: 22px 30px; }
.nain .nain-mh-logo.is-ft { color: #fff; }
.nain .nain-mh-logo.is-ft .nain-logo-tag { color: rgba(255, 255, 255, .6); }
.nain .nain-mf-about { max-width: 46ch; margin: 14px 0 16px; color: rgba(255, 255, 255, .68); font-size: .88rem; line-height: 2.05; }
.nain .nain-mf-socs { display: flex; flex-wrap: wrap; gap: 6px; }
.nain .nain-mh-soc.is-ft { width: 38px; height: 38px; border-radius: 11px; background: rgba(255, 255, 255, .08); color: #fff; }
.nain .nain-mh-soc.is-ft:hover { background: var(--nain-accent); color: var(--nain-ink); }
.nain .nain-mf-h { position: relative; margin: 0 0 12px; padding-bottom: 10px; color: #fff; font-size: .95rem; font-weight: 900; }
.nain .nain-mf-h::after { content: ""; position: absolute; bottom: 0; inset-inline-start: 0; width: 26px; height: 3px; border-radius: 3px; background: var(--nain-accent); }
.nain .nain-mf-col ul { display: flex; flex-direction: column; gap: 1px; margin: 0; padding: 0; list-style: none; }
.nain .nain-mf-col li { margin: 0; }
.nain .nain-mf-col a { display: flex; align-items: center; justify-content: flex-start; gap: 8px; padding: 5px 0; color: rgba(255, 255, 255, .72); font-size: .88rem; transition: color .15s ease, padding .15s ease; }
.nain .nain-mf-col a:hover { color: #fff; padding-inline-start: 4px; }
.nain .nain-mf-col small { padding: 0 7px; border-radius: 999px; background: rgba(255, 255, 255, .07); color: rgba(255, 255, 255, .5); font-size: .68rem; line-height: 1.7; }
.nain .nain-mf-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 20px 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, .08); }
.nain .nain-mf-stats li { display: flex; flex-direction: column; align-items: center; margin: 0; text-align: center; }
.nain .nain-mf-stats b { color: #fff; font-size: 1.5rem; font-weight: 900; line-height: 1.35; }
.nain .nain-mf-stats span { color: rgba(255, 255, 255, .58); font-size: .76rem; }
.nain .nain-mf-bottom { background: rgba(0, 0, 0, .22); }
.nain .nain-mf-bottom .nain-mf-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-block: 14px; font-size: .8rem; }
.nain .nain-mf-bottom p { margin: 0; color: rgba(255, 255, 255, .58); line-height: 1.9; }
.nain .nain-mf-legal { display: flex; align-items: center; gap: 14px; }
.nain .nain-mf-legal a { color: rgba(255, 255, 255, .72); }
.nain .nain-mf-legal a:hover { color: #fff; }
.nain .nain-mh-btn.nain-mf-theme { width: 36px; min-width: 36px; height: 36px; padding: 0; background: rgba(255, 255, 255, .08); color: #fff; }
.nain .nain-totop {
	position: fixed; bottom: 22px; inset-inline-end: 22px; z-index: 900; display: grid; place-items: center; width: 46px; height: 46px;
	border-radius: 14px; background: var(--nain-primary); color: #fff; box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5);
	animation: nain-pop .25s ease; transition: transform .15s ease;
}
.nain .nain-totop[hidden] { display: none; }
.nain .nain-totop:hover { transform: translateY(-3px); }
@media (max-width: 960px) {
	.nain .nain-mf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nain .nain-mf-brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.nain .nain-mf-cta { padding: 18px; top: -30px; }
	.nain .nain-mf-cta-b, .nain .nain-mf-btn { width: 100%; justify-content: center; }
	.nain .nain-mf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nain .nain-mf-bottom .nain-mf-row { flex-direction: column; text-align: center; }
	.nain .nain-totop { bottom: 16px; inset-inline-end: 16px; }
}

/* =====================================================================
 * Home: intro
 * ================================================================== */
.nain.nain-hi { position: relative; isolation: isolate; overflow: hidden; display: block; border-radius: 28px; color: #fff; background: var(--nain-ink); }
.nain .nain-hi-bg { position: absolute; inset: 0; z-index: -1; background: radial-gradient(55% 90% at 90% 0%, rgba(var(--nain-accent-rgb), .32), transparent 62%), radial-gradient(55% 90% at 0% 100%, rgba(var(--nain-primary-rgb), .95), transparent 72%), linear-gradient(135deg, var(--nain-ink) 10%, var(--nain-primary) 120%); }
.nain .nain-hi-bg::before { content: ""; position: absolute; width: 420px; height: 420px; top: -160px; left: 18%; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--nain-accent-rgb), .28), transparent); filter: blur(10px); animation: nain-orb 14s ease-in-out infinite alternate; }
.nain .nain-hi-bg::after { content: ""; position: absolute; inset: 0; opacity: .16; background-image: radial-gradient(rgba(255, 255, 255, .9) 1px, transparent 1.4px); background-size: 24px 24px; -webkit-mask-image: linear-gradient(to left, #000, transparent 75%); mask-image: linear-gradient(to left, #000, transparent 75%); }
@keyframes nain-orb { from { transform: translate(0, 0); } to { transform: translate(-120px, 60px); } }
.nain .nain-hi-in { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); align-items: center; gap: clamp(22px, 4vw, 52px); padding: clamp(24px, 4.6vw, 58px); }
.nain .nain-hi-k { background: rgba(255, 255, 255, .12); }
.nain .nain-hi-k .nain-dot { color: #22c55e; }
.nain .nain-hi-h { margin: 16px 0 10px; padding: 0; border: 0; color: #fff; font-size: clamp(1.75rem, 1.15rem + 2.5vw, 3.05rem); font-weight: 900; line-height: 1.38; letter-spacing: -.3px; }
.nain .nain-hi-hl { display: inline-block; background: linear-gradient(90deg, var(--nain-accent), #ffe2b3 60%, #fff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nain .nain-hi-sub { max-width: 60ch; margin: 0 0 22px; color: rgba(255, 255, 255, .8); font-size: clamp(.95rem, .9rem + .25vw, 1.08rem); line-height: 2.05; }
.nain .nain-hi-search { display: flex; align-items: center; gap: 8px; max-width: 640px; padding: 6px; padding-inline-start: 16px; border-radius: 16px; background: #fff; color: #152124; box-shadow: 0 22px 44px -22px rgba(0, 0, 0, .55); transition: box-shadow .2s ease; }
.nain .nain-hi-search:focus-within { box-shadow: 0 0 0 4px rgba(var(--nain-accent-rgb), .45), 0 22px 44px -22px rgba(0, 0, 0, .55); }
.nain .nain-hi-search > .nain-ic { flex: none; color: var(--nain-primary); }
.nain .nain-hi-search input { flex: 1; min-width: 0; margin: 0; padding: 10px 0; border: 0 !important; border-radius: 0; outline: 0; background: transparent !important; box-shadow: none !important; color: inherit; font-size: 1rem; }
.nain .nain-hi-search button { flex: none; padding: 11px 20px; border-radius: 12px; background: var(--nain-primary); color: #fff; font-weight: 800; transition: filter .15s ease; }
.nain .nain-hi-search button:hover { filter: brightness(1.15); }
:root[data-nain-theme="dark"] .nain .nain-hi-search, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hi-search { background: #0f1d20; color: #e6eeee; }
:root[data-nain-theme="dark"] .nain .nain-hi-search > .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hi-search > .nain-ic { color: var(--nain-accent); }
.nain .nain-hi-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.nain .nain-hi-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .08); color: #fff; font-size: .82rem; font-weight: 700; transition: background .15s ease, transform .15s ease; }
.nain .nain-hi-chip:hover { background: rgba(255, 255, 255, .18); transform: translateY(-1px); color: #fff; }
.nain .nain-hi-chip i { width: 8px; height: 8px; border-radius: 50%; background: var(--co); box-shadow: 0 0 0 3px rgba(255, 255, 255, .16); }
.nain .nain-hi-chip.is-cat .nain-ic { opacity: .7; }
.nain .nain-hi-side { display: flex; flex-direction: column; gap: 12px; }
.nain .nain-hi-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.nain .nain-hi-stats > div { padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .07); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.nain .nain-hi-stats dt { display: flex; align-items: center; gap: 6px; color: rgba(255, 255, 255, .72); font-size: .76rem; font-weight: 600; }
.nain .nain-hi-stats dt .nain-ic { color: var(--nain-accent); }
.nain .nain-hi-stats dd { margin: 4px 0 0; color: #fff; font-size: 1.75rem; font-weight: 900; line-height: 1.3; }
.nain .nain-hi-stats dd.is-sm { padding-top: 7px; font-size: .98rem; font-weight: 800; }
.nain .nain-hi-brief { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 18px; background: var(--nain-accent); color: var(--nain-ink); font-weight: 800; transition: transform .15s ease, box-shadow .15s ease; }
.nain .nain-hi-brief:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -16px rgba(var(--nain-accent-rgb), .9); color: var(--nain-ink); }
.nain .nain-hi-brief span { flex: 1; }
.nain .nain-hi-brief b { display: block; font-size: .98rem; }
.nain .nain-hi-brief small { display: block; font-size: .76rem; font-weight: 600; opacity: .75; }
@media (max-width: 920px) {
	.nain .nain-hi-in { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
	.nain.nain-hi { border-radius: 20px; }
	.nain .nain-hi-in { padding: 22px 18px; }
	.nain .nain-hi-search { padding-inline-start: 12px; }
	.nain .nain-hi-search button { padding: 10px 14px; }
	.nain .nain-hi-stats dd { font-size: 1.4rem; }
	.nain .nain-hi-chip:nth-child(n+7) { display: none; }
}

/* =====================================================================
 * Home: editor's picks (full-width dark band)
 * ================================================================== */
.nain.nain-spot { display: block; padding-block: clamp(34px, 5vw, 64px); color: #fff; background: radial-gradient(45% 80% at 0% 0%, rgba(var(--nain-primary-rgb), .55), transparent 70%), radial-gradient(40% 70% at 100% 100%, rgba(var(--nain-accent-rgb), .14), transparent 70%), var(--nain-ink); }
.nain .nain-spot-in { max-width: var(--nain-container); margin-inline: auto; padding-inline: clamp(16px, 3vw, 28px); }
.nain .nain-spot-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.nain .nain-spot-k { display: inline-flex; align-items: center; gap: 6px; color: var(--nain-accent); font-size: .8rem; font-weight: 800; }
.nain .nain-spot-h { margin: 4px 0 0; padding: 0; border: 0; color: #fff; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); font-weight: 900; line-height: 1.5; }
.nain .nain-spot-all { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .2); color: #fff; font-size: .86rem; font-weight: 700; white-space: nowrap; transition: background .15s ease; }
.nain .nain-spot-all:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.nain .nain-spot-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 22px; }
.nain .nain-spot-main { display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; border: 1px solid rgba(255, 255, 255, .08); background: rgba(255, 255, 255, .05); }
.nain .nain-spot-media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: rgba(255, 255, 255, .05); }
.nain .nain-spot-media .nain-img, .nain .nain-spot-cimg .nain-img { transition: transform .5s ease; }
.nain .nain-spot-main:hover .nain-spot-media .nain-img, .nain .nain-spot-card:hover .nain-img { transform: scale(1.05); }
.nain .nain-spot-body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 22px 22px; }
.nain .nain-spot-body .nain-chip { align-self: flex-start; background: var(--nain-accent); color: var(--nain-ink); }
.nain .nain-spot-t { margin: 0; padding: 0; border: 0; font-size: clamp(1.15rem, 1rem + .7vw, 1.55rem); font-weight: 900; line-height: 1.65; }
.nain .nain-spot-t a, .nain .nain-spot-ct a { color: #fff; transition: color .15s ease; }
.nain .nain-spot-t a:hover, .nain .nain-spot-ct a:hover { color: var(--nain-accent); }
.nain .nain-spot-an { margin: 0; color: rgba(255, 255, 255, .78); font-size: .92rem; line-height: 2; }
.nain .nain-spot-an b { display: inline-flex; align-items: center; gap: 4px; margin-inline-end: 4px; color: var(--nain-accent); }
.nain .nain-spot-meta { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; color: rgba(255, 255, 255, .65); font-size: .8rem; }
.nain .nain-spot-meta time { margin-inline-start: auto; }
.nain .nain-spot-meta .nain-av { --s: 26px; }
.nain .nain-spot-list { display: flex; flex-direction: column; gap: 12px; }
.nain .nain-spot-card { position: relative; display: grid; grid-template-columns: 136px minmax(0, 1fr); align-items: center; gap: 14px; padding: 10px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .07); background: rgba(255, 255, 255, .04); transition: background .2s ease, border-color .2s ease; }
.nain .nain-spot-card:hover { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .14); }
.nain .nain-spot-cimg { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; background: rgba(255, 255, 255, .05); }
.nain .nain-spot-n { position: absolute; top: 8px; inset-inline-start: 8px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--nain-accent); color: var(--nain-ink); font-size: .85rem; font-weight: 900; }
.nain .nain-spot-cat { color: var(--nain-accent); font-size: .72rem; font-weight: 800; }
.nain .nain-spot-ct { margin: 3px 0 6px; padding: 0; border: 0; font-size: .96rem; font-weight: 800; line-height: 1.75; }
.nain .nain-spot-ct a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-spot-ct a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.nain .nain-spot-card .nain-ago { color: rgba(255, 255, 255, .55); font-size: .74rem; }
@media (max-width: 980px) { .nain .nain-spot-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
	.nain .nain-spot-card { grid-template-columns: 100px minmax(0, 1fr); gap: 12px; }
	.nain .nain-spot-body { padding: 16px; }
	.nain .nain-spot-head { align-items: flex-start; flex-direction: column; }
}

/* =====================================================================
 * Home: topic tabs
 * ================================================================== */
.nain.nain-tt { display: block; }
.nain .nain-tt-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.nain .nain-tt-head .nain-section-title { margin: 0; }
.nain .nain-tt-tabs { display: flex; gap: 4px; max-width: 100%; padding: 4px; overflow-x: auto; border-radius: 14px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); scrollbar-width: none; }
.nain .nain-tt-tabs::-webkit-scrollbar { display: none; }
.nain .nain-tt-tabs button { flex: none; padding: 7px 14px; border-radius: 10px; color: var(--nain-surface-muted); font-size: .86rem; font-weight: 700; white-space: nowrap; transition: background .15s ease, color .15s ease; }
.nain .nain-tt-tabs button:hover { color: var(--nain-surface-text); }
.nain .nain-tt-tabs button[aria-selected="true"] { background: var(--nain-primary); color: #fff; }
.nain .nain-tt-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 22px; padding: 18px; border-radius: 22px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text); box-shadow: var(--nain-shadow); animation: nain-fade .25s ease; }
.nain .nain-tt-panel[hidden] { display: none; }
.nain .nain-tt-lead { display: flex; flex-direction: column; gap: 8px; }
.nain .nain-tt-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 16px; background: var(--nain-surface-2); }
.nain .nain-tt-img .nain-img, .nain .nain-tt-thumb .nain-img { transition: transform .4s ease; }
.nain .nain-tt-lead:hover .nain-tt-img .nain-img, .nain .nain-tt-list li:hover .nain-img { transform: scale(1.05); }
.nain .nain-tt-lt { margin: 6px 0 0; padding: 0; border: 0; font-size: 1.2rem; font-weight: 900; line-height: 1.7; }
.nain .nain-tt-lt a, .nain .nain-tt-t a { color: var(--nain-surface-text); transition: color .15s ease; }
.nain .nain-tt-lt a:hover, .nain .nain-tt-t a:hover { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-tt-lt a:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-tt-lt a:hover, :root[data-nain-theme="dark"] .nain .nain-tt-t a:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-tt-t a:hover { color: var(--nain-accent); }
.nain .nain-tt-lead p { margin: 0; color: var(--nain-surface-muted); font-size: .9rem; line-height: 2; }
.nain .nain-tt-panel .nain-ago { color: var(--nain-surface-muted); font-size: .76rem; }
.nain .nain-tt-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.nain .nain-tt-list li { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: center; gap: 12px; margin: 0; padding: 10px 0; border-bottom: 1px dashed var(--nain-surface-line); }
.nain .nain-tt-list li:first-child { padding-top: 0; }
.nain .nain-tt-list li:last-child { border-bottom: 0; }
.nain .nain-tt-thumb { display: block; width: 88px; height: 88px; overflow: hidden; border-radius: 14px; background: var(--nain-surface-2); }
.nain .nain-tt-t { margin: 0 0 4px; padding: 0; border: 0; font-size: .93rem; font-weight: 800; line-height: 1.75; }
.nain .nain-tt-t a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-tt-more { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 12px; background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); font-size: .86rem; font-weight: 800; }
:root[data-nain-theme="dark"] .nain .nain-tt-more, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-tt-more { background: rgba(var(--nain-accent-rgb), .12); color: var(--nain-accent); }
@media (max-width: 860px) { .nain .nain-tt-panel { grid-template-columns: minmax(0, 1fr); padding: 14px; } }
@media (max-width: 480px) { .nain .nain-tt-list li { grid-template-columns: 72px minmax(0, 1fr); } .nain .nain-tt-thumb { width: 72px; height: 72px; } }

/* =====================================================================
 * Home: call to action
 * ================================================================== */
.nain.nain-cta {
	position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px;
	padding: clamp(22px, 4vw, 42px); border-radius: 26px; color: #fff;
	background: radial-gradient(50% 120% at 0% 100%, rgba(var(--nain-accent-rgb), .4), transparent 65%), linear-gradient(120deg, var(--nain-primary), var(--nain-ink));
}
.nain.nain-cta::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .14; background-image: radial-gradient(rgba(255, 255, 255, .9) 1px, transparent 1.4px); background-size: 20px 20px; -webkit-mask-image: linear-gradient(to right, #000, transparent 60%); mask-image: linear-gradient(to right, #000, transparent 60%); }
.nain .nain-cta-art { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 28px; background: rgba(255, 255, 255, .12); color: var(--nain-accent); transform: rotate(-8deg); }
.nain .nain-cta-art .nain-ic { animation: nain-ring 3.2s ease-in-out infinite; transform-origin: 50% 0; }
@keyframes nain-ring { 0%, 70%, 100% { transform: rotate(0); } 74% { transform: rotate(14deg); } 80% { transform: rotate(-12deg); } 86% { transform: rotate(8deg); } 92% { transform: rotate(-4deg); } }
.nain .nain-cta-h { margin: 0 0 6px; padding: 0; border: 0; color: #fff; font-size: clamp(1.2rem, 1rem + .9vw, 1.7rem); font-weight: 900; line-height: 1.55; }
.nain .nain-cta-txt p { margin: 0; color: rgba(255, 255, 255, .8); font-size: .95rem; line-height: 2; }
.nain .nain-cta-b { display: flex; flex-direction: column; gap: 8px; min-width: 230px; }
.nain .nain-cta-btn { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .12); color: #fff; font-size: .9rem; font-weight: 800; transition: transform .15s ease, background .15s ease; }
.nain .nain-cta-btn:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .2); color: #fff; }
.nain .nain-cta-btn.is-tg { background: #fff; border-color: #fff; color: var(--nain-primary); }
@media (max-width: 860px) {
	.nain.nain-cta { grid-template-columns: minmax(0, 1fr); text-align: center; }
	.nain .nain-cta-art { margin-inline: auto; width: 68px; height: 68px; border-radius: 22px; }
	.nain .nain-cta-b { min-width: 0; }
}

/* =====================================================================
 * Home: authors strip
 * ================================================================== */
.nain.nain-arow { display: block; }
.nain .nain-arow-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.nain .nain-arow-head .nain-section-title { margin: 0; }
.nain .nain-arow-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.nain .nain-arow-card { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 20px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text); box-shadow: var(--nain-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.nain .nain-arow-card:hover { transform: translateY(-3px); box-shadow: var(--nain-shadow-lg); }
.nain .nain-arow-card .nain-av { --s: 60px; }
.nain .nain-arow-b { min-width: 0; }
.nain .nain-arow-name { margin: 0; padding: 0; border: 0; font-size: 1rem; font-weight: 900; line-height: 1.6; }
.nain .nain-arow-name a { color: var(--nain-surface-text); }
.nain .nain-arow-name a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.nain .nain-arow-job { margin: 2px 0 6px; color: var(--nain-surface-muted); font-size: .78rem; }
.nain .nain-arow-last { position: relative; z-index: 1; display: block; overflow: hidden; color: var(--nain-primary); font-size: .8rem; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
:root[data-nain-theme="dark"] .nain .nain-arow-last, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-arow-last { color: var(--nain-accent); }

/* =====================================================================
 * Home: popular AIs
 * ================================================================== */
.nain.nain-aishow { display: block; }
.nain .nain-aishow-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.nain .nain-aishow-head .nain-section-title { margin: 0 0 4px; }
.nain .nain-aishow-sub { margin: 0; font-size: .88rem; opacity: .7; }
.nain .nain-aishow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.nain .nain-aishow-card {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px; overflow: hidden;
	border-radius: 22px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text); box-shadow: var(--nain-shadow);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nain .nain-aishow-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 96px; background: linear-gradient(180deg, color-mix(in srgb, var(--co) 16%, transparent), transparent); pointer-events: none; }
.nain .nain-aishow-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--co) 45%, var(--nain-surface-line)); box-shadow: var(--nain-shadow-lg); color: var(--nain-surface-text); }
.nain .nain-aishow-card .nain-hub-logo { position: relative; width: 54px; height: 54px; border-radius: 17px; font-size: 1.5rem; }
.nain .nain-aishow-n { position: relative; margin-top: 10px; font-size: 1.1rem; font-weight: 900; line-height: 1.5; }
.nain .nain-aishow-co { color: var(--nain-surface-muted); font-size: .76rem; font-weight: 700; }
.nain .nain-aishow-t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.6em; margin-top: 4px; color: var(--nain-surface-muted); font-size: .83rem; line-height: 1.8; }
.nain .nain-aishow-f { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 10px; color: var(--nain-surface-muted); font-size: .76rem; font-weight: 700; }
.nain .nain-aishow-f span { display: inline-flex; align-items: center; gap: 4px; }
.nain .nain-aishow-f .is-hot { color: var(--nain-hot); }
@media (max-width: 1020px) { .nain .nain-aishow-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .nain .nain-aishow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .nain .nain-aishow-card { padding: 14px; } }

/* =====================================================================
 * AI archive (/ai-models/)
 * ================================================================== */
.nain .nain-aiar-hero {
	position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: end; gap: 24px;
	padding: clamp(22px, 4vw, 44px); border-radius: 26px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text); box-shadow: var(--nain-shadow);
}
.nain .nain-aiar-hero::before { content: ""; position: absolute; z-index: -1; width: 460px; height: 460px; top: -220px; left: -120px; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--nain-primary-rgb), .16), transparent); }
.nain .nain-aiar-hero::after { content: ""; position: absolute; z-index: -1; width: 300px; height: 300px; bottom: -180px; right: 30%; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--nain-accent-rgb), .16), transparent); }
.nain .nain-aiar-h1s { display: block; margin-top: 4px; color: var(--nain-surface-muted); font-size: .48em; font-weight: 700; line-height: 1.7; }
.nain .nain-aiar-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.nain .nain-aiar-jump a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 12px; background: var(--nain-surface-2); color: var(--nain-surface-text); font-size: .86rem; font-weight: 700; transition: background .15s ease, color .15s ease; }
.nain .nain-aiar-jump a:hover { background: var(--nain-primary); color: #fff; }
.nain .nain-aiar-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.nain .nain-aiar-stats > div { padding: 14px 16px; border-radius: 16px; background: var(--nain-surface-2); }
.nain .nain-aiar-stats dt { color: var(--nain-surface-muted); font-size: .76rem; font-weight: 600; }
.nain .nain-aiar-stats dd { margin: 2px 0 0; color: var(--nain-primary); font-size: 1.6rem; font-weight: 900; line-height: 1.35; }
:root[data-nain-theme="dark"] .nain .nain-aiar-stats dd, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-aiar-stats dd { color: var(--nain-accent); }
.nain .nain-aiar-stats dd.is-sm { padding-top: 6px; font-size: .95rem; }
@media (max-width: 900px) { .nain .nain-aiar-hero { grid-template-columns: minmax(0, 1fr); } }

.nain.nain-aiar { display: flex; flex-direction: column; gap: clamp(30px, 4vw, 48px); }
.nain .nain-aiar-list { container: nainradar / inline-size; margin: 0; scroll-margin-top: 90px; }
.nain .nain-aiar-list .nain-section-title, .nain .nain-aiar-trend .nain-section-title, .nain .nain-aiar-guide .nain-section-title, .nain .nain-aiar-upd .nain-section-title { margin-bottom: 16px; }

/* Trending */
.nain .nain-aiar-hot { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.nain .nain-aiar-hot li { position: relative; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 16px; border-radius: 20px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text); box-shadow: var(--nain-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.nain .nain-aiar-hot li:hover { transform: translateY(-3px); box-shadow: var(--nain-shadow-lg); }
.nain .nain-aiar-rk { position: absolute; top: 10px; inset-inline-end: 14px; color: color-mix(in srgb, var(--co) 35%, transparent); font-size: 1.9rem; font-weight: 900; line-height: 1; }
.nain .nain-aiar-hn { color: var(--nain-surface-text); font-size: 1rem; font-weight: 900; }
.nain .nain-aiar-hn::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.nain .nain-aiar-hm { display: block; color: var(--nain-surface-muted); font-size: .76rem; }
.nain .nain-aiar-hm b { margin-inline-start: 4px; font-size: .72rem; }
.nain .nain-aiar-hm b.is-up { color: #15803d; }
.nain .nain-aiar-hm b.is-down { color: var(--nain-hot); }
.nain .nain-spark { display: block; width: 100%; height: 34px; overflow: visible; }
.nain .nain-spark polyline { fill: none; stroke: var(--co, var(--nain-primary)); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.nain .nain-spark polygon { fill: color-mix(in srgb, var(--co, var(--nain-primary)) 16%, transparent); stroke: none; }
:root[data-nain-theme="dark"] .nain .nain-spark polyline, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-spark polyline { stroke: color-mix(in srgb, var(--co, var(--nain-primary)) 60%, #fff); }
@media (max-width: 1100px) { .nain .nain-aiar-hot { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) {
	.nain .nain-aiar-hot { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
	.nain .nain-aiar-hot li { scroll-snap-align: start; }
	.nain .nain-aiar-hot li:hover { transform: none; }
}

/* Which AI for what */
.nain .nain-aiar-gg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nain .nain-aiar-gc { --g: #2563eb; display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: 20px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text); box-shadow: var(--nain-shadow); }
.nain .nain-aiar-gc.is-image { --g: #db2777; }
.nain .nain-aiar-gc.is-video { --g: #ea580c; }
.nain .nain-aiar-gc.is-audio { --g: #7c3aed; }
.nain .nain-aiar-gc.is-research { --g: #0891b2; }
.nain .nain-aiar-gc.is-open { --g: #16a34a; }
.nain .nain-aiar-gi { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: color-mix(in srgb, var(--g) 13%, transparent); color: var(--g); }
.nain .nain-aiar-gc h3 { margin: 4px 0 0; padding: 0; border: 0; font-size: 1.02rem; font-weight: 900; line-height: 1.6; color: inherit; }
.nain .nain-aiar-gc p { margin: 0; color: var(--nain-surface-muted); font-size: .84rem; line-height: 1.9; }
.nain .nain-aiar-gc ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; }
.nain .nain-aiar-gc li { margin: 0; }
.nain .nain-aiar-gc ul a { display: inline-flex; align-items: center; gap: 6px; padding: 3px; padding-inline-end: 10px; border-radius: 999px; background: var(--nain-surface-2); color: var(--nain-surface-text); font-size: .8rem; font-weight: 700; transition: background .15s ease; }
.nain .nain-aiar-gc ul a:hover { background: color-mix(in srgb, var(--co) 14%, var(--nain-surface-2)); }
.nain .nain-aiar-gc ul .nain-hub-logo { width: 22px; height: 22px; border-radius: 50%; font-size: .7rem; }
.nain .nain-aiar-gall { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 4px; color: var(--g); font-size: .8rem; font-weight: 800; }
:root[data-nain-theme="dark"] .nain .nain-aiar-gall, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-aiar-gall, :root[data-nain-theme="dark"] .nain .nain-aiar-gi, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-aiar-gi { color: color-mix(in srgb, var(--g) 55%, #fff); }
@media (max-width: 900px) { .nain .nain-aiar-gg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .nain .nain-aiar-gg { grid-template-columns: minmax(0, 1fr); } }

/* Full list: tools */
.nain .nain-aiar-lh { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.nain .nain-aiar-lh .nain-section-title { margin: 0; }
.nain .nain-aiar-count { font-size: .8rem; font-weight: 700; opacity: .6; }
.nain .nain-aiar-view { display: flex; gap: 2px; padding: 3px; border-radius: 12px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); }
.nain .nain-aiar-view button { display: grid; place-items: center; width: 36px; height: 32px; border-radius: 9px; color: var(--nain-surface-muted); }
.nain .nain-aiar-view button[aria-pressed="true"] { background: var(--nain-primary); color: #fff; }
.nain .nain-aiar-tools { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.nain .nain-aiar-q { display: flex; flex: 1 1 280px; align-items: center; gap: 8px; padding: 0 14px; border-radius: 14px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-muted); transition: border-color .15s ease, box-shadow .15s ease; }
.nain .nain-aiar-q:focus-within { border-color: var(--nain-primary); box-shadow: 0 0 0 3px rgba(var(--nain-primary-rgb), .15); }
.nain .nain-aiar-q input { flex: 1; min-width: 0; margin: 0; padding: 12px 0; border: 0 !important; border-radius: 0; outline: 0; background: transparent !important; box-shadow: none !important; color: var(--nain-surface-text); font-size: .95rem; }
.nain .nain-aiar-sel { display: flex; align-items: center; gap: 6px; padding-inline: 12px 6px; border-radius: 14px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-muted); font-size: .8rem; font-weight: 700; }
.nain .nain-aiar-sel select { max-width: 190px; margin: 0; padding: 11px 4px; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--nain-surface-text); font: inherit; font-size: .86rem; font-weight: 700; cursor: pointer; outline: 0; }
.nain .nain-aiar-sel select option { background: var(--nain-surface); color: var(--nain-surface-text); }
.nain .nain-aiar-az { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 16px; direction: ltr; justify-content: flex-end; }
.nain .nain-aiar-az button { min-width: 32px; height: 32px; padding: 0 8px; border-radius: 9px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-muted); font-size: .8rem; font-weight: 800; transition: background .15s ease, color .15s ease; }
.nain .nain-aiar-az button:hover { color: var(--nain-surface-text); }
.nain .nain-aiar-az button.is-active { background: var(--nain-primary); border-color: var(--nain-primary); color: #fff; }
.nain .nain-aiar-az button:disabled { opacity: .35; cursor: default; }
.nain .nain-hubcard-hot { display: inline-flex; align-items: center; gap: 3px; color: var(--nain-hot); font-weight: 800; }
.nain .nain-aiar-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 40px 20px; border-radius: 20px; border: 2px dashed var(--nain-surface-line); opacity: 1; text-align: center; }
.nain .nain-aiar-empty[hidden] { display: none; }
.nain .nain-aiar-empty p { margin: 0; opacity: .75; }
.nain .nain-aiar-empty .nain-aiar-reset { padding: 9px 18px; border-radius: 12px; background: var(--nain-primary); color: #fff; font-weight: 800; }

/* Full list: list view */
.nain .nain-aiar-list[data-view="list"] .nain-mr-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 8px; }
.nain .nain-aiar-list[data-view="list"] .nain-hubcard { display: grid; grid-template-columns: minmax(230px, 1.1fr) minmax(0, 2fr) auto; align-items: center; gap: 16px; padding: 12px 16px; border-radius: 16px; }
.nain .nain-aiar-list[data-view="list"] .nain-hubcard-caps, .nain .nain-aiar-list[data-view="list"] .nain-hubcard-last, .nain .nain-aiar-list[data-view="list"] .nain-hubcard-grp, .nain .nain-aiar-list[data-view="list"] .nain-hubcard-go { display: none; }
.nain .nain-aiar-list[data-view="list"] .nain-hubcard-tag { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nain .nain-aiar-list[data-view="list"] .nain-mr-foot { justify-content: flex-end; gap: 12px; margin: 0; padding: 0; border: 0; }
@container nainradar (max-width: 700px) {
	.nain .nain-aiar-list[data-view="list"] .nain-hubcard { grid-template-columns: minmax(0, 1fr) auto; }
	.nain .nain-aiar-list[data-view="list"] .nain-hubcard-tag { display: none; }
}

/* Latest model news */
.nain .nain-aiar-ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; padding: 0; list-style: none; }
.nain .nain-aiar-ul li { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 14px 16px; border-radius: 18px; border: 1px solid var(--nain-surface-line); background: var(--nain-surface); color: var(--nain-surface-text); }
.nain .nain-aiar-um { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: .74rem; }
.nain .nain-aiar-um .nain-mr-type { margin-inline-start: 0; }
.nain .nain-aiar-uai { padding: 2px 9px; border-radius: 999px; background: color-mix(in srgb, var(--co) 12%, transparent); color: var(--co); font-weight: 800; }
:root[data-nain-theme="dark"] .nain .nain-aiar-uai, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-aiar-uai { color: color-mix(in srgb, var(--co) 45%, #fff); }
.nain .nain-aiar-um time { margin-inline-start: auto; color: var(--nain-surface-muted); }
.nain .nain-aiar-ut { color: var(--nain-surface-text); font-size: .95rem; font-weight: 800; line-height: 1.8; }
.nain .nain-aiar-ut:hover { color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-aiar-ut:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-aiar-ut:hover { color: var(--nain-accent); }
@media (max-width: 700px) { .nain .nain-aiar-ul { grid-template-columns: minmax(0, 1fr); } }

/* Calm motion when the visitor asks for it */
@media (prefers-reduced-motion: reduce) {
	.nain .nain-hi-bg::before, .nain .nain-cta-art .nain-ic, .nain .nain-newbadge, .nain .nain-dr-panel, .nain .nain-search-box, .nain .nain-mega-panel, .nain .nain-tt-panel, .nain [data-nain-theme-toggle] .nain-ic { animation: none !important; }
	.nain .nain-mega, .nain .nain-mh-drop, .nain-mh-wrap.is-stuck .nain-mh-bar, .nain .nain-aishow-card, .nain .nain-arow-card, .nain .nain-aiar-hot li, .nain .nain-img { transition: none !important; }
}

/* Print: no chrome */
@media print {
	.nain-mh-wrap, .nain.nain-mf, .nain.nain-search, .nain.nain-drawer, .nain .nain-totop, .nain-skip { display: none !important; }
	body.nain-mag { background: #fff !important; color: #000 !important; }
}
/* Smooth colour change when the visitor switches light / dark. */
html.nain-theming body.nain-mag, html.nain-theming .nain, html.nain-theming .nain * { transition: background-color .3s ease, border-color .3s ease, color .3s ease, fill .3s ease !important; }
:root[data-nain-theme="dark"] .nain .nain-section-title .nain-ic, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-section-title .nain-ic { color: var(--nain-accent); }
/* Elementor: flex containers wrap on phones, where a widget is first measured at its shrink-to-fit width.
   Sections that use container queries have no intrinsic width, so they would be measured as 0 px wide
   and keep a huge height. The plugin's widgets are page blocks: full width unless the admin sets one. */
:where(.e-con, .e-con-inner) > .elementor-widget[class*="elementor-widget-noya_ai_news"] { width: 100%; }
:root[data-nain-theme="dark"] .nain .nain-dr-nav a[aria-current="page"], :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-dr-nav a[aria-current="page"] { color: var(--nain-accent); }
:root[data-nain-theme="dark"] .nain.nain-mf, :root:not([data-nain-theme]) .nain.nain-mf[data-nain-mode="dark"] { border-top: 1px solid rgba(255, 255, 255, .06); }
/* «مجله نویا» template without Elementor: the shortcodes stack as page sections. */
body.nain-mag .nain-mag-main > .nain-sc { box-sizing: border-box; max-width: var(--nain-container, 1240px); margin: 0 auto; padding: clamp(14px, 2vw, 22px) clamp(16px, 3vw, 28px); }
body.nain-mag .nain-mag-main > .nain-sc:has(> .nain-spot) { max-width: none; padding-inline: 0; }
body.nain-mag .nain-mag-main > p:empty { display: none; }
/* Contrast (WCAG AA) for small red text and active filters in dark mode. */
.nain .nain-hubcard-hot, .nain .nain-aishow-f .is-hot, .nain .nain-aiar-hm b.is-down { color: #c62f34; }
.nain .nain-newbadge { background: #c62f34; }
:root[data-nain-theme="dark"] .nain .nain-hubcard-hot, :root[data-nain-theme="dark"] .nain .nain-aishow-f .is-hot, :root[data-nain-theme="dark"] .nain .nain-aiar-hm b.is-down,
:root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-hubcard-hot, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-aishow-f .is-hot { color: #ff8a8d; }
:root[data-nain-theme="dark"] .nain .nain-filter.is-active, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-filter.is-active { color: var(--nain-accent); }
:root[data-nain-theme="dark"] .nain .nain-aiar-hm b.is-up, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-aiar-hm b.is-up { color: #4ade80; }
.nain .nain-aiar-gall { color: color-mix(in srgb, var(--g) 68%, #000); }
.nain .nain-aiar-count { opacity: 1; color: var(--nain-surface-muted); }
.nain .nain-aiar-uai { color: color-mix(in srgb, var(--co) 70%, #000); }
.nain .nain-mr-seg button small { opacity: 1; color: inherit; }
:root[data-nain-theme="dark"] .nain .nain-prose a, :root[data-nain-theme="dark"] .nain a.nain-entity, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-prose a { color: var(--nain-accent); text-decoration-color: rgba(var(--nain-accent-rgb), .45); border-bottom-color: rgba(var(--nain-accent-rgb), .55); }
/* Solid colour under every gradient, so white text stays readable if a background image is
   withheld (e.g. Elementor's lazy-loaded backgrounds before the section scrolls into view). */
.nain.nain-cta, .nain .nain-brief-card, .nain .nain-archive-head, .nain .nain-mega-brief, .nain .nain-mh-cta, .nain .nain-logo-mark { background-color: var(--nain-ink); }
.nain .nain-mf-cta { background-color: var(--nain-primary); }
.nain.nain-ticker--brand { background-color: var(--nain-ink); }
/* Archive: a filtered-out card stays hidden in every view (the list view sets its own display). */
.nain .nain-aiar-list .nain-hubcard[hidden], .nain .nain-aiar-list[data-view] .nain-hubcard[hidden] { display: none !important; }
.nain .nain-aiar-tools { margin-top: 0; }
.nain .nain-aiar-go { padding: 0 16px; border-radius: 14px; background: var(--nain-primary); color: #fff; font-weight: 800; }
.nain .nain-hubcard.is-basic .nain-hubcard-tag { opacity: .7; }
/* Feed: day headings, freshly arrived stories (cached pages), «N خبر تازه» notice. */
.nain .nain-feed-day { display: flex; align-items: center; gap: 12px; margin: 18px 0 2px; color: var(--nain-surface-muted); font-size: .82rem; font-weight: 800; grid-column: 1 / -1; }
.nain .nain-feed-day:first-child { margin-top: 4px; }
.nain .nain-feed-day::after { content: ""; flex: 1; height: 1px; background: var(--nain-line); }
.nain .nain-feed-day-t { display: inline-flex; align-items: center; gap: 6px; padding: 3px 12px; border-radius: 999px; background: rgba(var(--nain-primary-rgb), .08); color: var(--nain-primary); }
:root[data-nain-theme="dark"] .nain .nain-feed-day-t, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-feed-day-t { background: rgba(var(--nain-accent-rgb), .12); color: var(--nain-accent); }
.nain .nain-story.is-fresh, .nain .nain-card.is-fresh { animation: nain-fresh 2.4s ease; }
@keyframes nain-fresh { 0%, 30% { background: rgba(var(--nain-accent-rgb), .14); } 100% { background: transparent; } }
.nain .nain-fresh-note { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; padding: 6px 14px; border-radius: 999px; background: #15803d; color: #fff; font-size: .82rem; font-weight: 800; animation: nain-pop .3s ease; }
@media (prefers-reduced-motion: reduce) { .nain .nain-story.is-fresh, .nain .nain-fresh-note { animation: none; } }

/* ---------- 2.1: smart linking — follow-up box, in-text links ---------- */
.nain .nain-followup { margin: 0 0 22px; padding: 14px 16px; border-radius: var(--nain-radius-sm); background: var(--nain-surface); color: var(--nain-surface-text); border: 1px solid var(--nain-surface-line); border-inline-start: 4px solid var(--nain-accent); box-shadow: var(--nain-shadow); }
.nain .nain-followup-h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: .86rem; color: var(--nain-surface-muted); margin-bottom: 8px; line-height: 1.8; }
.nain .nain-followup-k { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px; border-radius: 999px; background: rgba(var(--nain-accent-rgb), .16); color: var(--nain-surface-text); font-weight: 800; font-size: .78rem; }
.nain .nain-followup ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.nain .nain-followup li { font-size: 1rem; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 0; line-height: 1.8; }
.nain .nain-followup li a { color: var(--nain-surface-text); font-weight: 700; font-size: .95rem; line-height: 1.8; text-decoration: none; }
.nain .nain-followup li a:hover, .nain .nain-followup li a:focus-visible { color: var(--nain-primary); text-decoration: underline; }
.nain .nain-followup time { flex: none; font-size: .78rem; color: var(--nain-surface-muted); white-space: nowrap; }
:root[data-nain-theme="dark"] .nain .nain-followup li a:hover, :root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-followup li a:hover { color: var(--nain-accent); }
@media (max-width: 600px) { .nain .nain-followup li { flex-direction: column; gap: 0; } }
.nain-prose a.nain-autolink { text-underline-offset: 3px; }

/* =================================================================
 * 2.2 — logo, announcement bar, footer contact & trust seal, home sections
 * ============================================================== */
.nain .nain-logo-img { height: var(--nain-logo-h, 44px) !important; max-width: min(260px, 52vw); }
.nain .nain-logo-img.is-dark { display: none; }
:root[data-nain-theme="dark"] .nain .nain-logo-img.is-light,
:root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-logo-img.is-light,
.nain .nain-mh-logo.is-ft .nain-logo-img.is-light { display: none; }
:root[data-nain-theme="dark"] .nain .nain-logo-img.is-dark,
:root:not([data-nain-theme]) .nain[data-nain-mode="dark"] .nain-logo-img.is-dark,
.nain .nain-mh-logo.is-ft .nain-logo-img.is-dark { display: block; }
.nain .nain-mh-logo.is-ft .nain-logo-img { height: 44px !important; }
@media (max-width: 640px) {
	.nain .nain-logo-img { height: min(var(--nain-logo-h, 44px), 40px) !important; }
}

.nain .nain-ann { position: relative; z-index: 21; font-size: .86rem; line-height: 1.8; }
.nain .nain-ann[hidden], html[data-nain-ann="off"] .nain .nain-ann[data-nain-ann] { display: none; }
.nain .nain-ann .nain-mh-row { justify-content: center; gap: 10px; min-height: 40px; padding-block: 6px; }
.nain .nain-ann-t { flex: 1; min-width: 0; margin: 0; text-align: center; font-weight: 700; }
.nain .nain-ann-a { margin-inline-start: 6px; color: inherit; font-weight: 900; text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.nain .nain-ann-a:hover { color: inherit; text-decoration-thickness: 2.5px; }
.nain .nain-ann-x { flex: none; display: grid; place-items: center; width: 30px; height: 30px; margin: 0; padding: 0; border: 0; border-radius: 9px; background: transparent; color: inherit; opacity: .78; cursor: pointer; transition: opacity .15s ease, background .15s ease; }
.nain .nain-ann-x:hover { opacity: 1; background: rgba(255, 255, 255, .16); }
.nain .nain-ann-x:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.nain .nain-ann.is-brand { background: var(--nain-primary); color: #fff; }
.nain .nain-ann.is-accent { background: var(--nain-accent); color: var(--nain-ink); }
.nain .nain-ann.is-accent .nain-ann-x:hover { background: rgba(0, 0, 0, .08); }
.nain .nain-ann.is-dark { background: #0b1416; color: #e6eeee; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.nain .nain-ann.is-alert { background: #b42318; color: #fff; }

.nain .nain-mf-grid { grid-template-columns: minmax(0, 1.45fr) repeat(var(--nain-mf-n, 3), minmax(0, 1fr)); }
.nain .nain-mf-contact li { margin: 0; }
.nain .nain-mf-contact a, .nain .nain-mf-addr { display: flex; align-items: flex-start; gap: 8px; }
.nain .nain-mf-addr { padding: 5px 0; color: rgba(255, 255, 255, .72); font-size: .88rem; line-height: 1.9; }
.nain .nain-mf-contact svg { flex: none; margin-top: 5px; color: var(--nain-accent); }
.nain .nain-mf-trust { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.nain .nain-mf-trust a { display: block; }
.nain .nain-mf-trust img { display: block; width: auto; height: auto; max-height: 76px; padding: 4px; border-radius: 10px; background: #fff; }
@media (max-width: 960px) {
	.nain .nain-mf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.nain-hs-box:has(> .elementor-widget-container .nain-hs-off), .nain-hs-box:has(.nain-hs-off) { display: none !important; }
.nain-hs-all { display: flex; flex-direction: column; }
.nain-hs-block { padding-block: 18px; }
.nain-hs-block.is-intro, .nain-hs-block.is-models { padding-block: 26px; }
.nain-hs-block.is-hero { padding-block: 6px; }
.nain-hs-block.is-latest, .nain-hs-block.is-cta { padding-block: 22px; }
.nain-hs-block.is-spotlight { padding-block: 10px; }
