/*
 * Today and artifacts.
 *
 * Documents, not dashboard chrome. The artifact page in particular is styled to
 * be printed — someone planning four months of a crop wants it on paper in the
 * room, and a plan that prints as a screenshot of a web app is a plan that gets
 * retyped into a spreadsheet.
 *
 * Everything inherits the theme's tokens, with fallbacks so the plugin is not
 * broken by a theme that lacks them.
 */

/* ── Today ─────────────────────────────────────────────────── */

.an-today {
	max-width: 72ch;
	margin: 0 auto;
	padding: var(--an-space-7, 48px) var(--an-gutter, 24px) var(--an-space-9, 96px);
}

.an-td-date {
	margin: 0 0 var(--an-space-2, 8px);
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--an-text-3, #82878C);
}

.an-td-hello {
	margin: 0 0 var(--an-space-3, 12px);
	font-family: var(--an-font-editorial, Georgia, serif);
	font-size: var(--an-t-h1, 2.5rem);
	line-height: var(--an-lh-tight, 1.05);
	color: var(--an-text, #16181A);
}

.an-td-sub {
	margin: 0 0 var(--an-space-7, 48px);
	font: var(--an-t-body, 17px) / var(--an-lh-body, 1.65) var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
}

.an-td-block { margin: 0 0 var(--an-space-7, 48px); }

.an-td-block > h2 {
	margin: 0 0 var(--an-space-3, 12px);
	font-family: var(--an-font-ui, system-ui);
	font-size: var(--an-t-h4, 1.2rem);
	line-height: var(--an-lh-snug, 1.2);
	color: var(--an-text, #16181A);
}

/* The only place on the page that raises its voice, and only when a real
   window is genuinely running out. */
.an-td-block.is-urgent > h2 { color: var(--an-accent, #B4501C); }

.an-td-note {
	margin: 0 0 var(--an-space-3, 12px);
	font: var(--an-t-small, 15px) / 1.6 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

.an-td-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--an-space-2, 8px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.an-td-chips a,
.an-td-chips span {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: 999px;
	background: var(--an-surface, #fff);
	font: var(--an-t-micro, 13px) / 1.3 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
	text-decoration: none;
}

.an-td-chips a:hover { border-color: var(--an-text-3, #82878C); }
.an-td-chips.is-quiet a,
.an-td-chips.is-quiet span { color: var(--an-text-2, #52565A); background: var(--an-surface-2, #FAFAF8); }

.an-td-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--an-space-3, 12px);
}

.an-td-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: var(--an-space-3, 12px) var(--an-space-4, 16px);
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-md, 10px);
	background: var(--an-surface, #fff);
}

.an-td-card.is-urgent { border-color: var(--an-accent, #B4501C); }

.an-td-card a,
.an-td-card > span {
	font: 500 var(--an-t-small, 15px) / 1.3 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
	text-decoration: none;
}

.an-td-flag {
	font: var(--an-t-micro, 13px) / 1.3 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

.an-td-flag.is-urgent { color: var(--an-accent, #B4501C); }

.an-td-list { display: flex; flex-direction: column; }

.an-td-row {
	display: flex;
	align-items: baseline;
	gap: var(--an-space-3, 12px);
	padding: var(--an-space-3, 12px) 0;
	border-bottom: 1px solid var(--an-line-soft, #EBEBE7);
	text-decoration: none;
}

.an-td-row-t {
	flex: 1;
	font: var(--an-t-small, 15px) / 1.45 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

a.an-td-row:hover .an-td-row-t { color: var(--an-accent, #B4501C); }

.an-td-row-m {
	font: var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	font-variant-numeric: tabular-nums;
	color: var(--an-text-3, #82878C);
}

.an-td-add { display: flex; gap: var(--an-space-2, 8px); margin: 0 0 var(--an-space-3, 12px); }

.an-td-add input {
	flex: 1;
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-sm, 6px);
	background: var(--an-surface-2, #FAFAF8);
	font: var(--an-t-small, 15px) / 1.3 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-td-add button {
	padding: 10px 18px;
	border: 0;
	border-radius: var(--an-radius-sm, 6px);
	background: var(--an-primary, #1F6B4A);
	color: var(--an-primary-c, #fff);
	font: 500 var(--an-t-small, 15px) / 1.3 var(--an-font-ui, system-ui);
	cursor: pointer;
}

.an-td-task {
	display: flex;
	align-items: center;
	gap: var(--an-space-3, 12px);
	padding: var(--an-space-3, 12px) 0;
	border-bottom: 1px solid var(--an-line-soft, #EBEBE7);
	font: var(--an-t-small, 15px) / 1.45 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
	cursor: pointer;
}

.an-td-task span { flex: 1; }
.an-td-task.is-done span { color: var(--an-text-3, #82878C); text-decoration: line-through; }

.an-td-del {
	border: 0;
	background: none;
	color: var(--an-text-3, #82878C);
	font: var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	cursor: pointer;
	padding: 4px 6px;
}

.an-td-del:hover { color: var(--an-accent, #B4501C); }

.an-td-block.is-memory {
	padding: var(--an-space-5, 24px);
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-md, 10px);
	background: var(--an-surface-2, #FAFAF8);
}

.an-td-forget {
	margin-top: var(--an-space-3, 12px);
	padding: 8px 16px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-sm, 6px);
	background: var(--an-surface, #fff);
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
	cursor: pointer;
}

.an-td-forget:hover { border-color: var(--an-accent, #B4501C); color: var(--an-accent, #B4501C); }

/* ── Make this useful ──────────────────────────────────────── */

.an-ws-fab {
	position: fixed;
	left: max(16px, env(safe-area-inset-left));
	bottom: max(16px, env(safe-area-inset-bottom));
	z-index: 55;
	display: inline-flex;
	align-items: center;
	gap: var(--an-space-2, 8px);
	padding: 12px 18px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: 999px;
	background: var(--an-surface, #fff);
	color: var(--an-text, #16181A);
	font: 500 var(--an-t-small, 15px) / 1 var(--an-font-ui, system-ui);
	box-shadow: 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.08);
	cursor: pointer;
}

.an-ws-fab:focus-visible { outline: 2px solid var(--an-accent, #B4501C); outline-offset: 3px; }

/* The fallback only, for a site running Workspace without Voice. Where Voice is
   active it provides a shared dock and this button is not rendered at all —
   which is the actual fix for two controls fighting over one corner. */
@media (max-width: 860px) {
	.an-ws-fab { bottom: calc(72px + max(8px, env(safe-area-inset-bottom))); padding: 12px 14px; }
	.an-ws-fab-t { display: none; }
}

.an-ws-make {
	position: fixed;
	inset: 0;
	z-index: 70;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	background: rgba(12, 20, 16, .45);
	opacity: 0;
	transition: opacity var(--an-med, 240ms) var(--an-ease, ease);
}

.an-ws-make.is-in { opacity: 1; }

.an-ws-sheet {
	width: min(560px, 100%);
	max-height: 86vh;
	overflow-y: auto;
	padding: var(--an-space-5, 24px);
	padding-bottom: calc(var(--an-space-5, 24px) + env(safe-area-inset-bottom));
	border-radius: var(--an-radius-lg, 16px) var(--an-radius-lg, 16px) 0 0;
	background: var(--an-surface, #fff);
	transform: translateY(12px);
	transition: transform var(--an-med, 240ms) var(--an-ease, ease);
}

.an-ws-make.is-in .an-ws-sheet { transform: translateY(0); }

@media (min-width: 861px) {
	.an-ws-make { align-items: center; }
	.an-ws-sheet { border-radius: var(--an-radius-lg, 16px); }
}

.an-ws-sheet-h { display: flex; align-items: center; gap: var(--an-space-3, 12px); }

.an-ws-sheet-h h2 {
	flex: 1;
	margin: 0;
	font-family: var(--an-font-editorial, Georgia, serif);
	font-size: var(--an-t-h4, 1.2rem);
	color: var(--an-text, #16181A);
}

.an-ws-x {
	border: 0; background: none; cursor: pointer;
	font-size: 24px; line-height: 1; padding: 2px 6px;
	color: var(--an-text-3, #82878C);
}

.an-ws-blurb {
	margin: var(--an-space-3, 12px) 0 var(--an-space-4, 16px);
	font: var(--an-t-small, 15px) / 1.6 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
}

.an-ws-opts { display: flex; flex-direction: column; gap: var(--an-space-2, 8px); }

.an-ws-opt {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: var(--an-space-3, 12px) var(--an-space-4, 16px);
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-md, 10px);
	background: var(--an-surface-2, #FAFAF8);
	text-align: left;
	cursor: pointer;
}

.an-ws-opt:hover { border-color: var(--an-primary, #1F6B4A); }
.an-ws-opt:focus-visible { outline: 2px solid var(--an-accent, #B4501C); outline-offset: 2px; }

.an-ws-opt strong {
	font: 500 var(--an-t-small, 15px) / 1.3 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-ws-opt span {
	font: var(--an-t-micro, 13px) / 1.45 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

.an-ws-fields { display: flex; gap: var(--an-space-3, 12px); margin-top: var(--an-space-4, 16px); }
.an-ws-fields label { flex: 1; display: flex; flex-direction: column; gap: 4px; }

.an-ws-fields span {
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

.an-ws-fields input {
	padding: 9px 12px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-sm, 6px);
	background: var(--an-surface-2, #FAFAF8);
	font: var(--an-t-small, 15px) / 1.3 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-ws-status {
	margin: var(--an-space-3, 12px) 0 0;
	min-height: 1.3em;
	font: var(--an-t-micro, 13px) / 1.45 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
}

/* ── an artifact ───────────────────────────────────────────── */

.an-art {
	max-width: 76ch;
	margin: 0 auto;
	padding: var(--an-space-7, 48px) var(--an-gutter, 24px) var(--an-space-9, 96px);
}

.an-art-kind {
	display: flex;
	flex-wrap: wrap;
	gap: var(--an-space-2, 8px);
	margin: 0 0 var(--an-space-2, 8px);
	font: 500 var(--an-t-micro, 13px) / 1.4 var(--an-font-ui, system-ui);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--an-primary, #1F6B4A);
}

.an-art-rev { color: var(--an-text-3, #82878C); letter-spacing: 0; text-transform: none; }

.an-art-t {
	margin: 0 0 var(--an-space-4, 16px);
	font-family: var(--an-font-editorial, Georgia, serif);
	font-size: var(--an-t-h2, 2rem);
	line-height: var(--an-lh-snug, 1.2);
	text-wrap: balance;
	color: var(--an-text, #16181A);
}

.an-art-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--an-space-2, 8px);
	padding-bottom: var(--an-space-5, 24px);
	border-bottom: 1px solid var(--an-line, #DEDEDA);
}

.an-art-tools button {
	padding: 7px 14px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: 999px;
	background: var(--an-surface, #fff);
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
	cursor: pointer;
}

.an-art-tools button:hover { border-color: var(--an-text-3, #82878C); color: var(--an-text, #16181A); }
.an-art-said { font: var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui); color: var(--an-primary, #1F6B4A); }

.an-art-notes {
	margin: var(--an-space-5, 24px) 0 0;
	padding: var(--an-space-4, 16px);
	border-left: 2px solid var(--an-warn, #9A6A00);
	background: var(--an-surface-2, #FAFAF8);
}

.an-art-notes p {
	margin: 0 0 var(--an-space-2, 8px);
	font: var(--an-t-small, 15px) / 1.6 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
}

.an-art-notes p:last-child { margin-bottom: 0; }

.an-art-sec { margin: var(--an-space-6, 32px) 0 0; }

.an-art-sec > h2 {
	margin: 0 0 var(--an-space-3, 12px);
	font-family: var(--an-font-ui, system-ui);
	font-size: var(--an-t-h4, 1.2rem);
	color: var(--an-text, #16181A);
}

.an-art-sec.is-observed {
	padding: var(--an-space-4, 16px);
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-md, 10px);
	background: var(--an-surface-2, #FAFAF8);
}

.an-art-dl {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--an-space-3, 12px);
	margin: 0;
}

.an-art-dl > div {
	padding: var(--an-space-3, 12px);
	border: 1px solid var(--an-line-soft, #EBEBE7);
	border-radius: var(--an-radius-sm, 6px);
}

.an-art-dl dt {
	margin: 0 0 3px;
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--an-text-3, #82878C);
}

.an-art-dl dd {
	margin: 0;
	font: var(--an-t-small, 15px) / 1.4 var(--an-font-ui, system-ui);
	font-variant-numeric: tabular-nums;
	color: var(--an-text, #16181A);
}

.an-art-why {
	display: block;
	font: var(--an-t-micro, 13px) / 1.4 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

/* Wide tables scroll inside their own box; the page never scrolls sideways. */
.an-art-scroll { overflow-x: auto; }

.an-art-tbl {
	width: 100%;
	border-collapse: collapse;
	font: var(--an-t-small, 15px) / 1.5 var(--an-font-ui, system-ui);
}

.an-art-tbl th {
	padding: 8px 10px;
	border-bottom: 1px solid var(--an-line, #DEDEDA);
	text-align: left;
	font: 500 var(--an-t-micro, 13px) / 1.3 var(--an-font-ui, system-ui);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--an-text-3, #82878C);
	white-space: nowrap;
}

.an-art-tbl td {
	padding: 10px;
	border-bottom: 1px solid var(--an-line-soft, #EBEBE7);
	color: var(--an-text, #16181A);
	vertical-align: top;
}

.an-art-tbl .an-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.an-art-blank { min-width: 90px; border-bottom: 1px solid var(--an-line, #DEDEDA); }

.an-art-check { margin: 0; padding: 0; list-style: none; }

.an-art-check li { border-bottom: 1px solid var(--an-line-soft, #EBEBE7); }
.an-art-check li.is-l3 label { padding-left: var(--an-space-5, 24px); }

.an-art-check label {
	display: flex;
	align-items: flex-start;
	gap: var(--an-space-3, 12px);
	padding: var(--an-space-3, 12px) 0;
	font: var(--an-t-small, 15px) / 1.5 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
	cursor: pointer;
}

.an-art-check input { margin-top: 3px; }
.an-art-check input:checked + span { color: var(--an-text-3, #82878C); text-decoration: line-through; }

.an-art-prose {
	margin: 0;
	font: var(--an-t-body, 17px) / var(--an-lh-body, 1.65) var(--an-font-editorial, Georgia, serif);
	color: var(--an-text, #16181A);
}

.an-art-f {
	margin: var(--an-space-7, 48px) 0 0;
	padding-top: var(--an-space-5, 24px);
	border-top: 1px solid var(--an-line, #DEDEDA);
}

.an-art-fine {
	margin: 0 0 var(--an-space-2, 8px);
	font: var(--an-t-micro, 13px) / 1.55 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

/* A plan is used on paper in the room it describes. Everything that only makes
   sense on a screen comes off, and the tick boxes stay because a printed
   checklist is the point. */
@media print {
	.an-art-tools,
	.an-ws-fab,
	.an-v-fab,
	.an-v,
	.an-tabbar,
	.an-header,
	.an-footer { display: none !important; }

	.an-art { max-width: none; padding: 0; }
	.an-art-tbl { font-size: 11pt; }
	.an-art-sec { break-inside: avoid; }
	.an-art-scroll { overflow: visible; }
	a[href]::after { content: ""; }
}

@media (prefers-reduced-motion: reduce) {
	.an-ws-make,
	.an-ws-sheet { transition: none; }
}

/* ── projects ──────────────────────────────────────────────── */

.an-pj {
	max-width: 76ch;
	margin: 0 auto;
	padding: var(--an-space-7, 48px) var(--an-gutter, 24px) var(--an-space-9, 96px);
}

.an-pj-kind {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--an-space-2, 8px);
	margin: 0 0 var(--an-space-2, 8px);
	font: 500 var(--an-t-micro, 13px) / 1.4 var(--an-font-ui, system-ui);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--an-primary, #1F6B4A);
}

.an-pj-status {
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--an-sunk, #EAEAE6);
	color: var(--an-text-2, #52565A);
	letter-spacing: 0;
}

.an-pj-status.is-active { background: var(--an-primary, #1F6B4A); color: var(--an-primary-c, #fff); }
.an-pj-status.is-done { background: var(--an-line, #DEDEDA); color: var(--an-text-3, #82878C); }

.an-pj-t {
	margin: 0 0 var(--an-space-2, 8px);
	font-family: var(--an-font-editorial, Georgia, serif);
	font-size: var(--an-t-h2, 2rem);
	line-height: var(--an-lh-snug, 1.2);
	text-wrap: balance;
	color: var(--an-text, #16181A);
}

/* The one line the page exists to show: where you are today. */
.an-pj-day {
	margin: 0 0 var(--an-space-4, 16px);
	font: var(--an-t-body, 17px) / 1.5 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-pj-next {
	display: block;
	font-size: var(--an-t-small, 15px);
	color: var(--an-text-3, #82878C);
}

.an-pj-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--an-space-2, 8px);
	padding-bottom: var(--an-space-5, 24px);
	border-bottom: 1px solid var(--an-line, #DEDEDA);
}

.an-pj-tools button,
.an-pj-btn {
	padding: 7px 14px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: 999px;
	background: var(--an-surface, #fff);
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
	text-decoration: none;
	cursor: pointer;
}

.an-pj-tools button:hover,
.an-pj-btn:hover { border-color: var(--an-text-3, #82878C); color: var(--an-text, #16181A); }
.an-pj-tools button:disabled { opacity: .45; cursor: default; }
#an-pj-del:hover { border-color: var(--an-accent, #B4501C); color: var(--an-accent, #B4501C); }
.an-pj-said { font: var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui); color: var(--an-primary, #1F6B4A); }

.an-pj-sec { margin: var(--an-space-6, 32px) 0 0; }

.an-pj-sec > h2 {
	display: flex;
	align-items: baseline;
	gap: var(--an-space-2, 8px);
	margin: 0 0 var(--an-space-3, 12px);
	font-family: var(--an-font-ui, system-ui);
	font-size: var(--an-t-h4, 1.2rem);
	color: var(--an-text, #16181A);
}

.an-pj-count {
	font: var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	font-variant-numeric: tabular-nums;
	color: var(--an-text-3, #82878C);
}

.an-pj-note {
	margin: 0 0 var(--an-space-3, 12px);
	font: var(--an-t-small, 15px) / 1.6 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

.an-pj-sec.is-log {
	padding: var(--an-space-5, 24px);
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-md, 10px);
	background: var(--an-surface-2, #FAFAF8);
}

.an-pj-log {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
	gap: var(--an-space-2, 8px);
	align-items: end;
}

.an-pj-log .an-pj-wide { grid-column: 1 / -1; }
.an-pj-log label { display: flex; flex-direction: column; gap: 4px; }

.an-pj-log span {
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

.an-pj-log input {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--an-line, #DEDEDA);
	border-radius: var(--an-radius-sm, 6px);
	background: var(--an-surface, #fff);
	font: var(--an-t-small, 15px) / 1.3 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-pj-log button {
	padding: 10px 18px;
	border: 0;
	border-radius: var(--an-radius-sm, 6px);
	background: var(--an-primary, #1F6B4A);
	color: var(--an-primary-c, #fff);
	font: 500 var(--an-t-small, 15px) / 1.3 var(--an-font-ui, system-ui);
	cursor: pointer;
}

/* Within / above / below, as colour and as a word — never colour alone. */
.an-pj-v {
	padding: 2px 9px;
	border-radius: 999px;
	font: 500 var(--an-t-micro, 13px) / 1.5 var(--an-font-ui, system-ui);
	background: var(--an-sunk, #EAEAE6);
	color: var(--an-text-2, #52565A);
}

.an-pj-v.is-within { background: #E4F0E8; color: #1F6B4A; }
.an-pj-v.is-above { background: #FDF0E4; color: #9A6A00; }
.an-pj-v.is-below { background: #FBE9E2; color: #B4501C; }

.an-pj-stages { margin: 0; padding: 0; list-style: none; }

.an-pj-stages li {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 2px var(--an-space-3, 12px);
	padding: var(--an-space-3, 12px) 0 var(--an-space-3, 12px) var(--an-space-4, 16px);
	border-left: 2px solid var(--an-line, #DEDEDA);
}

.an-pj-stages li.is-past { border-left-color: var(--an-primary, #1F6B4A); }
.an-pj-stages li.is-here { border-left-color: var(--an-accent, #B4501C); background: var(--an-surface-2, #FAFAF8); }

.an-pj-stage-d {
	font: var(--an-t-micro, 13px) / 1.5 var(--an-font-ui, system-ui);
	font-variant-numeric: tabular-nums;
	color: var(--an-text-3, #82878C);
}

.an-pj-stage-n {
	font: 500 var(--an-t-small, 15px) / 1.4 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-pj-stage-w {
	grid-column: 2;
	font: var(--an-t-micro, 13px) / 1.5 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
}

@media (max-width: 560px) {
	.an-pj-stages li { grid-template-columns: 1fr; }
	.an-pj-stage-w { grid-column: 1; }
}

.an-pj-entry {
	padding: var(--an-space-3, 12px) 0;
	border-bottom: 1px solid var(--an-line-soft, #EBEBE7);
}

.an-pj-entry-m {
	margin: 0 0 4px;
	font: 500 var(--an-t-micro, 13px) / 1 var(--an-font-ui, system-ui);
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--an-text-3, #82878C);
}

.an-pj-entry-n {
	margin: 0;
	font: var(--an-t-small, 15px) / 1.55 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-pj-entry-r {
	margin: 4px 0 0;
	font: var(--an-t-micro, 13px) / 1.4 var(--an-font-mono, ui-monospace, monospace);
	font-variant-numeric: tabular-nums;
	color: var(--an-primary, #1F6B4A);
}

.an-pj-make { display: flex; flex-wrap: wrap; gap: var(--an-space-2, 8px); margin: var(--an-space-4, 16px) 0 0; }
.an-pj-f { margin: var(--an-space-7, 48px) 0 0; padding-top: var(--an-space-5, 24px); border-top: 1px solid var(--an-line, #DEDEDA); }

/* ── research ──────────────────────────────────────────────── */

.an-art-dl.is-wide { grid-template-columns: 1fr; }

.an-art-quote {
	margin: 0 0 var(--an-space-4, 16px);
	padding-left: var(--an-space-4, 16px);
	border-left: 2px solid var(--an-line, #DEDEDA);
}

.an-art-quote p {
	margin: 0 0 4px;
	font: var(--an-t-small, 15px) / 1.6 var(--an-font-editorial, Georgia, serif);
	color: var(--an-text, #16181A);
}

.an-art-quote cite {
	font: var(--an-t-micro, 13px) / 1.4 var(--an-font-ui, system-ui);
	font-style: normal;
}

.an-art-quote cite a { color: var(--an-text-3, #82878C); }

.an-art-risk { margin: 0 0 var(--an-space-3, 12px); }

.an-art-risk-k {
	display: flex;
	flex-wrap: wrap;
	gap: var(--an-space-2, 8px);
	margin: 0 0 2px;
	font: 500 var(--an-t-small, 15px) / 1.4 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-art-risk-k span {
	font-weight: 400;
	font-size: var(--an-t-micro, 13px);
	color: var(--an-text-3, #82878C);
}

.an-art-risk p:last-child {
	margin: 0;
	font: var(--an-t-small, 15px) / 1.6 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
}

/* Gaps are the most useful section, so they are the one that is boxed. */
.an-art-sec.is-gaps {
	padding: var(--an-space-4, 16px) var(--an-space-5, 24px);
	border: 1px solid var(--an-warn, #9A6A00);
	border-radius: var(--an-radius-md, 10px);
	background: var(--an-surface-2, #FAFAF8);
}

.an-art-sec.is-gaps ul,
.an-art-plain { margin: 0; padding-left: 1.2em; }

.an-art-sec.is-gaps li,
.an-art-plain li {
	margin: 0 0 var(--an-space-2, 8px);
	font: var(--an-t-small, 15px) / 1.6 var(--an-font-ui, system-ui);
	color: var(--an-text-2, #52565A);
}

/* ── alerts on Today ───────────────────────────────────────── */

.an-td-alert {
	display: flex;
	gap: var(--an-space-3, 12px);
	padding: var(--an-space-3, 12px) 0;
	border-bottom: 1px solid var(--an-line-soft, #EBEBE7);
	text-decoration: none;
}

.an-td-alert-b { flex: 1; }

.an-td-alert-t {
	display: block;
	font: 500 var(--an-t-small, 15px) / 1.4 var(--an-font-ui, system-ui);
	color: var(--an-text, #16181A);
}

.an-td-alert-s {
	display: block;
	margin-top: 2px;
	font: var(--an-t-micro, 13px) / 1.5 var(--an-font-ui, system-ui);
	color: var(--an-text-3, #82878C);
}

.an-td-alert-i {
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	margin-top: 6px;
	border-radius: 50%;
	background: var(--an-text-3, #82878C);
}

.an-td-alert.is-now .an-td-alert-i { background: var(--an-accent, #B4501C); }
.an-td-alert.is-soon .an-td-alert-i { background: var(--an-warn, #9A6A00); }

@media print {
	.an-pj-tools,
	.an-pj-sec.is-log { display: none !important; }
	.an-pj { max-width: none; padding: 0; }
}
