/**
 * Account and saved-stories pages (D-54). Uses the theme's custom properties, with fallbacks.
 * Doubled-up selectors beat the theme's .entry-content form/heading rules.
 */
.reader { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-5, 24px); max-width: 960px; } /* not an auto column: the two forms' min-content pushed the page wider than a 300px phone */
.reader .reader__forms {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: var(--gutter, 24px);
}
.reader .reader__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--s-2, 8px);
	align-content: start;
	padding: var(--s-5, 24px);
	border: 1px solid var(--line, #e3e8ef);
	border-radius: var(--radius-lg, 8px);
	background: var(--bg, #fff);
	scroll-margin-top: calc(var(--sticky-h, 56px) + 16px);
}
.reader .reader__panel h2 {
	margin: 0 0 var(--s-2, 8px);
	color: var(--heading, #082577);
	font-size: var(--fs-4, 1.25rem);
}
.reader label { color: var(--heading, #082577); font-weight: 700; font-size: var(--fs-7, 0.875rem); }
.reader input[type="text"],
.reader input[type="email"],
.reader input[type="password"] {
	min-height: 44px;
	padding: 0 var(--s-3, 12px);
	border: 1px solid var(--line-strong, #8a94a6);
	border-radius: var(--radius, 4px);
	background: var(--bg, #fff);
	color: var(--ink, #0b1220);
	font-size: var(--fs-body, 1.1rem);
}
.reader input:focus-visible { outline: 2px solid var(--blue, #0B5ED3); outline-offset: 1px; }
.reader .reader__check {
	display: flex;
	align-items: center;
	gap: var(--s-2, 8px);
	min-height: 44px;
	font-weight: 500;
}
.reader .reader__check input { width: 18px; height: 18px; }
.reader .reader__meta,
.reader .reader__empty { margin: 0; color: var(--muted, #5f6b7a); font-size: var(--fs-7, 0.875rem); }
.reader .reader__link { justify-self: start; color: var(--blue, #0B5ED3); font-size: var(--fs-7, 0.875rem); }
.reader .reader__actions { display: flex; flex-wrap: wrap; gap: var(--s-2, 8px); margin: var(--s-3, 12px) 0 0; }
.reader .reader__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.reader .reader__notice {
	margin: 0;
	padding: var(--s-3, 12px) var(--s-4, 16px);
	border-radius: var(--radius, 4px);
	background: var(--tint, #EAF3FF);
	color: var(--heading, #082577);
}
.reader .reader__notice.is-error { background: color-mix(in srgb, var(--live, #D5040A) 12%, var(--bg, #fff)); color: var(--live, #D5040A); }
.reader .reader__danger { margin-top: var(--s-5, 24px); color: var(--muted, #5f6b7a); }
.reader .reader__danger summary { cursor: pointer; font-size: var(--fs-7, 0.875rem); }
.reader .reader__danger form { display: grid; gap: var(--s-2, 8px); margin-top: var(--s-3, 12px); }
.reader .reader__danger button { justify-self: start; }
.reader .reader__pages { display: flex; gap: var(--s-2, 8px); }
