
	.calendar.svelte-1iu5iby {
		border: 1px solid var(--border);
		border-radius: 8px;
		background: var(--surface);
		padding: 0.85rem;
	}

	.cal-header.svelte-1iu5iby {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 0.6rem;
	}

	.cal-header.svelte-1iu5iby button:where(.svelte-1iu5iby) {
		border: none;
		background: none;
		color: var(--muted);
		font-size: 1rem;
		line-height: 1;
		cursor: pointer;
		padding: 0.2rem 0.45rem;
		border-radius: 4px;
	}

	.cal-header.svelte-1iu5iby button:where(.svelte-1iu5iby):hover {
		background: var(--border);
		color: var(--text);
	}

	.cal-month.svelte-1iu5iby {
		font-size: 0.85rem;
		font-weight: 600;
		color: var(--text);
	}

	.cal-weekdays.svelte-1iu5iby {
		display: grid;
		grid-template-columns: repeat(7, 1fr);
		text-align: center;
		font-size: 0.7rem;
		color: var(--muted);
		margin-bottom: 0.25rem;
	}

	.cal-grid.svelte-1iu5iby {
		display: grid;
		grid-template-columns: repeat(7, 1fr);
		gap: 2px;
	}

	.cal-day.svelte-1iu5iby {
		aspect-ratio: 1;
		border: none;
		background: none;
		border-radius: 6px;
		font-size: 0.8rem;
		font-family: inherit;
		color: var(--text);
		cursor: pointer;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
	}

	.cal-day.empty.svelte-1iu5iby {
		visibility: hidden;
		cursor: default;
	}

	.cal-day.svelte-1iu5iby:not(.empty):hover {
		background: var(--border);
	}

	.cal-day.today.svelte-1iu5iby {
		font-weight: 700;
		color: var(--accent);
	}

	.cal-day.selected.svelte-1iu5iby {
		background: var(--accent);
		color: #fff;
	}

	.cal-day.has-entry.svelte-1iu5iby::after {
		content: '';
		position: absolute;
		bottom: 3px;
		width: 4px;
		height: 4px;
		border-radius: 50%;
		background: var(--accent);
	}

	.cal-day.selected.has-entry.svelte-1iu5iby::after {
		background: #fff;
	}

	.cal-today-link.svelte-1iu5iby {
		display: block;
		width: 100%;
		margin-top: 0.6rem;
		padding: 0.35rem;
		border: 1px solid var(--border);
		border-radius: 6px;
		background: none;
		color: var(--muted);
		font-size: 0.8rem;
		font-family: inherit;
		cursor: pointer;
	}

	.cal-today-link.svelte-1iu5iby:hover {
		background: var(--border);
		color: var(--text);
	}

	.cal-events.svelte-2l0fll {
		margin-top: 2rem;
		padding-top: 1.5rem;
		border-top: 1px solid var(--border);
	}

	.header-row.svelte-2l0fll {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		margin-bottom: 0.75rem;
	}

	h2.svelte-2l0fll {
		font-size: 1.15rem;
		letter-spacing: 0.05em;
		color: var(--text);
		font-weight: 500;
		margin: 0;
	}

	.manage-link.svelte-2l0fll {
		font-size: 0.8rem;
		color: var(--accent);
		text-decoration: none;
	}

	.manage-link.svelte-2l0fll:hover {
		text-decoration: underline;
	}

	.cal-events-note.svelte-2l0fll {
		margin: 0;
		font-size: 0.8rem;
		color: var(--muted);
	}

	.cal-events-list.svelte-2l0fll {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 0.6rem;
	}

	.cal-events-list.svelte-2l0fll li:where(.svelte-2l0fll) {
		display: flex;
		flex-direction: column;
		gap: 0.1rem;
	}

	.cal-events-time.svelte-2l0fll {
		font-size: 0.7rem;
		color: var(--accent);
		font-weight: 600;
	}

	.cal-events-title.svelte-2l0fll {
		font-size: 1.05rem;
		color: var(--text);
	}

	.cal-events-location.svelte-2l0fll {
		font-size: 0.75rem;
		color: var(--muted);
	}

	.cal-events-source.svelte-2l0fll {
		font-size: 0.7rem;
		color: var(--muted);
		font-style: italic;
	}

	.task-summary.svelte-1en9peb {
		margin-top: 2rem;
		padding-top: 1.5rem;
		border-top: 1px solid var(--border);
	}

	.header-row.svelte-1en9peb {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		margin-bottom: 0.75rem;
	}

	h2.svelte-1en9peb {
		font-size: 1.15rem;
		letter-spacing: 0.05em;
		color: var(--text);
		font-weight: 500;
		margin: 0;
	}

	.manage-link.svelte-1en9peb {
		font-size: 0.8rem;
		color: var(--accent);
		text-decoration: none;
	}

	.manage-link.svelte-1en9peb:hover {
		text-decoration: underline;
	}

	.empty.svelte-1en9peb {
		color: var(--muted);
		font-size: 0.9rem;
		margin: 0;
	}

	ul.svelte-1en9peb {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	li.svelte-1en9peb {
		display: flex;
		align-items: center;
		gap: 0.6rem;
		padding: 0.4rem 0;
	}

	li.svelte-1en9peb + li:where(.svelte-1en9peb) {
		border-top: 1px solid var(--border);
	}

	li.completing.svelte-1en9peb {
		opacity: 0.55;
	}

	li.completing.svelte-1en9peb .task-text:where(.svelte-1en9peb) {
		text-decoration: line-through;
	}

	input[type='checkbox'].svelte-1en9peb {
		flex: none;
		width: 1rem;
		height: 1rem;
		accent-color: var(--accent);
		cursor: pointer;
	}

	input[type='checkbox'].svelte-1en9peb:disabled {
		cursor: default;
	}

	.task-text.svelte-1en9peb {
		flex: 1;
		min-width: 0;
		font-size: 1.05rem;
		color: var(--text);
	}

	.task-text.overdue.svelte-1en9peb {
		color: #b5482f;
	}

	.recur-badge.svelte-1en9peb {
		flex: none;
		font-size: 0.75rem;
		color: var(--accent);
	}

	.week-note.svelte-4cjmk8 {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		margin-bottom: 1.25rem;
		padding: 0.75rem 0.9rem;
		border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border));
		border-left: 3px solid var(--accent);
		border-radius: 8px;
		background: color-mix(in srgb, var(--accent) 6%, var(--surface));
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	}

	.week-note-header.svelte-4cjmk8 {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	/* Matches the site's other section headings (e.g. "What Needs Done"). */
	.week-note-label.svelte-4cjmk8 {
		font-size: 1.15rem;
		letter-spacing: 0.05em;
		color: var(--text);
		font-weight: 500;
		margin: 0;
	}

	.week-note-dismiss.svelte-4cjmk8 {
		border: none;
		background: none;
		color: var(--muted);
		font-size: 1rem;
		line-height: 1;
		padding: 0.1rem 0.3rem;
		cursor: pointer;
	}

	.week-note-dismiss.svelte-4cjmk8:hover {
		color: #b5482f;
	}

	/* Caps the embedded editor at roughly 4 rows of text (line-height 1.35 ×
	   font-size 1.05rem × 4, plus the editor's own top/bottom padding),
	   scrolling internally past that instead of growing the callout. */
	.week-note-editor.svelte-4cjmk8 .content {
		min-height: 7.7rem;
		max-height: 7.7rem;
		overflow-y: auto;
	}

	.week-note-add.svelte-4cjmk8 {
		display: inline-block;
		margin-bottom: 1.25rem;
		border: none;
		background: none;
		color: var(--muted);
		font-family: inherit;
		font-size: 0.85rem;
		padding: 0;
		cursor: pointer;
	}

	.week-note-add.svelte-4cjmk8:hover {
		color: var(--accent);
	}

	.weather-line.svelte-1q8jm7b {
		display: block;
		width: 100%;
		text-align: left;
		margin: 0;
		border: none;
		background: none;
		font-family: inherit;
		font-size: 1.05rem;
		color: var(--text);
		padding: 0;
		cursor: pointer;
	}

	.weather-label.svelte-1q8jm7b {
		font-weight: 500;
	}

	.weather-sep.svelte-1q8jm7b {
		margin: 0 0.4em;
		color: var(--muted);
	}

	.weather-info.svelte-1q8jm7b {
		color: var(--text);
	}

	.weather-temp.svelte-1q8jm7b {
		font-weight: 700;
	}

	.weather-line.svelte-1q8jm7b:hover .weather-label:where(.svelte-1q8jm7b),
	.weather-line.svelte-1q8jm7b:hover .weather-info:where(.svelte-1q8jm7b) {
		color: var(--accent);
	}

	.weather-add.svelte-1q8jm7b {
		display: inline-block;
		margin: 0;
		border: none;
		background: none;
		color: var(--muted);
		font-family: inherit;
		font-size: 0.85rem;
		padding: 0;
		cursor: pointer;
	}

	.weather-add.svelte-1q8jm7b:hover {
		color: var(--accent);
	}

	.today-layout.svelte-1uha8ag {
		display: flex;
		gap: 1.5rem;
		align-items: flex-start;
	}

	.sidebar.svelte-1uha8ag {
		flex: none;
		width: 220px;
		position: sticky;
		top: 1.5rem;
	}

	.divider.svelte-1uha8ag {
		flex: none;
		align-self: stretch;
		width: 1px;
		background: var(--border);
	}

	.today.svelte-1uha8ag {
		flex: 1;
		min-width: 0;
	}

	.date-nav.svelte-1uha8ag {
		display: flex;
		align-items: center;
		gap: 0.6rem;
		margin: 0 0 1.25rem;
	}

	.today.svelte-1uha8ag h1:where(.svelte-1uha8ag) {
		font-size: 1.15rem;
		font-weight: 500;
		color: var(--text);
		margin: 0;
	}

	.date-label.svelte-1uha8ag {
		border: none;
		background: none;
		padding: 0;
		margin: 0;
		font: inherit;
		color: inherit;
		cursor: pointer;
		border-radius: 4px;
	}

	.date-label.svelte-1uha8ag:hover {
		color: var(--accent);
	}

	.date-nav-btn.svelte-1uha8ag {
		flex: none;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 1.75rem;
		height: 1.75rem;
		border: 1px solid var(--border);
		border-radius: 6px;
		background: none;
		color: var(--muted);
		font-family: inherit;
		font-size: 1.1rem;
		line-height: 1;
		cursor: pointer;
	}

	.date-nav-btn.svelte-1uha8ag:hover {
		background: var(--border);
		color: var(--text);
	}

	/* Matches the "This Week's Reminders & Notes…" callout's border/shadow so
	   the weather line and the journal editor read as one grouped section
	   directly below it. */
	.today-entry-group.svelte-1uha8ag {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		padding: 0.75rem 0.9rem;
		border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border));
		border-left: 3px solid var(--accent);
		border-radius: 8px;
		background: color-mix(in srgb, var(--accent) 6%, var(--surface));
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	}

	.status.svelte-1uha8ag {
		margin-top: 0.5rem;
		font-size: 0.85rem;
		color: var(--muted);
		height: 1.2em;
	}

	@media (max-width: 640px) {
		.today-layout.svelte-1uha8ag {
			flex-direction: column;
		}

		.sidebar.svelte-1uha8ag {
			width: 100%;
			position: static;
		}

		.divider.svelte-1uha8ag {
			display: none;
		}
	}
