/* Saved articles — toast + /saved/ page (inc/core/guest-saves.php). Uses theme tokens; light & dark. */
.ep-save-toast {
	position: fixed; left: 50%; bottom: 24px; z-index: 3000; display: flex; align-items: center; gap: 12px;
	max-width: calc(100% - 32px); padding: 10px 12px 10px 16px; border-radius: 999px;
	background: var(--text-main, #111); color: var(--bg-body, #fff); font: 600 14px/1.2 var(--font-body, system-ui);
	box-shadow: 0 16px 40px -14px rgba(0, 0, 0, .45); opacity: 0; transform: translate(-50%, 16px); pointer-events: none;
	transition: opacity .2s, transform .25s cubic-bezier(.2, .8, .2, 1);
}
.ep-save-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.ep-save-toast i { font-size: 18px; color: var(--accent); }
.ep-save-toast__link { color: inherit !important; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.ep-save-toast__undo { padding: 6px 12px; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--bg-body, #fff) 16%, transparent); color: inherit; font: inherit; cursor: pointer; }
.ep-save-toast__undo:hover { background: color-mix(in srgb, var(--bg-body, #fff) 26%, transparent); }

.ep-saved-page { min-height: 40vh; padding-top: 8px; padding-bottom: 64px; }
.ep-saved-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 24px; padding-bottom: 14px; border-bottom: 1px solid var(--border-color, var(--border)); color: var(--text-muted); }
.ep-saved-bar strong { color: var(--text-main); }
.ep-saved-clear { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--border-color, var(--border)); border-radius: 999px; background: none; color: var(--text-muted); font: 600 13px/1 var(--font-body); cursor: pointer; }
.ep-saved-clear:hover { border-color: var(--text-main); color: var(--text-main); }
.ep-saved-skeleton { display: none; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; }
.ep-saved-skeleton i { display: block; height: 260px; border-radius: 12px; background: linear-gradient(90deg, var(--bg-section-alt, #f3f4f6) 25%, color-mix(in srgb, var(--bg-section-alt, #f3f4f6) 60%, var(--bg-body)) 50%, var(--bg-section-alt, #f3f4f6) 75%); background-size: 200% 100%; animation: ep-saved-shine 1.2s linear infinite; }
@keyframes ep-saved-shine { to { background-position: -200% 0; } }
.ep-saved-page.is-loading .ep-saved-skeleton { display: grid; }
.ep-saved-page.is-loading .ep-saved-empty, .ep-saved-page.is-loading .ep-saved-bar { display: none; }
.ep-saved-empty { display: none; max-width: 420px; margin: 48px auto; text-align: center; color: var(--text-muted); }
.ep-saved-empty i { font-size: 40px; color: var(--accent-text, var(--accent)); }
.ep-saved-empty h2 { margin: 10px 0 6px; color: var(--text-main); font-size: 1.4rem; }
.ep-saved-empty .btn { margin-top: 16px; }
.ep-saved-page.is-empty:not(.is-loading) .ep-saved-empty { display: block; }
.ep-saved-page.is-empty .ep-saved-bar { display: none; }
@media (prefers-reduced-motion: reduce) { .ep-save-toast, .ep-saved-skeleton i { transition: none; animation: none; } }
