/* XYZLENS Continuous Reading — styles scoped to the article stream. */
#xyzlens-continuous-stream {
	clear: both;
	margin: 34px 0 24px;
	width: 100%;
}
#xyzlens-continuous-stream .xyzlens-stream-sentinel {
	height: 2px;
	width: 100%;
	pointer-events: none;
}
#xyzlens-continuous-stream .xyzlens-stream-status {
	min-height: 24px;
	margin: 20px 0 28px;
	color: #687386;
	font-size: 14px;
	text-align: center;
}
#xyzlens-continuous-stream .xyzlens-stream-status[data-state="loading"]::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	margin-right: 9px;
	border: 2px solid #d7deea;
	border-top-color: #d71920;
	border-radius: 50%;
	vertical-align: -2px;
	animation: xyzlens-stream-spin .75s linear infinite;
}
#xyzlens-continuous-stream .xyzlens-stream-status[data-state="error"] {
	padding: 14px 16px;
	border: 1px solid #f0d5d5;
	border-radius: 8px;
	background: #fff8f8;
	color: #8d2929;
}
#xyzlens-continuous-stream .xyzlens-stream-article {
	margin: 0 0 42px;
	padding: 30px 0 38px;
	border-top: 1px solid #e7eaf0;
	background: transparent;
}
#xyzlens-continuous-stream .xyzlens-stream-header {
	margin-bottom: 18px;
}
#xyzlens-continuous-stream .xyzlens-stream-categories {
	margin: 0 0 9px;
	color: #d71920;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .07em;
	line-height: 1.5;
	text-transform: uppercase;
}
#xyzlens-continuous-stream .xyzlens-stream-article .entry-title {
	margin: 0 0 10px;
	font-size: clamp(25px, 3vw, 36px);
	font-weight: 700;
	line-height: 1.2;
}
#xyzlens-continuous-stream .xyzlens-stream-article .entry-title a {
	color: inherit;
	text-decoration: none;
}
#xyzlens-continuous-stream .xyzlens-stream-article .entry-title a:hover,
#xyzlens-continuous-stream .xyzlens-stream-open-link:hover {
	color: #d71920;
}
#xyzlens-continuous-stream .xyzlens-stream-meta {
	margin: 0;
	color: #778091;
	font-size: 13px;
}
#xyzlens-continuous-stream .xyzlens-stream-thumbnail {
	margin: 18px 0 22px;
	overflow: hidden;
	border-radius: 10px;
}
#xyzlens-continuous-stream .xyzlens-stream-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 560px;
	object-fit: cover;
}
#xyzlens-continuous-stream .xyzlens-stream-content {
	margin: 0;
}
#xyzlens-continuous-stream .xyzlens-stream-content-inner > :first-child {
	margin-top: 0;
}
#xyzlens-continuous-stream .xyzlens-stream-content-inner > :last-child {
	margin-bottom: 0;
}
#xyzlens-continuous-stream .xyzlens-stream-footer {
	margin-top: 20px;
	padding-top: 14px;
	border-top: 1px solid #edf0f4;
}
#xyzlens-continuous-stream .xyzlens-stream-open-link {
	display: inline-block;
	color: #17243a;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}
#xyzlens-continuous-stream .xyzlens-stream-open-link::after {
	content: " →";
}
.xyzlens-stream-hidden {
	display: none !important;
}
@keyframes xyzlens-stream-spin {
	to { transform: rotate(360deg); }
}
@media (max-width: 767px) {
	#xyzlens-continuous-stream {
		margin-top: 26px;
	}
	#xyzlens-continuous-stream .xyzlens-stream-article {
		margin-bottom: 28px;
		padding-top: 24px;
		padding-bottom: 26px;
	}
	#xyzlens-continuous-stream .xyzlens-stream-article .entry-title {
		font-size: 25px;
	}
	#xyzlens-continuous-stream .xyzlens-stream-thumbnail {
		border-radius: 7px;
	}
}
@media (prefers-reduced-motion: reduce) {
	#xyzlens-continuous-stream .xyzlens-stream-status[data-state="loading"]::before {
		animation: none;
	}
}


/* XYZLENS four-story fixed reading queue with per-card vertical progress */
#xyzlens-continuous-stream { clear: both; width: 100%; max-width: 100%; }
#secondary .xyzlens-reading-widget {
	position: sticky;
	top: 24px;
	z-index: 4;
	margin: 0 0 26px;
	padding: 17px;
	background: #fff;
	border: 1px solid #e7eaf0;
	border-radius: 11px;
	box-shadow: 0 8px 26px rgba(20,32,50,.065);
}
.xyzlens-reading-widget-heading {
	margin: 0 0 14px;
	color: #d71920;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
}
.xyzlens-reading-queue { display: grid; gap: 10px; }
.xyzlens-queue-card {
	position: relative;
	min-height: 88px;
	padding: 11px 18px 11px 11px;
	border: 1px solid #edf0f4;
	border-radius: 8px;
	background: #fff;
	transition: border-color .18s ease, background .18s ease;
}
.xyzlens-queue-card.is-active {
	border-color: #e5a5a8;
	background: #fffafa;
}
.xyzlens-queue-progress-track {
	position: absolute;
	top: 9px;
	right: 7px;
	bottom: 9px;
	width: 3px;
	overflow: hidden;
	border-radius: 5px;
	background: #edf0f4;
}
.xyzlens-queue-progress-fill {
	display: block;
	width: 100%;
	height: 0;
	border-radius: inherit;
	background: #d71920;
	transition: height .08s linear;
}
.xyzlens-queue-card img {
	display: block;
	width: 100%;
	max-height: 112px;
	margin: 0 0 8px;
	border-radius: 5px;
	object-fit: cover;
}
.xyzlens-queue-category {
	margin: 0 0 4px;
	color: #d71920;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.xyzlens-queue-title {
	margin: 0 0 5px;
	color: #1c293b;
	font-size: 13px;
	font-weight: 750;
	line-height: 1.35;
}
.xyzlens-queue-date {
	margin: 0;
	color: #858d99;
	font-size: 10px;
}
.xyzlens-queue-link {
	display: inline-block;
	margin-top: 6px;
	color: #596477;
	font-size: 10px;
	font-weight: 700;
	text-decoration: none;
}
.xyzlens-queue-card.is-active .xyzlens-queue-link { color: #d71920; }
.xyzlens-queue-link:hover { color: #d71920; }
.xyzlens-more-stories {
	clear: both;
	margin: 38px 0 28px;
	padding: 25px 0 8px;
	border-top: 2px solid #202b3b;
}
.xyzlens-more-stories-heading {
	margin: 0 0 18px;
	color: #202b3b;
	font-size: 22px;
	font-weight: 800;
}
.xyzlens-more-stories-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 18px;
}
.xyzlens-more-story-card {
	min-width: 0;
	padding: 10px;
	border: 1px solid #e8ebf0;
	border-radius: 9px;
	background: #fff;
}
.xyzlens-more-story-card img {
	display: block;
	width: 100%;
	aspect-ratio: 16/9;
	margin: 0 0 10px;
	border-radius: 6px;
	object-fit: cover;
}
.xyzlens-more-story-title {
	display: block;
	color: #1c293b;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.4;
	text-decoration: none;
}
.xyzlens-more-story-title:hover { color: #d71920; }
#primary .entry-content { max-width: 100%; }
@media (min-width: 768px) {
	#primary { min-width: 0; padding-right: 16px; }
}
@media (max-width: 767px) {
	#secondary .xyzlens-reading-widget { position: static; margin: 18px 0; }
	.xyzlens-more-stories-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.xyzlens-queue-card,.xyzlens-queue-progress-fill { transition: none; }
}


/* v1.0.6: resilient right rail and clean automatic article contents */
#secondary.xyzlens-has-reading-queue,
.xyzlens-has-reading-queue {
	visibility: visible;
}
.xyzlens-has-reading-queue .xyzlens-reading-widget {
	position: sticky;
	top: 24px;
	 z-index: 5;
	 display: block;
	 width: 100%;
	 box-sizing: border-box;
}
.xyzlens-auto-toc {
	margin: 24px 0 28px;
	padding: 18px 20px;
	border: 1px solid #e5e9ef;
	border-left: 3px solid #d71920;
	border-radius: 8px;
	background: #f8fafc;
}
.xyzlens-auto-toc-title {
	margin: 0 0 10px;
	color: #1c293b;
	font-size: 15px;
	font-weight: 800;
}
.xyzlens-auto-toc-list {
	margin: 0;
	padding-left: 20px;
	columns: 1;
}
.xyzlens-auto-toc-list li {
	margin: 6px 0;
	color: #7b8491;
	font-size: 13px;
	line-height: 1.45;
}
.xyzlens-auto-toc-list li.is-subheading {
	margin-left: 12px;
	list-style-type: circle;
}
.xyzlens-auto-toc-list a {
	color: #344256;
	text-decoration: none;
}
.xyzlens-auto-toc-list a:hover,
.xyzlens-auto-toc-list a:focus {
	color: #d71920;
	text-decoration: underline;
}
.xyzlens-auto-toc [id] { scroll-margin-top: 90px; }
@media (max-width: 767px) {
	.xyzlens-has-reading-queue .xyzlens-reading-widget { position: static; }
	.xyzlens-auto-toc { padding: 15px 16px; }
}

@media (min-width: 992px) {
	.xyzlens-reading-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
		align-items: start;
		column-gap: 30px;
	}
	.xyzlens-reading-layout > #primary { min-width: 0; width: auto; max-width: none; }
	.xyzlens-reading-layout > #secondary.xyzlens-generated-sidebar { min-width: 0; width: auto; }
}
.xyzlens-has-reading-queue .xyzlens-reading-widget { box-sizing: border-box; }

/* v1.0.7 — keep the reading queue alongside the entire continuous article stream. */
@media (min-width: 1024px) {
	.xyzlens-reading-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
		align-items: stretch !important;
		column-gap: clamp(22px, 2.5vw, 36px);
		row-gap: 0;
		overflow: visible !important;
	}
	.xyzlens-reading-layout > * { min-width: 0; }
	.xyzlens-reading-layout #primary { width: auto !important; max-width: none !important; min-width: 0; float: none !important; }
	.xyzlens-reading-layout #secondary,
	.xyzlens-reading-layout .xyzlens-generated-sidebar {
		width: auto !important;
		min-width: 0;
		max-width: none;
		float: none !important;
		align-self: stretch;
		height: auto;
		overflow: visible !important;
	}
	.xyzlens-has-reading-queue .xyzlens-reading-widget {
		position: sticky !important;
		top: 24px;
		align-self: start;
		max-height: calc(100vh - 48px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.xyzlens-queue-card img { max-height: 86px; }
}

/* Tablet: keep the queue visible before the article in a compact two-column strip. */
@media (min-width: 768px) and (max-width: 1023px) {
	.xyzlens-reading-layout { display: block !important; }
	.xyzlens-queue-inline {
		position: static !important;
		width: 100%;
		max-height: none !important;
		margin: 0 0 24px !important;
		padding: 14px !important;
	}
	.xyzlens-queue-inline .xyzlens-reading-queue {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	.xyzlens-queue-inline .xyzlens-queue-card img { display: none; }
	.xyzlens-queue-inline .xyzlens-queue-card { min-height: 76px; }
	.xyzlens-more-stories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Mobile: a swipeable queue keeps all four stories accessible without pushing
   the article far down the page. The page itself remains naturally scrollable. */
@media (max-width: 767px) {
	.xyzlens-reading-layout { display: block !important; }
	.xyzlens-queue-inline {
		position: static !important;
		width: 100%;
		max-height: none !important;
		margin: 0 0 20px !important;
		padding: 12px !important;
	}
	.xyzlens-queue-inline .xyzlens-reading-queue {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(220px, 82%);
		grid-template-columns: none;
		gap: 9px;
		overflow-x: auto;
		padding: 0 0 5px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}
	.xyzlens-queue-inline .xyzlens-queue-card { scroll-snap-align: start; min-height: 72px; }
	.xyzlens-queue-inline .xyzlens-queue-card img { display: none; }
	.xyzlens-more-stories-grid { grid-template-columns: 1fr; }
}

/* Sticky positioning fails inside clipped/scrolling ancestors; keep the article
   layout ancestors visible so the queue can stick for the complete reading run. */
.xyzlens-reading-layout,
.xyzlens-reading-layout #primary,
.xyzlens-reading-layout #secondary { overflow: visible !important; }

.xyzlens-auto-toc { scroll-margin-top: 90px; }
.xyzlens-auto-toc-list a { overflow-wrap: anywhere; }


/* v1.1.0 — compact, fixed reading queue; mobile reading remains uninterrupted. */
@media (min-width: 1024px) {
	.xyzlens-has-reading-queue .xyzlens-reading-widget {
		position: sticky !important;
		top: 22px;
		max-height: none !important;
		overflow: visible !important;
		padding: 13px;
		margin-bottom: 22px;
	}
	.xyzlens-reading-widget-heading { margin-bottom: 10px; }
	.xyzlens-reading-queue { display: grid; gap: 8px; }
	.xyzlens-queue-card {
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr) 4px;
		grid-template-rows: auto auto 1fr;
		column-gap: 9px;
		align-items: start;
		min-height: 76px;
		padding: 8px 8px 8px 8px;
	}
	.xyzlens-queue-card img {
		grid-column: 1;
		grid-row: 1 / span 3;
		width: 76px;
		height: 58px;
		max-height: 58px !important;
		margin: 0;
		object-fit: cover;
	}
	.xyzlens-queue-category, .xyzlens-queue-title, .xyzlens-queue-date, .xyzlens-queue-link {
		grid-column: 2;
		min-width: 0;
	}
	.xyzlens-queue-category { grid-row: 1; font-size: 8px; margin-bottom: 3px; }
	.xyzlens-queue-title { grid-row: 2; font-size: 11px; line-height: 1.28; margin-bottom: 3px; overflow-wrap: anywhere; }
	.xyzlens-queue-date { grid-row: 3; font-size: 9px; }
	.xyzlens-queue-link { grid-row: 4; margin-top: 3px; font-size: 9px; }
	.xyzlens-queue-progress-track { top: 7px; right: 6px; bottom: 7px; width: 3px; }
}

@media (min-width: 768px) and (max-width: 1023px) {
	.xyzlens-queue-inline { padding: 11px !important; margin-bottom: 18px !important; }
	.xyzlens-queue-inline .xyzlens-reading-queue {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 8px;
	}
	.xyzlens-queue-inline .xyzlens-queue-card {
		min-height: 66px;
		padding: 8px 13px 8px 8px;
	}
	.xyzlens-queue-inline .xyzlens-queue-title { font-size: 11px; line-height: 1.3; }
	.xyzlens-queue-inline .xyzlens-queue-category { font-size: 8px; }
	.xyzlens-queue-inline .xyzlens-queue-date { font-size: 9px; }
	.xyzlens-queue-inline .xyzlens-queue-link { font-size: 9px; }
}

@media (max-width: 767px) {
	.xyzlens-has-reading-queue .xyzlens-reading-widget,
	.xyzlens-queue-inline { display: none !important; }
	.xyzlens-reading-layout { display: block !important; }
	.xyzlens-more-stories-grid { grid-template-columns: 1fr; }
}


/* v1.1.1 — responsive queue sizing: larger cards and readable typography. */
@media (min-width: 1200px) {
	.xyzlens-reading-layout {
		grid-template-columns: minmax(0, 1fr) minmax(300px, clamp(300px, 27vw, 360px)) !important;
		column-gap: clamp(24px, 2.6vw, 38px) !important;
	}
}
@media (min-width: 1024px) {
	.xyzlens-reading-layout {
		grid-template-columns: minmax(0, 1fr) minmax(285px, 340px) !important;
		column-gap: clamp(20px, 2.2vw, 32px) !important;
	}
	.xyzlens-has-reading-queue .xyzlens-reading-widget {
		padding: 16px;
		width: 100%;
	}
	.xyzlens-reading-widget-heading { font-size: 12px; margin-bottom: 13px; }
	.xyzlens-reading-queue { gap: 10px; }
	.xyzlens-queue-card {
		grid-template-columns: 92px minmax(0, 1fr) 4px;
		column-gap: 11px;
		min-height: 96px;
		padding: 10px 10px 10px 9px;
		border-radius: 9px;
	}
	.xyzlens-queue-card img {
		width: 92px;
		height: 70px;
		max-height: 70px !important;
		border-radius: 6px;
	}
	.xyzlens-queue-category { font-size: 9px; margin-bottom: 4px; }
	.xyzlens-queue-title { font-size: 13px; line-height: 1.34; margin-bottom: 4px; }
	.xyzlens-queue-date { font-size: 10px; }
	.xyzlens-queue-link { font-size: 10px; margin-top: 4px; }
	.xyzlens-queue-progress-track { right: 6px; width: 3px; }
}

/* Tablet queue adapts to available width without creating an inner scrollbar. */
@media (min-width: 768px) and (max-width: 1023px) {
	.xyzlens-queue-inline .xyzlens-reading-queue {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		overflow: visible;
	}
	.xyzlens-queue-inline .xyzlens-queue-card {
		display: grid;
		grid-template-columns: 76px minmax(0, 1fr) 4px;
		column-gap: 9px;
		min-height: 84px;
		padding: 9px 10px 9px 8px;
	}
	.xyzlens-queue-inline .xyzlens-queue-card img {
		display: block;
		grid-column: 1;
		grid-row: 1 / span 3;
		width: 76px;
		height: 58px;
		max-height: 58px !important;
		margin: 0;
	}
	.xyzlens-queue-inline .xyzlens-queue-category,
	.xyzlens-queue-inline .xyzlens-queue-title,
	.xyzlens-queue-inline .xyzlens-queue-date,
	.xyzlens-queue-inline .xyzlens-queue-link { grid-column: 2; }
	.xyzlens-queue-inline .xyzlens-queue-category { font-size: 8px; }
	.xyzlens-queue-inline .xyzlens-queue-title { font-size: 12px; line-height: 1.3; }
	.xyzlens-queue-inline .xyzlens-queue-date,
	.xyzlens-queue-inline .xyzlens-queue-link { font-size: 9px; }
}

@media (max-width: 767px) {
	.xyzlens-has-reading-queue .xyzlens-reading-widget,
	.xyzlens-queue-inline { display: none !important; }
}
