:root {
	--pico-font-family: system-ui, "San Francisco", "Segoe UI", "Roboto", sans-serif;
	--pico-border-radius: 7px;
	--pico-form-element-spacing-vertical: 0.5rem;
	--pico-form-element-spacing-horizontal: 0.75rem;
	--ink-text: #1d1a16;
	--ink-muted: #6b6258;
	--ink-sand: #e8ddcb;
	--ink-shadow: rgba(23, 18, 12, 0.08);
	--ink-link: #4779b2;
	--ink-body-background: #fff;
	--ink-auth-background: #f6f1e6;
	--ink-auth-card-background: rgba(255, 255, 255, 0.6);
	--ink-left-pane-background: #f4f6f9;
	--ink-pane-divider: rgba(107, 98, 88, 0.15);
	--ink-sidebar-divider-line: var(--ink-pane-divider);
	--ink-sidebar-divider-shadow: none;
	--ink-summary-background: var(--ink-left-pane-background);
	--ink-summary-divider-line: var(--ink-card-border);
	--ink-summary-divider-shadow-color: transparent;
	--ink-summary-divider-shadow-fade: transparent;
	--ink-summary-divider-shadow-size: 0px;
	--ink-avatar-border: #DDD;
	--ink-avatar-border-muted: rgba(29, 26, 22, 0.1);
	--ink-popover-background: #fff;
	--ink-popover-border: rgba(29, 26, 22, 0.12);
	--ink-popover-shadow: rgba(29, 26, 22, 0.18);
	--ink-button-surface: #f8f8f8;
	--ink-button-border: rgba(29, 26, 22, 0.12);
	--ink-button-border-hover: rgba(29, 26, 22, 0.2);
	--ink-menu-hover: rgba(29, 26, 22, 0.06);
	--ink-menu-divider: rgba(29, 26, 22, 0.12);
	--ink-segment-background: #f8f8f8;
	--ink-segment-border: #d8d8d8;
	--ink-segment-active: #eaeaea;
	--ink-control-border: #DDD;
	--ink-control-background: #f8f8f8;
	--ink-control-border-active: #c9c9c9;
	--ink-control-background-active: #e8e8e8;
	--ink-control-shadow-inset: rgba(0, 0, 0, 0.12);
	--ink-search-background: #FFF;
	--ink-card-background: #fff;
	--ink-card-border: rgba(29, 26, 22, 0.08);
	--ink-card-shadow: rgba(29, 26, 22, 0.12);
	--ink-status-background: rgba(29, 26, 22, 0.08);
	--ink-right-pane-background: #fff;
	--ink-empty-background: #f6f1e6;
	--ink-toolbar-background: #1f1c18;
	--ink-toolbar-text: #fff;
	--ink-toolbar-shadow: rgba(0, 0, 0, 0.25);
	--ink-toolbar-hover: rgba(255, 255, 255, 0.2);
	--ink-reader-text: #2a241f;
	--ink-card-frosted: rgba(255, 255, 255, 0.6);
	--ink-highlight-quote: #413a33;
	--ink-highlight-background: #FFF9D6;
	--ink-row-default: #fff;
	--ink-row-border: rgba(47, 79, 63, 0.4);
	--ink-timeline-selected-background: #355C7D;
	--ink-timeline-selected-text: #FFFFFF;
	--ink-timeline-selected-border: #355C7D;
	--ink-day-1-cell: #CDD6EA;
	--ink-day-2-cell: #E3E8F2;
	--ink-day-3-cell: #E3E8F2;
	--ink-day-4-cell: #F1F4F8;
	--ink-day-5-cell: #F1F4F8;
	--ink-day-6-cell: #F1F4F8;
	--ink-day-7-cell: #F1F4F8;
	--ink-day-1-border: #BEC7DC;
	--ink-day-2-border: #D5DBE7;
	--ink-day-3-border: #D5DBE7;
	--ink-day-4-border: #E3E7EE;
	--ink-day-5-border: #E3E7EE;
	--ink-day-6-border: #E3E7EE;
	--ink-day-7-border: #E3E7EE;
	--ink-timeline-read-opacity: 0.4;
	--ink-timeline-read-background: var(--row-color, var(--ink-row-default));
	--ink-timeline-read-border: var(--ink-card-border);
	color-scheme: light;
}

@media (prefers-color-scheme: dark) {
	:root {
		color-scheme: dark;
	}
}

body {
	background: var(--ink-body-background);
	color: var(--ink-text);
	min-height: 100vh;
}

a {
  color: var(--ink-link);
}

body > main {
  min-height: 100vh;
  display: flex;
  padding-block: 0;
}

main[data-auth-state="loading"] .auth-screen,
main[data-auth-state="loading"] .app-shell {
	opacity: 0;
	pointer-events: none;
}

article {
  box-shadow: none;
  background: none;
}

h1,
h2,
h3 {
  font-family: inherit;
  letter-spacing: -0.02em;
}

h2 {
  font-size: 1.0rem;
  margin-bottom: 0;
  padding-bottom: 0;
}

blockquote {
	background: var(--ink-segment-background);
	padding-top: 8px;
	padding-bottom: 10px;
}

blockquote p:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
}

blockquote footer {
	text-align: right;
}

video {
	max-width: 100%;
	height: auto;
}

button[type="submit"] {
	font-size: 0.9rem;
	padding-left: 7px;
	padding-right: 7px;
	padding-top: 5px;
	padding-bottom: 5px;
	height: 40px;
}

input[type="text"], input[type="password"], input[type="url"] {
	font-size: 0.9rem;
	height: 40px;
	padding: 10px;
}

button:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.auth-screen {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 100vh;
	padding: 4rem 1.5rem;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--ink-auth-background);
}

.auth-screen::before,
.auth-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
}

.auth-screen::before {
  background-image: url("/images/homepage/background_6_low.jpg");
}

.auth-screen::after {
  opacity: 0;
  transition: opacity 1.2s ease;
}

.auth-screen.auth-screen--hi-res::after {
  background-image: url("/images/homepage/background_6_high.jpg");
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .auth-screen::after {
    transition: none;
  }
}

.auth-card {
	background: var(--ink-auth-card-background);
	padding: 3rem;
	border-radius: 20px;
	box-shadow: 0 30px 80px var(--ink-shadow);
	max-width: 520px;
	text-align: left;
	position: relative;
	z-index: 1;
}

.auth-card .lede {
  color: var(--ink-muted);
  margin: 1rem 0 2rem;
}

.auth-card label {
  display: block;
  margin-bottom: 1.5rem;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.7rem;
  color: var(--ink-muted);
  margin-bottom: 0.5rem;
}

.app-shell {
  width: 100%;
  min-height: 100vh;
  display: flex;
  height: 100vh;
	margin-bottom: 0;
  /* padding: 0.5rem; */
}

.layout {
  display: grid;
  grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
  gap: 0;
  flex: 1;
  min-height: 100%;
  height: 100vh;
}

.left-pane {
	background: var(--ink-left-pane-background);
	/* border-radius: 16px; */
	/* box-shadow: 0 20px 50px var(--ink-shadow); */
	border-right: 1px solid var(--ink-pane-divider);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100vh;
}

.sidebar-header {
	padding: 1rem;
	min-height: 82px;
	max-height: 82px;
	border-bottom: 1px solid var(--ink-sidebar-divider-line, var(--ink-pane-divider));
	box-shadow: var(--ink-sidebar-divider-shadow, none);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
	z-index: 1;
}

.sidebar-controls {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.sidebar-logo {
	border: 1px solid var(--ink-avatar-border);
	width: 40px;
	height: 40px;
	border-radius: 999px;
	object-fit: cover;
	flex: 0 0 auto;
}

.user-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.reader-menu {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.avatar-button {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  line-height: 0;
  cursor: pointer;
}

.user-menu-popover {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	min-width: 220px;
	background: var(--ink-popover-background);
	border-radius: 12px;
	border: 1px solid var(--ink-popover-border);
	box-shadow: 0 18px 40px var(--ink-popover-shadow);
	padding: 0.4rem 0;
	z-index: 20;
}

.reader-menu-popover {
	right: 0;
	left: auto;
}

.reader-menu-button {
	border: none;
	background: var(--ink-button-surface);
	color: var(--ink-muted);
	width: 32px;
	height: 32px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-bottom: 0;
	font-size: 1rem;
	line-height: 1;
	padding: 0;
}

.reader-menu-button:hover {
	color: var(--ink-text);
}

.reader-menu-icon {
	width: 18px;
	height: 18px;
	display: block;
	fill: currentColor;
}

.user-menu-item {
	display: flex;
	width: 100%;
	text-align: left;
	border: none;
	border-radius: 0;
	background: transparent;
	color: var(--ink-text);
	padding: 0.45rem 0.85rem;
	font-size: 0.75rem;
	cursor: pointer;
	text-decoration: none;
	margin-bottom: 0;
	align-items: center;
	gap: 0.5rem;
}

.user-menu-item:hover {
	background: var(--ink-menu-hover);
}

.user-menu-shortcut {
	margin-left: auto;
	color: var(--ink-muted);
	font-size: 0.7rem;
	opacity: 0.7;
}

.user-menu-divider {
	height: 1px;
	background: var(--ink-menu-divider);
	margin: 0.35rem 0;
}

.reader-menu-text-settings {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateY(-4px);
	margin-top: 0;
	text-align: left;
	border-top: 0 solid transparent;
	padding: 0 0.85rem;
	transition: max-height 220ms ease, opacity 180ms ease, transform 220ms ease, padding 220ms ease, border-top-width 220ms ease, margin-top 220ms ease;
}

.reader-menu-text-settings.is-open {
	max-height: 320px;
	opacity: 1;
	transform: translateY(0);
	margin-top: 5px;
	border-top: 1px solid var(--ink-menu-divider);
	padding: calc(0.5rem + 5px) 0.85rem 0.55rem;
}

.reader-text-settings-label {
	margin: 0 0 0.4rem;
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: left;
	color: var(--ink-muted);
}

.reader-text-theme-grid + .reader-text-settings-label {
	margin-top: 0.9rem;
}

.reader-text-font-list + .reader-text-settings-label {
	margin-top: 0.9rem;
}

.reader-text-theme-grid {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.6rem;
}

.reader-text-theme-option {
	border: 1px solid var(--ink-button-border);
	background: var(--swatch-color, #fff);
	width: 24px;
	height: 24px;
	border-radius: 7px;
	cursor: pointer;
	padding: 0;
	margin: 0;
}

.reader-text-theme-option.is-selected {
	border-color: var(--ink-control-border-active);
	box-shadow: 0 0 0 1px var(--ink-control-border-active);
}

.reader-text-size-row {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.6rem;
}

.reader-text-size-option {
	border: 1px solid var(--ink-button-border);
	background: var(--ink-button-surface);
	color: var(--ink-text);
	width: 24px;
	height: 24px;
	border-radius: 7px;
	cursor: pointer;
	padding: 0;
	margin: 0;
	display: grid;
	place-items: center;
}

.reader-text-size-icon {
	display: block;
	width: 11px;
	height: 11px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.1;
	stroke-linecap: round;
	pointer-events: none;
}

.reader-text-size-option:hover:not(:disabled) {
	border-color: var(--ink-control-border-active);
}

.reader-text-size-option:disabled {
	opacity: 0.5;
	cursor: default;
}

.reader-text-font-list {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.reader-text-font-option {
	display: flex;
	align-items: center;
	width: 100%;
	text-align: left;
	border: 1px solid var(--ink-button-border);
	background: var(--ink-button-surface);
	color: var(--ink-text);
	padding: 0.28rem 0.45rem;
	font-size: 0.68rem;
	border-radius: 7px;
	cursor: pointer;
	margin: 0;
}

.reader-text-font-option.is-selected {
	border-color: var(--ink-control-border-active);
	background: var(--ink-control-background-active);
}

@media (prefers-reduced-motion: reduce) {
	.reader-menu-text-settings {
		transition: none;
	}
}

.segments {
	display: inline-flex;
	background: var(--ink-segment-background);
	border-radius: 7px;
	border: 1px solid var(--ink-segment-border);
	padding: 0;
	gap: 0;
	overflow: hidden;
	/* margin-top: 1rem; */
}

.segments button {
	border: none;
	background: transparent;
	padding: 0.4rem 0.6rem;
	font-size: 0.7rem;
	border-radius: 0;
	color: var(--ink-text);
	cursor: pointer;
	margin-bottom: 0;
	border-right: 1px solid var(--ink-segment-border);
}

.sidebar-header .segments {
	display: flex;
	width: 100%;
}

.sidebar-header .segments button {
	flex: 1 1 0;
}

.segments button:last-child {
	border-right: none;
}

.segments button[aria-pressed="true"] {
	background: var(--ink-segment-active);
	color: var(--ink-text);
	box-shadow: none;
}

.search-toggle {
  border: 1px solid var(--ink-control-border);
  background: var(--ink-control-background);
  color: var(--ink-muted);
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-bottom: 0;
}

.search-toggle svg,
.search-toggle img {
  width: 15px;
  height: 15px;
  min-width: 15px;
  display: block;
}

.search-toggle svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.search-toggle .icon-close {
  display: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.search-toggle .icon-spinner {
  display: none;
}

.search-toggle.is-active .icon-search,
.search-toggle.is-active .icon-spinner {
  display: none;
}

.search-toggle.is-active .icon-close {
  display: block;
}

.search-toggle.is-syncing .icon-search {
  display: none;
}

.search-toggle.is-syncing .icon-spinner {
  display: block;
}

.search-toggle.is-syncing .icon-spinner {
  animation: spinner-rotate 0.9s linear infinite;
  transform-origin: 50% 50%;
}

.search-toggle.is-active.is-syncing .icon-spinner {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .search-toggle.is-syncing .icon-spinner {
    animation: none;
  }
}

@keyframes spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}

.search-field {
  display: inline-flex;
  height: 40px;
  align-items: center;
  gap: 0.2rem;
  background: var(--ink-search-background);
  border-radius: 999px;
  padding: 0.2rem 0.35rem;
  width: 100%;
}

.search-field .search-icon {
  margin-left: 5px;
  width: 16px;
  height: 16px;
  min-width: 16px;
  display: block;
  fill: none;
  stroke: var(--ink-muted);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.search-field input[type="search"] {
  -webkit-appearance: none;
  appearance: none;
  background-image: none;
  background-position: initial;
  background-repeat: initial;
  background-size: initial;
  padding-inline-start: 0;
  border: none;
  background: transparent;
  margin: 0;
  padding: 0.2rem 0.4rem 0.2rem 0.15rem;
  font-size: 0.7rem;
  --ink-search-visual-scale: 0.7;
  min-width: 160px;
  box-shadow: none;
}

.search-field input:focus {
  box-shadow: none;
}

.timeline {
	padding: 10px;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	flex: 1;
	/* gap: 0.75rem; */
}

.timeline:focus,
.timeline:focus-visible {
	outline: none;
}

.timeline-empty {
	padding: 0.5rem 0.75rem;
}

.timeline-feed-filter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	margin-left: -10px;
	margin-right: -10px;
	margin-top: -10px;
	margin-bottom: 10px;
	padding: 0.6rem;
	border-bottom: 1px solid var(--ink-summary-divider-line, var(--ink-card-border));
	background-color: var(--ink-summary-background, var(--ink-left-pane-background));
	background-image:
		linear-gradient(to bottom, var(--ink-summary-divider-shadow-color, transparent), var(--ink-summary-divider-shadow-fade, transparent)),
		linear-gradient(to top, var(--ink-summary-divider-shadow-color, transparent), var(--ink-summary-divider-shadow-fade, transparent));
	background-repeat: no-repeat;
	background-size:
		100% var(--ink-summary-divider-shadow-size, 0px),
		100% var(--ink-summary-divider-shadow-size, 0px);
	background-position: top left, bottom left;
}

.timeline-feed-filter-label {
	font-size: 0.7rem;
	color: var(--ink-muted);
}

.timeline-summary-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-left: -10px;
	margin-right: -10px;
	margin-top: -10px;
	margin-bottom: 10px;
	padding: 0.6rem;
	border-bottom: 1px solid var(--ink-summary-divider-line, var(--ink-card-border));
	background-color: var(--ink-summary-background, var(--ink-left-pane-background));
	background-image:
		linear-gradient(to bottom, var(--ink-summary-divider-shadow-color, transparent), var(--ink-summary-divider-shadow-fade, transparent)),
		linear-gradient(to top, var(--ink-summary-divider-shadow-color, transparent), var(--ink-summary-divider-shadow-fade, transparent));
	background-repeat: no-repeat;
	background-size:
		100% var(--ink-summary-divider-shadow-size, 0px),
		100% var(--ink-summary-divider-shadow-size, 0px);
	background-position: top left, bottom left;
}

.timeline-summary-detail {
	font-size: 0.65rem;
	color: var(--ink-muted);
}

.timeline-summary-spinner {
	width: 20px;
	height: 20px;
	margin-left: auto;
	animation: spinner-rotate 0.9s linear infinite;
}

.timeline-feed-filter .btn-sm,
.timeline-summary-item .btn-sm {
	background-color: var(--ink-control-background);
	border-color: var(--ink-control-border);
}

.timeline-feed-filter .btn-sm:hover,
.timeline-summary-item .btn-sm:hover {
	background-color: var(--ink-control-background);
	border-color: var(--ink-control-border);
}

.timeline.is-loading {
  opacity: 0;
  pointer-events: none;
}

.timeline-item {
  background: var(--row-color, var(--ink-row-default));
  border-radius: 10px;
  padding: 0.6rem;
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 0.85rem;
  text-align: left;
  border: 1px solid var(--ink-card-border);
  cursor: pointer;
  width: 100%;
  font-family: inherit;
  appearance: none;
  margin-bottom: 10px;
}

/* .timeline-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px var(--ink-card-shadow);
} */

.timeline-item.is-active {
	background: var(--row-selected-color, var(--ink-timeline-selected-background));
	border-color: var(--row-selected-border, var(--ink-timeline-selected-border));
	color: var(--row-selected-text, var(--ink-timeline-selected-text));
  /* box-shadow: 0 0 0 1px color-mix(in srgb, var(--row-border, var(--ink-row-border)) 70%, transparent); */
}

.timeline-item:focus-visible,
.timeline-item:active {
  outline: none;
  border-color: var(--row-border, var(--ink-row-border));
  /* box-shadow: 0 0 0 1px color-mix(in srgb, var(--row-border, var(--ink-row-border)) 70%, transparent); */
}

.timeline-item.is-active:focus-visible,
.timeline-item.is-active:active {
	border-color: var(--row-selected-border, var(--ink-timeline-selected-border));
}

.timeline-item.is-read {
	opacity: var(--ink-timeline-read-opacity, 0.4);
	background: var(--ink-timeline-read-background, var(--row-color, var(--ink-row-default)));
	border-color: var(--ink-timeline-read-border, var(--ink-card-border));
}

.timeline-item.is-archived {
  opacity: 0.6;
}

.avatar {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--ink-avatar-border-muted);
}

.avatar--feed-filter {
	cursor: pointer;
}

.timeline-item.is-active .avatar:hover {
	border-color: rgba(255, 255, 255, 0.25);
	opacity: 0.75;
}

.timeline-item.is-read .timeline-title {
  color: var(--ink-muted);
}

.timeline-item.is-read .avatar {
  opacity: 0.65;
}

.timeline-title {
  font-weight: 600;
  font-size: 0.75rem;
  color: var(--ink-text);
  margin-bottom: 0.35rem;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.timeline-item.is-active .timeline-title,
.timeline-item.is-active .timeline-summary,
.timeline-item.is-active .timeline-meta {
	color: var(--row-selected-text, var(--ink-timeline-selected-text));
}

.timeline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.timeline-meta--compact {
	font-size: 0.75rem;
}

.timeline-summary {
  font-size: 0.75rem;
  color: var(--ink-text);
  margin-bottom: 0.35rem;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.timeline-item.is-read .timeline-summary {
  color: var(--ink-muted);
}

.timeline-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.timeline-meta .timeline-date {
  flex-basis: 100%;
}

.timeline-date-row {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	flex-basis: 100%;
    font-size: 0.7rem;
}

.timeline-date-row .timeline-date {
	flex-basis: auto;
}

.timeline-bookmark {
	font-size: 0.7rem;
}

.timeline-bookmark-icon {
	font-size: 0.9em;
}

.status-chip {
  background: var(--ink-status-background);
  border-radius: 999px;
  padding: 0.1rem 0.55rem;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.right-pane {
  position: relative;
  background: var(--ink-right-pane-background);
  padding: 1rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 0;
}

.right-pane.right-pane--reader-ui-light {
	color-scheme: light;
	--ink-text: #1d1a16;
	--ink-muted: #6b6258;
	--ink-link: #4779b2;
	--ink-avatar-border-muted: rgba(29, 26, 22, 0.1);
	--ink-popover-background: #fff;
	--ink-popover-border: rgba(29, 26, 22, 0.12);
	--ink-popover-shadow: rgba(29, 26, 22, 0.18);
	--ink-button-surface: #f8f8f8;
	--ink-button-border: rgba(29, 26, 22, 0.12);
	--ink-button-border-hover: rgba(29, 26, 22, 0.2);
	--ink-menu-hover: rgba(29, 26, 22, 0.06);
	--ink-menu-divider: rgba(29, 26, 22, 0.12);
	--ink-segment-background: #f8f8f8;
	--ink-segment-border: #d8d8d8;
	--ink-segment-active: #eaeaea;
	--ink-control-border: #DDD;
	--ink-control-background: #f8f8f8;
	--ink-control-border-active: #c9c9c9;
	--ink-control-background-active: #e8e8e8;
	--ink-control-shadow-inset: rgba(0, 0, 0, 0.12);
	--ink-search-background: #FFF;
}

.right-pane.right-pane--reader-ui-dark {
	color-scheme: dark;
	--ink-text: #F4F6FB;
	--ink-muted: #B5BDCB;
	--ink-link: #7CB7FF;
	--ink-avatar-border-muted: rgba(218, 226, 240, 0.24);
	--ink-popover-background: #1C2430;
	--ink-popover-border: rgba(212, 223, 242, 0.18);
	--ink-popover-shadow: rgba(2, 4, 8, 0.6);
	--ink-button-surface: #242E3D;
	--ink-button-border: rgba(226, 234, 247, 0.16);
	--ink-button-border-hover: rgba(226, 234, 247, 0.3);
	--ink-menu-hover: rgba(230, 237, 249, 0.09);
	--ink-menu-divider: rgba(230, 237, 249, 0.15);
	--ink-segment-background: #212A38;
	--ink-segment-border: #2B3442;
	--ink-segment-active: #2D384A;
	--ink-control-border: #2C3543;
	--ink-control-background: #1C2532;
	--ink-control-border-active: #6B9BE4;
	--ink-control-background-active: #2A3648;
	--ink-control-shadow-inset: rgba(0, 0, 0, 0.42);
	--ink-search-background: #1B2431;
}

.mobile-back-button {
	display: none;
}

.right-pane.is-empty {
	justify-content: center;
	padding: 2.5rem 1.5rem;
	background: var(--ink-empty-background);
	overflow: hidden;
	isolation: isolate;
}

.right-pane.is-empty::before,
.right-pane.is-empty::after {
	content: "";
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
	pointer-events: none;
}

.right-pane.is-empty::before {
	background-image: url("/images/homepage/background_6_low.jpg");
}

.right-pane.is-empty::after {
	opacity: 0;
	transition: opacity 1.2s ease;
}

.right-pane.is-empty.right-pane--hi-res::after {
	background-image: url("/images/homepage/background_6_high.jpg");
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.right-pane.is-empty::after {
		transition: none;
	}
}

.right-pane.is-empty .reader-header {
  display: none;
}

.right-pane.is-resolving .reader-header {
	display: none;
}

.right-pane.is-summary .reader-header {
	display: none;
}

.right-pane.is-blank .reader-header {
	display: none;
}

.right-pane.is-empty .right-content {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  margin: 0;
	position: relative;
	z-index: 1;
}

.right-pane.is-empty .reader-pane {
  min-height: auto;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.right-pane.is-empty .reader-content {
  width: 100%;
  max-width: 640px;
	background: transparent;
	border: none;
	padding: 0;
}

.right-pane .right-content {
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;  
}

.reader-pane,
.highlights-pane {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-height: 100%;
}

.reader-pane {
	transition: background-color 220ms ease, color 180ms ease;
}

.subscriptions-pane {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
    margin-top: 0.5rem;
}

.all-highlights-pane {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 0.5rem;
}

.discover-pane {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0.5rem;
}

.discover-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: nowrap;
}

.discover-search {
	flex: 0 0 220px;
	width: 220px;
	max-width: 220px;
	margin-left: auto;
	border: 1px solid var(--ink-control-border);
	height: 36px;
	padding: 0.15rem 0.35rem;
}

.discover-search:focus-within {
	border-color: var(--ink-control-border-active);
}

.discover-description {
	margin: 0;
	font-size: 0.8rem;
	color: var(--ink-muted);
}

.discover-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 0.1rem;
	margin-bottom: 1rem;
}

.discover-topic.btn-sm {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
}

.discover-topic-icon {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}

.discover-topic.btn-sm[aria-pressed="true"] {
	border-color: var(--ink-control-border-active);
	background: var(--ink-control-background-active);
	box-shadow: inset 0 1px 2px var(--ink-control-shadow-inset);
}

.discover-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.discover-site {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	padding: 0;
	border-radius: 10px;
	background: var(--ink-card-background);
}

.discover-site-avatar {
	width: 30px;
	height: 30px;
	border-radius: 999px;
	border: 1px solid var(--ink-avatar-border-muted);
	flex: 0 0 auto;
}

.discover-site-content {
	min-width: 0;
	flex: 1 1 auto;
}

.discover-site-actions {
	margin-left: auto;
	display: inline-flex;
	align-items: flex-start;
	flex: 0 0 auto;
}

.discover-site-actions .btn-sm {
	margin: 0;
	white-space: nowrap;
}

.discover-site-title {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.3;
}

.discover-site-description {
	margin: 0.35rem 0;
	font-size: 0.8rem;
	color: var(--ink-muted);
	line-height: 1.4;
}

.discover-site-url {
	margin: 0;
	font-size: 0.78rem;
}

.discover-site-url a {
	color: var(--ink-link);
	text-decoration: none;
}

.discover-site-url a:hover {
	text-decoration: underline;
}

.discover-post {
	padding-top: 0;
	padding-bottom: 0;
}

.discover-post-body {
	flex: 1 1 auto;
}

.discover-post-header {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.discover-post-header .reply-author {
	margin: 0;
}

.discover-post-header .discover-site-actions {
	margin-left: auto;
}

.discover-post-date a {
	color: var(--ink-muted);
	text-decoration: none;
}

.discover-post-date a:hover {
	text-decoration: underline;
}

.discover-pane .reply-content {
	width: 90%;
}

.discover-pane .discover-post .reply-content img.mini_cover {
	width: 40px;
	height: 55px;
	object-fit: cover;
	margin-right: 12px;
	margin-top: 7px;
	margin-bottom: 5px;
	float: left;
	background-color: lightgray;
}

.discover-empty {
	margin: 0;
	color: var(--ink-muted);
	font-size: 0.85rem;
	font-style: italic;
}

.all-highlights-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.pane-header-primary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

.all-highlights-header h2 {
	margin: 0;
	font-size: 1rem;
}

.all-highlights-search,
.subscriptions-search {
	flex: 1 1 220px;
	max-width: 200px;
	margin-left: auto;
	border: 1px solid var(--ink-control-border);
}

.all-highlights-search:focus-within,
.subscriptions-search:focus-within {
	border-color: var(--ink-control-border-active);
}

.subscriptions-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.subscriptions-header h2 {
	margin: 0;
	font-size: 1rem;
}

.subscriptions-actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

@media (min-width: 901px) {
	.subscriptions-header {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 1rem;
	}

	.subscriptions-search {
		justify-self: center;
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}

	.subscriptions-actions {
		justify-self: end;
	}
}

.subscriptions-form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.subscriptions-form-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: nowrap;
}

.subscriptions-form-row input {
	flex: 1;
	min-width: 0;
	font-size: 0.75rem;
	--ink-subscribe-input-visual-scale: 0.75;
	line-height: 1.2;
	height: 31px;
	padding: 0.2rem 0.5rem;
	margin: 0;
}

.subscriptions-form-row button {
	max-width: 100px;
	height: 31px;
	font-size: 0.75rem;
	line-height: 1.2;
	padding: 0.2rem 0.2rem;
	margin: 0;
}

.subscriptions-status {
	display: flex;
	margin-top: 1rem;
	align-items: flex-start;
	gap: 0.5rem;
	min-height: 1.2rem;
	color: var(--ink-muted);
	font-size: 0.8rem;
}

.subscriptions-status-text {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
}

.subscriptions-status-label {
	color: var(--ink-muted);
}

.subscription-choices {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.subscription-choice {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	width: 100%;
	margin: 0;
	padding: 0.45rem 0.55rem;
	border: 1px solid var(--ink-control-border);
	background: var(--ink-control-background);
	border-radius: 8px;
	text-align: left;
	cursor: pointer;
}

.subscription-choice-contact .subscription-choice-info {
	flex: 1;
}

.subscription-choice:hover {
	border-color: var(--ink-link);
}

.subscription-choice:focus-visible {
	outline: 2px solid var(--ink-link);
	outline-offset: 1px;
}

.subscription-choice-icon {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	display: block;
	border-radius: 3px;
}

.subscription-choice-avatar {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: block;
	object-fit: cover;
	border-radius: 999px;
}

.subscription-choice-info {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.subscription-choice-title {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--ink-text);
}

.subscription-choice-url {
	margin: 0;
	font-size: 0.72rem;
	color: var(--ink-muted);
	word-break: break-word;
}

.subscriptions-import {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.subscriptions-import-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 1.2rem;
}

.subscriptions-import progress {
	flex: 1;
	min-width: 160px;
	margin-bottom: 0;
}

.subscriptions-import-cancel {
	border: 1px solid var(--ink-control-border);
	background: var(--ink-control-background);
	color: var(--ink-muted);
	width: 28px;
	height: 28px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin-bottom: 0;
	padding: 0;
}

.subscriptions-import-cancel svg {
	width: 12px;
	height: 12px;
	min-width: 12px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.subscriptions-import-text {
	color: var(--ink-muted);
	font-size: 0.7rem;
	white-space: nowrap;
}

.subscriptions-import-text a {
	color: inherit;
	text-decoration: none;
}

.subscriptions-import-text a:hover {
	color: var(--ink-link);
	text-decoration: underline;
}

.subscriptions-spinner {
	width: 24px;
	height: 24px;
}

.subscriptions-failed {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding-top: 0.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--ink-sand);
}

.subscriptions-failed-title {
	margin: 0;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-muted);
}

.subscriptions-list {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

.subscription-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.5rem 0rem;
	min-height: 3.5rem;
	background: var(--ink-card-background);
}

.subscription-item--edit {
	gap: 0.75rem;
	align-items: center;
}

input[type="text"].subscription-edit {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.75rem;
	line-height: 1.2;
	height: 31px;
	padding: 0.2rem 0.5rem;
	margin: 0;
}

.subscription-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.subscriptions-spinner--inline {
	width: 16px;
	height: 16px;
	animation: spinner-rotate 0.9s linear infinite;
}

.subscription-item button {
	margin-left: 5px;
}

.subscription-main {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex: 1 1 auto;
	min-width: 0;
}

.subscription-site-icon {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: block;
	border-radius: 999px;
	object-fit: cover;
	background: var(--ink-control-background);
}

.subscription-icon-link {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	line-height: 1;
	text-decoration: none;
}

.subscription-buttons {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.subscription-info {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.subscription-title {
	margin: 0;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--ink-text);
}

.subscription-title-link {
	color: inherit;
	text-decoration: none;
}

.subscription-title-link:hover {
	text-decoration: underline;
}

.subscription-url {
	margin: 0;
	font-size: 0.8rem;
	color: var(--ink-muted);
	word-break: break-word;
}

.subscription-url a {
	color: inherit;
	text-decoration: none;
}

.subscription-url a:hover {
	text-decoration: underline;
}

.subscriptions-empty {
	color: var(--ink-muted);
	font-style: italic;
	font-size: 0.9rem;
}

.reader-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 15px;
}

.reader-primary {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

.reader-primary .reader-tabs {
	min-width: 0;
}

.reader-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
  text-align: right;
}

.reader-meta {
  margin: 0;
  color: var(--ink-muted);
  font-size: 0.75rem;
}

.reader-meta-source,
.reader-meta-separator,
.reader-meta-date {
	display: inline;
}

.reader-meta a {
  color: var(--ink-muted);
  text-decoration: none;
}

.reader-meta a:hover {
  text-decoration: underline;
}

.reader-tabs {
  align-items: center;
}

.reader-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  border-right: none;
}

.reader-tabs button + button {
  border-left: 1px solid var(--ink-segment-border);
}

.reader-tabs.is-single button[aria-pressed="true"] {
  background: transparent;
  color: var(--ink-text);
}

.reading-recap {
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 18px;
	padding-right: 18px;
	border-radius: 10px;
	margin-bottom: 2rem;
	--recap-topics-background: rgba(0, 0, 0, 0.08);
	--recap-blockquote-background: #e1e3f0;
	--recap-blockquote-border: #9b99cb;
}

.reading-recap img {
	border-radius: 5px;
	margin-right: 4px;
}

.reading-recap .reading-header {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-top: 0.1rem;
	margin-bottom: 1rem;
}

.reader-content .reading-recap .reading-header h2 {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.reading-recap .reading-header .topics {
	margin: 0 0 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.35rem;
}

.reading-recap .reading-header .topics span {
	display: inline-flex;
	align-items: center;
	padding: 0.18rem 0.48rem;
	border-radius: 999px;
	background: var(--recap-topics-background);
	font-size: 0.68rem;
	line-height: 1.2;
	white-space: nowrap;
}

.reading-recap h2 img {
	width: 20px;
	height: 20px;
	border-radius: 999px;
	flex: 0 0 auto;
	object-fit: cover;
}

.reading-recap ul {
	margin-bottom: 0;
}

.reading-recap-photos {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem !important;
}

.reading-recap-controls {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 2rem 0;
}

.reading-recap-email-settings {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.35rem;
	flex-wrap: wrap;
	margin: 0;
	padding: 0.45rem 0.6rem;
	background: var(--ink-segment-background);
	border-radius: 7px;
	font-size: 0.75rem;
}

.reading-recap-email-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	margin: 0;
	white-space: nowrap;
}

.reading-recap-email-toggle span {
	font-size: 0.75rem;
	line-height: 1.2;
}

.reading-recap-email-toggle input[type="checkbox"] {
	margin: 0;
	width: 0.95rem;
	height: 0.95rem;
	border-width: 0.0625rem;
	border-radius: 0.18rem;
	flex: 0 0 auto;
}

.reading-recap-email-day {
	display: inline-block;
	width: auto;
	min-width: 6.5rem;
	margin: 0;
	padding: 0.2rem 1.6rem 0.2rem 0.45rem;
	font-size: 0.75rem;
	line-height: 1.2;
	flex: 0 0 auto;
}

.reading-recap-email-spinner {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}

.reading-recap blockquote {
	background: var(--recap-blockquote-background);
	border-left-color: var(--recap-blockquote-border);
	border-inline-start-color: var(--recap-blockquote-border);
}

.reading-recap-quote {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

.reading-recap-quote-main {
	flex: 1 1 auto;
}

.reading-recap-quote-bookmark {
	display: none;
	flex: 0 0 auto;
	white-space: nowrap;
}

.reading-recap-quote-bookmark-button {
	font-size: 0.75rem;
	color: var(--ink-muted);
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

.reading-recap-quote-bookmark-button:hover {
	color: var(--ink-text);
}

.reading-recap-quote-bookmark-button:disabled {
	opacity: 0.7;
	cursor: default;
}

.reading-recap-quote:hover .reading-recap-quote-bookmark,
.reading-recap-quote:focus-within .reading-recap-quote-bookmark,
.reading-recap-quote-main:hover + .reading-recap-quote-bookmark,
.reading-recap-quote-main:focus-visible + .reading-recap-quote-bookmark {
	display: inline;
}

.reader-tabs.is-single {
  border: 1px solid transparent;
}

.segments.reader-tabs.is-single button {
	cursor: default;
}

.reader-avatar {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid var(--ink-avatar-border-muted);
  flex: 0 0 auto;
}

.reader-avatar.is-feed-link {
	cursor: pointer;
}

.mark-unread {
  border: 1px solid var(--ink-control-border);
  background: var(--ink-control-background);
  color: var(--ink-muted);
  padding: 0.4rem 0.6rem;
  font-size: 0.7rem;
  cursor: pointer;
  margin: 0;
}

.mark-unread.is-pressed {
	border-color: var(--ink-control-border-active);
	background: var(--ink-control-background-active);
	color: var(--ink-text);
	box-shadow: inset 0 1px 2px var(--ink-control-shadow-inset);
}

.mark-unread:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.highlight-toolbar {
  position: absolute;
  background: var(--ink-toolbar-background);
  color: var(--ink-toolbar-text);
  border-radius: 999px;
  padding: 0.35rem;
  display: flex;
  gap: 0.35rem;
  z-index: 10;
  box-shadow: 0 12px 28px var(--ink-toolbar-shadow);
}

.highlight-toolbar button {
  border: none;
  background: transparent;
  color: var(--ink-toolbar-text);
  font-size: 0.7rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  margin-bottom: 0;
}

.highlight-toolbar button:hover {
  background: var(--ink-toolbar-hover);
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

.reader-content {
	font-size: 0.9rem;
	line-height: 1.8;
	color: var(--ink-reader-text);
	--pico-color: currentColor;
	--reader-blockquote-background: var(--ink-segment-background);
	--reader-blockquote-border-color: var(--pico-blockquote-border-color);
	transition: color 180ms ease, font-family 180ms ease;
	margin-top: 10px;
	margin-bottom: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}

.reader-content.reader-content--narrow-feed-images img {
	max-width: 70%;
}

.reader-content p {
	margin-bottom: 1rem;
	color: inherit;
}

.reader-content blockquote {
	background: var(--recap-blockquote-background, var(--reader-blockquote-background));
	border-left-color: var(--recap-blockquote-border, var(--reader-blockquote-border-color));
	border-inline-start-color: var(--recap-blockquote-border, var(--reader-blockquote-border-color));
}

.reader-content h3 {
  margin-top: 2rem;
}

.reader-content h1,
.reader-content h2 {
	font-size: 1rem;
}

.reader-content h2 {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
	padding-bottom: 0;
}

.reader-content a {
  color: var(--ink-link);
  text-decoration: none;
}

.reader-content a:hover {
  text-decoration: underline;
}

.reader-content .reader-highlight-text {
	background: var(--ink-highlight-background);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.reader-content .lead {
  /* font-size: 1.2rem;
  color: var(--ink-reader-text); */
}

.reader-content .loading {
  font-family: inherit;
  color: var(--ink-muted);
  font-style: italic;
}

.reader-welcome {
  background: var(--ink-card-frosted);
  border: 1px solid var(--ink-card-border);
  border-radius: 16px;
  box-shadow: 0 16px 35px var(--ink-card-shadow);
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 1.5rem 1.75rem;
}

.reader-welcome-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.7rem;
  color: var(--ink-muted);
  margin-bottom: 0.5rem;
}

.reader-welcome h2 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.reader-welcome p {
  margin-bottom: 0.75rem;
  color: var(--ink-muted);
}

.reader-welcome-tips {
  margin: 0;
  padding-block: 0.4rem;
  padding-left: 1.1rem;
  color: var(--ink-text);
}

.reader-welcome-tips li {
  margin-bottom: 0.4rem;
}

.highlights-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  /* padding-block: var(--pico-block-spacing-vertical, 1.25rem); */
}

.highlights-pane .highlights-list {
	margin-top: 0.7rem;
}

.replies-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0.7rem;
}

.reply-item {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.reply-avatar {
	width: 30px;
	height: 30px;
	border-radius: 999px;
	border: 1px solid var(--ink-avatar-border-muted);
	flex: 0 0 auto;
}

.reply-body {
	min-width: 0;
}

.reply-author {
	margin: 0 0 0.25rem;
	font-size: 0.82rem;
	font-weight: 600;
}

.reply-author a {
	color: var(--ink-text);
	text-decoration: none;
}

.reply-author a:hover {
	text-decoration: underline;
}

.reply-content {
	font-size: 0.87rem;
	color: var(--ink-text);
	line-height: 1.5;
}

.reply-content a {
	text-decoration: none;
}

.reply-content a:hover {
	text-decoration: underline;
}

.reply-content p:last-child {
	margin-bottom: 0;
}

.reply-date {
	margin: 0.35rem 0 0;
	font-size: 0.75rem;
	color: var(--ink-muted);
}

.highlight-item {
  padding: 0.25rem 0;
}

.highlight-item blockquote {
  margin: 0 0 0.75rem;
  font-style: italic;
  color: var(--ink-highlight-quote);
}

.highlight-text {
  font-size: 0.9rem;
  display: inline-block;
  background: var(--ink-highlight-background);
  padding: 0 0.15em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  margin-bottom: 0.25em;
}

.highlight-post-row {
	margin-bottom: 0.25rem;
}

.highlight-post-title {
	display: inline-block;
	font-size: 0.75rem;
	color: var(--ink-text);
	text-decoration: none;
}

.highlight-post-link:hover {
	text-decoration: underline;
}

.highlight-date {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	color: var(--ink-muted);
}

.highlight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.btn-sm {
  font-size: 0.6rem;
  padding: 0.2rem 0.5rem;
  border-radius: 7px;
  background-color: var(--ink-button-surface);
  border: 1px solid var(--ink-button-border);
  color: var(--ink-muted);
  cursor: pointer;
  margin-bottom: 0;
}

.btn-sm:hover {
  border-color: var(--ink-button-border-hover);
  color: var(--ink-text);
}

.highlights-empty {
  color: var(--ink-muted);
  font-size: 0.9rem;
  font-style: italic;
}

.canvas-empty {
  color: var(--ink-muted);
  font-size: 0.8rem;
}

.timeline-empty {
	margin-bottom: 0;
}

@media (max-width: 800px) {
	html {
		font-size: 115%;
	}

	.layout {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
		height: 100vh;
		position: relative;
		overflow: hidden;
	}

	.left-pane,
	.right-pane {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: 100%;
		transition: transform 220ms ease;
	}

	.left-pane {
		border-right: none;
		transform: translateX(0);
	}

	.right-pane {
		transform: translateX(100%);
	}

	.layout.is-detail-open .left-pane {
		transform: translateX(-100%);
		pointer-events: none;
	}

	.layout.is-detail-open .right-pane {
		transform: translateX(0);
	}

	.layout:not(.is-detail-open) .right-pane {
		pointer-events: none;
	}

	.mobile-back-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: none;
		background: var(--ink-control-background);
		color: var(--ink-muted);
		width: 32px;
		height: 32px;
		padding: 0;
		border-radius: 999px;
		cursor: pointer;
		margin-bottom: 0;
		flex: 0 0 auto;
	}

	.mobile-back-icon {
		width: 14px;
		height: 14px;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.layout:not(.is-detail-open) .mobile-back-button {
		display: none;
	}

	.sidebar-logo {
		width: 30px;
		height: 30px;
	}

	.sidebar-controls {
		min-height: 32px;
		align-items: center;
	}

	.sidebar-controls > .user-menu,
	.sidebar-controls > .user-menu .avatar-button {
		height: 30px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.search-toggle {
		width: 30px;
		height: 30px;
	}

	.sidebar-header {
		min-height: 64px;
		max-height: 64px;
	}

	.sidebar-header .segments {
		max-width: 250px;
		justify-self: center;
		width: 100%;
		height: 32px;
	}

	.sidebar-header .segments button {
		min-height: 100%;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.all-highlights-search,
	.subscriptions-search,
	.discover-search {
		flex: 1 1 100%;
		max-width: none;
		width: 100%;
		min-width: 0;
	}

	.discover-header {
		flex-wrap: wrap;
	}

	.search-field {
		height: 32px;
		padding: 0.1rem 0.3rem;
	}

	.search-field input[type="search"] {
		font-size: 0.65rem;
		--ink-search-visual-scale: 0.75;
		padding: 0.1rem 0.35rem 0.1rem 0.1rem;
	}

	.subscriptions-form-row input[type="text"] {
		--ink-subscribe-input-visual-scale: 0.8625;
	}

	.reader-meta-source,
	.reader-meta-separator {
		display: none;
	}
}

@media (max-width: 800px) and (prefers-reduced-motion: reduce) {
	.left-pane,
	.right-pane {
		transition: none;
	}
}

@supports (-webkit-touch-callout: none) {
	@media (hover: none) and (pointer: coarse) {
		/* Keep 16px computed size on iOS to avoid focus zoom, then scale visually. */
		.search-field input[type="search"] {
			font-size: 16px;
			transform: scale(var(--ink-search-visual-scale));
			transform-origin: left center;
			width: calc(100% / var(--ink-search-visual-scale));
		}

		/* Keep 16px computed size on iOS to avoid zoom for new-feed input too. */
		.subscriptions-form-row input[type="text"] {
			font-size: 16px;
			transform: scale(var(--ink-subscribe-input-visual-scale));
			transform-origin: left center;
			width: calc(100% / var(--ink-subscribe-input-visual-scale));
		}
	}
}
