/* =====================================================================
 * Noya Yoga — 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 `.nym .nym-*` so theme/builder globals
 *    (a, button, input, h2 …) can't override the layout.
 * ================================================================== */

/* ---------- Tokens ---------- */
.nym {
	--nym-primary: #3E6B5E;
	--nym-primary-rgb: 62, 107, 94;
	--nym-accent: #C8798A;
	--nym-accent-rgb: 200, 121, 138;
	--nym-ink: #1B2B26;
	--nym-hot: #A9536A;
	--nym-surface: #ffffff;
	--nym-surface-2: #eff4f1;
	--nym-surface-text: #1b2b26;
	--nym-surface-muted: #5b6e66;
	--nym-surface-line: #e0e9e4;
	--nym-line: rgba(128, 128, 128, .22);
	--nym-muted-opacity: .72;
	--nym-radius: 22px;
	--nym-radius-sm: 14px;
	--nym-shadow: 0 1px 2px rgba(27, 43, 38, .04), 0 6px 18px -8px rgba(27, 43, 38, .12);
	--nym-shadow-lg: 0 24px 48px -16px rgba(27, 43, 38, .28);
	--nym-container: 1240px;
	--nym-sticky-top: 24px;
	direction: rtl;
	text-align: right;
	font-family: inherit;
	-webkit-font-smoothing: antialiased;
}
.nym[data-nym-mode="dark"] {
	--nym-surface: #12201c;
	--nym-surface-2: #182a25;
	--nym-surface-text: #e4eee9;
	--nym-surface-muted: #9db2a9;
	--nym-surface-line: #263a33;
	--nym-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .25);
}
@media (prefers-color-scheme: dark) {
	.nym[data-nym-mode="auto"] {
		--nym-surface: #12201c;
		--nym-surface-2: #182a25;
		--nym-surface-text: #e4eee9;
		--nym-surface-muted: #9db2a9;
		--nym-surface-line: #263a33;
		--nym-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. */
.nym-page[data-nym-mode="dark"],
.nym-feed[data-nym-mode="dark"]:not(.is-in-page),
.nym-inline[data-nym-mode="dark"] { background: #0d1714; color: #e4eee9; }
.nym-feed[data-nym-mode="dark"]:not(.is-in-page) { padding: 20px; border-radius: var(--nym-radius); }
@media (prefers-color-scheme: dark) {
	.nym-page[data-nym-mode="auto"],
	.nym-feed[data-nym-mode="auto"]:not(.is-in-page) { background: #0d1714; color: #e4eee9; }
	.nym-feed[data-nym-mode="auto"]:not(.is-in-page) { padding: 20px; border-radius: var(--nym-radius); }
}

/* ---------- Reset inside the plugin's markup ---------- */
.nym *, .nym *::before, .nym *::after { box-sizing: border-box; }
.nym .nym-ic { display: inline-block; flex: none; vertical-align: middle; width: auto; height: 1em; min-width: 1em; }
.nym svg.nym-ic { width: 1.05em; height: 1.05em; }
.nym a { text-decoration: none; box-shadow: none; }
.nym button, .nym input { font: inherit; letter-spacing: inherit; text-transform: none; }
.nym 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. */
.nym .nym-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; }
.nym .nym-img-ph {
	display: flex; align-items: center; justify-content: center;
	background: radial-gradient(120% 120% at 100% 0%, rgba(var(--nym-accent-rgb), .45), transparent 55%), linear-gradient(135deg, var(--nym-ink), var(--nym-primary));
	color: rgba(255, 255, 255, .75);
}
.nym .nym-img-ph svg { width: 44px; height: 44px; }

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

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

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

/* ---------- Section title ---------- */
.nym .nym-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;
}
.nym .nym-section-title::before {
	content: ""; width: 5px; height: 1.2em; border-radius: 4px; flex: none;
	background: linear-gradient(180deg, var(--nym-accent), var(--nym-primary));
}
.nym .nym-section-title .nym-ic { color: var(--nym-primary); }

/* =====================================================================
 * Archive page header
 * ================================================================== */
.nym .nym-archive-head {
	position: relative; overflow: hidden;
	margin: 0 0 clamp(22px, 3vw, 34px); padding: clamp(22px, 4vw, 44px);
	border-radius: var(--nym-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(--nym-primary-rgb), .55), transparent 70%),
		linear-gradient(135deg, var(--nym-primary) 0%, var(--nym-ink) 100%);
}
.nym .nym-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%);
}
.nym .nym-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;
}
.nym .nym-kicker .nym-ic { color: var(--nym-accent); }
.nym .nym-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; }
.nym .nym-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); }
.nym .nym-archive-desc p { margin: 0; color: inherit; }

/* =====================================================================
 * Lead block (top story + side stories)
 * ================================================================== */
.nym .nym-lead { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 20px; margin: 0 0 clamp(26px, 3.5vw, 40px); }
.nym .nym-lead-main { position: relative; min-height: 440px; border-radius: var(--nym-radius); overflow: hidden; box-shadow: var(--nym-shadow); background: var(--nym-ink); }
.nym .nym-lead-link { position: absolute; inset: 0; display: block; color: #fff; }
.nym .nym-lead-link:hover, .nym .nym-lead-link:focus { color: #fff; }
.nym .nym-lead-main .nym-img { position: absolute; inset: 0; object-position: 72% 50%; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.nym .nym-lead-main:hover .nym-img { transform: scale(1.04); }
.nym .nym-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%); }
.nym .nym-lead-body { position: absolute; inset-inline: 0; bottom: 0; padding: clamp(18px, 3vw, 32px); }
.nym .nym-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); }
.nym .nym-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; }
.nym .nym-lead-body .nym-meta { color: rgba(255, 255, 255, .78); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* FAQ */
.nym .nym-faq { margin: 38px 0 0; }
.nym .nym-faq-item { margin: 0 0 10px; border-radius: var(--nym-radius-sm); background: var(--nym-surface); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line); overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.nym .nym-faq-item[open] { border-color: rgba(var(--nym-primary-rgb), .35); box-shadow: var(--nym-shadow); }
.nym .nym-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; }
.nym .nym-faq-item summary::-webkit-details-marker { display: none; }
.nym .nym-faq-item summary .nym-ic { flex: none; color: var(--nym-primary); transition: transform .25s ease; }
.nym .nym-faq-item[open] summary .nym-ic { transform: rotate(180deg); }
.nym .nym-faq-a { padding: 0 20px 18px; font-size: .95rem; line-height: 2; color: var(--nym-surface-muted); }

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

/* Share */
.nym .nym-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(--nym-line); }
.nym .nym-share-label { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; }
.nym .nym-share { display: flex; flex-wrap: wrap; gap: 8px; }
.nym .nym-sbtn {
	display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%;
	background: var(--nym-surface-2); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line);
	transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.nym .nym-sbtn:hover { transform: translateY(-2px); color: #fff; border-color: transparent; }
.nym .nym-sbtn.is-tg:hover { background: #229ED9; }
.nym .nym-sbtn.is-x:hover { background: #000; }
.nym .nym-sbtn.is-wa:hover { background: #25D366; }
.nym .nym-sbtn.is-copy:hover, .nym .nym-sbtn.is-native:hover { background: var(--nym-primary); }
.nym .nym-sbtn.is-done { background: var(--nym-primary); color: #fff; }
.nym .nym-sbtn[hidden] { display: none; }

/* Previous / next */
.nym .nym-adjacent { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 26px 0 0; }
.nym .nym-adj {
	display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: var(--nym-radius-sm);
	background: var(--nym-surface); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line);
	transition: border-color .2s ease, transform .2s ease;
}
.nym .nym-adj:hover { border-color: var(--nym-primary); transform: translateY(-2px); }
.nym .nym-adj.is-next { text-align: left; align-items: flex-end; }
.nym .nym-adj-label { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; color: var(--nym-surface-muted); }
.nym .nym-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 */
.nym .nym-latest { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nym .nym-latest li { margin: 0; padding: 10px 0; border-top: 1px solid var(--nym-surface-line); }
.nym .nym-latest li:first-child { border-top: 0; padding-top: 0; }
.nym .nym-latest li::before, .nym .nym-latest li::marker { content: none; }
.nym .nym-latest a { display: flex; gap: 12px; align-items: center; color: var(--nym-surface-text); }
.nym .nym-latest-media { flex: none; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; background: var(--nym-surface-2); display: block; }
.nym .nym-latest-text { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.nym .nym-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; }
.nym .nym-latest a:hover .nym-latest-title { color: var(--nym-primary); }
.nym .nym-latest-time { font-size: .74rem; color: var(--nym-surface-muted); }

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

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

/* =====================================================================
 * Ticker
 * ================================================================== */
.nym.nym-ticker {
	display: flex; align-items: stretch; min-height: 46px; border-radius: 14px; overflow: hidden;
	background: var(--nym-ink); color: #e8f0f0; box-shadow: 0 10px 30px -18px rgba(6, 25, 28, .8); font-size: .9rem;
}
.nym.nym-ticker--light { background: var(--nym-surface); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line); box-shadow: var(--nym-shadow); }
.nym.nym-ticker--brand { background: linear-gradient(90deg, var(--nym-ink), var(--nym-primary)); color: #fff; }
.nym .nym-ticker-label {
	position: relative; flex: none; display: flex; align-items: center; gap: 9px; padding-block: 0; padding-inline: 18px 30px;
	background: var(--nym-hot); color: #fff; font-size: .86rem; font-weight: 800; white-space: nowrap;
	clip-path: polygon(16px 0, 100% 0, 100% 100%, 0 100%);
}
.nym .nym-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);
}
.nym .nym-ticker-list { display: flex; align-items: center; width: max-content; margin: 0; padding: 0; list-style: none; white-space: nowrap; animation: nym-ticker var(--nym-ticker-speed, 40s) linear infinite; }
.nym.nym-ticker:hover .nym-ticker-list, .nym.nym-ticker:focus-within .nym-ticker-list { animation-play-state: paused; }
.nym .nym-ticker-list li { position: relative; display: inline-flex; align-items: center; gap: 9px; margin: 0; padding-block: 0; padding-inline: 22px; font-size: .9rem; }
.nym .nym-ticker-list li::before, .nym .nym-ticker-list li::marker { content: none; }
.nym .nym-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(--nym-accent); opacity: .8; }
.nym .nym-ticker-time { font-size: .76rem; font-weight: 800; padding: 1px 7px; border-radius: 6px; background: rgba(255, 255, 255, .09); color: var(--nym-accent); font-variant-numeric: tabular-nums; }
.nym.nym-ticker--light .nym-ticker-time { background: rgba(var(--nym-primary-rgb), .08); color: var(--nym-primary); }
.nym .nym-ticker-list a { color: inherit; font-weight: 600; text-decoration: none; }
.nym .nym-ticker-list a:hover, .nym .nym-ticker-list a:focus { color: var(--nym-accent); }
.nym.nym-ticker--light .nym-ticker-list a:hover { color: var(--nym-primary); }
.nym .nym-ticker-hot { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px; border-radius: 999px; background: var(--nym-hot); color: #fff; font-size: .7rem; font-weight: 800; }
.nym .nym-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 nym-ticker { from { transform: translateX(0); } to { transform: translateX(50%); } }
/* Live dot with a ping ring. */
.nym .nym-dot { position: relative; display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.nym .nym-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: currentColor; animation: nym-ping 1.6s cubic-bezier(0, 0, .2, 1) infinite; }
@keyframes nym-ping { 75%, 100% { transform: scale(2.6); opacity: 0; } }

/* =====================================================================
 * Responsive
 * ================================================================== */
@media (max-width: 1100px) {
	.nym .nym-grid.nym-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
	.nym .nym-layout.has-sidebar { grid-template-columns: minmax(0, 1fr); }
	.nym .nym-layout.has-sidebar .nym-article { max-width: 780px; margin-inline: auto; }
	.nym .nym-aside { display: none; }
	.nym .nym-toc-mobile { display: block; }
	.nym .nym-lead { grid-template-columns: minmax(0, 1fr); }
	.nym .nym-lead-main { min-height: 380px; }
	.nym .nym-lead-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.nym .nym-grid.nym-cols-3, .nym .nym-grid.nym-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nym .nym-cover { aspect-ratio: 16 / 9; }
}
@media (max-width: 640px) {
	.nym .nym-grid.nym-cols-2, .nym .nym-grid.nym-cols-3, .nym .nym-grid.nym-cols-4 { grid-template-columns: minmax(0, 1fr); }
	.nym .nym-list .nym-card { flex-direction: column; }
	.nym .nym-list .nym-card-media { width: 100%; aspect-ratio: 16 / 9; min-height: 0; }
	.nym .nym-lead-main { min-height: 340px; border-radius: 14px; }
	.nym .nym-lead-side { grid-template-columns: minmax(0, 1fr); }
	.nym .nym-mini-media { width: 88px; }
	.nym .nym-toolbar-end, .nym .nym-search, .nym .nym-search-input, .nym .nym-search-input:focus { width: 100%; }
	.nym .nym-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); }
	.nym .nym-feed-head .nym-toolbar-end { width: 100%; justify-content: space-between; }
	.nym .nym-adjacent { grid-template-columns: minmax(0, 1fr); }
	.nym .nym-adj.is-next { text-align: right; align-items: flex-start; }
	.nym .nym-share-row { flex-direction: column; align-items: flex-start; }
	.nym .nym-cover { border-radius: 14px; margin-inline: calc(-1 * clamp(16px, 3.2vw, 32px)); border-radius: 0; }
	.nym .nym-ticker-label span { display: none; }
}

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

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

/* Card */
.nym.nym-ilink--card .nym-ilink-a {
	padding: 14px 18px 14px 14px; border-radius: 18px;
	background: var(--nym-surface); color: var(--nym-surface-text);
	border: 1px solid var(--nym-surface-line); box-shadow: var(--nym-shadow);
}
.nym.nym-ilink--card .nym-ilink-a::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: 5px; background: linear-gradient(180deg, var(--nym-accent), var(--nym-primary)); }
.nym.nym-ilink--card .nym-ilink-a:hover { transform: translateY(-2px); box-shadow: var(--nym-shadow-lg); border-color: rgba(var(--nym-primary-rgb), .35); color: var(--nym-surface-text); }
.nym.nym-ilink--card .nym-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(--nym-accent-rgb), .5), transparent 55%), linear-gradient(135deg, var(--nym-ink), var(--nym-primary)); color: #fff;
}
.nym.nym-ilink .nym-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; }
.nym.nym-ilink--card .nym-ilink-label { color: var(--nym-primary); }
.nym[data-nym-mode="dark"].nym-ilink--card .nym-ilink-label { color: var(--nym-accent); }
.nym.nym-ilink--card .nym-ilink-title { color: var(--nym-surface-text); }
.nym.nym-ilink--card .nym-ilink-desc { color: var(--nym-surface-muted); }
.nym.nym-ilink--card .nym-ilink-go {
	flex: none; width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: rgba(var(--nym-primary-rgb), .1); color: var(--nym-primary); transition: transform .25s ease, background .25s ease, color .25s ease;
}
.nym.nym-ilink--card .nym-ilink-a:hover .nym-ilink-go { background: var(--nym-primary); color: #fff; transform: translateX(-4px); }

/* Banner */
.nym.nym-ilink--banner .nym-ilink-a {
	padding: 18px 20px; border-radius: 20px; color: #fff;
	background:
		radial-gradient(60% 140% at 0% 0%, rgba(var(--nym-accent-rgb), .30), transparent 60%),
		radial-gradient(50% 120% at 100% 100%, rgba(255, 255, 255, .10), transparent 60%),
		linear-gradient(135deg, var(--nym-primary), var(--nym-ink));
	box-shadow: 0 16px 34px -18px rgba(var(--nym-primary-rgb), .9);
}
.nym.nym-ilink--banner .nym-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%);
}
.nym.nym-ilink--banner .nym-ilink-a:hover { transform: translateY(-2px); color: #fff; }
.nym.nym-ilink--banner .nym-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(--nym-accent); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.nym.nym-ilink--banner .nym-ilink-body { position: relative; z-index: 1; }
.nym.nym-ilink--banner .nym-ilink-label { align-self: flex-start; padding: 2px 10px; border-radius: 999px; background: rgba(255, 255, 255, .16); color: #fff; }
.nym.nym-ilink--banner .nym-ilink-title { color: #fff; font-size: 1.08rem; }
.nym.nym-ilink--banner .nym-ilink-desc { color: rgba(255, 255, 255, .82); }
.nym.nym-ilink--banner .nym-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(--nym-accent); color: #1a1206; font-weight: 800; font-size: .9rem; white-space: nowrap; transition: transform .25s ease;
}
.nym.nym-ilink--banner .nym-ilink-a:hover .nym-ilink-cta { transform: translateX(-4px); }

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

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

/* =====================================================================
 * Ad popup — container & positions
 * ================================================================== */
.nym.nym-pop { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; pointer-events: none; }
.nym.nym-pop[hidden] { display: none !important; }
.nym-pop .nym-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; }
.nym-pop .nym-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;
}
.nym-pop .nym-pop-box::-webkit-scrollbar { display: none; }
.nym-pop.is-open .nym-pop-overlay { opacity: 1; }
.nym-pop.is-open .nym-pop-box { opacity: 1; transform: none; }
.nym-pop[data-layout="split"] .nym-pop-box { width: min(760px, 100%); }
.nym-pop[data-layout="coupon"] .nym-pop-box { width: min(620px, 100%); }
.nym-pop[data-layout="announce"] .nym-pop-box { width: min(640px, 100%); }
.nym-pop .nym-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;
}
.nym-pop .nym-pop-x:hover { background: rgba(0, 0, 0, .5); transform: rotate(90deg); color: #fff; }
.nym-pop .nym-pop-x:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
/* Corner card (left in RTL) — no overlay, doesn't block the page. */
.nym.nym-pop[data-pos="corner"] { align-items: flex-end; justify-content: flex-end; padding: 20px; }
.nym-pop[data-pos="corner"] .nym-pop-overlay { display: none; }
.nym-pop[data-pos="corner"] .nym-pop-box, .nym-pop[data-pos="corner"][data-layout] .nym-pop-box { width: min(380px, 100%); border-radius: 22px; }
/* Bottom bar — compact. */
.nym.nym-pop[data-pos="bar"] { align-items: flex-end; padding: 14px; }
.nym-pop[data-pos="bar"] .nym-pop-overlay { display: none; }
.nym-pop[data-pos="bar"] .nym-pop-box, .nym-pop[data-pos="bar"][data-layout] .nym-pop-box { width: min(980px, 100%); border-radius: 20px; }
html.nym-pop-lock, html.nym-pop-lock body { overflow: hidden !important; }

/* =====================================================================
 * Ad templates
 * ================================================================== */
.nym .nym-ad {
	--ad-bg1: var(--nym-ink); --ad-bg2: var(--nym-primary); --ad-text: #fff; --ad-muted: rgba(255, 255, 255, .8);
	--ad-accent: var(--nym-accent); --ad-btn: var(--nym-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%);
}
.nym .nym-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%);
}
.nym .nym-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 */
.nym .nym-ad--p-midnight { --ad-bg1: #070b18; --ad-bg2: #1e2a4a; --ad-accent: #38bdf8; --ad-btn: #38bdf8; --ad-btn-text: #03121d; }
.nym .nym-ad--p-royal    { --ad-bg1: #1e0b4b; --ad-bg2: #6d28d9; --ad-accent: #fbbf24; --ad-btn: #fbbf24; --ad-btn-text: #2a1605; }
.nym .nym-ad--p-ocean    { --ad-bg1: #062a43; --ad-bg2: #0891b2; --ad-accent: #a5f3fc; --ad-btn: #ffffff; --ad-btn-text: #073b56; }
.nym .nym-ad--p-emerald  { --ad-bg1: #022c22; --ad-bg2: #059669; --ad-accent: #fde68a; --ad-btn: #fde68a; --ad-btn-text: #06301f; }
.nym .nym-ad--p-sunset   { --ad-bg1: #5a1a0b; --ad-bg2: #f97316; --ad-accent: #fff1d6; --ad-btn: #ffffff; --ad-btn-text: #9a3412; }
.nym .nym-ad--p-rose     { --ad-bg1: #4c0519; --ad-bg2: #db2777; --ad-accent: #fce7f3; --ad-btn: #ffffff; --ad-btn-text: #9d174d; }
.nym .nym-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); }
.nym .nym-ad--p-light    { --ad-bg1: #eef2f6; --ad-bg2: #ffffff; --ad-text: #0f1b2d; --ad-muted: #4b5a6b; --ad-accent: var(--nym-primary); --ad-btn: var(--nym-primary); --ad-btn-text: #fff; --ad-chip: rgba(var(--nym-primary-rgb), .09); --ad-line: rgba(15, 27, 45, .08); }
.nym .nym-ad--p-light::before { opacity: .5; background-image: radial-gradient(rgba(var(--nym-primary-rgb), .35) 1px, transparent 1.5px); }
.nym .nym-ad--p-light::after { opacity: .18; }
.nym-pop[data-palette="light"] .nym-pop-x { background: rgba(15, 27, 45, .08); color: #0f1b2d; }
.nym-pop[data-palette="light"] .nym-pop-x:hover { background: rgba(15, 27, 45, .16); color: #0f1b2d; }

/* Shared pieces */
.nym .nym-ad-body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 12px; padding: 30px 28px 26px; }
.nym .nym-ad-top { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.nym .nym-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); }
.nym .nym-ad-icon .nym-ic { width: 28px; height: 28px; }
.nym .nym-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; }
.nym .nym-ad--p-light .nym-ad-badge { color: #fff; }
.nym .nym-ad--p-ocean .nym-ad-badge, .nym .nym-ad--p-sunset .nym-ad-badge, .nym .nym-ad--p-rose .nym-ad-badge { color: var(--ad-btn-text); }
.nym .nym-ad-headline { margin: 0; font-size: clamp(1.3rem, 1.1rem + .9vw, 1.7rem); font-weight: 800; line-height: 1.5; color: var(--ad-text); }
.nym .nym-ad-sub { margin: 0; font-size: .96rem; line-height: 1.95; color: var(--ad-muted); }
.nym .nym-ad-list { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.nym .nym-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); }
.nym .nym-ad-list li::before, .nym .nym-ad-list li::marker { content: none; }
.nym .nym-ad-list .nym-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; }
.nym .nym-ad--p-light .nym-ad-list .nym-ic { color: #fff; }
.nym .nym-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: 800; 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;
}
.nym .nym-ad-cta:hover, .nym .nym-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); }
.nym .nym-ad-cta:focus-visible { outline: 3px solid var(--ad-text); outline-offset: 3px; }
.nym .nym-ad-cta .nym-ic { transition: transform .2s ease; }
.nym .nym-ad-cta:hover .nym-ic { transform: translateX(-4px); }
.nym .nym-ad-note { font-size: .8rem; line-height: 1.7; color: var(--ad-muted); text-align: center; }

/* Spotlight — centred */
.nym .nym-ad--spotlight .nym-ad-body { align-items: center; text-align: center; padding: 38px 30px 28px; }
.nym .nym-ad--spotlight .nym-ad-top { flex-direction: column; gap: 14px; }
.nym .nym-ad--spotlight .nym-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); }
.nym .nym-ad--spotlight .nym-ad-icon .nym-ic { width: 34px; height: 34px; }
.nym .nym-ad--spotlight .nym-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); }
.nym .nym-ad--spotlight .nym-ad-cta { align-self: stretch; }

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

/* Coupon — ticket with a value stub */
.nym .nym-ad--coupon { display: grid; grid-template-columns: 150px minmax(0, 1fr); }
.nym .nym-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);
}
.nym .nym-ad--p-gold .nym-ad-stub { background: linear-gradient(160deg, #fcd576, #e29b1f); }
.nym .nym-ad--p-light .nym-ad-stub { color: #fff; border-inline-end-color: rgba(255, 255, 255, .5); }
.nym .nym-ad-highlight { font-size: 2.3rem; font-weight: 800; line-height: 1.15; }
.nym .nym-ad-stub-label { font-size: .78rem; font-weight: 800; line-height: 1.5; opacity: .9; }
.nym .nym-ad-stub .nym-ad-icon { background: rgba(0, 0, 0, .1); color: inherit; box-shadow: none; }
.nym .nym-ad--coupon .nym-ad-body { padding: 30px 26px 24px; }
.nym .nym-ad--coupon .nym-ad-cta { align-self: flex-start; }

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

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

@media (max-width: 600px) {
	.nym.nym-pop, .nym.nym-pop[data-pos="corner"] { padding: 0; align-items: flex-end; justify-content: center; }
	.nym-pop .nym-pop-box, .nym-pop[data-layout] .nym-pop-box, .nym-pop[data-pos="corner"] .nym-pop-box, .nym-pop[data-pos="corner"][data-layout] .nym-pop-box { width: 100%; max-height: 88vh; border-radius: 24px 24px 0 0; transform: translateY(100%); }
	.nym-pop.is-open .nym-pop-box { transform: none; }
	.nym-pop[data-pos="corner"] .nym-pop-overlay { display: block; }
	.nym-pop[data-pos="bar"] .nym-pop-box { border-radius: 18px; }
	.nym .nym-ad-body { padding: 26px 20px 22px; }
	.nym .nym-ad--spotlight .nym-ad-body { padding: 32px 20px 22px; }
	.nym .nym-ad--split, .nym .nym-ad--coupon { grid-template-columns: minmax(0, 1fr); }
	.nym .nym-ad-media { min-height: 180px; }
	.nym .nym-ad-stub { flex-direction: row; padding: 16px 20px; border-inline-end: 0; border-bottom: 3px dashed rgba(0, 0, 0, .22); }
	.nym .nym-ad-highlight { font-size: 1.9rem; }
	.nym .nym-ad--announce .nym-ad-body { flex-wrap: wrap; }
	.nym .nym-ad--announce .nym-ad-cta { flex: 1 1 100%; }
	.nym .nym-ad--split .nym-ad-cta, .nym .nym-ad--coupon .nym-ad-cta { align-self: stretch; }
}
@media (prefers-reduced-motion: reduce) {
	.nym-pop .nym-pop-box, .nym-pop .nym-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. */
.nym.nym-pop[data-pos="bar"] .nym-ad { display: block; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-media,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-stub,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-list,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-note,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-top .nym-ad-badge { display: none; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-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;
}
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-top,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-icon { grid-column: 1; grid-row: 1 / span 2; flex-direction: row; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-icon { width: 48px; height: 48px; border-radius: 15px; box-shadow: inset 0 0 0 1px var(--ad-line); }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-icon .nym-ic { width: 24px; height: 24px; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-headline,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-sub,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-text { grid-column: 2; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-text { align-items: flex-start; gap: 2px; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-headline { font-size: 1.1rem; line-height: 1.6; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-sub { font-size: .88rem; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-cta,
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-actions { grid-column: 3; grid-row: 1 / span 2; align-self: center; width: auto; margin: 0; }
.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-cta { padding: 12px 20px; white-space: nowrap; }
@media (max-width: 600px) {
	.nym.nym-pop[data-pos="bar"] { padding: 10px; }
	.nym.nym-pop[data-pos="bar"] .nym-pop-box { border-radius: 18px; }
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body { grid-template-columns: minmax(0, 1fr); row-gap: 8px; padding-block: 14px; padding-inline-start: 16px; padding-inline-end: 52px; }
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-top,
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-icon { display: none; }
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-headline,
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-sub,
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-text,
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-cta,
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-body > .nym-ad-actions { grid-column: 1; grid-row: auto; }
	.nym.nym-pop[data-pos="bar"] .nym-ad .nym-ad-cta { width: 100%; }
}

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

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

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

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

/* Mosaic tiles */
.nym .nym-tile { position: relative; overflow: hidden; isolation: isolate; min-height: 200px; border-radius: 20px; background: var(--nym-ink); color: #fff; box-shadow: 0 20px 40px -30px rgba(6, 25, 28, .9); }
.nym .nym-tile-media { position: absolute; inset: 0; overflow: hidden; }
.nym .nym-tile-media .nym-img, .nym .nym-story-media .nym-img, .nym .nym-rank-media .nym-img, .nym .nym-mini2-media .nym-img, .nym .nym-hl-media .nym-img { transition: transform .9s cubic-bezier(.2, .7, .2, 1); }
.nym .nym-tile:hover .nym-tile-media .nym-img, .nym .nym-story:hover .nym-story-media .nym-img, .nym .nym-hl-item:hover .nym-img, .nym .nym-mini2:hover .nym-img { transform: scale(1.07); }
.nym .nym-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; }
.nym .nym-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; }
.nym .nym-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; }
.nym .nym-tile-title a { color: #fff; text-decoration: none; }
.nym .nym-tile:hover .nym-tile-title a { text-decoration: underline; text-decoration-color: var(--nym-accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.nym .nym-hero .nym-tile--3 .nym-tile-title { font-size: 1.2rem; -webkit-line-clamp: 2; }
.nym .nym-hero--mosaic4 .nym-tile--3 .nym-tile-title { font-size: 1.03rem; -webkit-line-clamp: 3; }

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

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

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

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

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

/* ---------- Category blocks ---------- */
.nym.nym-cblocks > .nym-section-title { margin-bottom: 18px; }
.nym .nym-cblocks-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.nym.nym-cblock {
	--nym-cb: var(--nym-primary);
	display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px 16px;
	padding: 18px; border-radius: 22px; background: var(--nym-surface); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line); box-shadow: var(--nym-shadow);
}
.nym.nym-cblock--asana, .nym .nym-cat--asana { --nym-cb: #3f7a63; }
.nym.nym-cblock--breath, .nym .nym-cat--breath { --nym-cb: #3f86a3; }
.nym.nym-cblock--meditation, .nym .nym-cat--meditation { --nym-cb: #6b62b8; }
.nym.nym-cblock--health, .nym .nym-cat--health { --nym-cb: #2f8f88; }
.nym.nym-cblock--lifestyle, .nym .nym-cat--lifestyle { --nym-cb: #b8703f; }
.nym.nym-cblock--philosophy, .nym .nym-cat--philosophy { --nym-cb: #a5588f; }
.nym.nym-cblock--teachers, .nym .nym-cat--teachers { --nym-cb: #7d7d2f; }
.nym.nym-cblock--news, .nym .nym-cat--news { --nym-cb: #4a6d94; }
.nym.nym-cblock--digest, .nym .nym-cat--digest { --nym-cb: #b86f52; }
.nym .nym-cblock-head { flex: 1 1 100%; display: flex; align-items: center; gap: 10px; }
.nym .nym-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(--nym-cb), var(--nym-ink)); box-shadow: 0 8px 18px -10px var(--nym-cb); }
.nym .nym-cblock-title { flex: 1; min-width: 0; margin: 0; padding: 0; border: 0; font-size: 1.1rem; font-weight: 800; line-height: 1.5; color: inherit; }
.nym .nym-cblock-all { display: inline-flex; align-items: center; gap: 4px; padding: 5px 12px; border-radius: 999px; background: rgba(var(--nym-primary-rgb), .08); color: var(--nym-primary); font-size: .8rem; font-weight: 800; text-decoration: none; transition: background .2s ease, color .2s ease, gap .2s ease; }
.nym .nym-cblock-all:hover { background: var(--nym-primary); color: #fff; gap: 8px; }
.nym .nym-cblock-lead { flex: 1.05 1 250px; min-height: 250px; border-radius: 16px; }
.nym .nym-cblock-lead .nym-tile-title { font-size: .98rem; }
.nym .nym-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; }
.nym .nym-mini2 { position: relative; display: flex; gap: 10px; margin: 0; padding: 8px 0; border-bottom: 1px dashed var(--nym-surface-line); }
.nym .nym-mini2:last-child { border-bottom: 0; }
.nym .nym-mini2::before, .nym .nym-mini2::marker { content: none; }
.nym .nym-mini2-media { flex: none; width: 66px; height: 54px; border-radius: 10px; overflow: hidden; }
.nym .nym-mini2 > div { min-width: 0; }
.nym .nym-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; }
.nym .nym-mini2 .nym-meta { font-size: .72rem; opacity: .7; }

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

/* =====================================================================
 * SEO: Google preferred-sources button, hub link, news-page guide text
 * ================================================================== */
.nym .nym-gsrc-wrap { margin: 14px 0 0; }
.nym .nym-inline > .nym-gsrc-wrap:first-child { margin: 0 0 18px; }
.nym .nym-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(--nym-surface-line); background: var(--nym-surface); color: var(--nym-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;
}
.nym .nym-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); }
.nym .nym-gsrc-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nym .nym-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; }
.nym .nym-gsrc:hover, .nym .nym-gsrc:focus-visible { border-color: rgba(26, 115, 232, .45); color: var(--nym-surface-text); box-shadow: 0 6px 18px -8px rgba(26, 115, 232, .5); transform: translateY(-1px); }
.nym .nym-gsrc:hover .nym-gsrc-plus, .nym .nym-gsrc:focus-visible .nym-gsrc-plus { background: #1a73e8; color: #fff; transform: rotate(90deg); }
.nym .nym-gsrc:focus-visible { outline: 2px solid #1a73e8; outline-offset: 2px; }
@media (max-width: 420px) {
	.nym .nym-gsrc-t { white-space: normal; }
}

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

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

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

/* =====================================================================
 * «آخرین اخبار مدل‌های هوش مصنوعی» — model radar
 * ================================================================== */

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

/* =====================================================================
 * Yoga additions — level chips, tutorial library, practice card,
 * health note, daily intention, breathing pacer and meditation timer
 * ================================================================== */

/* ---------- Level chip ---------- */
.nym .nym-lv { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border-radius: 999px; background: color-mix(in srgb, var(--lv, var(--nym-primary)) 13%, transparent); color: var(--nym-surface-text); font-size: .76rem; font-weight: 700; line-height: 1.7; }
.nym .nym-lv i { width: 8px; height: 8px; border-radius: 50%; background: var(--lv, var(--nym-primary)); }

/* ---------- Tutorial library ---------- */
.nym.nym-lib { margin: 0 0 clamp(28px, 4vw, 48px); container: nymlib / inline-size; }
.nym .nym-lb-subt { margin: 4px 0 0; font-size: .92rem; opacity: var(--nym-muted-opacity); }
.nym .nym-lb-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.nym .nym-lb-stat { display: inline-flex; align-items: baseline; gap: 6px; padding: 7px 14px; border-radius: 14px; background: var(--nym-surface); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line); font-size: .82rem; }
.nym .nym-lb-stat b { font-size: 1.1rem; font-weight: 800; color: var(--nym-primary); }
.nym[data-nym-mode="dark"] .nym-lb-stat b { color: #8fcab5; }
.nym .nym-lb-filters { display: grid; gap: 10px; margin-bottom: 18px; padding: 14px 16px; border-radius: var(--nym-radius); background: var(--nym-surface-2); color: var(--nym-surface-text); }
.nym .nym-lb-row { display: flex; align-items: center; gap: 12px; min-width: 0; }
.nym .nym-lb-lab { flex: none; width: 3.2em; font-size: .8rem; font-weight: 700; color: var(--nym-surface-muted); }
.nym .nym-lb-chips { display: flex; gap: 6px; min-width: 0; overflow-x: auto; padding: 2px 0 4px; scrollbar-width: none; }
.nym .nym-lb-chips::-webkit-scrollbar { display: none; }
.nym .nym-lb-chip { flex: none; display: inline-flex !important; align-items: center; gap: 7px; margin: 0; padding: 7px 15px !important; border-radius: 999px !important; border: 1px solid var(--nym-surface-line) !important; background: var(--nym-surface) !important; color: var(--nym-surface-text) !important; font-size: .85rem; font-weight: 600; line-height: 1.5; cursor: pointer; box-shadow: none !important; transition: background-color .15s, color .15s, border-color .15s; }
.nym .nym-lb-chip i { width: 9px; height: 9px; border-radius: 50%; background: var(--lv, var(--nym-primary)); }
.nym .nym-lb-chip small { font-size: .72rem; opacity: .6; }
.nym .nym-lb-chip:hover { border-color: var(--nym-primary) !important; }
.nym .nym-lb-chip.is-active { background: var(--nym-primary) !important; border-color: var(--nym-primary) !important; color: #fff !important; }
.nym .nym-lb-chip.is-active i { background: #fff; }
.nym .nym-lb-seg { display: inline-flex; padding: 3px; border-radius: 12px; background: var(--nym-surface); border: 1px solid var(--nym-surface-line); }
.nym .nym-lb-seg button { margin: 0; padding: 6px 14px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--nym-surface-text) !important; font-size: .84rem; font-weight: 600; cursor: pointer; box-shadow: none !important; }
.nym .nym-lb-seg button.is-active { background: var(--nym-primary) !important; color: #fff !important; }
.nym .nym-lb-chip:focus-visible, .nym .nym-lb-seg button:focus-visible, .nym .nym-lb-more:focus-visible { outline: 2px solid var(--nym-primary); outline-offset: 2px; }
.nym .nym-lb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@container nymlib (max-width: 900px) { .nym .nym-lb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container nymlib (max-width: 560px) { .nym .nym-lb-grid { grid-template-columns: minmax(0, 1fr); } .nym .nym-lb-row { align-items: flex-start; flex-direction: column; gap: 6px; } .nym .nym-lb-lab { width: auto; } .nym .nym-lb-chips { max-width: 100%; } }
.nym .nym-lb-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 20px; overflow: hidden; border-radius: var(--nym-radius); background: var(--nym-surface); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line); box-shadow: var(--nym-shadow); transition: border-color .18s, box-shadow .18s; }
.nym .nym-lb-card[hidden] { display: none; }
.nym .nym-lb-card::after { content: ""; position: absolute; inset-block-start: -46px; inset-inline-start: -46px; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--co) 24%, transparent), transparent 68%); pointer-events: none; }
.nym .nym-lb-card:hover { border-color: color-mix(in srgb, var(--co) 55%, var(--nym-surface-line)); box-shadow: 0 16px 32px -22px var(--co); }
.nym .nym-lb-card:focus-within { outline: 2px solid var(--nym-primary); outline-offset: 2px; }
.nym .nym-lb-top { position: relative; z-index: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.nym .nym-lb-kind { display: inline-flex; align-items: center; gap: 5px; padding: 3px 11px; border-radius: 999px; background: color-mix(in srgb, var(--co) 14%, transparent); color: var(--nym-surface-text); font-size: .76rem; font-weight: 700; }
.nym .nym-lb-title { position: relative; z-index: 1; margin: 0; padding: 0; border: 0; font-size: 1.05rem; font-weight: 800; line-height: 1.8; color: inherit; }
.nym .nym-lb-title a { color: inherit !important; text-decoration: none; }
.nym .nym-lb-title a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 2; }
.nym .nym-lb-title a:focus-visible { outline: none; }
.nym .nym-lb-sum { position: relative; z-index: 1; display: -webkit-box; margin: 0; overflow: hidden; font-size: .86rem; line-height: 1.95; color: var(--nym-surface-muted); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nym .nym-lb-goals { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; }
.nym .nym-lb-goal { padding: 2px 10px; border-radius: 8px; background: var(--nym-surface-2); font-size: .76rem; font-weight: 600; }
.nym .nym-lb-foot { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 4px; font-size: .78rem; color: var(--nym-surface-muted); }
.nym .nym-lb-foot > span { display: inline-flex; align-items: center; gap: 5px; }
.nym .nym-lb-cat { font-weight: 700; color: var(--co); }
.nym .nym-lb-empty { margin: 0; padding: 22px; text-align: center; opacity: .75; }
.nym .nym-lb-empty[hidden] { display: none; }
.nym .nym-lb-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-top: 20px; }
.nym .nym-lb-more { display: inline-flex !important; align-items: center; gap: 6px; margin: 0; padding: 10px 24px !important; border-radius: 999px !important; border: 1px solid var(--nym-primary) !important; background: transparent !important; color: var(--nym-primary) !important; font-weight: 700; font-size: .9rem; cursor: pointer; box-shadow: none !important; }
.nym .nym-lb-more:hover { background: var(--nym-primary) !important; color: #fff !important; }
.nym .nym-lb-more[hidden] { display: none !important; }
.nym .nym-lb-all { display: inline-flex; align-items: center; gap: 6px; color: var(--nym-primary) !important; font-size: .9rem; font-weight: 700; text-decoration: none !important; }
.nym[data-nym-mode="dark"] .nym-lb-all, .nym[data-nym-mode="dark"] .nym-lb-more { color: #8fcab5 !important; border-color: #8fcab5 !important; }

/* ---------- Practice card under a tutorial ---------- */
.nym .nym-practice { margin: 28px 0; padding: 22px 24px; background: linear-gradient(180deg, rgba(var(--nym-primary-rgb), .07), transparent 60%), var(--nym-surface); border: 1px solid rgba(var(--nym-primary-rgb), .28); }
.nym .nym-pr-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 14px 18px; margin: 4px 0 20px; padding: 0 0 18px; border-bottom: 1px dashed var(--nym-surface-line); }
.nym .nym-pr-facts > div { display: grid; gap: 4px; min-width: 0; }
.nym .nym-pr-facts dt { font-size: .76rem; font-weight: 700; color: var(--nym-surface-muted); }
.nym .nym-pr-facts dd { margin: 0; font-size: .95rem; font-weight: 700; line-height: 1.7; color: var(--nym-surface-text); }
.nym .nym-pr-sans { font-style: italic; font-weight: 600; text-align: left; }
.nym .nym-pr-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 720px) { .nym .nym-pr-cols { grid-template-columns: minmax(0, 1fr); } }
.nym .nym-pr-blk { min-width: 0; }
.nym .nym-pr-h { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; padding: 0; border: 0; font-size: 1rem; font-weight: 800; color: var(--nym-surface-text); }
.nym .nym-pr-blk ul, .nym .nym-pr-blk ol { margin: 0; padding: 0; list-style: none; }
.nym .nym-pr-blk li { position: relative; margin: 0 0 8px; padding-inline-start: 22px; font-size: .94rem; line-height: 2; color: var(--nym-surface-text); }
.nym .nym-pr-blk.is-benefit li::before { content: ""; position: absolute; inset-inline-start: 4px; inset-block-start: .95em; width: 8px; height: 8px; border-radius: 50% 50% 50% 0; background: var(--nym-primary); transform: rotate(-45deg); }
.nym .nym-pr-blk.is-caution { padding: 12px 16px; border-radius: var(--nym-radius-sm); background: rgba(var(--nym-accent-rgb), .12); border-inline-start: 3px solid var(--nym-accent); }
.nym .nym-pr-blk.is-caution .nym-pr-h { color: #8a3d52; }
.nym[data-nym-mode="dark"] .nym-pr-blk.is-caution .nym-pr-h { color: #f0b2c0; }
.nym .nym-pr-blk.is-caution li::before { content: ""; position: absolute; inset-inline-start: 4px; inset-block-start: 1em; width: 7px; height: 7px; border-radius: 50%; background: var(--nym-accent); }
.nym .nym-pr-blk.is-steps { margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--nym-surface-line); }
.nym .nym-pr-blk.is-steps li { padding-inline-start: 44px; min-height: 30px; }
.nym .nym-pr-blk.is-steps li::before { content: attr(data-n); position: absolute; inset-inline-start: 0; inset-block-start: .35em; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--nym-primary); color: #fff; font-size: .85rem; font-weight: 800; line-height: 1; }

/* ---------- Health note ---------- */
.nym .nym-disc { display: flex; align-items: flex-start; gap: 12px; margin: 24px 0; padding: 14px 18px; border-radius: var(--nym-radius-sm); background: var(--nym-surface-2); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line); }
.nym .nym-disc .nym-ic { margin-top: .35em; width: 1.2em; height: 1.2em; color: var(--nym-accent); }
.nym .nym-disc p { margin: 0; font-size: .86rem; line-height: 2; color: var(--nym-surface-muted); }

/* ---------- Daily intention ---------- */
.nym.nym-daily { margin: 0 0 clamp(24px, 3.5vw, 40px); padding: clamp(18px, 3vw, 28px) clamp(20px, 3.5vw, 34px); border-radius: 28px; background: radial-gradient(circle at 100% 0, rgba(var(--nym-accent-rgb), .18), transparent 46%), linear-gradient(135deg, rgba(var(--nym-primary-rgb), .12), rgba(var(--nym-primary-rgb), .03)); color: var(--nym-surface-text); border: 1px solid rgba(var(--nym-primary-rgb), .18); container: nymdaily / inline-size; }
.nym .nym-dl-in { display: flex; align-items: center; gap: 22px; }
.nym .nym-dl-sun { flex: none; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--nym-surface); color: var(--nym-accent); box-shadow: 0 0 0 8px rgba(var(--nym-accent-rgb), .12); }
.nym .nym-dl-body { flex: 1 1 auto; min-width: 0; }
.nym .nym-dl-date { font-size: .8rem; font-weight: 700; color: var(--nym-surface-muted); }
.nym .nym-dl-intent { margin: 4px 0 8px; font-size: clamp(1.25rem, 1rem + 1.2vw, 1.75rem); font-weight: 800; line-height: 1.6; }
.nym .nym-dl-do { margin: 0; max-width: 62ch; font-size: .95rem; line-height: 2; color: var(--nym-surface-muted); }
.nym .nym-dl-do b { color: var(--nym-surface-text); }
.nym .nym-dl-more { flex: none; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; max-width: 260px; padding: 12px 16px; border-radius: 18px; background: var(--nym-surface); color: var(--nym-surface-text) !important; border: 1px solid var(--nym-surface-line); text-decoration: none !important; box-shadow: var(--nym-shadow); }
.nym .nym-dl-more:hover { border-color: var(--nym-primary); }
.nym .nym-dl-more-l { grid-column: 1; font-size: .74rem; font-weight: 700; color: var(--nym-surface-muted); }
.nym .nym-dl-more-t { grid-column: 1; font-size: .9rem; font-weight: 800; line-height: 1.7; }
.nym .nym-dl-more .nym-ic { grid-column: 2; grid-row: 1 / span 2; color: var(--nym-primary); }
@container nymdaily (max-width: 720px) { .nym .nym-dl-in { flex-wrap: wrap; } .nym .nym-dl-body { flex-basis: calc(100% - 90px); } .nym .nym-dl-more { max-width: none; width: 100%; } }
@container nymdaily (max-width: 460px) { .nym .nym-dl-sun { width: 48px; height: 48px; } .nym .nym-dl-body { flex-basis: calc(100% - 70px); } }

/* ---------- Practice tools ---------- */
.nym.nym-tools { margin: 0 0 clamp(28px, 4vw, 48px); container: nymtools / inline-size; }
.nym .nym-tl-head { margin-bottom: 16px; }
.nym .nym-tl-sub { margin: 4px 0 0; font-size: .92rem; opacity: var(--nym-muted-opacity); }
.nym .nym-tl-noscript { margin: 0 0 12px; padding: 10px 14px; border-radius: 12px; background: var(--nym-surface-2); font-size: .86rem; }
.nym .nym-tl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@container nymtools (max-width: 760px) { .nym .nym-tl-grid { grid-template-columns: minmax(0, 1fr); } }
.nym .nym-tool { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 22px clamp(16px, 3vw, 28px) 20px; border-radius: 28px; background: linear-gradient(180deg, rgba(var(--nym-primary-rgb), .08), transparent 55%), var(--nym-surface); color: var(--nym-surface-text); border: 1px solid var(--nym-surface-line); box-shadow: var(--nym-shadow); text-align: center; }
.nym .nym-tool-t { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; font-size: 1.1rem; font-weight: 800; color: inherit; }
.nym .nym-tool-t .nym-ic { color: var(--nym-primary); }
.nym[data-nym-mode="dark"] .nym-tool-t .nym-ic { color: #8fcab5; }
.nym .nym-br-presets, .nym .nym-tm-presets { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.nym .nym-br-preset, .nym .nym-tm-preset { margin: 0; padding: 6px 14px !important; border-radius: 999px !important; border: 1px solid var(--nym-surface-line) !important; background: var(--nym-surface) !important; color: var(--nym-surface-text) !important; font-size: .84rem; font-weight: 600; cursor: pointer; box-shadow: none !important; }
.nym .nym-br-preset:hover, .nym .nym-tm-preset:hover { border-color: var(--nym-primary) !important; }
.nym .nym-br-preset.is-active, .nym .nym-tm-preset.is-active { background: var(--nym-primary) !important; border-color: var(--nym-primary) !important; color: #fff !important; }
.nym .nym-br-preset:focus-visible, .nym .nym-tm-preset:focus-visible, .nym .nym-tbtn:focus-visible, .nym .nym-tm-bell input:focus-visible { outline: 2px solid var(--nym-primary); outline-offset: 2px; }
.nym .nym-br-stage { display: grid; justify-items: center; gap: 12px; padding: 6px 0 2px; }
.nym .nym-br-ring { position: relative; display: flex; align-items: center; justify-content: center; width: min(230px, 62vw); aspect-ratio: 1; border-radius: 50%; border: 1.5px dashed rgba(var(--nym-primary-rgb), .35); }
.nym .nym-br-orb { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 50% 38%, rgba(var(--nym-accent-rgb), .55), rgba(var(--nym-primary-rgb), .9) 72%); box-shadow: 0 0 0 10px rgba(var(--nym-primary-rgb), .1); transform: scale(.55); transition: transform 4s ease-in-out, opacity .4s; }
.nym .nym-br-count { position: relative; z-index: 1; font-size: 2.6rem; font-weight: 800; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; text-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.nym .nym-br-label { min-height: 2.2rem; font-size: 1.3rem; font-weight: 800; line-height: 1.7; }
.nym .nym-br-note { margin: 0; font-size: .86rem; color: var(--nym-surface-muted); }
.nym .nym-tool-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.nym .nym-tbtn { display: inline-flex !important; align-items: center; gap: 8px; margin: 0; padding: 10px 26px !important; border-radius: 999px !important; border: 1px solid var(--nym-primary) !important; background: var(--nym-primary) !important; color: #fff !important; font-size: .95rem; font-weight: 800; cursor: pointer; box-shadow: none !important; }
.nym .nym-tbtn:hover { filter: brightness(1.08); }
.nym .nym-tbtn.is-ghost { background: transparent !important; color: var(--nym-primary) !important; }
.nym[data-nym-mode="dark"] .nym-tbtn.is-ghost { color: #8fcab5 !important; border-color: #8fcab5 !important; }
.nym .nym-br-cycles { font-size: .84rem; color: var(--nym-surface-muted); }
.nym .nym-tool-safe { display: flex; align-items: flex-start; gap: 8px; margin: 4px 0 0; max-width: 46ch; font-size: .8rem; line-height: 1.95; color: var(--nym-surface-muted); text-align: start; }
.nym .nym-tool-safe .nym-ic { flex: none; margin-top: .4em; color: var(--nym-accent); }
.nym .nym-tm-face { position: relative; display: flex; align-items: center; justify-content: center; width: min(230px, 62vw); aspect-ratio: 1; }
.nym .nym-tm-svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.nym .nym-tm-track { fill: none; stroke: rgba(var(--nym-primary-rgb), .14); stroke-width: 3; }
.nym .nym-tm-arc { fill: none; stroke: var(--nym-primary); stroke-width: 3.2; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 0; transition: stroke-dashoffset .5s linear; }
.nym[data-nym-mode="dark"] .nym-tm-arc { stroke: #8fcab5; }
.nym .nym-tm-time { position: relative; font-size: 2.6rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; direction: ltr; }
.nym .nym-tm-bell { display: inline-flex; align-items: center; gap: 8px; font-size: .86rem; color: var(--nym-surface-muted); cursor: pointer; }
.nym .nym-tool.is-running .nym-tbtn.is-main span { }
@media (prefers-reduced-motion: reduce) {
	.nym .nym-br-orb { transition: opacity .4s !important; transform: scale(.85) !important; }
	.nym .nym-tm-arc { transition: none; }
	.nym .nym-lb-card, .nym .nym-lb-chip { transition: none; }
}
