/* ==========================================================================
   Newsletter Issue — email-style card: masthead strip, lead story and an
   "In this issue" contents list (Inbox Daily demo)
   ========================================================================== */
.epg-issue { --is-lime: #c6f36b; --is-ink: #14112e; --is-card: var(--bg-body); --is-line: color-mix(in srgb, var(--text-main) 10%, transparent); --is-tint: color-mix(in srgb, var(--accent) 6%, var(--bg-body)); }
[data-theme="dark"] .epg-issue { --is-card: color-mix(in srgb, var(--text-main) 4%, var(--bg-body)); --is-line: color-mix(in srgb, var(--text-main) 13%, transparent); --is-tint: color-mix(in srgb, var(--accent) 12%, var(--bg-body)); }

.epg-issue__mail { position: relative; overflow: hidden; border: 1px solid var(--is-line); border-radius: 22px; background: var(--is-card); box-shadow: 0 30px 60px -40px color-mix(in srgb, var(--accent) 60%, transparent); }
/* airmail edge */
.epg-issue__mail::before { content: ''; display: block; height: 6px; background: repeating-linear-gradient(-45deg, var(--accent) 0 14px, transparent 14px 20px, var(--is-lime) 20px 34px, transparent 34px 40px); }

/* --- Masthead strip --- */
.epg-issue__strip { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; padding: 16px 26px; border-bottom: 1px solid var(--is-line); background: var(--accent-fill, var(--accent)); color: var(--on-accent-fill, #fff); }
.epg-issue__no { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 11px; border-radius: 999px; background: var(--is-lime); color: var(--is-ink); font: 800 13px/1 var(--font-heading); letter-spacing: .2px; }
.epg-issue__no i { font-size: 16px; }
.epg-issue__headers { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-width: 0; font-family: var(--font-heading); }
.epg-issue__headers > span { font-size: 15px; font-weight: 800; letter-spacing: -.01em; }
.epg-issue__headers time { font-size: 13px; font-weight: 500; opacity: .9; }
.epg-issue__stats { display: inline-flex; align-items: center; gap: 10px; margin-left: auto; font: 600 12px/1 'JetBrains Mono', ui-monospace, monospace; opacity: .9; }
.epg-issue__sep { width: 4px; height: 4px; border-radius: 50%; background: var(--is-lime); }

/* --- Body --- */
.epg-issue__body { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 34px; padding: 30px; }
.epg-issue__mail.is-single .epg-issue__body { grid-template-columns: minmax(0, 1fr); }
.epg-issue__mail.is-single .epg-issue__lead { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 34px; align-items: center; }
.epg-issue__mail.is-single .epg-issue__lead-body { padding-top: 0; }

.epg-issue__lead { display: flex; flex-direction: column; min-width: 0; }
.epg-issue__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 16px; }
.epg-issue__media img, .epg-issue__media .epj-ph { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.epg-issue__lead:hover .epg-issue__media img { transform: scale(1.035); }
.epg-issue__lead-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 12px; padding: 22px 4px 0; }
.epg-issue__eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--accent-text, var(--accent)); font: 800 11.5px/1 var(--font-heading); letter-spacing: 1.4px; text-transform: uppercase; }
.epg-issue__eyebrow::before { content: ''; width: 18px; height: 3px; border-radius: 3px; background: var(--is-lime); box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent); }
.epg-issue .epg-issue__kicker { display: none; }
.epg-issue__lead-title { margin: 0; font-family: var(--font-heading); font-size: clamp(1.5rem, 1rem + 1.3vw, 2.15rem); font-weight: 800; line-height: 1.14; letter-spacing: -.03em; }
.epg-issue__lead-title a { color: var(--text-main); background: linear-gradient(transparent 62%, color-mix(in srgb, var(--is-lime) 70%, transparent) 62% 92%, transparent 92%) no-repeat 0 0 / 0 100%; transition: background-size .5s; }
.epg-issue__lead-title a:hover { background-size: 100% 100%; }
[data-theme="dark"] .epg-issue__strip { background: color-mix(in srgb, var(--accent) 28%, #14112e); color: #fff; }
[data-theme="dark"] .epg-issue__open { color: var(--is-ink) !important; }
[data-theme="dark"] .epg-issue__lead-title a { background-image: linear-gradient(transparent 62%, color-mix(in srgb, var(--is-lime) 30%, transparent) 62% 92%, transparent 92%); }
.epg-issue__excerpt { margin: 0; color: var(--text-muted); font-size: 1rem; line-height: 1.7; }
.epg-issue__lead-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; width: 100%; margin-top: auto; padding-top: 16px; border-top: 1px dashed var(--is-line); }
.epg-issue__open { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: var(--accent-fill, var(--accent)); color: var(--on-accent-fill, #fff) !important; font: 700 13px/1 var(--font-heading); transition: gap .2s, background .2s, color .2s; }
.epg-issue__open:hover { gap: 12px; background: var(--is-lime); color: var(--is-ink) !important; }

/* --- Contents list --- */
.epg-issue__toc { align-self: start; display: flex; flex-direction: column; min-width: 0; padding: 22px 22px 10px; border-radius: 18px; background: var(--is-tint); }
.epg-issue__toc-title { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; color: var(--text-main); font: 800 12px/1 var(--font-heading); letter-spacing: 1.6px; text-transform: uppercase; }
.epg-issue__toc-title::after { content: ''; flex: 1; height: 1px; background: var(--is-line); }
.epg-issue__list { display: flex; flex-direction: column; justify-content: flex-start; margin: 0; padding: 0; list-style: none; }
.epg-issue__item { display: grid; grid-template-columns: 32px minmax(0, 1fr) 58px; gap: 14px; align-items: center; margin: 0; padding: 14px 0; }
.epg-issue__item::marker { content: none; }
.epg-issue__item + .epg-issue__item { border-top: 1px dashed color-mix(in srgb, var(--text-main) 16%, transparent); }
.epg-issue__n { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--is-card); box-shadow: inset 0 0 0 1.5px var(--accent); color: var(--accent-text, var(--accent)); font: 800 13px/1 var(--font-heading); transition: background .2s, color .2s, box-shadow .2s; }
.epg-issue__item:hover .epg-issue__n { background: var(--is-lime); box-shadow: none; color: var(--is-ink); }
.epg-issue__item-body { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.epg-issue__title { display: -webkit-box; overflow: hidden; color: var(--text-main); font: 700 15.5px/1.35 var(--font-heading); letter-spacing: -.01em; -webkit-line-clamp: 2; -webkit-box-orient: vertical; transition: color .2s; }
.epg-issue__title:hover { color: var(--accent-text, var(--accent)); }
.epg-issue__item-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--text-muted); font-size: 12px; font-weight: 500; }
.epg-issue__tag { padding: 3px 8px; border-radius: 6px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent-text, var(--accent)); font-weight: 700; }
.epg-issue__thumb { display: block; width: 58px; height: 58px; overflow: hidden; border-radius: 12px; }
.epg-issue__thumb img, .epg-issue__thumb .epj-ph { width: 100%; height: 100%; object-fit: cover; }

/* --- Responsive --- */
@media (max-width: 992px) {
	.epg-issue__body { grid-template-columns: minmax(0, 1fr); gap: 26px; padding: 24px; }
	.epg-issue__stats { margin-left: 0; }
	.epg-issue__toc { align-self: stretch; }
	.epg-issue__mail.is-single .epg-issue__lead { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.epg-issue__mail.is-single .epg-issue__lead-body { padding-top: 20px; }
}
@media (max-width: 600px) {
	.epg-issue__mail { border-radius: 18px; }
	.epg-issue__strip { gap: 10px 14px; padding: 14px 16px; }
	.epg-issue__headers > span { font-size: 14px; }
	.epg-issue__body { padding: 16px; }
	.epg-issue__media { border-radius: 12px; }
	.epg-issue__lead-body { padding-top: 18px; }
	.epg-issue__toc { padding: 18px 14px 6px; margin: 0 -4px; }
	.epg-issue__item { grid-template-columns: 30px minmax(0, 1fr) 48px; gap: 12px; }
	.epg-issue__n { width: 30px; height: 30px; }
	.epg-issue__thumb { width: 48px; height: 48px; border-radius: 10px; }
}
