/* biome-ignore-all lint/style/noDescendingSpecificity: Theme and responsive override layers intentionally precede some base component rules. */
/* biome-ignore-all lint/complexity/noImportantStyles: Tooltip emphasis and FullCalendar sizing need override priority against third-party/runtime styles. */
:root {
	color-scheme: dark;
	--font-body: "Aptos", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
	--font-display: Georgia, "Times New Roman", serif;
	--font-label: "Bahnschrift", "Aptos", "Segoe UI", system-ui, sans-serif;
	--font-mono:
		"Cascadia Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
	--bg: #020617;
	--surface: #0f172a;
	--surface-2: #111827;
	--panel: rgba(15, 23, 42, 0.9);
	--border: #334155;
	--border-soft: #1e293b;
	--border-strong: #64748b;
	--border-muted: rgba(100, 116, 139, 0.34);
	--border-accent: #38bdf8;
	--border-accent-soft: rgba(56, 189, 248, 0.42);
	--theme-divider: rgba(100, 116, 139, 0.28);
	--text: #f8fafc;
	--muted: #94a3b8;
	--faint: #64748b;
	--accent: #38bdf8;
	--accent-2: #22c55e;
	--danger: #fca5a5;
	--theme-hover: #1e293b;
	--theme-control: #0f172a;
	--theme-control-hover: #1e293b;
	--theme-select-bg: #020617;
	--theme-select-text: #f8fafc;
	--theme-select-option-bg: #0f172a;
	--theme-select-option-text: #f8fafc;
	--theme-select-option-active: #075985;
	--theme-select-option-active-text: #ffffff;
	--theme-ring: rgba(56, 189, 248, 0.34);
	--theme-shadow: rgba(2, 6, 23, 0.48);
	--on-bg: #f8fafc;
	--on-surface: #f8fafc;
	--on-surface-2: #f8fafc;
	--on-accent: #020617;
	--on-accent-2: #020617;
	--on-danger: #020617;
	--tooltip-bg: color-mix(in srgb, var(--surface) 94%, var(--bg));
	--tooltip-text: var(--on-surface, var(--text));
	--tooltip-border: color-mix(in srgb, var(--accent) 58%, var(--border));
	--tooltip-dot: var(--accent);
	--tooltip-ring: var(--theme-ring);
	--tooltip-shadow: var(--theme-shadow);
	--app-height: 100vh;
	--app-max-width: 720px;
	--content-pad: 32px;
	--safe-top: 0px;
	--safe-right: 0px;
	--safe-bottom: 0px;
	--safe-left: 0px;
	--content-side: max(
		var(--content-pad),
		calc((100% - var(--app-max-width)) / 2)
	);
	--bottom-menu-left: max(var(--content-side), var(--safe-left));
	--bottom-menu-right: max(var(--content-side), var(--safe-right));
	--bottom-menu-top: calc(var(--safe-top) + var(--content-pad) + 72px);
	--bottom-menu-button-height: 44px;
	--bottom-menu-toggle-height: calc(
		var(--bottom-menu-button-height) +
		var(--safe-bottom)
	);
	--sidebar-width: 270px;
	--dashboard-card-size-base: 154px;
	--dashboard-card-size-height-cap: var(--dashboard-card-size-base);
	--dashboard-card-size: min(
		var(--dashboard-card-size-base),
		var(--dashboard-card-size-height-cap)
	);
	--dashboard-density-gap: 12px;
	--dashboard-section-title-size: 1.05rem;
	--dashboard-body-size: 0.82rem;
	--dashboard-nav-min-height: 38px;
	--dashboard-nav-font-size: 0.82rem;
	--dashboard-header-snap-duration: 0.14s;
	--dashboard-header-offset: 0px;
	--panel-section-gap: 8px;
	--menu-body-gap: 8px;
	--tracker-orb-size: 38px;
	--tracker-strip-height: 84px;
}

:root.theme-consolas {
	--font-body:
		Consolas, "Cascadia Mono", "SFMono-Regular", "Liberation Mono", monospace;
	--font-display:
		Consolas, "Cascadia Mono", "SFMono-Regular", "Liberation Mono", monospace;
	--font-label:
		Consolas, "Cascadia Mono", "SFMono-Regular", "Liberation Mono", monospace;
	--font-mono:
		Consolas, "Cascadia Mono", "SFMono-Regular", "Liberation Mono", monospace;
	--bg: #050505;
	--surface: #080808;
	--surface-2: #0d0d0d;
	--panel: rgba(8, 8, 8, 0.96);
	--border: #efeee7;
	--border-soft: rgba(239, 238, 231, 0.58);
	--border-strong: #efeee7;
	--border-muted: rgba(239, 238, 231, 0.32);
	--border-accent: #efeee7;
	--border-accent-soft: rgba(239, 238, 231, 0.64);
	--theme-divider: rgba(239, 238, 231, 0.42);
	--text: #f1f0e8;
	--muted: #d6d3c9;
	--faint: #aaa79f;
	--accent: #efeee7;
	--accent-2: #d6d3c9;
	--danger: #f0b7b7;
	--theme-select-bg: #050505;
	--theme-select-text: #f1f0e8;
	--theme-select-option-bg: #080808;
	--theme-select-option-text: #f1f0e8;
	--theme-select-option-active: #efeee7;
	--theme-select-option-active-text: #050505;
	--on-bg: #f1f0e8;
	--on-surface: #f1f0e8;
	--on-surface-2: #f1f0e8;
	--on-accent: #050505;
	--on-accent-2: #050505;
	--on-danger: #050505;
}

@supports (height: 100dvh) {
	:root {
		--app-height: 100dvh;
	}
}

* {
	box-sizing: border-box;
}

html {
	width: 100%;
	height: var(--app-height);
	overflow: hidden;
}

body {
	margin: 0;
	min-width: 320px;
	width: 100%;
	height: var(--app-height);
	min-height: var(--app-height);
	overflow: hidden;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.45;
}

:root.theme-consolas body {
	background: #050505;
}

button,
input,
textarea,
select {
	font: inherit;
}

button {
	cursor: pointer;
	font-family: var(--font-label);
}

input,
textarea,
select {
	font-family: var(--font-body);
}

select {
	color-scheme: inherit;
}

select option {
	background: var(--theme-select-option-bg);
	color: var(--theme-select-option-text);
}

select option:checked {
	background: var(--theme-select-option-active);
	color: var(--theme-select-option-active-text);
}

:root.theme-accessibility-colorblind {
	--colorblind-pattern-color: color-mix(in srgb, var(--text) 34%, transparent);
	--colorblind-focus-ring: 0 0 0 3px
		color-mix(in srgb, var(--accent) 42%, transparent);
}

:root.theme-accessibility-colorblind .dashboard-pie-segment,
:root.theme-accessibility-colorblind .dashboard-bar-button,
:root.theme-accessibility-colorblind .tracker-orb,
:root.theme-accessibility-colorblind .life-tracker-pill {
	outline-offset: 2px;
}

:root.theme-accessibility-colorblind .body-mode-button.is-active,
:root.theme-accessibility-colorblind .dashboard-chart-switcher button.is-active,
:root.theme-accessibility-colorblind .theme-choice.is-active,
:root.theme-accessibility-colorblind .dashboard-identity-toggle.is-active {
	box-shadow:
		inset 0 -2px 0 currentColor,
		var(--colorblind-focus-ring);
}

.app-shell,
.workspace,
.sidebar,
.panel,
.reader-panel,
.reader-book,
.reader-slide,
.markdown-body,
.editor-form,
.body-card,
.life-card,
.spirit-dashboard,
.spirit-detail-card,
.donation-panel,
.camera-panel,
.timer-panel,
.life-fullcalendar.fc,
.life-fullcalendar .fc {
	font-family: var(--font-body);
}

.home-button,
.panel-header h2,
.reader-heading h2,
.donation-panel h2,
.camera-panel h2,
.timer-panel h2,
.empty-state h3,
.markdown-body h1,
.markdown-body h2,
.markdown-body h3 {
	font-family: var(--font-display);
}

.mobile-menu-toggle,
.path-bar,
.settings-tabs,
.theme-choice,
.sidebar-item,
.sidebar-toggle-all,
.primary-button,
.secondary-button,
.icon-button,
.body-mode-button,
.dashboard-chart-switcher button,
.dashboard-period-slider,
.tracker-page-controls,
.icon-picker-trigger,
.icon-picker-option,
.plan-select-label,
.plan-select,
.field-label,
.amount-option,
.life-calendar-switcher,
.life-mode-switcher,
.life-todo-column-heading h4,
.life-todo-columns h4,
.life-project-nav-section h4,
.life-assigned-tasks h4,
.life-event-row em,
.life-tracker-fieldset legend,
.spirit-year-button,
.spirit-reading-order {
	font-family: var(--font-label);
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.mobile-menu-toggle {
	position: relative;
	grid-row: 2;
	justify-self: stretch;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
	min-height: var(--bottom-menu-toggle-height);
	border: 0;
	border-top: 1px solid var(--border);
	background: #020617;
	color: #e2e8f0;
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.16em;
	line-height: 1.25;
	margin: 0 var(--bottom-menu-right) var(--content-pad) var(--bottom-menu-left);
	text-transform: uppercase;
	touch-action: manipulation;
	user-select: none;
}

.mobile-menu-toggle:hover {
	cursor: pointer;
}

.app-shell {
	height: var(--app-height);
	width: 100%;
	overflow: hidden;
	padding: 0;
	background: var(--surface);
}

.app-shell.is-installed-app {
	--safe-top: env(safe-area-inset-top, 0px);
	--safe-right: env(safe-area-inset-right, 0px);
	--safe-bottom: env(safe-area-inset-bottom, 0px);
	--safe-left: env(safe-area-inset-left, 0px);
}

.workspace {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr) auto;
	height: 100%;
	width: 100%;
	min-height: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: var(--surface);
	box-shadow: none;
}

:root.theme-consolas .app-shell,
:root.theme-consolas .workspace,
:root.theme-consolas .sidebar,
:root.theme-consolas .mobile-menu-toggle,
:root.theme-consolas .home-button,
:root.theme-consolas .panel,
:root.theme-consolas .sidebar-item,
:root.theme-consolas .sidebar-item-organizer,
:root.theme-consolas .dashboard-card-face,
:root.theme-consolas .dashboard-card-back-face,
:root.theme-consolas .dashboard-analytics,
:root.theme-consolas .dashboard-orb-fieldset,
:root.theme-consolas .dashboard-textbox,
:root.theme-consolas .dashboard-identity-card,
:root.theme-consolas .dashboard-identity-toggle,
:root.theme-consolas .settings-tabs,
:root.theme-consolas .settings-inline-link,
:root.theme-consolas .thoughts-settings-intro,
:root.theme-consolas .thoughts-settings-section,
:root.theme-consolas .interface-settings-section,
:root.theme-consolas .cloud-account-card,
:root.theme-consolas .cloud-usage-card,
:root.theme-consolas .cloud-sync-grid span,
:root.theme-consolas .cloud-status-pill,
:root.theme-consolas .getting-started-grid article,
:root.theme-consolas .compendium-tile,
:root.theme-consolas .compendium-picker-popover,
:root.theme-consolas .compendium-picker-tile,
:root.theme-consolas .camera-panel,
:root.theme-consolas .camera-preview,
:root.theme-consolas .timer-panel,
:root.theme-consolas .timer-display,
:root.theme-consolas .timer-custom-row,
:root.theme-consolas .timer-field,
:root.theme-consolas .section-row,
:root.theme-consolas .body-card,
:root.theme-consolas .spirit-detail-card,
:root.theme-consolas .reader-panel,
:root.theme-consolas .reader-book {
	background: #050505;
}

:root.theme-consolas button,
:root.theme-consolas input,
:root.theme-consolas textarea,
:root.theme-consolas select {
	border-color: var(--border-soft);
	color: var(--text);
}

:root.theme-consolas .primary-button,
:root.theme-consolas .secondary-button,
:root.theme-consolas .icon-button,
:root.theme-consolas .body-mode-button,
:root.theme-consolas .dashboard-chart-switcher button,
:root.theme-consolas .compendium-new-button,
:root.theme-consolas .dashboard-period-slider,
:root.theme-consolas .timer-preset-button,
:root.theme-consolas .timer-custom-row input,
:root.theme-consolas .timer-field select,
:root.theme-consolas .timer-field input,
:root.theme-consolas .theme-choice {
	border-color: var(--border-soft);
	background: #050505;
	color: var(--text);
}

:root.theme-consolas .home-button:hover,
:root.theme-consolas .home-button:focus-visible,
:root.theme-consolas .primary-button:hover,
:root.theme-consolas .secondary-button:hover,
:root.theme-consolas .icon-button:hover,
:root.theme-consolas .body-mode-button:hover,
:root.theme-consolas .body-mode-button.is-active,
:root.theme-consolas .dashboard-chart-switcher button:hover,
:root.theme-consolas .dashboard-chart-switcher button.is-active,
:root.theme-consolas .compendium-new-button:hover,
:root.theme-consolas .compendium-new-button:focus-visible,
:root.theme-consolas .dashboard-period-slider:focus-within,
:root.theme-consolas .timer-preset-button:hover,
:root.theme-consolas .timer-preset-button:focus-visible,
:root.theme-consolas .timer-preset-button.is-active,
:root.theme-consolas .timer-panel .secondary-button:hover,
:root.theme-consolas .timer-panel .secondary-button:focus-visible,
:root.theme-consolas .timer-field:focus-within,
:root.theme-consolas .theme-choice:hover,
:root.theme-consolas .theme-choice:focus-visible,
:root.theme-consolas .theme-choice.is-active {
	border-color: var(--border);
	background: #111;
	color: var(--text);
}

:root.theme-consolas .sidebar-item.is-active,
:root.theme-consolas .dashboard-card.is-color-always-on .dashboard-card-face,
:root.theme-consolas .dashboard-card:hover .dashboard-card-face,
:root.theme-consolas .dashboard-card:focus-visible .dashboard-card-face,
:root.theme-consolas .dashboard-card.is-linked-hover .dashboard-card-face,
:root.theme-consolas .dashboard-card.is-flipped .dashboard-card-face {
	border-color: var(--card-color);
	background: color-mix(in srgb, var(--card-color) 22%, #050505);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--card-color) 64%, transparent),
		0 14px 32px rgba(0, 0, 0, 0.55);
}

.workspace:not(.has-mobile-menu) {
	grid-template-columns: minmax(0, 1fr);
}

.workspace:not(.has-mobile-menu) .content-shell {
	grid-column: 1;
}

.sidebar {
	position: absolute;
	inset: var(--bottom-menu-top) var(--bottom-menu-right)
		calc(var(--bottom-menu-toggle-height) + var(--content-pad))
		var(--bottom-menu-left);
	z-index: 4;
	display: flex;
	flex-direction: column;
	gap: 0;
	width: auto;
	max-height: none;
	min-width: 0;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: hidden;
	border-top: 1px solid var(--border);
	background: #020617;
	padding: 0;
	visibility: hidden;
	transform: translateY(100%);
	transition:
		transform 0.28s ease,
		visibility 0s linear 0.28s;
}

.workspace.has-mobile-menu .sidebar {
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}

.workspace.has-mobile-menu .content-stage {
	overflow: hidden;
	overscroll-behavior: none;
	pointer-events: none;
	touch-action: none;
}

.workspace.is-resizing .mobile-menu-toggle,
.workspace.is-resizing .sidebar {
	transition: none;
}

.workspace:not(.has-mobile-menu) .sidebar {
	pointer-events: none;
}

.content-shell {
	grid-row: 1;
	grid-column: 1;
}

.home-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 96px;
	margin-bottom: 14px;
	border: 1px solid #475569;
	border-radius: 16px;
	background: #0f172a;
	color: #fff;
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 700;
	transform-origin: center;
	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		transform 0.18s ease;
}

.home-button:hover,
.home-button:focus-visible {
	border-color: #94a3b8;
	background: #111c31;
	transform: scale(1.025);
}

.sidebar-fixed-top {
	flex: 0 0 auto;
	padding: 20px 20px 0;
}

.sidebar-menu-nav {
	display: grid;
	grid-template-columns:
		var(--tracker-orb-size) minmax(0, 1fr) var(--tracker-orb-size)
		var(--tracker-orb-size);
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.sidebar-menu-nav-button {
	display: grid;
	place-items: center;
	width: var(--tracker-orb-size);
	height: var(--tracker-orb-size);
	border: 1px solid var(--border-soft);
	border-radius: 50%;
	background: var(--theme-control, #0f172a);
	color: var(--text);
	padding: 0;
	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease;
}

.sidebar-menu-nav-button:hover,
.sidebar-menu-nav-button:focus-visible {
	border-color: var(--accent);
	background: var(--theme-control-hover, #1e293b);
	color: var(--text);
	outline: none;
	transform: scale(1.04);
}

.sidebar-menu-nav-button .button-icon {
	width: 1.1rem;
	height: 1.1rem;
}

.sidebar-menu-nav-trash {
	color: var(--danger);
}

.sidebar-menu-nav-trash:hover,
.sidebar-menu-nav-trash:focus-visible {
	border-color: var(--danger);
	background: color-mix(in srgb, var(--danger) 18%, var(--theme-control));
	color: var(--danger);
}

.sidebar-menu-nav-timer.is-active {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--on-accent);
	box-shadow: 0 0 0 3px var(--theme-ring);
}

.sidebar-period-slider {
	width: 100%;
}

.sidebar-list-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 0 20px;
	scrollbar-width: thin;
	scrollbar-color: var(--border) transparent;
}

.sidebar-list-scroll::-webkit-scrollbar {
	width: 8px;
}

.sidebar-list-scroll::-webkit-scrollbar-track {
	background: transparent;
}

.sidebar-list-scroll::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: var(--border);
}

.donate-sidebar {
	min-height: 44px;
}

.sidebar-donate-row {
	flex: 0 0 auto;
	display: grid;
	gap: 10px;
	border-top: 1px solid var(--border-soft);
	background: #020617;
	padding: 14px 20px 20px;
}

.sidebar-footer-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: var(--faint);
	font-size: 0.9rem;
}

.sidebar-text-link {
	flex: 0 0 auto;
	border: 0;
	background: transparent;
	color: var(--muted);
	padding: 0;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
	white-space: nowrap;
}

.sidebar-text-link:hover {
	color: var(--text);
}

.sidebar-toggle-all {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 36px;
	margin: 0 0 14px;
	padding: 8px 10px;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: rgba(15, 23, 42, 0.72);
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sidebar-toggle-all:hover {
	border-color: var(--border);
	color: var(--text);
}

.sidebar-toggle-all span:last-child {
	flex: 0 0 auto;
	font-size: 0.95rem;
	letter-spacing: 0;
}

.sidebar-groups {
	display: grid;
	gap: 12px;
	min-width: 0;
	padding: 8px 0 14px;
}

.sidebar-submenu {
	display: grid;
	align-content: start;
	gap: 14px;
	min-width: 0;
	padding: 8px 0 18px;
}

.sidebar-submenu-header {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: color-mix(in srgb, var(--surface-2) 72%, var(--surface));
	padding: 12px;
}

.sidebar-submenu-back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 36px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: var(--theme-control, #0f172a);
	color: var(--text);
	padding: 0 11px;
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
}

.sidebar-submenu-back:hover,
.sidebar-submenu-back:focus-visible {
	border-color: var(--accent);
	background: var(--theme-control-hover, #1e293b);
	outline: none;
}

.sidebar-submenu-back .button-icon {
	width: 1rem;
	height: 1rem;
}

.sidebar-submenu-header h2,
.sidebar-submenu-header p {
	margin: 0;
}

.sidebar-submenu-header h2 {
	color: var(--text);
	font-family: var(--font-display);
	font-size: 1.05rem;
	line-height: 1.15;
}

.sidebar-submenu-header p {
	color: var(--muted);
	font-size: 0.82rem;
	line-height: 1.35;
}

.sidebar-settings-submenu .settings-page {
	grid-template-rows: auto auto;
	gap: 12px;
	height: auto;
	overflow: visible;
}

.sidebar-settings-submenu .settings-tabs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
}

.sidebar-settings-submenu .settings-tabs .body-mode-button {
	min-height: 40px;
	padding: 0 8px;
}

.sidebar-settings-submenu .settings-tab-panel {
	overflow: visible;
	padding-right: 0;
}

.sidebar-settings-submenu .getting-started-page {
	height: auto;
}

.sidebar-settings-submenu .getting-started-defaults,
.sidebar-settings-submenu .thoughts-settings-intro {
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
}

.sidebar-settings-submenu .getting-started-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sidebar-settings-submenu .body-actions,
.sidebar-settings-submenu .cloud-action-nav {
	justify-content: stretch;
}

.sidebar-settings-submenu .primary-button,
.sidebar-settings-submenu .secondary-button {
	max-width: 100%;
}

.sidebar-text-link.is-active {
	color: var(--text);
	text-decoration-thickness: 2px;
}

@media (min-width: 720px) {
	.sidebar-settings-submenu .settings-tabs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.sidebar-group {
	min-width: 0;
	max-width: 100%;
}

.sidebar-group-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0 0 8px;
	border: 0;
	border-bottom: 1px solid var(--border);
	background: transparent;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-align: left;
}

.sidebar-group-toggle:hover {
	color: var(--text);
}

.sidebar-group-chevron {
	flex: 0 0 auto;
	font-size: 0.95rem;
	letter-spacing: 0;
}

.sidebar-group-items[hidden] {
	display: none;
}

.sidebar-group-items {
	display: grid;
	gap: 7px;
	min-width: 0;
	max-width: 100%;
	overflow: visible;
	padding: 8px 0 0;
}

.sidebar-group-page {
	display: grid;
	align-content: start;
	gap: 7px;
	min-width: 0;
	container-type: inline-size;
}

.sidebar-page-controls {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 2px;
}

.sidebar-page-controls button {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 22px;
	border: 0;
	background: transparent;
	color: #e2e8f0;
	font-family: var(--font-label);
	font-size: 0.88rem;
	font-weight: 900;
	line-height: 1;
}

.sidebar-page-controls button:not(:disabled):hover {
	color: #fff;
	transform: scale(1.12);
}

.sidebar-page-controls button:disabled {
	cursor: default;
	color: var(--faint);
	opacity: 0.36;
}

.sidebar-item {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) minmax(138px, 158px);
	align-items: stretch;
	gap: 10px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: #0f172a;
	color: #cbd5e1;
	padding: 10px;
	text-align: left;
}

.sidebar-item--no-number {
	grid-template-columns: minmax(0, 1fr);
}

.sidebar-item-number {
	align-self: stretch;
	display: flex;
	align-items: center;
	border-right: 1px solid var(--border-soft);
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.sidebar-item-label {
	display: grid;
	align-content: center;
	gap: 2px;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.96rem;
	line-height: 1.2;
}

.sidebar-item-label small,
.sidebar-item-label strong {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sidebar-item-label small {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.48rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.sidebar-item-label strong {
	color: inherit;
	font: inherit;
	font-weight: inherit;
	line-height: 1.12;
}

.sidebar-item-organizer {
	display: grid;
	grid-template-rows: auto minmax(26px, 1fr);
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: rgba(2, 6, 23, 0.38);
}

.sidebar-item-date {
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 24px;
	border-bottom: 1px solid var(--border-soft);
	color: #e2e8f0;
	padding: 4px 6px;
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
}

.sidebar-item-meta-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	min-width: 0;
}

.sidebar-item-meta-cell {
	display: grid;
	place-items: center;
	gap: 1px;
	min-width: 0;
	min-height: 30px;
	border-right: 1px solid var(--border-soft);
	padding: 4px 2px;
}

.sidebar-item-meta-cell:last-child {
	border-right: 0;
}

.sidebar-item-meta-cell em,
.sidebar-item-meta-cell b {
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sidebar-item-meta-cell em {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.45rem;
	font-style: normal;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.sidebar-item-meta-cell b {
	color: #fff;
	font-family: var(--font-label);
	font-size: 0.68rem;
	line-height: 1;
}

.sidebar-item.is-active {
	border-color: var(--accent);
	background: rgba(12, 74, 110, 0.48);
	color: #fff;
}

.sidebar-group--pyxdia {
	border: 1px solid rgba(125, 211, 252, 0.22);
	border-radius: 14px;
	background: rgba(2, 6, 23, 0.34);
	padding: 10px;
}

.pyxdia-sidebar-toggle {
	padding-bottom: 9px;
}

.pyxdia-sidebar-title {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	gap: 8px;
}

.pyxdia-sidebar-title .button-icon {
	width: 18px;
	height: 18px;
	color: var(--accent);
}

.pyxdia-sidebar-items {
	gap: 8px;
}

.sidebar-item--pyxdia,
.sidebar-item--pyxdia-thread {
	grid-template-columns: 34px minmax(0, 1fr);
	padding: 9px;
}

.sidebar-item--pyxdia.sidebar-item--no-number {
	grid-template-columns: minmax(0, 1fr);
}

.sidebar-item--pyxdia .button-content {
	justify-content: flex-start;
	gap: 7px;
	min-width: 0;
}

.sidebar-item--pyxdia .button-icon {
	width: 17px;
	height: 17px;
}

.pyxdia-sidebar-conversations {
	display: grid;
	gap: 7px;
	margin-top: 2px;
}

.pyxdia-sidebar-conversations > span {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pyxdia-sidebar-empty {
	border: 1px dashed var(--border-soft);
	border-radius: 10px;
	color: var(--faint);
	padding: 10px;
	font-size: 0.78rem;
	line-height: 1.35;
}

.sidebar-item--mind-compendium.is-active,
.sidebar-item--mind-section.is-active {
	width: calc(100% - 6px);
	margin-left: 6px;
}

@container (max-width: 330px) {
	.sidebar-item {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 8px;
		padding: 8px;
	}

	.sidebar-item-label {
		display: -webkit-box;
		align-self: center;
		overflow: hidden;
		padding: 0 2px;
		font-size: 0.72rem;
		line-height: 1.08;
		text-overflow: clip;
		white-space: normal;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.sidebar-item-number {
		font-size: 0.58rem;
		letter-spacing: 0.1em;
	}

	.sidebar-item-organizer {
		grid-column: 1 / -1;
	}
}

.content-shell {
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	padding: 32px 32px 0;
}

.app-shell.is-installed-app .content-shell {
	padding-top: calc(32px + var(--safe-top));
	padding-right: max(32px, var(--safe-right));
	padding-left: max(32px, var(--safe-left));
}

.path-bar {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	width: 100%;
	max-width: var(--app-max-width);
	min-height: 48px;
	min-width: 0;
	margin: 0 auto 10px;
	overflow: visible;
	scrollbar-width: none;
	border: 1px solid var(--border-soft);
	border-radius: 0;
	background: rgba(2, 6, 23, 0.7);
	color: #cbd5e1;
	padding: 6px 12px 6px 16px;
	font-family: var(--font-label);
	font-size: 0.92rem;
	scroll-behavior: smooth;
	transition: box-shadow 0.18s ease;
}

.floating-route-text {
	width: 100%;
	max-width: var(--app-max-width);
	min-width: 0;
	margin: 0 auto 14px;
	display: flex;
	align-items: baseline;
	gap: 10px;
	color: var(--text);
	font-family: var(--font-label);
	pointer-events: none;
}

.floating-route-text span {
	flex: 0 0 auto;
	color: var(--accent);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.floating-route-text strong {
	min-width: 0;
	overflow: hidden;
	color: var(--text);
	font-size: clamp(0.9rem, 1.4vw, 1.08rem);
	font-weight: 800;
	letter-spacing: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.path-bar-crumbs {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	scroll-behavior: smooth;
}

.path-bar-crumbs::-webkit-scrollbar {
	display: none;
}

.path-bar.is-overflow-left {
	box-shadow: inset 18px 0 18px -18px var(--accent);
}

.path-bar.is-overflow-right {
	box-shadow: inset -18px 0 18px -18px var(--accent);
}

.path-bar.is-overflow-left.is-overflow-right {
	box-shadow:
		inset 18px 0 18px -18px var(--accent),
		inset -18px 0 18px -18px var(--accent);
}

.path-bar:focus-visible {
	border-color: var(--accent);
	outline: none;
}

.path-bar button {
	flex: 0 0 auto;
	border: 0;
	background: transparent;
	color: #e2e8f0;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
	white-space: nowrap;
}

.path-bar .path-camera-button {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	min-width: 34px;
	margin-left: 0;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: var(--theme-control);
	color: var(--text);
	text-decoration: none;
}

.path-bar .path-camera-button:hover,
.path-bar .path-camera-button:focus-visible {
	border-color: var(--accent);
	background: var(--theme-control-hover);
	color: var(--text);
	outline: none;
	box-shadow: 0 0 0 3px var(--theme-ring);
}

.path-camera-button .button-icon {
	width: 1rem;
	height: 1rem;
	font-size: 1rem;
}

.path-bar .info-tip {
	position: absolute;
	left: 12px;
	bottom: calc(100% + 10px);
	z-index: 8;
	width: max-content;
	max-width: min(260px, calc(100vw - 48px));
	border: 1px solid var(--tooltip-border);
	border-radius: 10px;
	background: var(--tooltip-bg);
	color: var(--tooltip-text);
	padding: 8px 10px;
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	box-shadow:
		0 14px 36px var(--tooltip-shadow),
		0 0 0 1px var(--tooltip-ring) inset;
}

.path-bar .info-tip i {
	position: absolute;
	left: 32px;
	top: 100%;
	width: 12px;
	height: 12px;
	background: color-mix(in srgb, var(--surface) 94%, var(--bg));
	border-right: 1px solid var(--tooltip-border);
	border-bottom: 1px solid var(--tooltip-border);
	transform: translateY(-6px) rotate(45deg);
}

.path-bar .info-tip.is-dismissed {
	opacity: 0.58;
	text-decoration: line-through;
}

.path-bar span {
	flex: 0 0 auto;
	color: var(--faint);
	white-space: nowrap;
}

.truncate {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.path-bar .truncate {
	flex: 0 0 auto;
	min-width: 0;
	max-width: clamp(140px, 28vw, 360px);
	overflow: hidden;
	text-overflow: ellipsis;
}

.muted {
	color: var(--muted);
}

.content-stage {
	width: 100%;
	max-width: var(--app-max-width);
	height: 100%;
	min-height: 0;
	margin: 0 auto;
	overflow: hidden;
}

.dashboard-home {
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr);
	container-type: size;
	height: 100%;
	min-height: 0;
	gap: 18px;
	overflow: hidden;
}

.dashboard-space-switcher {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
	gap: 8px;
	width: min(100%, 420px);
	margin: 0 auto 2px;
	transition:
		max-height 0.16s ease,
		margin 0.16s ease,
		opacity 0.12s ease,
		transform 0.16s ease;
}

.dashboard-space-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 34px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: var(--theme-control);
	color: var(--muted);
	padding: 6px 10px;
	font-family: var(--font-label);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.1;
	text-align: center;
	overflow-wrap: normal;
	white-space: normal;
	word-break: normal;
}

.dashboard-space-unread {
	position: absolute;
	top: -7px;
	right: -7px;
	display: inline-grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	border: 2px solid var(--theme-surface);
	border-radius: 999px;
	background: #ef4444;
	color: #fff;
	padding: 0 4px;
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-style: normal;
	font-weight: 950;
	line-height: 1;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.28);
}

.dashboard-space-button:hover,
.dashboard-space-button:focus-visible,
.dashboard-space-button.is-active {
	border-color: var(--accent);
	background: color-mix(in srgb, var(--accent) 18%, var(--theme-control));
	color: var(--text);
	outline: none;
}

.dashboard-grid {
	display: grid;
	grid-template-columns: repeat(4, var(--dashboard-card-size));
	justify-content: center;
	align-content: start;
	gap: 16px;
	min-height: 0;
	padding: 5px;
}

.dashboard-card {
	position: relative;
	display: block;
	min-width: 0;
	width: var(--dashboard-card-size);
	max-width: 100%;
	aspect-ratio: 1;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	padding: 0;
	perspective: 900px;
	text-align: center;
	transform-style: preserve-3d;
	transition: transform 0.2s ease;
}

@container (max-height: 650px) {
	.dashboard-grid,
	.dashboard-card {
		--dashboard-card-size-height-cap: clamp(
			98px,
			calc((100cqh - 456px) / 2),
			var(--dashboard-card-size-base)
		);
		--dashboard-card-size: min(
			var(--dashboard-card-size-base),
			var(--dashboard-card-size-height-cap)
		);
	}

	.dashboard-card-title {
		gap: 6px;
		font-size: clamp(0.75rem, 2.4cqh, 1.25rem);
	}

	.dashboard-card-name {
		font-size: clamp(0.55rem, 2.2cqh, var(--name-size, 1.12rem));
	}

	.dashboard-card-icon .button-icon {
		width: 1em;
		height: 1em;
	}
}

@media (orientation: landscape) and (max-height: 760px) {
	.dashboard-grid,
	.dashboard-card {
		--dashboard-card-size-height-cap: clamp(
			76px,
			calc((100vh - 438px) / 2),
			var(--dashboard-card-size-base)
		);
		--dashboard-card-size: min(
			var(--dashboard-card-size-base),
			var(--dashboard-card-size-height-cap)
		);
	}

	.dashboard-card-title {
		gap: 6px;
		font-size: clamp(0.65rem, 2.6vh, 1.2rem);
	}

	.dashboard-card-name {
		font-size: clamp(0.5rem, 2.2vh, var(--name-size, 1.12rem));
	}

	.dashboard-card-icon .button-icon {
		width: 1em;
		height: 1em;
	}
}

@media (min-width: 861px) and (max-height: 820px) {
	.dashboard-home {
		gap: 12px;
	}

	.dashboard-grid,
	.dashboard-card {
		--dashboard-card-size-height-cap: clamp(
			104px,
			calc(100vh - 648px),
			var(--dashboard-card-size-base)
		);
		--dashboard-card-size: min(
			var(--dashboard-card-size-base),
			var(--dashboard-card-size-height-cap)
		);
	}

	.dashboard-grid {
		gap: 12px;
	}

	.dashboard-card-face {
		padding: 12px;
	}

	.dashboard-card-title {
		gap: 6px;
		font-size: clamp(0.9rem, 2.4vh, 1.25rem);
	}

	.dashboard-card-name {
		font-size: clamp(0.7rem, 2vh, var(--name-size, 1.12rem));
	}

	.dashboard-card-icon .button-icon {
		width: 1em;
		height: 1em;
	}

	.dashboard-analytics {
		gap: 8px;
		padding: 10px 16px;
	}

	.dashboard-analytics-header {
		gap: 4px;
	}

	.dashboard-analytics-header h2 {
		font-size: 1.18rem;
	}

	.dashboard-analytics-header p {
		font-size: 0.9rem;
		line-height: 1.18;
	}

	.dashboard-analytics-body,
	.dashboard-pie-wrap {
		gap: 6px;
	}

	.dashboard-pie {
		width: clamp(112px, 18vh, 148px);
	}

	.dashboard-bar-chart {
		min-height: clamp(108px, 18vh, 148px);
	}

	.dashboard-bar-button {
		height: clamp(108px, 18vh, 148px);
		gap: 4px;
	}

	.dashboard-bar-track {
		height: clamp(66px, 11.8vh, 96px);
	}

	.dashboard-period-slider {
		gap: 5px;
	}

	.dashboard-period-range {
		height: 16px;
	}

	.dashboard-chart-switcher button {
		min-height: 32px;
		gap: 4px;
		padding: 5px 8px;
		font-size: 0.64rem;
	}
}

.dashboard-card:hover,
.dashboard-card:focus-visible {
	transform: scale(1.025);
	z-index: 1;
}

.dashboard-card-inner {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.62s cubic-bezier(0.2, 0.75, 0.25, 1);
}

.dashboard-card.is-flipped .dashboard-card-inner {
	transform: rotateY(180deg);
}

.dashboard-card-face {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	border: 1px solid var(--border-soft);
	border-radius: 18px;
	background: rgba(2, 6, 23, 0.58);
	padding: 16px;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform-style: preserve-3d;
	transition:
		border-color 0.2s ease,
		background 0.2s ease,
		box-shadow 0.2s ease;
}

.dashboard-card-back-face {
	align-content: stretch;
	background: #0f172a;
	transform: rotateY(180deg);
}

.dashboard-card.is-color-always-on .dashboard-card-face,
.dashboard-card:hover .dashboard-card-face,
.dashboard-card:focus-visible .dashboard-card-face {
	border-color: var(--card-color);
	background: color-mix(in srgb, var(--card-color) 28%, #0f172a);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--card-color) 70%, transparent),
		0 14px 32px rgba(2, 6, 23, 0.38);
}

.dashboard-card.is-linked-hover {
	transform: scale(1.025);
	z-index: 1;
}

.dashboard-card.is-linked-hover .dashboard-card-face {
	border-color: var(--card-color);
	background: color-mix(in srgb, var(--card-color) 28%, #0f172a);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--card-color) 70%, transparent),
		0 14px 32px rgba(2, 6, 23, 0.38);
}

.dashboard-card.is-flipped .dashboard-card-face {
	border-color: var(--card-color);
	background: color-mix(in srgb, var(--card-color) 28%, #0f172a);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--card-color) 70%, transparent),
		0 14px 32px rgba(2, 6, 23, 0.38);
}

.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Mind"]:hover)
	.dashboard-card[data-balance-key="Mind"],
.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Body"]:hover)
	.dashboard-card[data-balance-key="Body"],
.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Spirit"]:hover)
	.dashboard-card[data-balance-key="Spirit"],
.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Life"]:hover)
	.dashboard-card[data-balance-key="Life"],
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Mind"]:hover)
	.dashboard-card[data-balance-key="Mind"],
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Body"]:hover)
	.dashboard-card[data-balance-key="Body"],
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Spirit"]:hover)
	.dashboard-card[data-balance-key="Spirit"],
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Life"]:hover)
	.dashboard-card[data-balance-key="Life"] {
	transform: scale(1.025);
}

.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Mind"]:hover)
	.dashboard-card[data-balance-key="Mind"]
	.dashboard-card-face,
.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Body"]:hover)
	.dashboard-card[data-balance-key="Body"]
	.dashboard-card-face,
.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Spirit"]:hover)
	.dashboard-card[data-balance-key="Spirit"]
	.dashboard-card-face,
.dashboard-home:has(.dashboard-pie-segment[data-balance-key="Life"]:hover)
	.dashboard-card[data-balance-key="Life"]
	.dashboard-card-face,
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Mind"]:hover)
	.dashboard-card[data-balance-key="Mind"]
	.dashboard-card-face,
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Body"]:hover)
	.dashboard-card[data-balance-key="Body"]
	.dashboard-card-face,
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Spirit"]:hover)
	.dashboard-card[data-balance-key="Spirit"]
	.dashboard-card-face,
.dashboard-home:has(.dashboard-bar-button[data-balance-key="Life"]:hover)
	.dashboard-card[data-balance-key="Life"]
	.dashboard-card-face {
	border-color: var(--card-color);
	background: color-mix(in srgb, var(--card-color) 28%, #0f172a);
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--card-color) 70%, transparent),
		0 14px 32px rgba(2, 6, 23, 0.38);
}

.dashboard-card-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	gap: 8px;
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 1.8vw, 1.45rem);
	font-weight: 800;
	letter-spacing: 0;
	text-align: center;
}

.dashboard-card-title > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	line-height: 1;
}

.dashboard-card-number,
.dashboard-card-name {
	line-height: 1;
}

.dashboard-card-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	line-height: 1;
}

.dashboard-card-name {
	display: block;
	max-width: 100%;
	overflow-wrap: anywhere;
	text-align: center;
	white-space: normal;
	font-size: var(--name-size, 1.12rem);
	line-height: 1.05;
}

.dashboard-card-icon {
	align-items: center;
	justify-content: center;
}

.dashboard-card-icon .button-icon {
	display: block;
	width: 1.15em;
	height: 1.15em;
}

.dashboard-card-title--icon-only {
	display: grid;
	place-items: center;
	gap: 0;
	line-height: 0;
}

.dashboard-card-title--icon-only .dashboard-card-icon {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.dashboard-card-title--icon-only .dashboard-card-icon .button-icon {
	width: clamp(52px, 6.5vw, 72px);
	height: clamp(52px, 6.5vw, 72px);
	font-size: clamp(52px, 6.5vw, 72px);
	line-height: 1;
	transform: translateY(clamp(5px, 0.65vw, 8px));
}

@container (max-height: 650px) {
	.dashboard-card-face {
		padding: 10px;
	}

	.dashboard-card-title {
		gap: 4px;
		font-size: clamp(0.72rem, 2.4cqh, 1.1rem);
	}

	.dashboard-card-name {
		font-size: clamp(0.56rem, 2.2cqh, var(--name-size, 1.12rem));
		line-height: 1;
	}

	.dashboard-card-icon .button-icon {
		width: 1em;
		height: 1em;
	}
}

@media (orientation: landscape) and (max-height: 760px) {
	.dashboard-card-title {
		gap: 4px;
		font-size: clamp(0.68rem, 2.6vh, 1.05rem);
	}

	.dashboard-card-name {
		font-size: clamp(0.52rem, 2.2vh, var(--name-size, 1.12rem));
		line-height: 1;
	}

	.dashboard-card-icon .button-icon {
		width: 1em;
		height: 1em;
	}
}

.dashboard-inline-title {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	line-height: 1;
}

.dashboard-inline-title > span {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}

.dashboard-inline-title .button-icon {
	display: block;
	width: 1em;
	height: 1em;
}

.dashboard-header-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.dashboard-header-title > span {
	display: inline-flex;
	align-items: center;
}

.dashboard-header-title .button-icon {
	width: 1em;
	height: 1em;
}

.dashboard-card-hint {
	display: block;
	margin-top: 12px;
	color: var(--muted);
	font-size: 0.78rem;
}

.dashboard-card-back {
	display: grid;
	align-content: center;
	gap: 8px;
	width: 100%;
	height: 100%;
	min-width: 0;
	transform: translateZ(1px);
}

.dashboard-card-row {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.dashboard-card-row em {
	color: var(--on-surface-2, var(--text));
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-style: normal;
	font-weight: 900;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
}

.dashboard-card-row strong {
	min-width: 0;
	overflow: hidden;
	color: var(--text);
	font-family: var(--font-label);
	font-size: 0.74rem;
	font-weight: 800;
	line-height: 1.18;
	overflow-wrap: anywhere;
}

.dashboard-card-open {
	margin-top: 3px;
	color: var(--on-surface-2, var(--text));
	font-size: 0.68rem;
	font-weight: 800;
}

@media (prefers-reduced-motion: reduce) {
	.dashboard-card-inner {
		transition: none;
	}
}

.dashboard-divider {
	height: 1px;
	background: var(--border);
}

.dashboard-textbox {
	width: 100%;
	height: 100%;
	min-height: 0;
	resize: none;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	color: #fff;
	padding: 16px;
	outline: none;
}

.dashboard-textbox:focus {
	border-color: var(--accent);
}

.dashboard-analytics {
	display: grid;
	justify-self: center;
	align-self: start;
	gap: 12px;
	width: min(100%, 420px);
	min-height: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 16px;
}

.dashboard-analytics-header {
	display: grid;
	justify-items: center;
	gap: 6px;
	text-align: center;
}

.dashboard-analytics-header h2 {
	margin: 0;
	color: #fff;
	font-family: var(--font-display);
	font-size: 1.35rem;
}

.dashboard-analytics-header p {
	margin: 0;
	color: var(--muted);
}

.dashboard-chart-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	width: min(100%, 560px);
	gap: 7px;
}

.dashboard-chart-switcher {
	display: grid;
	grid-template-columns: repeat(
			var(--dashboard-chart-tab-count, 3),
			minmax(0, 1fr)
		);
	gap: 0;
	width: 100%;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.dashboard-chart-switcher button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 38px;
	border: 1px solid var(--border-soft);
	border-radius: 8px 8px 0 0;
	background: var(--theme-control, rgba(15, 23, 42, 0.72));
	color: var(--muted);
	padding: 7px 10px;
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
	overflow-wrap: normal;
	white-space: normal;
	word-break: normal;
	cursor: grab;
}

.dashboard-chart-switcher button + button {
	margin-left: -1px;
}

.dashboard-chart-switcher.is-reordering {
	user-select: none;
}

.dashboard-chart-switcher.is-reordering button {
	cursor: grabbing;
}

.dashboard-chart-switcher button.is-dragging {
	opacity: 0.58;
	transform: scale(0.98);
}

.dashboard-chart-switcher button.is-drop-before::before,
.dashboard-chart-switcher button.is-drop-after::after {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 6px;
	z-index: 4;
	width: 3px;
	border-radius: 999px;
	background: var(--accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
	pointer-events: none;
}

.dashboard-chart-switcher button.is-drop-before::before {
	left: -3px;
}

.dashboard-chart-switcher button.is-drop-after::after {
	right: -3px;
}

.dashboard-chart-switcher button:hover,
.dashboard-chart-switcher button.is-active {
	position: relative;
	z-index: 1;
	border-color: var(--border-strong);
	border-bottom-color: var(--accent);
	background: var(--theme-control-hover, #1e293b);
	color: var(--on-surface-2, #fff);
	box-shadow: inset 0 -2px 0 var(--accent);
}

.dashboard-chart-switcher .button-icon {
	width: 1em;
	height: 1em;
}

.dashboard-period-slider {
	display: grid;
	gap: 7px;
	width: 100%;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--text);
	padding: 0 2px;
	box-shadow: none;
}

.dashboard-period-slider-top,
.dashboard-period-slider-scale {
	display: flex;
	align-items: center;
	gap: 10px;
	line-height: 1;
}

.dashboard-period-slider-top {
	justify-content: center;
}

.dashboard-period-slider-scale {
	justify-content: space-between;
}

.dashboard-period-slider-scale {
	color: var(--muted);
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dashboard-period-slider-value {
	color: var(--text);
	border-radius: 999px;
	padding: 2px 8px;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	transition:
		background 0.18s ease,
		color 0.18s ease,
		box-shadow 0.18s ease;
}

.dashboard-period-slider.is-period-recent .dashboard-period-slider-value {
	background: var(--accent);
	color: var(--on-accent, #fff);
	box-shadow:
		0 0 0 1px var(--border-accent-soft),
		0 0 18px var(--border-accent-soft);
}

.dashboard-period-range {
	width: 100%;
	height: 18px;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	cursor: pointer;
}

.dashboard-period-range:focus {
	outline: none;
}

.dashboard-period-range:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 4px var(--theme-ring, rgba(56, 189, 248, 0.34));
}

.dashboard-period-range:focus-visible::-moz-range-thumb {
	box-shadow: 0 0 0 4px var(--theme-ring, rgba(56, 189, 248, 0.34));
}

.dashboard-period-range::-webkit-slider-runnable-track {
	height: 6px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--accent) 0 var(--period-progress),
		var(--surface-2) var(--period-progress) 100%
	);
}

.dashboard-period-range::-moz-range-track {
	height: 6px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		var(--accent) 0 var(--period-progress),
		var(--surface-2) var(--period-progress) 100%
	);
}

.dashboard-period-range::-webkit-slider-thumb {
	width: 16px;
	height: 16px;
	margin-top: -6px;
	border: 2px solid var(--theme-select-option-active-text, #fff);
	border-radius: 50%;
	background: var(--accent);
	box-shadow:
		0 0 0 1px var(--border-accent-soft),
		0 4px 10px var(--theme-shadow, rgba(2, 6, 23, 0.28));
	-webkit-appearance: none;
	appearance: none;
}

.dashboard-period-range::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: 2px solid var(--theme-select-option-active-text, #fff);
	border-radius: 50%;
	background: var(--accent);
	box-shadow:
		0 0 0 1px var(--border-accent-soft),
		0 4px 10px var(--theme-shadow, rgba(2, 6, 23, 0.28));
}

.dashboard-analytics-body {
	display: grid;
	justify-items: center;
	gap: 10px;
	min-height: 0;
}

.dashboard-pie-wrap {
	display: grid;
	place-items: center;
	align-content: center;
	gap: 8px;
	width: min(100%, 390px);
	min-width: 0;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}

.dashboard-pie-wrap--orbs {
	place-items: stretch;
	user-select: auto;
}

.dashboard-orbs-panel {
	display: grid;
	gap: 12px;
	width: 100%;
	min-width: 0;
}

.dashboard-orb-fieldset {
	min-width: 0;
	margin: 0;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: color-mix(in srgb, var(--surface, #020617) 72%, transparent);
	padding: 10px 10px 9px;
}

.dashboard-orb-fieldset legend {
	margin-left: 5px;
	padding: 0 6px;
	color: var(--text);
	font-family: var(--font-label);
	font-size: 0.64rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.dashboard-orb-scroll {
	position: relative;
	width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	padding: 2px 0;
	transition: box-shadow 0.18s ease;
}

.dashboard-orb-scroll.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}

.dashboard-orb-scroll.is-dragging .tracker-orb {
	cursor: grabbing;
}

.dashboard-orb-scroll .tracker-orb,
.dashboard-orb-scroll .tracker-orb-image {
	-webkit-user-drag: none;
	user-select: none;
}

.dashboard-orb-scroll::-webkit-scrollbar {
	display: none;
}

.dashboard-orb-scroll.is-overflow-left {
	box-shadow: inset 18px 0 18px -18px var(--accent);
}

.dashboard-orb-scroll.is-overflow-right {
	box-shadow: inset -18px 0 18px -18px var(--accent);
}

.dashboard-orb-scroll.is-overflow-left.is-overflow-right {
	box-shadow:
		inset 18px 0 18px -18px var(--accent),
		inset -18px 0 18px -18px var(--accent);
}

.dashboard-orb-scroll:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.dashboard-orb-scroll-track {
	display: flex;
	align-items: center;
	gap: 7px;
	width: max-content;
	min-width: min-content;
}

.dashboard-orb-quick-item {
	flex: 0 0 var(--tracker-orb-size);
	width: var(--tracker-orb-size);
	height: var(--tracker-orb-size);
}

.dashboard-orb-empty {
	display: inline-flex;
	align-items: center;
	min-height: var(--tracker-orb-size);
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 800;
}

.dashboard-pie {
	position: relative;
	display: grid;
	place-items: center;
	place-content: center;
	gap: 2px;
	width: 148px;
	aspect-ratio: 1;
	border: 1px solid var(--border-soft);
	border-radius: 50%;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}

.dashboard-pie-chart {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}

.dashboard-pie-segment {
	fill: none;
	stroke: var(--segment-color);
	stroke-width: 28;
	stroke-dasharray: var(--segment-size) calc(100 - var(--segment-size));
	stroke-dashoffset: calc(var(--segment-start) * -1);
	transform: rotate(-90deg);
	transform-origin: center;
	transition:
		filter 0.18s ease,
		opacity 0.18s ease,
		stroke-width 0.18s ease;
	pointer-events: stroke;
	cursor: pointer;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}

.dashboard-pie:focus,
.dashboard-pie:focus-visible,
.dashboard-pie-chart:focus,
.dashboard-pie-chart:focus-visible,
.dashboard-pie-segment:focus,
.dashboard-pie-segment:focus-visible,
.dashboard-pie-segment:active {
	outline: none;
}

.dashboard-pie-segment.is-linked-hover {
	filter: drop-shadow(0 0 8px var(--segment-color));
	opacity: 1;
	stroke-width: 32;
}

.dashboard-home:has(.dashboard-card[data-balance-key="Mind"]:hover)
	.dashboard-pie-segment[data-balance-key="Mind"],
.dashboard-home:has(.dashboard-card[data-balance-key="Body"]:hover)
	.dashboard-pie-segment[data-balance-key="Body"],
.dashboard-home:has(.dashboard-card[data-balance-key="Spirit"]:hover)
	.dashboard-pie-segment[data-balance-key="Spirit"],
.dashboard-home:has(.dashboard-card[data-balance-key="Life"]:hover)
	.dashboard-pie-segment[data-balance-key="Life"] {
	filter: drop-shadow(0 0 8px var(--segment-color));
	opacity: 1;
	stroke-width: 32;
}

.dashboard-home:has(.dashboard-card[data-balance-key="Mind"]:hover)
	.dashboard-bar-button[data-balance-key="Mind"],
.dashboard-home:has(.dashboard-card[data-balance-key="Body"]:hover)
	.dashboard-bar-button[data-balance-key="Body"],
.dashboard-home:has(.dashboard-card[data-balance-key="Spirit"]:hover)
	.dashboard-bar-button[data-balance-key="Spirit"],
.dashboard-home:has(.dashboard-card[data-balance-key="Life"]:hover)
	.dashboard-bar-button[data-balance-key="Life"] {
	border-color: var(--bar-color);
	background: color-mix(in srgb, var(--bar-color) 18%, transparent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--bar-color) 55%, transparent);
	color: #fff;
}

.dashboard-home:has(.dashboard-card[data-balance-key="Mind"]:hover)
	.dashboard-bar-button[data-balance-key="Mind"]
	.dashboard-bar-fill,
.dashboard-home:has(.dashboard-card[data-balance-key="Body"]:hover)
	.dashboard-bar-button[data-balance-key="Body"]
	.dashboard-bar-fill,
.dashboard-home:has(.dashboard-card[data-balance-key="Spirit"]:hover)
	.dashboard-bar-button[data-balance-key="Spirit"]
	.dashboard-bar-fill,
.dashboard-home:has(.dashboard-card[data-balance-key="Life"]:hover)
	.dashboard-bar-button[data-balance-key="Life"]
	.dashboard-bar-fill {
	filter: drop-shadow(0 0 8px var(--bar-color));
	transform: scaleX(1.12);
}

.dashboard-home:has(.dashboard-card[data-balance-key="Mind"].is-flipped)
	.dashboard-pie-segment[data-balance-key="Mind"],
.dashboard-home:has(.dashboard-card[data-balance-key="Body"].is-flipped)
	.dashboard-pie-segment[data-balance-key="Body"],
.dashboard-home:has(.dashboard-card[data-balance-key="Spirit"].is-flipped)
	.dashboard-pie-segment[data-balance-key="Spirit"],
.dashboard-home:has(.dashboard-card[data-balance-key="Life"].is-flipped)
	.dashboard-pie-segment[data-balance-key="Life"] {
	filter: drop-shadow(0 0 8px var(--segment-color));
	opacity: 1;
	stroke-width: 32;
}

.dashboard-home:has(.dashboard-card[data-balance-key="Mind"].is-flipped)
	.dashboard-bar-button[data-balance-key="Mind"],
.dashboard-home:has(.dashboard-card[data-balance-key="Body"].is-flipped)
	.dashboard-bar-button[data-balance-key="Body"],
.dashboard-home:has(.dashboard-card[data-balance-key="Spirit"].is-flipped)
	.dashboard-bar-button[data-balance-key="Spirit"],
.dashboard-home:has(.dashboard-card[data-balance-key="Life"].is-flipped)
	.dashboard-bar-button[data-balance-key="Life"] {
	border-color: var(--bar-color);
	background: color-mix(in srgb, var(--bar-color) 18%, transparent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--bar-color) 55%, transparent);
	color: #fff;
}

.dashboard-home:has(.dashboard-card[data-balance-key="Mind"].is-flipped)
	.dashboard-bar-button[data-balance-key="Mind"]
	.dashboard-bar-fill,
.dashboard-home:has(.dashboard-card[data-balance-key="Body"].is-flipped)
	.dashboard-bar-button[data-balance-key="Body"]
	.dashboard-bar-fill,
.dashboard-home:has(.dashboard-card[data-balance-key="Spirit"].is-flipped)
	.dashboard-bar-button[data-balance-key="Spirit"]
	.dashboard-bar-fill,
.dashboard-home:has(.dashboard-card[data-balance-key="Life"].is-flipped)
	.dashboard-bar-button[data-balance-key="Life"]
	.dashboard-bar-fill {
	filter: drop-shadow(0 0 8px var(--bar-color));
	transform: scaleX(1.12);
}

.dashboard-pie::after {
	content: "";
	position: absolute;
	inset: 24%;
	border: 1px solid var(--border-soft);
	border-radius: 50%;
	background: #020617;
}

.dashboard-pie span,
.dashboard-pie small {
	position: relative;
	z-index: 1;
}

.dashboard-pie span {
	color: var(--accent);
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1;
}

.dashboard-pie small {
	color: var(--accent);
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.dashboard-bar-chart {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: end;
	gap: 10px;
	width: min(100%, 230px);
	min-height: 148px;
	padding-top: 4px;
}

.dashboard-bar-button {
	display: grid;
	grid-template-rows: auto 1fr;
	justify-items: center;
	gap: 5px;
	min-width: 0;
	height: 148px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: transparent;
	color: var(--muted);
	padding: 4px;
	font-family: var(--font-label);
	font-weight: 900;
	cursor: pointer;
}

.dashboard-bar-value {
	color: var(--text);
	font-size: 0.78rem;
	line-height: 1;
}

.dashboard-bar-track {
	display: flex;
	align-items: end;
	justify-content: center;
	width: 22px;
	height: 96px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: rgba(2, 6, 23, 0.42);
	padding: 3px;
}

.dashboard-bar-fill {
	width: 100%;
	height: var(--bar-size);
	min-height: 5px;
	border-radius: 999px;
	background: var(--bar-color);
	transition:
		height 0.18s ease,
		filter 0.18s ease,
		transform 0.18s ease;
}

.dashboard-bar-button:hover,
.dashboard-bar-button:focus-visible,
.dashboard-bar-button.is-linked-hover {
	border-color: var(--bar-color);
	background: color-mix(in srgb, var(--bar-color) 18%, transparent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--bar-color) 55%, transparent);
	color: #fff;
	outline: none;
}

.dashboard-bar-button:hover .dashboard-bar-fill,
.dashboard-bar-button:focus-visible .dashboard-bar-fill,
.dashboard-bar-button.is-linked-hover .dashboard-bar-fill {
	filter: drop-shadow(0 0 8px var(--bar-color));
	transform: scaleX(1.12);
}

.dashboard-pie-wrap strong {
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.getting-started-page {
	display: grid;
	gap: 18px;
	height: calc(100% - 80px);
	min-height: 0;
	overflow-y: auto;
	padding-right: 8px;
}

.getting-started-intro,
.getting-started-defaults,
.getting-started-rhythm,
.getting-started-grid article {
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	padding: 18px;
}

.getting-started-intro h3,
.getting-started-defaults h3,
.getting-started-rhythm h3,
.getting-started-grid h3 {
	margin: 0 0 8px;
	color: #fff;
	font-family: var(--font-display);
}

.getting-started-intro p,
.getting-started-defaults p,
.getting-started-rhythm p,
.getting-started-grid p {
	margin: 0;
	color: var(--muted);
	line-height: 1.55;
}

.getting-started-defaults {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
}

.getting-started-space-guide {
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
}

.getting-started-space-guide .body-actions {
	width: 100%;
}

.getting-started-space-guide .body-actions .primary-button,
.getting-started-space-guide .body-actions .secondary-button {
	max-width: 100%;
}

.getting-started-defaults-main {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
}

.getting-started-defaults-icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid color-mix(in srgb, var(--accent) 52%, var(--border-soft));
	border-radius: 14px;
	background: color-mix(in srgb, var(--accent) 14%, transparent);
	color: var(--accent);
	font-size: 1.45rem;
}

.getting-started-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.getting-started-grid article {
	display: grid;
	align-content: start;
	gap: 8px;
}

.getting-started-grid span {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.getting-started-rhythm div {
	display: grid;
	gap: 12px;
}

.getting-started-rhythm strong {
	color: #e2e8f0;
}

.settings-page {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 16px;
	height: calc(100% - 80px);
	min-height: 0;
	overflow: hidden;
}

.settings-tabs {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.settings-tabs .body-mode-button {
	min-width: 0;
	padding: 0 10px;
}

.settings-tabs .body-mode-label {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	line-height: 1.15;
}

.settings-tab-panel {
	min-height: 0;
	overflow-y: auto;
	padding-right: 8px;
}

.settings-tab-panel.getting-started-page {
	height: auto;
	overflow-y: auto;
}

.thoughts-settings {
	display: grid;
	align-content: start;
	gap: 14px;
}

.interface-settings {
	display: grid;
	align-content: start;
	gap: 14px;
}

.cloud-settings {
	display: grid;
	align-content: start;
	gap: 14px;
}

.pyxdia-settings {
	display: grid;
	align-content: start;
	gap: 14px;
}

.thoughts-settings-intro,
.thoughts-settings-section,
.interface-settings-section {
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	padding: 16px;
}

.thoughts-settings-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.thoughts-settings-intro h3,
.thoughts-settings-section h3 {
	margin: 0 0 6px;
	color: #fff;
	font-family: var(--font-display);
}

.thoughts-settings-intro p {
	margin: 0;
	color: var(--muted);
	line-height: 1.5;
}

.pyxdia-page {
	display: grid;
	align-content: start;
	gap: 14px;
	min-height: 100%;
	height: auto;
	overflow: visible;
	padding-right: 0;
}

.content-stage:has(.pyxdia-page) {
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.content-stage:has(.pyxdia-page) .panel,
.content-stage:has(.pyxdia-page) .pyxdia-page,
.content-stage:has(.pyxdia-page) .pyxdia-letter-editor,
.content-stage:has(.pyxdia-page) .pyxdia-letter-main,
.content-stage:has(.pyxdia-page) .pyxdia-letter-side {
	height: auto;
	max-height: none;
	overflow: visible;
}

.pyxdia-mode-switcher {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.pyxdia-mode-switcher .body-mode-button {
	min-width: 0;
	min-height: 42px;
	padding: 0 10px;
}

.pyxdia-mode-switcher .body-mode-label {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	line-height: 1.15;
}

.pyxdia-status-strip {
	display: grid;
	gap: 8px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: rgba(2, 6, 23, 0.5);
	padding: 12px;
}

.pyxdia-status-strip > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pyxdia-status-strip span {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.78);
	color: #dbeafe;
	padding: 4px 9px;
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
}

.pyxdia-status-strip p {
	margin: 0;
	color: var(--muted);
	line-height: 1.45;
}

.pyxdia-status-strip.has-error {
	border-color: rgba(248, 113, 113, 0.5);
}

.pyxdia-status-strip .pyxdia-error {
	color: #fecaca;
}

.pyxdia-letter-editor {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

.pyxdia-letter-main,
.pyxdia-letter-side,
.pyxdia-context-card,
.pyxdia-output,
.pyxdia-thread,
.pyxdia-memory-card {
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	padding: 16px;
}

.pyxdia-letter-main {
	display: grid;
	align-content: start;
	gap: 12px;
}

.pyxdia-recipient-selector {
	display: grid;
	grid-template-columns: repeat(2, max-content) minmax(120px, 180px);
	align-items: end;
	gap: 8px;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: rgba(15, 23, 42, 0.52);
	padding: 8px 10px;
}

.pyxdia-recipient-selector legend {
	padding: 0 4px;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
}

.pyxdia-recipient-selector--single {
	grid-template-columns: max-content;
}

.pyxdia-recipient-static {
	display: inline-flex;
	align-items: center;
	width: max-content;
	min-height: 34px;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--theme-control);
	color: var(--text);
	padding: 0 12px;
	font-family: var(--font-label);
	font-size: 0.82rem;
	font-weight: 900;
}

.pyxdia-family-recipient {
	margin: 0;
	min-width: 0;
}

.pyxdia-invite-link {
	grid-column: 1 / -1;
	justify-self: start;
	max-width: 240px;
	color: var(--accent);
	line-height: 1.25;
	text-align: left;
	white-space: normal;
}

.pyxdia-letter-field textarea {
	min-height: 280px;
}

.pyxdia-editor-toggle {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.pyxdia-editor-toggle .body-mode-button {
	min-height: 34px;
	border-color: var(--border-soft);
	background: var(--theme-control);
	color: var(--text);
	padding: 0 10px;
}

.pyxdia-editor-toggle .body-mode-button:hover,
.pyxdia-editor-toggle .body-mode-button.is-active {
	background: var(--theme-control-hover);
	color: var(--text);
}

.pyxdia-letter-preview {
	min-height: 280px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: #020617;
	padding: 16px;
}

.pyxdia-letter-counter {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
}

.pyxdia-letter-counter.is-over-limit {
	color: #fecaca;
}

.pyxdia-letter-side {
	display: grid;
	align-content: start;
	gap: 12px;
	min-width: 0;
}

.pyxdia-context-card {
	display: grid;
	gap: 12px;
}

.pyxdia-note-selector {
	display: grid;
	gap: 10px;
}

.pyxdia-note-filter-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.pyxdia-note-filter-toggles,
.pyxdia-note-bulk-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pyxdia-note-filter-toggles .dashboard-identity-toggle {
	min-height: 34px;
	padding: 7px 10px;
}

.pyxdia-note-summary,
.pyxdia-context-warning,
.pyxdia-note-filter-empty {
	margin: 0;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.45;
	text-transform: uppercase;
}

.pyxdia-note-summary.is-over-limit,
.pyxdia-context-warning {
	color: #fecaca;
}

.pyxdia-note-ref-list {
	display: grid;
	gap: 8px;
	max-height: 460px;
	overflow-y: auto;
	padding-right: 4px;
}

.pyxdia-note-ref {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 9px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.66);
	padding: 9px;
	color: var(--text);
}

.pyxdia-note-ref input {
	margin-top: 2px;
	accent-color: var(--accent);
}

.pyxdia-note-ref span {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.pyxdia-note-ref strong,
.pyxdia-note-ref small {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pyxdia-note-ref small {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-weight: 900;
	text-transform: uppercase;
}

.pyxdia-letter-actions {
	justify-content: flex-end;
}

.pyxdia-output,
.pyxdia-thread {
	display: grid;
	gap: 14px;
}

.pyxdia-output-text,
.pyxdia-thread-input,
.pyxdia-thread-output {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	line-height: 1.6;
}

.pyxdia-output-text {
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: #020617;
	color: #e2e8f0;
	padding: 18px;
}

.pyxdia-pending-card {
	display: grid;
	gap: 5px;
	border: 1px dashed var(--border-soft);
	border-radius: 14px;
	background: rgba(15, 23, 42, 0.52);
	padding: 18px;
}

.pyxdia-pending-card strong {
	color: #e2e8f0;
	text-transform: capitalize;
}

.pyxdia-pending-card span {
	color: var(--muted);
}

.pyxdia-thread-list,
.pyxdia-memory-entry-list {
	display: grid;
	gap: 10px;
}

.pyxdia-thread-letter,
.pyxdia-memory-entry {
	display: grid;
	gap: 10px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: rgba(15, 23, 42, 0.52);
	padding: 14px;
}

.pyxdia-thread-letter header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	text-transform: uppercase;
}

.pyxdia-thread-output {
	border-left: 2px solid #7dd3fc;
	color: #e2e8f0;
	padding-left: 12px;
}

.pyxdia-settings-toggles,
.pyxdia-delay-grid {
	margin-top: 14px;
}

.pyxdia-settings .body-field {
	margin-top: 14px;
}

.pyxdia-range-field small {
	color: var(--muted);
	font-size: 0.78rem;
	line-height: 1.35;
}

.pyxdia-range-field input[type="range"] {
	width: 100%;
}

.pyxdia-memory-card {
	display: grid;
	gap: 12px;
}

.pyxdia-memory-card p {
	margin: 0;
	color: var(--muted);
	line-height: 1.5;
}

.pyxdia-memory-entry strong {
	color: #e2e8f0;
	line-height: 1.35;
}

.pyxdia-memory-entry small {
	color: var(--faint);
	line-height: 1.35;
}

.trash-page,
.trash-list {
	display: grid;
	align-content: start;
	gap: 14px;
}

.trash-retention-grid {
	align-items: end;
	margin-top: 14px;
}

.trash-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	padding: 16px;
}

.trash-item h3,
.trash-item p {
	margin: 0;
}

.trash-item h3 {
	color: #e2e8f0;
	font-family: var(--font-display);
}

.trash-item p,
.trash-item small {
	color: var(--muted);
	line-height: 1.45;
}

.trash-item > div:first-child {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.trash-item-type {
	width: fit-content;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.78);
	color: #dbeafe;
	padding: 4px 9px;
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	text-transform: uppercase;
}

.trash-item-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: flex-end;
	gap: 8px;
}

.dashboard-identity-toggles {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.dashboard-identity-toggles.is-reordering {
	user-select: none;
}

.dashboard-identity-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: var(--theme-control);
	color: var(--text);
	padding: 6px 10px;
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0;
	overflow-wrap: normal;
	word-break: normal;
}

.dashboard-display-option-box {
	cursor: pointer;
}

.dashboard-display-option-handle {
	display: inline-grid;
	flex: 0 0 auto;
	place-items: center;
	width: 18px;
	height: 22px;
	margin-left: -3px;
	border-radius: 6px;
	color: var(--muted);
	cursor: grab;
	touch-action: none;
}

.dashboard-display-option-handle .button-icon {
	width: 16px;
	height: 16px;
}

.dashboard-identity-toggles.is-reordering .dashboard-display-option-handle,
.dashboard-display-option-handle.is-active {
	cursor: grabbing;
}

.dashboard-display-option-box.is-dragging {
	opacity: 0.58;
	transform: scale(0.98);
}

.dashboard-display-option-box.is-drop-before::before,
.dashboard-display-option-box.is-drop-after::after {
	content: "";
	position: absolute;
	top: 5px;
	bottom: 5px;
	z-index: 3;
	width: 3px;
	border-radius: 999px;
	background: var(--accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent);
	pointer-events: none;
}

.dashboard-display-option-box.is-drop-before::before {
	left: -5px;
}

.dashboard-display-option-box.is-drop-after::after {
	right: -5px;
}

.dashboard-identity-toggle input {
	width: 16px;
	height: 16px;
	accent-color: var(--accent);
}

.dashboard-identity-toggle:has(input:checked) {
	border-color: var(--accent);
	background: color-mix(in srgb, var(--accent) 18%, var(--theme-control));
}

.dashboard-identity-toggle.is-active {
	border-color: var(--accent);
	background: color-mix(in srgb, var(--accent) 18%, var(--theme-control));
}

.color-mode-toggles {
	margin-top: 0;
}

.color-mode-toggles .dashboard-identity-toggle {
	cursor: pointer;
}

.dashboard-identity-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr));
	gap: 12px;
	margin-top: 12px;
}

.dashboard-identity-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	align-items: stretch;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: var(--theme-control);
	padding: 12px;
}

.dashboard-identity-input-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.dashboard-identity-input-row .icon-picker-trigger,
.tracker-title-icon-row .icon-picker-trigger {
	width: 48px;
	min-width: 48px;
	height: 48px;
	min-height: 0;
	justify-content: center;
	grid-template-columns: 1fr;
	border-color: color-mix(
		in srgb,
		var(--identity-color) 56%,
		var(--border-soft)
	);
	background: color-mix(in srgb, var(--identity-color) 16%, var(--surface));
	color: var(--identity-color);
	padding: 4px;
}

.dashboard-identity-input-row .icon-picker-trigger-symbol,
.tracker-title-icon-row .icon-picker-trigger-symbol {
	width: 38px;
	height: 38px;
}

.dashboard-identity-input-row input[type="text"],
.tracker-title-icon-row input[type="text"] {
	flex: 1;
	height: 48px;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 0;
	background: var(--theme-control);
	color: var(--text);
	padding: 0 12px;
	font: inherit;
	outline: none;
}

.dashboard-identity-input-row input[type="text"]::placeholder,
.tracker-title-icon-row input[type="text"]::placeholder {
	color: var(--muted);
}

.dashboard-identity-input-row input[type="text"]:focus,
.tracker-title-icon-row input[type="text"]:focus {
	border-color: color-mix(
		in srgb,
		var(--identity-color) 62%,
		var(--border-soft)
	);
}

.theme-choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.theme-choice {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	grid-template-areas:
		"preview title"
		"preview detail"
		"preview palette";
	align-items: center;
	gap: 4px 12px;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	color: var(--text);
	padding: 12px;
	text-align: left;
}

.theme-choice-preview {
	grid-area: preview;
	display: grid;
	align-content: center;
	gap: 6px;
	width: 72px;
	height: 54px;
	border: 1px solid var(--theme-preview-border, var(--border-soft));
	border-radius: 10px;
	background: var(--theme-preview-bg, #0f172a);
	padding: 10px;
}

.theme-choice-preview i {
	display: block;
	height: 4px;
	border-radius: 999px;
	background: var(--theme-preview-text, #e2e8f0);
}

.theme-choice-preview i:nth-child(2) {
	width: 72%;
	background: var(--theme-preview-accent, #38bdf8);
}

.theme-choice-preview i:nth-child(3) {
	width: 48%;
	background: var(--theme-preview-secondary, #22c55e);
}

.theme-choice-preview--consolas {
	border-color: #efeee7;
	background: #050505;
}

.theme-choice-preview--consolas i {
	background: #f1f0e8;
}

.theme-choice-preview--matrix {
	position: relative;
	overflow: hidden;
	border-color: #00ff41;
	background:
		linear-gradient(rgba(0, 255, 65, 0.18) 50%, transparent 50%) 0 0 /
			100% 6px,
		#000500;
	box-shadow:
		0 0 0 1px rgba(0, 255, 65, 0.28) inset,
		0 0 18px rgba(0, 255, 65, 0.18);
}

.theme-choice-preview--matrix::before {
	content: "010";
	position: absolute;
	inset: 4px 7px auto auto;
	color: rgba(140, 255, 193, 0.42);
	font-size: 0.58rem;
	line-height: 1;
}

.theme-choice-preview--matrix i {
	position: relative;
	background: #d8ffe3;
	box-shadow: 0 0 10px rgba(0, 255, 65, 0.56);
}

.theme-choice-preview--matrix i:nth-child(2) {
	background: #00ff41;
}

.theme-choice-preview--matrix i:nth-child(3) {
	background: #8cffc1;
}

.theme-choice strong {
	grid-area: title;
	color: #fff;
	font-family: var(--font-label);
	font-size: 0.94rem;
	line-height: 1.15;
}

.theme-choice small {
	grid-area: detail;
	color: var(--muted);
	font-size: 0.76rem;
	line-height: 1.25;
}

.theme-choice-palette {
	grid-area: palette;
	display: grid;
	grid-template-columns: repeat(9, 8px);
	gap: 3px;
	width: max-content;
	min-width: 0;
	margin-top: 5px;
}

.theme-choice-swatch {
	position: relative;
	display: block;
	width: 8px;
	height: 8px;
	aspect-ratio: 1;
	min-width: 0;
	border: 1px solid
		color-mix(in srgb, var(--theme-swatch-color) 44%, var(--border-soft));
	border-radius: 2px;
	background: var(--theme-swatch-color);
	box-shadow: 0 0 0 1px rgba(2, 6, 23, 0.18) inset;
}

.theme-choice-swatch:hover {
	z-index: 3;
	transform: translateY(-1px);
	box-shadow:
		0 0 0 1px var(--text) inset,
		0 4px 10px var(--theme-shadow, rgba(2, 6, 23, 0.28));
}

.theme-choice-swatch:hover::after {
	content: attr(data-theme-label);
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	z-index: 4;
	width: max-content;
	max-width: min(180px, 58vw);
	border: 1px solid
		color-mix(in srgb, var(--theme-swatch-color) 48%, var(--border-soft));
	border-radius: 8px;
	background: var(--theme-control);
	color: var(--text);
	padding: 6px 8px;
	font-family: var(--font-label);
	font-size: 0.7rem;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	box-shadow: 0 10px 24px var(--theme-shadow, rgba(2, 6, 23, 0.34));
	transform: translateX(-50%);
	pointer-events: none;
}

.theme-choice:hover,
.theme-choice:focus-visible,
.theme-choice.is-active {
	border-color: var(--accent);
	background: #1e293b;
	outline: none;
}

:root.theme-consolas .theme-choice strong,
:root.theme-consolas .home-button,
:root.theme-consolas .dashboard-card,
:root.theme-consolas .dashboard-analytics-header h2,
:root.theme-consolas .dashboard-pie span,
:root.theme-consolas .dashboard-bar-value,
:root.theme-consolas .getting-started-intro h3,
:root.theme-consolas .getting-started-rhythm h3,
:root.theme-consolas .getting-started-grid h3,
:root.theme-consolas .thoughts-settings-intro h3,
:root.theme-consolas .thoughts-settings-section h3,
:root.theme-consolas .body-card-heading h3,
:root.theme-consolas .section-row,
:root.theme-consolas .compendium-tile,
:root.theme-consolas .reader-compendium-title,
:root.theme-consolas .reader-section-title,
:root.theme-consolas .markdown-body,
:root.theme-consolas .empty-state h3 {
	color: var(--text);
}

:root.theme-consolas .theme-choice small,
:root.theme-consolas .dashboard-analytics-header p,
:root.theme-consolas .getting-started-intro p,
:root.theme-consolas .getting-started-rhythm p,
:root.theme-consolas .getting-started-grid p,
:root.theme-consolas .thoughts-settings-intro p,
:root.theme-consolas .body-card-heading p,
:root.theme-consolas .section-row > small,
:root.theme-consolas .empty-state p {
	color: var(--muted);
}

.settings-inline-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 38px;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: #0f172a;
	color: #e2e8f0;
	padding: 8px 12px;
	font-family: var(--font-label);
	font-size: 0.82rem;
	font-weight: 900;
	text-decoration: none;
	white-space: nowrap;
}

.settings-inline-link:hover {
	border-color: #94a3b8;
	background: #1e293b;
	color: #fff;
}

.cloud-account-section {
	display: grid;
	gap: 14px;
}

.cloud-account-section > .body-card-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
}

.cloud-heading-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-width: 0;
	margin-left: auto;
	flex-wrap: nowrap;
}

.cloud-action-nav {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	width: 100%;
	min-width: 0;
	margin-top: 10px;
	flex-wrap: wrap;
}

.cloud-heading-actions {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 8px;
	min-width: 0;
	flex-direction: column;
	flex-wrap: nowrap;
}

.cloud-heading-action-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-width: 0;
	flex-wrap: nowrap;
}

.cloud-heading-actions .primary-button,
.cloud-heading-actions .secondary-button,
.cloud-action-nav .primary-button,
.cloud-action-nav .secondary-button {
	flex: 0 1 auto;
	min-width: max-content;
	max-width: 100%;
	min-height: 34px;
	padding: 6px 10px;
	border-radius: 10px;
	font-size: 0.78rem;
}

.cloud-action-nav .button-label {
	white-space: normal;
}

.cloud-status-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: var(--theme-control);
	color: var(--muted);
	padding: 6px 12px;
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	white-space: nowrap;
}

.cloud-status-pill.is-active {
	border-color: color-mix(in srgb, var(--success) 62%, var(--border-soft));
	background: color-mix(in srgb, var(--success) 18%, var(--theme-control));
	color: #dcfce7;
}

.space-switcher-section .dashboard-identity-toggles {
	margin-top: 0.85rem;
}

.space-lock-screen {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 1rem;
	background: var(--theme-app-bg);
}

.space-lock-panel {
	width: min(100%, 28rem);
}

.cloud-account-card {
	display: flex;
	align-items: center;
	gap: 12px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: var(--theme-control);
	padding: 12px;
}

.cloud-account-avatar {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--accent) 20%, var(--surface));
	color: var(--accent);
}

.cloud-account-avatar .button-icon {
	width: 1.35rem;
	height: 1.35rem;
}

.cloud-account-card strong,
.cloud-sync-grid strong {
	display: block;
	color: var(--text);
	font-family: var(--font-label);
	font-size: 0.88rem;
	line-height: 1.2;
}

.cloud-account-card small,
.cloud-sync-grid small {
	display: block;
	margin-top: 3px;
	color: var(--muted);
	font-size: 0.76rem;
	line-height: 1.25;
}

.cloud-usage-card {
	display: grid;
	gap: 10px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: var(--theme-control);
	padding: 12px;
}

.cloud-usage-card.is-over-limit {
	border-color: color-mix(in srgb, var(--danger) 70%, var(--border-soft));
}

.cloud-usage-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
}

.cloud-usage-heading strong {
	display: block;
	color: var(--text);
	font-family: var(--font-label);
	font-size: 0.98rem;
	line-height: 1.15;
}

.cloud-usage-heading small,
.cloud-usage-updated {
	display: block;
	margin: 3px 0 0;
	color: var(--muted);
	font-size: 0.75rem;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.cloud-usage-heading > span {
	flex: 0 0 auto;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	color: var(--text);
	padding: 5px 9px;
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
}

.cloud-usage-meter {
	height: 10px;
	overflow: hidden;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: color-mix(in srgb, var(--surface) 78%, #000);
}

.cloud-usage-meter i {
	display: block;
	width: min(100%, var(--cloud-storage-progress, 0%));
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--accent), var(--success));
}

.cloud-usage-card.is-over-limit .cloud-usage-meter i {
	background: var(--danger);
}

.cloud-usage-breakdown {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cloud-sync-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.cloud-sync-grid span {
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: var(--theme-control);
	padding: 10px;
}

.cloud-email-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	align-items: end;
}

.cloud-email-form .action-row {
	grid-column: 1 / -1;
}

.cloud-actions {
	flex-wrap: wrap;
}

.data-controls-section .body-card-heading {
	align-items: center;
}

.data-controls-group {
	display: grid;
	gap: 12px;
	border-top: 1px solid var(--border-soft);
	padding-top: 14px;
}

.data-controls-group h4 {
	margin: 0;
	color: var(--text);
	font-family: var(--font-display);
	font-size: 1rem;
}

.data-controls-group p {
	margin: 0;
	color: var(--muted);
	line-height: 1.45;
}

.data-controls-actions {
	justify-content: flex-end;
}

.cloud-danger-links {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.3;
}

.cloud-danger-link {
	appearance: none;
	border: 0;
	background: transparent;
	color: #fecaca;
	padding: 0;
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.cloud-danger-link:hover,
.cloud-danger-link:focus-visible {
	color: #fff;
}

.cloud-danger-link:focus-visible {
	outline: 2px solid var(--border);
	outline-offset: 3px;
}

.cloud-danger-link:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.cloud-danger-separator {
	color: var(--border-soft);
}

.cloud-status-message {
	min-height: 1.2rem;
	margin: 0;
	color: var(--muted);
	font-size: 0.86rem;
	line-height: 1.35;
}

.cloud-status-message--error {
	color: var(--danger);
}

.thoughts-settings-sections {
	display: grid;
	gap: 12px;
}

.tracker-strip {
	min-width: 0;
	margin-bottom: var(--panel-section-gap);
}

.dashboard-orb-nav {
	display: grid;
	gap: 9px;
	min-width: 0;
	margin-top: 10px;
	margin-bottom: var(--panel-section-gap);
}

.dashboard-orb-nav .tracker-strip {
	margin-bottom: 0;
}

.tracker-strip-heading {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 13px;
	margin: 0 0 3px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.tracker-strip-heading .button-icon {
	width: 0.8rem;
	height: 0.8rem;
}

.body-dashboard > .dashboard-orb-nav,
.life-dashboard > .dashboard-orb-nav,
.spirit-dashboard > .dashboard-orb-nav,
.thoughts-settings-section .tracker-strip {
	margin-bottom: 0;
}

.panel > .dashboard-orb-nav + .scroll-area {
	height: calc(100% - 238px);
}

.tracker-orb-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, var(--tracker-orb-size));
	grid-auto-rows: minmax(0, 1fr);
	align-content: start;
	gap: 1px 3px;
	min-width: 0;
	min-height: calc(var(--tracker-orb-size) + 4px);
	height: auto;
	overflow-x: hidden;
	overflow-y: visible;
	padding: 2px;
}

.tracker-orb-row--combined {
	grid-template-columns: repeat(auto-fit, var(--tracker-orb-size));
}

.tracker-orb-row--combined[data-tracker-draggable="true"] {
	grid-auto-flow: row;
	grid-auto-rows: minmax(0, 1fr);
	grid-template-rows: auto;
	height: auto;
}

.tracker-orb-row[data-tracker-draggable="true"] .tracker-orb {
	cursor: grab;
	touch-action: none;
}

.tracker-orb-row[data-tracker-draggable="true"]
	.tracker-orb:not(.tracker-orb--add) {
	touch-action: none;
}

.tracker-orb-row[data-tracker-draggable="true"] {
	touch-action: none;
}

.body-dashboard
	> .dashboard-orb-nav
	.tracker-orb-row[data-tracker-draggable="true"],
.life-dashboard
	> .dashboard-orb-nav
	.tracker-orb-row[data-tracker-draggable="true"],
.spirit-dashboard
	> .dashboard-orb-nav
	.tracker-orb-row[data-tracker-draggable="true"],
.body-dashboard
	> .dashboard-orb-nav
	.tracker-orb-row[data-tracker-draggable="true"]
	.tracker-orb:not(.tracker-orb--add),
.life-dashboard
	> .dashboard-orb-nav
	.tracker-orb-row[data-tracker-draggable="true"]
	.tracker-orb:not(.tracker-orb--add),
.spirit-dashboard
	> .dashboard-orb-nav
	.tracker-orb-row[data-tracker-draggable="true"]
	.tracker-orb:not(.tracker-orb--add) {
	touch-action: pan-y;
}

.tracker-orb-wrap {
	position: relative;
	display: grid;
	min-width: 0;
	min-height: 0;
}

.tracker-strip.is-editable .tracker-orb:not(.tracker-orb--add) {
	cursor: grab;
	touch-action: none;
}

.tracker-orb-row.is-reordering {
	cursor: grabbing;
	user-select: none;
}

.tracker-orb-wrap.is-dragging {
	z-index: 2;
}

.tracker-orb-wrap.is-dragging .tracker-orb {
	opacity: 0.58;
	transform: scale(0.96);
}

.tracker-orb-wrap.is-drop-before::before,
.tracker-orb-wrap.is-drop-after::after {
	content: "";
	position: absolute;
	top: 4px;
	bottom: 14px;
	z-index: 4;
	width: 3px;
	border-radius: 999px;
	background: var(--thought-color, var(--accent));
	box-shadow: 0 0 0 3px
		color-mix(in srgb, var(--thought-color, var(--accent)) 24%, transparent);
	pointer-events: none;
}

.tracker-orb-wrap.is-drop-before::before {
	left: -7px;
}

.tracker-orb-wrap.is-drop-after::after {
	right: -7px;
}

.tracker-orb {
	position: relative;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 4px;
	width: 100%;
	height: 100%;
	max-width: var(--tracker-orb-size);
	max-height: var(--tracker-orb-size);
	aspect-ratio: 1;
	justify-self: center;
	align-self: center;
	border: 1px solid
		color-mix(
			in srgb,
			var(--thought-color, var(--accent)) 62%,
			var(--border-soft)
		);
	border-radius: 50%;
	background: #0f172a;
	color: #e2e8f0;
	padding: 6px;
	line-height: 1;
	text-align: center;
	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease,
		box-shadow 0.18s ease;
}

.tracker-orb:disabled {
	cursor: default;
}

.tracker-orb.is-disabled {
	border-color: color-mix(
		in srgb,
		var(--thought-color, var(--accent)) 42%,
		var(--border-soft)
	);
	background: rgba(15, 23, 42, 0.56);
	opacity: 0.5;
}

.tracker-orb.is-disabled:hover,
.tracker-orb.is-disabled:focus-visible {
	transform: none;
	background: rgba(15, 23, 42, 0.56);
}

.tracker-orb:hover,
.tracker-orb:focus-visible {
	border-color: var(--thought-color, var(--accent));
	background: #1e293b;
	color: #fff;
	outline: none;
	transform: translateY(-1px);
}

.tracker-orb.is-cooling:hover,
.tracker-orb.is-cooling:focus-visible {
	transform: none;
}

.tracker-orb.is-editing {
	border-color: var(--thought-color, var(--accent));
	background: color-mix(
		in srgb,
		var(--thought-color, var(--accent)) 18%,
		#0f172a
	);
	box-shadow: 0 0 0 2px
		color-mix(in srgb, var(--thought-color, var(--accent)) 28%, transparent);
}

.tracker-orb .button-icon {
	display: block;
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	color: var(--thought-color, var(--accent));
	font-size: 1.15rem;
	line-height: 1;
}

.tracker-orb-icon {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 1.3rem;
	height: 1.3rem;
	line-height: 1;
}

.tracker-orb-image {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	object-fit: contain;
}

.tracker-orb--add {
	border-style: dashed;
	color: var(--muted);
}

.tracker-page-controls {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 24px;
	margin-top: 5px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.tracker-page-controls button {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 22px;
	border: 0;
	background: transparent;
	color: #e2e8f0;
	padding: 0;
}

.tracker-page-controls button:not(:disabled):hover {
	color: #fff;
	transform: scale(1.12);
}

.tracker-page-controls button:disabled {
	cursor: default;
	color: var(--faint);
	opacity: 0.36;
}

.tracker-page-controls .button-icon {
	width: 1rem;
	height: 1rem;
}

.thought-tooltip {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: max-content;
	max-width: min(220px, calc(100vw - 24px));
	--tooltip-active-color: var(--thought-color, var(--tooltip-dot));
	border: 1px solid
		color-mix(in srgb, var(--tooltip-active-color) 48%, var(--tooltip-border));
	border-radius: 10px;
	background: var(--tooltip-bg);
	color: var(--tooltip-text);
	padding: 8px 10px;
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	box-shadow:
		0 14px 36px var(--tooltip-shadow),
		0 0 0 1px color-mix(in srgb, var(--tooltip-active-color) 18%, transparent)
		inset;
	opacity: 0;
	pointer-events: none;
	transform: translateY(2px) scale(0.98);
	transition:
		opacity 0.12s ease,
		transform 0.12s ease;
}

.thought-tooltip[data-ready="true"] {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.thought-tooltip span {
	display: block;
	overflow-wrap: anywhere;
}

.guided-tip-bubble {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10001;
	display: grid;
	gap: 12px;
	width: min(360px, calc(100vw - 32px));
	max-width: calc(100vw - 32px);
	border: 1px solid
		color-mix(in srgb, var(--tooltip-dot) 54%, var(--tooltip-border));
	border-radius: 12px;
	background: color-mix(in srgb, var(--surface) 94%, var(--bg));
	color: var(--tooltip-text);
	padding: 14px;
	font-family: var(--font-body);
	font-size: 0.94rem;
	font-weight: 650;
	line-height: 1.38;
	text-align: left;
	box-shadow:
		0 18px 44px var(--tooltip-shadow),
		0 0 0 1px color-mix(in srgb, var(--tooltip-dot) 18%, transparent) inset;
	opacity: 0;
	transform: translateY(2px) scale(0.98);
	transition:
		opacity 0.14s ease,
		transform 0.14s ease,
		border-color 0.14s ease;
}

.guided-tip-bubble[data-ready="true"] {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.guided-tip-bubble:hover,
.guided-tip-bubble:focus-visible {
	border-color: var(--tooltip-text);
	outline: 3px solid var(--tooltip-ring);
	outline-offset: 2px;
}

.guided-tip-copy {
	min-width: 0;
	overflow-wrap: break-word;
	text-wrap: pretty;
}

.guided-tip-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
}

.guided-tip-count {
	flex: 0 0 auto;
	color: color-mix(in srgb, var(--tooltip-text) 72%, transparent);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 850;
	line-height: 1.2;
	white-space: nowrap;
}

.guided-tip-controls {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 7px;
	min-width: 0;
}

.guided-tip-action {
	min-width: 54px;
	min-height: 40px;
	border: 1px solid color-mix(in srgb, var(--tooltip-text) 42%, transparent);
	border-radius: 8px;
	background: color-mix(in srgb, var(--tooltip-text) 10%, transparent);
	color: var(--tooltip-text);
	padding: 0 12px;
	font-family: var(--font-label);
	font-size: 0.76rem;
	font-weight: 900;
	line-height: 1;
}

.guided-tip-action--primary {
	border-color: var(--tooltip-text);
	background: color-mix(in srgb, var(--tooltip-text) 92%, transparent);
	color: var(--tooltip-bg);
}

.guided-tip-action:hover:not(:disabled),
.guided-tip-action:focus-visible {
	border-color: var(--tooltip-text);
	background: color-mix(in srgb, var(--tooltip-text) 18%, transparent);
	outline: 3px solid var(--tooltip-ring);
	outline-offset: 2px;
}

.guided-tip-action--primary:hover:not(:disabled),
.guided-tip-action--primary:focus-visible {
	background: var(--tooltip-text);
	color: var(--tooltip-bg);
}

.guided-tip-action:disabled {
	cursor: default;
	opacity: 0.48;
}

.is-guided-tip-target {
	outline: 2px solid
		color-mix(in srgb, var(--tooltip-dot) 76%, var(--tooltip-text));
	outline-offset: 5px;
	box-shadow:
		0 0 0 5px color-mix(in srgb, var(--tooltip-dot) 14%, transparent),
		0 0 20px color-mix(in srgb, var(--tooltip-dot) 36%, transparent) !important;
}

@keyframes guided-tip-bubble-glow {
	0%,
	100% {
		box-shadow:
			0 14px 36px var(--tooltip-shadow),
			0 0 0 1px color-mix(in srgb, var(--tooltip-dot) 24%, transparent) inset,
			0 0 18px color-mix(in srgb, var(--tooltip-dot) 38%, transparent);
	}
	50% {
		box-shadow:
			0 18px 42px var(--tooltip-shadow),
			0 0 0 1px color-mix(in srgb, var(--tooltip-dot) 42%, transparent) inset,
			0 0 34px color-mix(in srgb, var(--tooltip-dot) 68%, transparent);
	}
}

@keyframes guided-tip-target-glow {
	0%,
	100% {
		box-shadow:
			0 0 0 4px color-mix(in srgb, var(--tooltip-dot) 14%, transparent),
			0 0 18px color-mix(in srgb, var(--tooltip-dot) 36%, transparent);
	}
	50% {
		box-shadow:
			0 0 0 6px color-mix(in srgb, var(--tooltip-dot) 24%, transparent),
			0 0 30px color-mix(in srgb, var(--tooltip-dot) 66%, transparent);
	}
}

.tracker-cooldown-pie {
	position: absolute;
	inset: 5px;
	z-index: 0;
	border-radius: 50%;
	background: conic-gradient(
		var(--thought-color, var(--accent)) var(--cooldown-angle),
		transparent 0deg
	);
	opacity: 0.24;
	animation: thought-cooldown-fill var(--cooldown-duration, 7s) linear forwards;
}

@property --cooldown-angle {
	syntax: "<angle>";
	inherits: false;
	initial-value: 360deg;
}

@keyframes thought-cooldown-fill {
	from {
		--cooldown-angle: var(--cooldown-start-angle, 360deg);
	}

	to {
		--cooldown-angle: 0deg;
	}
}

.goal-confetti-burst {
	position: fixed;
	z-index: 10001;
	width: 1px;
	height: 1px;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

.goal-confetti-burst i {
	position: absolute;
	left: 0;
	top: 0;
	width: 6px;
	height: 3px;
	border-radius: 999px;
	background: var(--goal-color, var(--accent));
	box-shadow: 0 0 0 1px color-mix(in srgb, #fff 34%, transparent);
	opacity: 0;
	transform: translate(-50%, -50%) rotate(var(--burst-rotate, 0deg));
	animation: goal-confetti-pop 2s cubic-bezier(0.14, 0.76, 0.18, 1) forwards;
}

.goal-confetti-burst.is-reduced-motion i {
	animation-duration: 1.4s;
}

.goal-confetti-burst i:nth-child(3n + 2) {
	background: #fbbf24;
}

.goal-confetti-burst i:nth-child(3n) {
	background: #f8fafc;
}

@keyframes goal-confetti-pop {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.35)
			rotate(var(--burst-rotate, 0deg));
	}

	12% {
		opacity: 1;
	}

	58% {
		opacity: 0.92;
		transform: translate(
				calc(-50% + var(--burst-x, 24px)),
				calc(-50% + var(--burst-y, -24px))
			)
			scale(1) rotate(calc(var(--burst-rotate, 0deg) + 120deg));
	}

	100% {
		opacity: 0;
		transform: translate(
				calc(-50% + var(--burst-x, 24px)),
				calc(-50% + var(--burst-y, -24px) + 16px)
			)
			scale(0.62) rotate(calc(var(--burst-rotate, 0deg) + 220deg));
	}
}

.tracker-remove-button {
	position: absolute;
	top: -4px;
	right: -4px;
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid rgba(248, 113, 113, 0.58);
	border-radius: 50%;
	background: #1e293b;
	color: #fecaca;
	padding: 0;
}

.tracker-remove-button:hover,
.tracker-remove-button:focus-visible {
	border-color: rgba(248, 113, 113, 0.9);
	background: rgba(127, 29, 29, 0.72);
	color: #fff;
	outline: none;
}

.tracker-add-form {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 14px;
	border-top: 1px solid var(--border-soft);
	padding-top: 14px;
	scroll-margin-top: 96px;
}

.tracker-add-form--embedded {
	margin-top: 10px;
	border-top: 0;
	padding-top: 0;
}

.tracker-add-form .body-field--full,
.tracker-add-form .action-row {
	grid-column: 1 / -1;
}

.tracker-edit-actions {
	margin-top: 2px;
}

.tracker-title-icon-row {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.tracker-edit-form {
	margin-top: 14px;
	border-top: 1px solid var(--border-soft);
	padding-top: 14px;
	scroll-margin-top: 96px;
}

.tracker-enabled-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: var(--text);
}

.tracker-enabled-toggle input {
	position: absolute;
	opacity: 0;
}

.tracker-enabled-toggle i {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 34px;
	min-width: 34px;
	height: 20px;
	margin: 0;
	border: 1px solid
		color-mix(
			in srgb,
			var(--thought-color, var(--accent)) 58%,
			var(--border-soft)
		);
	border-radius: 999px;
	background: color-mix(
		in srgb,
		var(--thought-color, var(--accent)) 10%,
		var(--theme-control)
	);
}

.tracker-enabled-toggle i::before {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--muted);
	transform: translateX(-6px);
	transition:
		background 0.18s ease,
		transform 0.18s ease;
}

.tracker-enabled-toggle input:checked + i {
	background: color-mix(
		in srgb,
		var(--thought-color, var(--accent)) 24%,
		var(--theme-control)
	);
}

.tracker-enabled-toggle input:checked + i::before {
	background: var(--thought-color, var(--accent));
	transform: translateX(6px);
}

.tracker-enabled-toggle--inline {
	flex: 0 0 auto;
	min-height: 48px;
	justify-content: center;
	align-items: center;
	gap: 4px;
	text-align: center;
	line-height: 1;
}

.tracker-enabled-toggle--inline span {
	display: block;
	width: 100%;
	color: var(--muted);
	font-size: 0.68rem;
	text-align: center;
}

.goal-frequency-editor {
	display: grid;
	grid-template-columns: minmax(120px, 0.38fr) minmax(0, 1fr);
	gap: 10px;
	width: 100%;
}

.goal-frequency-custom {
	min-width: 0;
}

.goal-frequency-slider-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.goal-frequency-range {
	width: 100%;
	min-width: 0;
	accent-color: var(--thought-color, var(--accent));
}

.goal-frequency-range:disabled {
	opacity: 0.48;
}

.goal-frequency-slider-row output {
	min-width: 58px;
	color: var(--text);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	text-align: right;
	white-space: nowrap;
}

.tracker-edit-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.tracker-edit-heading-actions {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.tracker-edit-heading strong {
	min-width: 0;
	overflow: hidden;
	color: var(--text);
	font-family: var(--font-label);
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tracker-edit-preview {
	display: flex;
	margin-bottom: 12px;
}

.tracker-orb--preview {
	pointer-events: none;
}

.icon-picker-body-field {
	align-self: stretch;
}

.icon-picker-input {
	display: none;
}

.icon-picker-trigger {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	width: 100%;
	min-height: 48px;
	border: 1px solid
		color-mix(
			in srgb,
			var(--icon-picker-color, var(--accent)) 48%,
			var(--border-soft)
		);
	border-radius: 12px;
	background: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 12%,
		var(--theme-control)
	);
	color: var(--text);
	padding: 5px 10px 5px 5px;
	text-align: left;
}

.icon-picker-trigger:hover,
.icon-picker-trigger:focus-visible {
	border-color: var(--icon-picker-color, var(--accent));
	background: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 20%,
		var(--theme-control)
	);
	outline: none;
}

.icon-picker-trigger-symbol,
.icon-picker-current,
.icon-picker-option-symbol {
	display: grid;
	place-items: center;
}

.icon-picker-trigger-symbol {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 20%,
		transparent
	);
	color: var(--icon-picker-color, var(--accent));
}

.icon-picker-trigger-label {
	min-width: 0;
	overflow: hidden;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.74rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.icon-picker-overlay {
	position: fixed;
	inset: 0;
	z-index: 60;
	display: grid;
	place-items: center;
	padding: 18px;
	background: rgba(2, 6, 23, 0.72);
}

.icon-picker-panel {
	display: grid;
	grid-template-rows: auto auto auto minmax(0, 1fr);
	width: min(760px, 100%);
	max-height: min(720px, calc(100dvh - 36px));
	border: 1px solid var(--border);
	border-radius: 18px;
	background: var(--surface);
	color: var(--text);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
	overflow: hidden;
}

.icon-picker-header {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 16px;
	border-bottom: 1px solid var(--border-soft);
}

.icon-picker-header-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.icon-picker-save {
	border-color: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 64%,
		var(--border-soft)
	);
	background: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 30%,
		var(--theme-control)
	);
	color: var(--text);
}

.icon-picker-current {
	width: 48px;
	height: 48px;
	border: 1px solid
		color-mix(
			in srgb,
			var(--icon-picker-color, var(--accent)) 56%,
			var(--border-soft)
		);
	border-radius: 14px;
	background: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 18%,
		var(--theme-control)
	);
	color: var(--icon-picker-color, var(--accent));
}

.icon-picker-header h2 {
	margin: 0;
	font-size: 1.05rem;
}

.icon-picker-header p {
	margin: 4px 0 0;
	color: var(--muted);
	font-size: 0.84rem;
	line-height: 1.35;
}

.icon-picker-search {
	display: grid;
	gap: 7px;
	padding: 14px 16px;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
}

.icon-picker-search input {
	width: 100%;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: var(--theme-control);
	color: var(--text);
	padding: 11px 12px;
	outline: none;
}

.icon-picker-search input:focus {
	border-color: var(--icon-picker-color, var(--accent));
}

.icon-picker-color {
	display: grid;
	gap: 10px;
	padding: 0 16px 14px;
}

.icon-picker-color-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
}

.icon-picker-hex {
	display: grid;
	grid-template-columns: 28px 92px;
	gap: 8px;
	align-items: center;
	min-height: 38px;
	border: 1px solid
		color-mix(
			in srgb,
			var(--icon-picker-color, var(--accent)) 44%,
			var(--border-soft)
		);
	border-radius: 12px;
	background: var(--theme-control);
	padding: 5px 7px;
}

.icon-picker-color-preview,
.icon-picker-swatch {
	background:
		linear-gradient(
			45deg,
			rgba(255, 255, 255, 0.16) 25%,
			transparent 25% 75%,
			rgba(255, 255, 255, 0.16) 75%
		),
		var(--picked-color);
}

.icon-picker-color-preview {
	width: 24px;
	height: 24px;
	border: 1px solid
		color-mix(in srgb, var(--picked-color) 48%, var(--border-soft));
	border-radius: 8px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}

.icon-picker-hex input {
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	color: var(--text);
	font: inherit;
	outline: none;
	text-transform: uppercase;
}

.icon-picker-swatches {
	display: grid;
	grid-template-columns: repeat(8, 18px);
	justify-content: start;
	gap: 7px;
}

.icon-picker-swatch {
	width: 18px;
	height: 18px;
	aspect-ratio: 1;
	min-height: 0;
	border: 1px solid
		color-mix(in srgb, var(--picked-color) 46%, var(--border-soft));
	border-radius: 5px;
	background:
		linear-gradient(
			45deg,
			rgba(255, 255, 255, 0.16) 25%,
			transparent 25% 75%,
			rgba(255, 255, 255, 0.16) 75%
		),
		var(--picked-color);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.icon-picker-swatch:hover,
.icon-picker-swatch:focus-visible,
.icon-picker-swatch.is-selected {
	border-color: var(--picked-color);
	box-shadow:
		0 0 0 2px color-mix(in srgb, var(--picked-color) 34%, transparent),
		inset 0 0 0 1px rgba(255, 255, 255, 0.18);
	outline: none;
}

.icon-picker-results {
	min-height: 0;
	overflow: auto;
	padding: 0 16px 16px;
}

.icon-picker-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 8px;
}

.icon-picker-option {
	display: grid;
	grid-template-rows: minmax(30px, auto) auto;
	align-content: center;
	justify-items: center;
	gap: 6px;
	min-width: 0;
	min-height: 76px;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: var(--theme-control);
	color: var(--muted);
	padding: 8px 6px;
	text-align: center;
}

.icon-picker-option-symbol {
	width: 30px;
	height: 30px;
	color: var(--icon-picker-color, var(--accent));
	line-height: 1;
}

.button-icon,
.icon-picker-trigger-symbol .button-icon,
.icon-picker-current .button-icon,
.icon-picker-option-symbol .button-icon {
	display: block;
	line-height: 1;
}

.icon-picker-option-symbol .button-icon {
	font-size: 1.35rem;
}

.icon-picker-option span:last-child {
	max-width: 100%;
	overflow: hidden;
	font-size: 0.62rem;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.icon-picker-option:hover,
.icon-picker-option:focus-visible,
.icon-picker-option.is-selected {
	border-color: var(--icon-picker-color, var(--accent));
	background: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 18%,
		var(--theme-control)
	);
	color: var(--text);
	outline: none;
}

.icon-picker-option.is-selected {
	box-shadow: 0 0 0 1px
		color-mix(in srgb, var(--icon-picker-color, var(--accent)) 64%, transparent);
}

.icon-picker-empty {
	grid-column: 1 / -1;
	border: 1px dashed var(--border-soft);
	border-radius: 12px;
	color: var(--faint);
	padding: 18px;
}

.icon-picker-load-more {
	width: 100%;
	margin-top: 12px;
}

.thought-toast {
	--thought-toast-accent: var(--accent-2, var(--accent));
	--thought-toast-on-accent: var(--on-accent-2, var(--on-accent, var(--text)));
	--thought-toast-bg: color-mix(
		in srgb,
		var(--surface) 70%,
		var(--thought-toast-accent) 30%
	);
	--thought-toast-bg-deep: color-mix(
		in srgb,
		var(--bg) 72%,
		var(--thought-toast-accent) 28%
	);
	--thought-toast-panel: color-mix(
		in srgb,
		var(--theme-control) 68%,
		var(--thought-toast-accent) 32%
	);
	--thought-toast-panel-hover: color-mix(
		in srgb,
		var(--theme-control-hover) 58%,
		var(--thought-toast-accent) 42%
	);
	--thought-toast-border: color-mix(
		in srgb,
		var(--thought-toast-accent) 74%,
		var(--border)
	);
	--thought-toast-border-soft: color-mix(
		in srgb,
		var(--thought-toast-accent) 44%,
		var(--border-soft)
	);
	--thought-toast-text: var(--text);
	--thought-toast-muted: color-mix(
		in srgb,
		var(--text) 70%,
		var(--thought-toast-accent) 30%
	);
	--thought-toast-label: color-mix(
		in srgb,
		var(--text) 52%,
		var(--thought-toast-accent) 48%
	);
	position: fixed;
	left: 50%;
	right: auto;
	bottom: 22px;
	z-index: 25;
	display: grid;
	grid-template-columns: minmax(170px, 0.9fr) minmax(290px, 1.35fr) minmax(
			112px,
			0.48fr
		) auto auto auto;
	align-items: stretch;
	gap: 12px;
	width: min(860px, calc(100vw - 44px));
	border: 1px solid var(--thought-toast-border);
	border-radius: 16px;
	background: linear-gradient(
		135deg,
		var(--thought-toast-bg),
		var(--thought-toast-bg-deep)
	);
	color: var(--thought-toast-text);
	padding: 12px 14px;
	box-shadow:
		0 18px 42px var(--theme-shadow, rgba(0, 0, 0, 0.36)),
		0 0 0 1px color-mix(in srgb, var(--thought-toast-accent) 32%, transparent)
		inset;
	opacity: 1;
	transform: translateX(-50%) translateY(0);
	transition:
		opacity 2s ease,
		transform 2s ease;
}

.thought-toast-summary {
	display: grid;
	align-content: center;
	min-width: 0;
}

.thought-toast.is-fading {
	opacity: 0;
	transform: translateX(-50%) translateY(10px);
}

.thought-toast.is-held {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
	transition: none;
}

.thought-toast strong,
.thought-toast small {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.thought-toast strong {
	color: var(--thought-toast-text);
	font-family: var(--font-label);
	font-weight: 900;
}

.thought-toast small {
	margin-top: 3px;
	color: var(--thought-toast-muted);
	font-size: 0.86rem;
}

.thought-toast small span + span::before {
	content: " / ";
}

.thought-toast-input-label,
.thought-toast-time-fields label {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.thought-toast-input-label {
	grid-template-rows: auto minmax(52px, 1fr);
	align-self: stretch;
}

.thought-toast-input-label span,
.thought-toast-time-fields span {
	color: var(--thought-toast-label);
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.thought-toast-time-fields {
	display: grid;
	grid-template-columns: 1fr;
	gap: 5px;
	align-self: center;
	min-width: 0;
}

.thought-toast-input {
	width: 100%;
	min-width: 0;
	height: 38px;
	border: 1px solid var(--thought-toast-border-soft);
	border-radius: 10px;
	background: var(--thought-toast-panel);
	color: var(--thought-toast-text);
	padding: 8px 10px;
	outline: none;
}

.thought-toast-input::placeholder {
	color: color-mix(in srgb, var(--thought-toast-muted) 72%, transparent);
}

.thought-toast-input-label .thought-toast-input {
	height: 100%;
	min-height: 52px;
	padding: 0 13px;
	font-size: 0.98rem;
}

.thought-toast-time-fields .thought-toast-input {
	height: 26px;
	border-radius: 7px;
	padding: 3px 7px;
	font-size: 0.68rem;
}

.thought-toast-input:focus {
	border-color: var(--thought-toast-accent);
	background: var(--thought-toast-panel-hover);
	box-shadow: 0 0 0 3px
		color-mix(in srgb, var(--thought-toast-accent) 24%, transparent);
}

.thought-toast-delete {
	border-color: color-mix(
		in srgb,
		var(--danger) 72%,
		var(--thought-toast-border-soft)
	);
	background: color-mix(in srgb, var(--danger) 12%, var(--thought-toast-panel));
	color: var(--danger);
}

.thought-toast > .icon-button {
	align-self: center;
}

.gallery-page {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 16px;
	height: calc(100% - 80px);
	min-height: 0;
	overflow: hidden;
}

.gallery-page .empty-state {
	height: 100%;
}

.gallery-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: rgba(2, 6, 23, 0.48);
	padding: 12px 14px;
}

.gallery-toolbar > span,
.gallery-toolbar label span {
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.gallery-toolbar label {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gallery-toolbar input[type="range"] {
	width: min(38vw, 220px);
	accent-color: var(--accent);
}

.gallery-grid {
	display: grid;
	grid-template-columns: repeat(
			auto-fill,
			minmax(var(--gallery-thumb-size), 1fr)
		);
	align-items: start;
	grid-auto-rows: var(--gallery-thumb-size);
	gap: 14px;
	min-height: 0;
	overflow-y: auto;
	padding-right: 8px;
}

.gallery-card {
	position: relative;
	display: block;
	height: var(--gallery-thumb-size);
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: rgba(2, 6, 23, 0.56);
}

.gallery-card.is-selected {
	border-color: var(--accent);
	box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.65);
}

.gallery-select {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(148, 163, 184, 0.52);
	border-radius: 8px;
	background: rgba(2, 6, 23, 0.78);
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 0.16s ease,
		background 0.16s ease,
		border-color 0.16s ease;
}

.gallery-grid.is-selecting .gallery-select,
.gallery-card:hover .gallery-select,
.gallery-card:focus-within .gallery-select {
	opacity: 1;
	pointer-events: auto;
}

.gallery-card.is-selected .gallery-select {
	border-color: var(--accent);
	background: rgba(7, 89, 133, 0.9);
}

.gallery-select input {
	width: 16px;
	height: 16px;
	accent-color: var(--accent);
}

.gallery-image-link {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	background: #020617;
}

.gallery-image-link img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gallery-image-link.is-missing,
.gallery-image-link img.is-missing {
	opacity: 0.45;
}

.panel {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--menu-body-gap);
	height: 100%;
	min-height: 0;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 8px 24px 24px;
	box-shadow: none;
}

.panel.is-header-snapped {
	gap: 0;
	padding-top: 0;
}

.content-stage.is-header-snapped {
	overflow: hidden;
}

.content-stage.is-header-snapped .panel {
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.content-stage.is-header-snapped .panel > :last-child {
	flex: 1 1 auto;
	min-height: 0;
}

.content-stage.is-header-snapped .panel > .scroll-area,
.content-stage.is-header-snapped .panel > .reader-panel,
.content-stage.is-header-snapped .panel > .reader-book,
.content-stage.is-header-snapped .panel > .editor-form,
.content-stage.is-header-snapped .settings-tab-panel {
	overflow-y: auto;
	overscroll-behavior: contain;
}

.content-stage.is-header-snapped .panel > .reader-topbar {
	height: 0;
	min-height: 0;
	overflow: hidden;
	padding-top: 0;
	padding-bottom: 0;
	opacity: 0;
	pointer-events: none;
}

.panel > :not(.panel-header) {
	min-height: 0;
}

.panel > :last-child {
	flex: 1 1 auto;
	min-height: 0;
}

.panel > .panel-header,
.panel > .dashboard-orb-nav,
.panel > .reader-topbar {
	flex: 0 0 auto;
}

.panel-header[hidden],
.dashboard-orb-nav[hidden],
.reader-topbar[hidden] {
	display: none !important;
}

.panel > .scroll-area,
.panel > .reader-panel,
.panel > .reader-book,
.panel > .body-dashboard,
.panel > .life-dashboard,
.panel > .life-calendar-viewer,
.panel > .life-project-body,
.panel > .spirit-dashboard,
.panel > .spirit-book-dashboard,
.panel > .editor-form {
	height: 100%;
}

.panel-header {
	display: grid;
	align-items: start;
	gap: 10px;
	max-height: 180px;
	margin-bottom: 0;
	overflow: hidden;
	padding-right: 0;
	opacity: 1;
	transform: translateY(var(--dashboard-header-offset));
	transition:
		max-height var(--dashboard-header-snap-duration) ease,
		opacity 0.12s ease,
		transform var(--dashboard-header-snap-duration) ease;
}

.dashboard-orb-nav {
	max-height: 180px;
	opacity: 1;
	overflow: hidden;
	transform: translateY(0);
	transition:
		max-height 0.16s ease,
		margin 0.16s ease,
		opacity 0.12s ease,
		transform 0.16s ease;
}

.panel.is-header-snapped .panel-header {
	max-height: 0;
	opacity: 0;
	pointer-events: none;
	--dashboard-header-offset: 0px;
}

.panel.is-header-snapped .dashboard-orb-nav {
	max-height: 0;
	margin-top: 0;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-8px);
}

.panel-header-copy {
	min-width: 0;
	width: 100%;
	border: 0;
	background: transparent;
	color: inherit;
	padding: 0;
	text-align: left;
}

.panel-header h2,
.reader-heading h2 {
	margin: 0;
	color: #fff;
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 3vw, 2rem);
	line-height: 1.2;
}

.panel-header p {
	max-width: 720px;
	margin: 8px 0 0;
	color: var(--muted);
	font-size: 0.95rem;
	line-height: 1.5;
}

.action-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	justify-content: flex-end;
}

.action-row .danger-button {
	margin-left: auto;
}

.panel-header-actions {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	min-width: 0;
}

.panel-header .action-row {
	align-items: center;
	gap: 8px;
	flex: 0 1 auto;
	max-width: 100%;
	justify-content: flex-end;
}

.panel-header .action-row .danger-button {
	margin-left: 0;
}

.panel-header-actions .primary-button,
.panel-header-actions .secondary-button {
	width: 40px;
	min-width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 14px;
	line-height: 1;
}

.panel-header-actions .button-label,
.panel-header-actions .body-mode-label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.primary-button,
.secondary-button,
.icon-button {
	border: 1px solid #475569;
	border-radius: 12px;
	background: #1e293b;
	color: #f8fafc;
	font-family: var(--font-label);
	font-weight: 800;
	transition:
		border-color 0.2s ease,
		background 0.2s ease,
		transform 0.2s ease;
}

.primary-button,
.secondary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 14px;
	letter-spacing: 0;
	line-height: 1.1;
	text-align: center;
	overflow-wrap: normal;
	white-space: normal;
	word-break: normal;
}

.button-icon {
	flex: 0 0 auto;
	display: block;
	width: 1.15em;
	height: 1.15em;
	font-size: 1.15em;
	line-height: 1;
}

.icon-button .button-icon,
.page-action-button .button-icon,
.close-viewer-button .button-icon {
	display: grid;
	place-items: center;
	margin: 0;
}

.button-label,
.body-mode-label {
	display: inline-block;
	max-width: 100%;
	min-width: 0;
	hyphens: none;
	overflow-wrap: normal;
	text-wrap: balance;
	word-break: normal;
	white-space: normal;
}

[data-fit-nav-label].is-fit-shrunk {
	line-height: 1;
	white-space: nowrap;
}

.primary-button {
	border-color: #0ea5e9;
	background: #075985;
}

.full-width {
	width: 100%;
}

.primary-button:hover,
.secondary-button:hover,
.icon-button:hover {
	border-color: #94a3b8;
	background: #334155;
}

.danger-button {
	border-color: rgba(248, 113, 113, 0.55);
	color: #fecaca;
}

.danger-button:hover {
	border-color: rgba(248, 113, 113, 0.85);
	background: rgba(127, 29, 29, 0.45);
	color: #fff;
}

.scroll-area {
	height: calc(100% - 80px);
	min-height: 0;
	overflow-y: auto;
	padding-right: 8px;
}

.compendium-rotator {
	position: relative;
	display: grid;
	gap: 10px;
	width: min(100%, 648px);
	justify-self: center;
}

.compendium-rotator-stage {
	position: relative;
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 42px;
	align-items: center;
	height: auto;
	min-height: 318px;
	overflow: hidden;
}

.compendium-rotator-stage--single-page {
	grid-template-columns: minmax(0, 1fr);
}

.compendium-rotator-window {
	min-width: 0;
	overflow: hidden;
}

.compendium-rotator-track {
	display: flex;
	width: 100%;
	transform: translateX(calc(var(--compendium-page, 0) * -100%));
	transition: transform 0.34s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.compendium-rotator-slide {
	flex: 0 0 100%;
	display: grid;
	place-items: center;
	min-width: 0;
	padding: 0 4px;
}

.compendium-rotator-row {
	display: grid;
	grid-template-columns: repeat(var(--compendium-columns), minmax(0, 148px));
	justify-content: center;
	gap: 16px;
	width: 100%;
	min-width: 0;
}

.compendium-rotator-edge {
	display: grid;
	place-items: center;
	width: 100%;
	min-width: 0;
	min-height: 100%;
	border: 0;
	background: transparent;
	color: rgba(148, 163, 184, 0.28);
	padding: 0;
	font-size: 1.45rem;
	transition:
		color 0.18s ease,
		transform 0.18s ease;
}

.compendium-rotator-edge.is-available {
	color: rgba(226, 232, 240, 0.82);
}

.compendium-rotator-edge.is-available:hover {
	color: #fff;
	transform: scale(1.08);
}

.compendium-rotator-edge:disabled {
	cursor: default;
}

.compendium-page-indicator {
	justify-self: center;
	width: 100%;
	border: 0;
	background: transparent;
	padding: 4px 8px;
	cursor: pointer;
}

.compendium-page-indicator:hover .reader-page-dot--current,
.compendium-page-indicator:focus-visible .reader-page-dot--current {
	box-shadow: 0 0 22px rgba(56, 189, 248, 0.7);
}

.compendium-picker-popover {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	align-content: start;
	gap: 10px;
	min-width: 0;
	overflow: auto;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: #020617;
	box-shadow:
		inset 0 0 0 1px rgba(148, 163, 184, 0.05),
		0 18px 34px rgba(0, 0, 0, 0.32);
	padding: 8px;
	scrollbar-width: thin;
	scrollbar-color: var(--border) transparent;
}

.compendium-picker-header {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 3px;
	padding: 2px 4px 4px;
}

.compendium-picker-header > div {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.compendium-picker-header strong {
	color: #fff;
	font-family: var(--font-display);
	font-size: 1rem;
	line-height: 1.1;
}

.compendium-picker-header p {
	max-width: 46rem;
	margin: 0;
	color: var(--muted);
	font-size: 0.82rem;
	line-height: 1.35;
}

.compendium-picker-empty {
	display: grid;
	place-items: center;
	gap: 6px;
	min-height: 172px;
	color: var(--muted);
	font-size: 0.82rem;
	text-align: center;
}

.compendium-picker-empty strong {
	color: #fff;
	font-family: var(--font-display);
	font-size: 1rem;
}

.compendium-picker-popover::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

.compendium-picker-popover::-webkit-scrollbar-track {
	background: transparent;
}

.compendium-picker-popover::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: var(--border);
}

.compendium-picker-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(58px, 1fr));
	grid-auto-rows: 1fr;
	gap: 5px;
	min-width: 0;
}

.compendium-picker-actions {
	display: flex;
	justify-content: center;
	border-top: 1px solid var(--border-soft);
	padding-top: 8px;
}

.compendium-picker-tile {
	position: relative;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	align-items: center;
	justify-items: center;
	gap: 4px;
	min-width: 0;
	aspect-ratio: 1;
	overflow: hidden;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: rgba(15, 23, 42, 0.88);
	color: #e2e8f0;
	padding: 4px;
	text-align: center;
}

.compendium-picker-tile b {
	position: static;
	justify-self: start;
	align-self: start;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.52rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
}

.compendium-picker-tile:hover,
.compendium-picker-tile:focus-visible {
	border-color: #94a3b8;
	background: #1e293b;
	color: #fff;
}

.compendium-picker-tile span,
.compendium-picker-title {
	display: -webkit-box;
	overflow: hidden;
	min-width: 0;
	max-width: 100%;
	font-family: var(--font-label);
	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.05;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.compendium-picker-title.is-long {
	font-size: 0.6rem;
}

.compendium-picker-title.is-very-long {
	font-size: 0.54rem;
}

.compendium-tile {
	position: relative;
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr) auto auto;
	align-items: start;
	justify-items: start;
	gap: 7px;
	width: 100%;
	min-height: 0;
	aspect-ratio: 1;
	overflow: hidden;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: rgba(2, 6, 23, 0.52);
	color: #fff;
	padding: 12px;
	text-align: left;
}

.compendium-tile b {
	display: block;
	grid-row: 1;
	min-width: 0;
	margin: 0;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.14em;
}

.compendium-tile span {
	display: -webkit-box;
	grid-row: 2;
	overflow: hidden;
	min-width: 0;
	max-width: 100%;
	font-family: var(--font-display);
	font-size: clamp(0.72rem, 0.92rem, 0.92rem);
	font-weight: 800;
	line-height: 1.08;
	overflow-wrap: anywhere;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.compendium-tile-title {
	max-width: 100%;
}

.compendium-tile-title.is-long {
	font-size: 0.8rem;
}

.compendium-tile-title.is-very-long {
	font-size: 0.68rem;
	line-height: 1.02;
}

.compendium-tile small,
.compendium-tile em {
	color: var(--muted);
	font-size: 0.78rem;
	font-style: normal;
}

.compendium-tile small {
	grid-row: 4;
	margin-top: 0;
}

.compendium-tile em {
	grid-row: 5;
	margin-top: 4px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.compendium-list-view {
	display: grid;
	justify-self: center;
	width: min(100%, 648px);
	min-height: 318px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(2, 6, 23, 0.5);
	overflow: hidden;
}

.compendium-list-scroll {
	display: grid;
	align-content: start;
	gap: 1px;
	max-height: 318px;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--border) transparent;
}

.compendium-list-scroll::-webkit-scrollbar {
	width: 8px;
}

.compendium-list-scroll::-webkit-scrollbar-track {
	background: transparent;
}

.compendium-list-scroll::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: var(--border);
}

.compendium-list-item {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 48px;
	border: 0;
	border-bottom: 1px solid var(--border-soft);
	background: rgba(15, 23, 42, 0.44);
	color: #fff;
	padding: 11px 14px;
	text-align: left;
}

.compendium-list-item:last-child {
	border-bottom: 0;
}

.compendium-list-item:hover,
.compendium-list-item:focus-visible {
	background: var(--theme-control-hover, #1e293b);
	color: var(--on-surface-2, #fff);
	outline: none;
}

.compendium-list-title {
	display: block;
	overflow: hidden;
	min-width: 0;
	max-width: 100%;
	font-family: var(--font-display);
	font-size: 0.96rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.compendium-list-title.is-long,
.compendium-list-title.is-very-long {
	font-size: 0.88rem;
}

.compendium-grid-controls {
	display: grid;
	justify-items: center;
	justify-self: center;
	width: min(100%, 648px);
	margin-top: 8px;
}

.compendium-new-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: center;
	gap: 8px;
	width: 100%;
	min-height: 42px;
	margin: 0;
	border: 1px solid var(--border-soft);
	border-radius: 0;
	background: var(--theme-control, rgba(15, 23, 42, 0.72));
	color: var(--text);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.compendium-new-button:hover,
.compendium-new-button:focus-visible {
	border-color: var(--border-accent);
	background: var(--theme-control-hover, #1e293b);
	color: var(--on-surface-2, #fff);
	outline: none;
}

.mind-grid-scroll {
	display: grid;
	align-content: start;
}

.compendium-empty-wrap {
	position: relative;
	display: grid;
	justify-self: center;
	width: min(100%, 648px);
	min-height: 318px;
}

.compendium-empty-wrap .empty-state {
	height: auto;
	min-height: 318px;
}

.compendium-grid-tooltip {
	position: relative;
	border: 1px solid var(--tooltip-border);
	border-radius: 10px;
	background: var(--tooltip-bg);
	color: var(--tooltip-text);
	padding: 7px 9px;
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1.2;
}

.compendium-grid-tooltip i {
	position: absolute;
	left: 50%;
	bottom: calc(100% - 1px);
	width: 10px;
	height: 10px;
	background: var(--tooltip-bg);
	border-left: 1px solid var(--tooltip-border);
	border-top: 1px solid var(--tooltip-border);
	transform: translateX(-50%) rotate(45deg);
}

.compendium-grid-tooltip:hover,
.compendium-grid-tooltip:focus-visible {
	color: var(--tooltip-text);
	border-color: var(--tooltip-dot);
	outline: none;
}

.compendium-grid-tooltip.is-dismissed {
	opacity: 0.58;
	text-decoration: line-through;
}

.section-list {
	display: grid;
	gap: 12px;
}

.section-row {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) auto;
	grid-template-areas:
		"number title kind"
		"number body kind";
	align-items: center;
	gap: 4px 12px;
	width: 100%;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	color: #fff;
	padding: 16px;
	text-align: left;
}

.section-row > span {
	grid-area: number;
	align-self: stretch;
	display: flex;
	align-items: center;
	border-right: 1px solid var(--border-soft);
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.16em;
}

.section-number-handle {
	cursor: grab;
	touch-action: none;
	user-select: none;
}

.section-number-handle:hover,
.section-number-handle.is-active {
	color: #e0f2fe;
}

.section-number-handle.is-active {
	cursor: grabbing;
}

.section-list.is-sorting,
.section-list.is-sorting * {
	user-select: none;
}

.section-list.is-sorting .section-row {
	transition:
		border-color 0.14s ease,
		background 0.14s ease,
		box-shadow 0.14s ease;
}

.section-row.is-dragging {
	border-color: rgba(56, 189, 248, 0.68);
	background: rgba(8, 47, 73, 0.72);
	box-shadow: 0 18px 40px rgba(2, 6, 23, 0.38);
}

.section-row > strong {
	grid-area: title;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: var(--font-display);
	font-size: 1.1rem;
}

.section-row > small {
	grid-area: body;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--muted);
}

.section-row > em {
	grid-area: kind;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 900;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.body-dashboard {
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr);
	gap: 18px;
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.body-mode-panel {
	min-height: 0;
	overflow: hidden;
}

.body-timer-viewer {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.body-nutrition-viewer {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.body-card {
	min-width: 0;
	height: 100%;
	min-height: 0;
	overflow-y: auto;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	padding: 18px;
}

.body-card--timer,
.body-card--nutrition,
.body-card--workout {
	display: grid;
	align-content: start;
	gap: 16px;
}

.body-card--notes {
	overflow-y: auto;
}

.body-mode-switcher {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: rgba(2, 6, 23, 0.62);
	padding: 6px;
}

.page-tool-switcher,
.body-tool-switcher,
.life-tool-switcher {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.life-tool-switcher {
	grid-template-columns: repeat(4, minmax(118px, 1fr));
	justify-self: center;
	width: min(100%, 720px);
	justify-content: stretch;
	justify-items: stretch;
}

.life-mode-switcher.life-tool-switcher {
	grid-template-columns: repeat(4, minmax(118px, 1fr));
}

.body-timer-switcher {
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	background: rgba(2, 6, 23, 0.72);
}

.body-nutrition-switcher {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	background: rgba(2, 6, 23, 0.72);
}

.body-timer-viewer > .body-card {
	border-radius: 0 0 16px 16px;
}

.body-nutrition-viewer > .body-card {
	border-radius: 0 0 16px 16px;
}

.body-mode-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 34px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: transparent;
	color: var(--muted);
	font-weight: 900;
	font-size: var(--dashboard-nav-font-size);
	letter-spacing: 0;
	line-height: 1.1;
	text-align: center;
	overflow-wrap: normal;
	white-space: normal;
	word-break: normal;
}

.page-tool-switcher .body-mode-button,
.body-tool-switcher .body-mode-button,
.life-tool-switcher .body-mode-button {
	border-color: var(--border-soft);
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.56);
}

.life-tool-switcher .body-mode-button {
	min-height: var(--dashboard-nav-min-height);
	padding: 0 12px;
	width: 100%;
}

.body-mode-button:hover,
.body-mode-button.is-active {
	border-color: var(--border);
	background: #1e293b;
	color: #fff;
}

.body-ring-wrap {
	position: relative;
	display: grid;
	place-items: center;
	width: min(100%, 260px);
	aspect-ratio: 1;
	margin: 0 auto;
}

.body-ring-wrap--small {
	width: min(100%, 220px);
}

.body-ring {
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.body-ring-track,
.body-ring-value {
	fill: none;
	stroke-width: 16;
}

.body-ring-track {
	stroke: var(--border-soft);
}

.body-ring-value {
	stroke: var(--accent);
	stroke-linecap: round;
	stroke-dasharray: 502.6548245743669;
	transition: stroke-dashoffset 0.3s ease;
}

.body-ring-value--nutrition {
	stroke: #22c55e;
}

.body-ring-center {
	position: absolute;
	inset: 0;
	display: grid;
	place-content: center;
	gap: 6px;
	padding: 28px;
	text-align: center;
}

.body-ring-label,
.body-ring-sub {
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 800;
}

.body-ring-label {
	text-transform: uppercase;
	letter-spacing: 0.14em;
}

.body-ring-value-text {
	color: #fff;
	font-family: var(--font-display);
	font-size: 2.1rem;
	font-weight: 900;
	line-height: 1;
}

.body-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.body-form-grid--nutrition {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.body-form-grid--workout {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.body-field {
	display: grid;
	gap: 7px;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 800;
}

.body-field input {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: #020617;
	color: #fff;
	padding: 10px 12px;
	outline: none;
}

.body-field select {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: var(--theme-select-bg);
	color: var(--theme-select-text);
	padding: 10px 12px;
	outline: none;
}

.body-field textarea {
	width: 100%;
	min-width: 0;
	resize: vertical;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: #020617;
	color: #fff;
	padding: 10px 12px;
	outline: none;
}

.body-field--full {
	display: grid;
}

.body-field input:focus,
.body-field select:focus,
.body-field textarea:focus {
	border-color: var(--accent);
}

.body-actions {
	justify-content: flex-start;
}

.body-card-note,
.body-card-heading p {
	margin: 0;
	color: var(--muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

.body-macro-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.body-macro-row span {
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.78);
	color: #cbd5e1;
	padding: 6px 10px;
	font-size: 0.82rem;
	font-weight: 800;
}

.body-card-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.body-card-heading h3 {
	margin: 0 0 6px;
	color: #fff;
	font-size: 1.2rem;
}

.body-notes-list {
	gap: 10px;
}

.body-workout-list {
	display: grid;
	gap: 10px;
}

.body-workout-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: start;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: rgba(15, 23, 42, 0.62);
	padding: 14px;
}

.body-workout-item h4,
.body-workout-item p {
	margin: 0;
}

.body-workout-item h4 {
	color: #fff;
	font-size: 1rem;
}

.body-workout-item p {
	margin-top: 5px;
	color: var(--muted);
	font-size: 0.9rem;
	line-height: 1.45;
}

.life-dashboard {
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr);
	gap: var(--dashboard-density-gap);
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.life-mode-switcher {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: rgba(2, 6, 23, 0.62);
	padding: 6px;
}

.life-calendar-viewer {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 0;
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.life-calendar-switcher {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	border: 1px solid var(--border-soft);
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	background: rgba(2, 6, 23, 0.72);
	padding: 6px;
}

.life-calendar-viewer > .life-card {
	border-radius: 0 0 16px 16px;
}

.content-stage:has(.life-calendar-viewer) {
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.content-stage:has(.life-calendar-viewer) .panel {
	height: auto;
	min-height: 100%;
	overflow: visible;
}

.content-stage:has(.life-calendar-viewer) .panel > .life-dashboard {
	flex: 0 0 auto;
}

.content-stage:has(.life-calendar-viewer) .life-dashboard,
.content-stage:has(.life-calendar-viewer) .life-mode-panel,
.content-stage:has(.life-calendar-viewer) .life-calendar-viewer,
.content-stage:has(.life-calendar-viewer) .life-calendar-viewer > .life-card,
.content-stage:has(.life-calendar-viewer) .life-card--month,
.content-stage:has(.life-calendar-viewer) .life-date-list,
.content-stage:has(.life-calendar-viewer) .life-mobile-month-agenda,
.content-stage:has(.life-calendar-viewer) .life-calendar-viewer .empty-state {
	height: auto;
	max-height: none;
	overflow: visible;
}

.content-stage:has(.life-calendar-viewer) .life-dashboard {
	grid-template-rows: auto auto auto;
}

.content-stage:has(.life-calendar-viewer) .life-calendar-viewer {
	grid-template-rows: auto auto;
}

.content-stage:has(.life-calendar-viewer) .life-mobile-month-agenda {
	padding-right: 0;
}

.content-stage:has(.life-calendar-viewer) .life-month-grid,
.content-stage:has(.life-calendar-viewer) .life-month-day {
	height: auto;
	max-height: none;
	overflow: visible;
}

.content-stage:has(.life-calendar-viewer) .life-month-day {
	min-height: 118px;
}

.content-stage:has(.life-calendar-viewer) .life-fullcalendar,
.content-stage:has(.life-calendar-viewer) .life-fullcalendar.fc,
.content-stage:has(.life-calendar-viewer) .life-fullcalendar .fc,
.content-stage:has(.life-calendar-viewer) .life-fullcalendar .fc-view-harness,
.content-stage:has(.life-calendar-viewer)
	.life-fullcalendar
	.fc-view-harness-active,
.content-stage:has(.life-calendar-viewer)
	.life-fullcalendar
	.fc-dayGridMonth-view,
.content-stage:has(.life-calendar-viewer)
	.life-fullcalendar
	.fc-scroller-harness,
.content-stage:has(.life-calendar-viewer) .life-fullcalendar .fc-scroller,
.content-stage:has(.life-calendar-viewer) .life-fullcalendar .fc-scrollgrid {
	height: auto !important;
	max-height: none;
	overflow: visible !important;
}

.content-stage:has(.life-calendar-viewer)
	.life-fullcalendar
	.fc-daygrid-day-frame,
.content-stage:has(.life-calendar-viewer)
	.life-fullcalendar
	.fc-daygrid-day-events {
	height: auto;
	max-height: none;
	overflow: visible;
}

.content-stage:has(.life-calendar-viewer)
	.life-fullcalendar
	.fc-daygrid-day-events {
	-webkit-mask-image: none;
	mask-image: none;
}

.content-stage.is-header-snapped:has(.life-calendar-viewer) {
	overflow: hidden;
}

.content-stage.is-header-snapped:has(.life-calendar-viewer) .panel {
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.content-stage.is-header-snapped:has(.life-calendar-viewer)
	.panel
	> .life-dashboard {
	flex: 1 1 auto;
}

.content-stage.is-header-snapped:has(.life-calendar-viewer) .life-dashboard {
	grid-template-rows: 0 auto minmax(0, 1fr);
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.content-stage.is-header-snapped:has(.life-calendar-viewer) .life-mode-panel,
.content-stage.is-header-snapped:has(.life-calendar-viewer)
	.life-calendar-viewer {
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.content-stage.is-header-snapped:has(.life-calendar-viewer)
	.life-calendar-viewer
	> .life-card,
.content-stage.is-header-snapped:has(.life-calendar-viewer) .life-card--month,
.content-stage.is-header-snapped:has(.life-calendar-viewer) .life-date-list,
.content-stage.is-header-snapped:has(.life-calendar-viewer)
	.life-mobile-month-agenda {
	height: 100%;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.life-mode-panel {
	min-height: 0;
	overflow: hidden;
}

.life-card {
	display: grid;
	align-content: start;
	gap: var(--dashboard-density-gap);
}

.life-quick-add {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	min-width: 0;
}

.life-todo-view > .life-quick-add {
	grid-template-columns: minmax(0, 1fr) auto;
}

.life-todo-view {
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr);
	gap: var(--dashboard-density-gap);
	min-height: 0;
}

.life-todo-overview {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--dashboard-density-gap);
	min-width: 0;
	border-bottom: 1px solid var(--border-soft);
	padding-bottom: 10px;
}

.life-todo-overview h3,
.life-todo-overview p {
	margin: 0;
}

.life-todo-overview h3 {
	color: #fff;
	font-family: var(--font-display);
	font-size: var(--dashboard-section-title-size);
	line-height: 1.15;
}

.life-todo-overview p {
	margin-top: 3px;
	color: var(--muted);
	font-size: var(--dashboard-body-size);
	line-height: 1.35;
}

.life-todo-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(58px, auto));
	gap: 8px;
}

.life-todo-stats span {
	display: grid;
	place-items: center;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(2, 6, 23, 0.36);
	padding: 6px 8px;
}

.life-todo-stats strong {
	color: #fff;
	font-family: var(--font-display);
	font-size: 0.92rem;
	line-height: 1;
}

.life-todo-stats small {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-top: 4px;
	text-transform: uppercase;
}

.life-quick-add input {
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.82);
	color: var(--text);
	padding: 10px 12px;
}

.life-projects-view .life-quick-add input {
	min-height: 40px;
	background: color-mix(in srgb, var(--surface-2) 76%, var(--bg));
	font-size: 0.88rem;
}

.life-projects-view .life-quick-add input::placeholder {
	color: color-mix(in srgb, var(--muted) 82%, var(--text));
	opacity: 1;
}

.life-projects-view .life-quick-add input:focus {
	border-color: var(--accent);
	outline: 3px solid var(--theme-ring);
	outline-offset: 1px;
}

.life-todo-board {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(180px, 0.85fr);
	gap: var(--dashboard-density-gap);
	min-height: 0;
}

.life-todo-column {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 8px;
	min-width: 0;
	min-height: 0;
	border-top: 1px solid var(--border-soft);
	padding-top: 10px;
}

.life-todo-column--done .life-todo-card {
	opacity: 0.74;
}

.life-todo-column-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
}

.life-todo-column-heading h4,
.life-project-nav-section h4,
.life-assigned-tasks h4 {
	margin: 0;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.life-todo-column-heading span {
	display: inline-grid;
	place-items: center;
	min-width: 24px;
	min-height: 22px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
}

.life-todo-stack {
	display: grid;
	align-content: start;
	gap: 8px;
	min-height: 0;
	overflow-y: auto;
	padding-right: 4px;
}

.life-todo-stack p,
.life-project-nav-section p,
.life-attachment-list p {
	margin: 0;
	color: var(--muted);
	font-size: 0.86rem;
}

.life-todo-card {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.38);
	cursor: pointer;
	padding: 9px;
	transition:
		background 0.16s ease,
		border-color 0.16s ease,
		transform 0.16s ease;
}

.life-todo-card.is-project-task {
	border-color: rgba(56, 189, 248, 0.24);
}

.life-todo-card:hover,
.life-todo-card:focus-visible {
	border-color: rgba(148, 163, 184, 0.34);
	background: rgba(15, 23, 42, 0.58);
	transform: translateY(-1px);
	outline: none;
}

.life-todo-card.is-project-task:hover,
.life-todo-card.is-project-task:focus-visible {
	border-color: rgba(56, 189, 248, 0.4);
}

.life-todo-card-main {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.life-todo-card-title {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.life-todo-source {
	width: max-content;
	max-width: 100%;
	overflow: hidden;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 1;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.life-todo-card h4 {
	margin: 0;
	min-width: 0;
	overflow: hidden;
	color: #fff;
	font-family: var(--font-body);
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.25;
	text-overflow: ellipsis;
	text-transform: none;
	white-space: nowrap;
}

.life-todo-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}

.life-todo-card-meta span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex: 1 1 min(100%, 128px);
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.64rem;
	font-weight: 800;
	line-height: 1.1;
	white-space: normal;
}

.life-todo-card-meta .button-icon {
	flex: 0 0 auto;
	width: 0.9em;
	height: 0.9em;
}

.life-todo-detail {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--muted);
	font-size: 0.74rem;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.life-todo-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 2px;
}

.life-todo-card-actions .secondary-button {
	min-height: 28px;
	border-radius: 8px;
	padding: 4px 8px;
	font-size: 0.68rem;
}

.life-todo-check {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border: 1px solid rgba(148, 163, 184, 0.34);
	border-radius: 50%;
	background: transparent;
	color: rgba(203, 213, 225, 0.58);
	cursor: pointer;
	margin-top: 2px;
	padding: 0;
	transition:
		border-color 0.16s ease,
		color 0.16s ease,
		background 0.16s ease;
}

.life-todo-check svg {
	width: 13px;
	height: 13px;
	stroke-width: 2;
}

.life-todo-check:hover,
.life-todo-check:focus-visible {
	border-color: rgba(56, 189, 248, 0.72);
	background: rgba(56, 189, 248, 0.1);
	color: rgba(226, 232, 240, 0.88);
	outline: none;
}

.life-todo-card.is-complete .life-todo-check {
	border-color: rgba(34, 197, 94, 0.42);
	color: rgba(134, 239, 172, 0.76);
}

.life-task-row.is-complete strong {
	text-decoration: line-through;
}

.life-unassigned-panel {
	display: grid;
	gap: 10px;
	border-top: 1px solid var(--border-soft);
	padding-top: 14px;
}

.life-assigned-tasks {
	display: grid;
	gap: 8px;
}

.life-projects-view {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 14px;
	min-height: 0;
}

.life-project-overview {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--accent) 8%, transparent),
			transparent 44%
		),
		color-mix(in srgb, var(--surface) 88%, var(--bg));
	padding: 14px 16px;
	box-shadow: 0 1px 0 color-mix(in srgb, var(--text) 8%, transparent) inset;
}

.life-project-overview h3,
.life-project-overview p {
	margin: 0;
}

.life-project-overview h3 {
	color: var(--text);
	font-family: var(--font-body);
	font-size: 1.08rem;
	font-weight: 720;
	letter-spacing: 0;
	line-height: 1.15;
	text-wrap: balance;
}

.life-project-overview p {
	max-width: 64ch;
	margin-top: 4px;
	color: var(--muted);
	font-size: 0.86rem;
	line-height: 1.45;
	text-wrap: pretty;
}

.life-project-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(64px, auto));
	gap: 8px;
}

.life-project-stats span {
	display: grid;
	place-items: center;
	min-width: 0;
	border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
	border-radius: 12px;
	background: color-mix(in srgb, var(--bg) 44%, transparent);
	padding: 7px 10px;
}

.life-project-stats strong {
	color: var(--text);
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 720;
	line-height: 1;
}

.life-project-stats small {
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1;
	margin-top: 4px;
	text-transform: uppercase;
}

.life-project-shell {
	display: grid;
	grid-template-columns: minmax(210px, 0.82fr) minmax(0, 1.28fr);
	grid-template-rows: auto minmax(0, 1fr);
	grid-template-areas:
		"projects detail"
		"workflow detail";
	gap: 12px;
	height: 100%;
	min-height: 0;
}

.life-project-sidebar,
.life-project-workflow,
.life-project-body {
	min-width: 0;
	min-height: 0;
	overflow-y: auto;
}

.life-project-sidebar,
.life-project-workflow {
	display: grid;
	align-content: start;
	gap: 12px;
	border: 1px solid color-mix(in srgb, var(--border) 74%, transparent);
	border-radius: 14px;
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--surface-2) 72%, transparent),
			color-mix(in srgb, var(--bg) 32%, transparent)
		),
		var(--surface);
	padding: 12px;
	box-shadow: 0 1px 0 color-mix(in srgb, var(--text) 6%, transparent) inset;
}

.life-project-sidebar {
	grid-area: projects;
}

.life-project-workflow {
	grid-area: workflow;
}

.life-project-body {
	grid-area: detail;
	border: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
	border-radius: 14px;
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--surface) 92%, var(--bg)),
			color-mix(in srgb, var(--surface-2) 78%, var(--bg))
		),
		var(--surface);
	padding: 16px;
	box-shadow: 0 1px 0 color-mix(in srgb, var(--text) 7%, transparent) inset;
}

.life-project-workflow .empty-state,
.life-project-body .empty-state {
	align-content: center;
	height: auto;
	min-height: 0;
	padding: 16px;
}

.life-project-workflow .empty-state h3,
.life-project-body .empty-state h3 {
	font-family: var(--font-body);
	font-size: 1rem;
	font-weight: 720;
	letter-spacing: 0;
}

.life-project-workflow .empty-state p,
.life-project-body .empty-state p {
	margin: 4px 0 0;
	font-size: 0.82rem;
	line-height: 1.35;
}

.life-project-nav-section {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.life-project-sidebar .life-quick-add {
	grid-template-columns: minmax(96px, 1fr) auto;
}

.life-project-nav-section h4 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 20px;
	color: var(--muted);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
}

.life-project-nav-button {
	display: grid;
	gap: 5px;
	width: 100%;
	min-width: 0;
	border: 1px solid color-mix(in srgb, var(--border-soft) 82%, transparent);
	border-radius: 12px;
	background: color-mix(in srgb, var(--surface-2) 68%, var(--bg));
	color: var(--text);
	padding: 10px 11px;
	text-align: left;
	transition:
		border-color 0.16s ease,
		background 0.16s ease,
		color 0.16s ease,
		transform 0.16s ease;
}

.life-project-nav-button:hover {
	border-color: color-mix(in srgb, var(--border) 86%, var(--accent));
	background: color-mix(in srgb, var(--theme-control-hover) 76%, var(--bg));
	transform: translateY(-1px);
}

.life-project-nav-button:focus-visible {
	border-color: var(--accent);
	outline: 3px solid var(--theme-ring);
	outline-offset: 2px;
}

.life-project-nav-button.is-active {
	border-color: var(--border-accent-soft);
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--accent) 18%, transparent),
			color-mix(in srgb, var(--theme-control-hover) 72%, var(--bg))
		);
	color: var(--text);
	box-shadow: 0 0 0 1px
		color-mix(in srgb, var(--accent) 22%, transparent) inset;
}

.life-project-nav-button strong,
.life-project-nav-button small {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.life-project-nav-button small {
	color: var(--muted);
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1.25;
}

.life-project-nav-button strong {
	color: var(--text);
	font-size: 0.9rem;
	font-weight: 680;
	letter-spacing: 0;
	line-height: 1.22;
}

.life-project-detail {
	display: grid;
	gap: 14px;
}

.life-project-detail > .body-card-heading {
	align-items: center;
	gap: 12px;
	border-bottom: 1px solid var(--border-soft);
	margin: -2px 0 2px;
	padding-bottom: 12px;
}

.life-project-detail > .body-card-heading h3 {
	font-family: var(--font-body);
	font-size: 1.02rem;
	font-weight: 720;
	letter-spacing: 0;
}

.life-project-detail > .body-card-heading p {
	max-width: 60ch;
	color: var(--muted);
	font-size: 0.84rem;
	line-height: 1.35;
}

.life-project-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.life-project-form .body-field--full {
	grid-column: 1 / -1;
}

.life-project-detail .body-field {
	gap: 7px;
	color: var(--muted);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.life-project-detail .body-field input,
.life-project-detail .body-field select,
.life-project-detail .body-field textarea {
	border-radius: 12px;
	background: color-mix(in srgb, var(--bg) 38%, var(--surface));
}

.life-project-detail .body-field textarea {
	min-height: 176px;
	line-height: 1.48;
	resize: vertical;
}

.life-attachments {
	display: grid;
	gap: 10px;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: color-mix(in srgb, var(--bg) 30%, transparent);
	padding: 12px;
}

.life-attachment-list {
	display: grid;
	gap: 8px;
}

.life-attachment-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 8px;
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--border-soft) 82%, transparent);
	border-radius: 10px;
	background: color-mix(in srgb, var(--surface-2) 62%, var(--bg));
	padding: 8px 10px;
}

.life-attachment-item a {
	min-width: 0;
	overflow: hidden;
	color: color-mix(in srgb, var(--accent) 72%, var(--text));
	font-weight: 650;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.life-attachment-item small {
	color: var(--faint);
	font-size: 0.74rem;
}

.life-card--month {
	overflow-x: hidden;
	overflow-y: auto;
}

.life-fullcalendar {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: hidden;
	overflow-y: visible;
	color: var(--text);
}

.life-fullcalendar,
.life-fullcalendar * {
	box-sizing: border-box;
}

.life-fullcalendar.fc,
.life-fullcalendar .fc {
	--fc-border-color: var(--border-soft);
	--fc-page-bg-color: transparent;
	--fc-neutral-bg-color: #020617;
	--fc-list-event-hover-bg-color: #1e293b;
	--fc-today-bg-color: rgba(56, 189, 248, 0.1);
	color: var(--text);
	font-family: var(--font-body);
}

.life-fullcalendar .fc-scrollgrid,
.life-fullcalendar .fc-theme-standard td,
.life-fullcalendar .fc-theme-standard th {
	border-color: var(--border-soft);
}

.life-fullcalendar .fc-view-harness,
.life-fullcalendar .fc-view-harness-active,
.life-fullcalendar .fc-dayGridMonth-view,
.life-fullcalendar .fc-scroller-harness,
.life-fullcalendar .fc-scroller,
.life-fullcalendar .fc-scrollgrid,
.life-fullcalendar .fc-col-header,
.life-fullcalendar .fc-col-header table {
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	overflow-x: hidden;
}

.life-fullcalendar .fc-scrollgrid,
.life-fullcalendar .fc-scrollgrid table {
	table-layout: fixed;
}

.life-fullcalendar .fc-daygrid-body,
.life-fullcalendar .fc-daygrid-body table,
.life-fullcalendar .fc-scrollgrid-sync-table {
	height: auto !important;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	table-layout: fixed;
}

.life-fullcalendar .fc-col-header-cell {
	background: #020617;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.life-fullcalendar .fc-daygrid-day {
	background: rgba(15, 23, 42, 0.58);
}

.life-fullcalendar .fc-daygrid-day-frame {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 100%;
	min-height: 118px;
	min-width: 0;
	overflow: hidden;
}

.life-fullcalendar .fc-daygrid-day-top {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	min-width: 0;
	flex: 0 0 auto;
}

.life-fullcalendar .fc-daygrid-day-events {
	display: grid;
	gap: 4px;
	width: 100%;
	max-width: 100%;
	flex: 1 1 auto;
	min-height: 0;
	max-height: none;
	min-width: 0;
	margin: 0;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 2px 3px 5px;
	scrollbar-width: thin;
	scrollbar-color: var(--border) transparent;
	-webkit-mask-image: linear-gradient(to bottom, #000 90%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 90%, transparent 100%);
}

.life-fullcalendar .fc-daygrid-day-events::-webkit-scrollbar {
	width: 6px;
}

.life-fullcalendar .fc-daygrid-day-events::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: var(--border);
}

.life-fullcalendar .fc-daygrid-day-number {
	display: block;
	margin-left: auto;
	color: #fff;
	font-weight: 900;
	padding: 8px 10px 4px;
	font-size: 0.8rem;
	text-align: right;
}

.life-fullcalendar .fc-daygrid-event-harness,
.life-fullcalendar .fc-daygrid-event-harness-abs,
.life-fullcalendar .fc-daygrid-day-bottom,
.life-fullcalendar .fc-event-main,
.life-fullcalendar .fc-event-main-frame {
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

.life-fullcalendar .fc-daygrid-event {
	white-space: normal;
}

.life-fullcalendar .fc-event {
	display: block;
	max-width: calc(100% - 6px);
	min-width: 0;
	margin: 1px 3px;
	border: 1px solid var(--border-soft);
	border-radius: 5px;
	background: rgba(2, 6, 23, 0.74);
	color: var(--text);
	overflow: hidden;
}

.life-fullcalendar .fc-event:hover {
	border-color: var(--border);
	background: #1e293b;
}

.life-fc-event-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2px;
	min-width: 0;
	max-width: 100%;
	padding: 5px 6px;
	line-height: 1.15;
	overflow: hidden;
}

.life-fc-event-inner span {
	min-width: 0;
	overflow: hidden;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.life-fc-event-inner strong {
	display: -webkit-box;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
	color: #e2e8f0;
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: normal;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.life-fc-event-inner em {
	display: none;
}

.life-mobile-month-agenda {
	display: grid;
	gap: 8px;
	max-height: min(64vh, 620px);
	overflow-y: auto;
	padding-right: 4px;
}

.life-mobile-month-day {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 10px;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: var(--surface);
	padding: 10px;
}

.life-mobile-month-day.has-events {
	border-color: color-mix(in srgb, var(--accent) 34%, var(--border-soft));
	background: var(--surface);
}

.life-mobile-month-date {
	display: grid;
	place-items: center;
	align-self: start;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: var(--theme-control);
	padding: 6px 4px;
}

.life-mobile-month-date strong {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.life-mobile-month-date span {
	color: var(--text);
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 900;
	line-height: 1.2;
}

.life-mobile-month-events {
	display: grid;
	align-content: center;
	gap: 6px;
	min-width: 0;
	min-height: 48px;
}

.life-mobile-month-events > p {
	margin: 0;
	color: var(--faint);
	font-size: 0.78rem;
}

.life-month-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	grid-auto-rows: auto;
	gap: 1px;
	min-height: 0;
	overflow: visible;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: var(--border-soft);
}

.life-month-heading {
	display: grid;
	place-items: center;
	min-height: 30px;
	background: #020617;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.life-month-day {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	align-content: start;
	gap: 4px;
	min-width: 0;
	aspect-ratio: 1 / 1;
	border: 0;
	border-radius: 0;
	background: rgba(15, 23, 42, 0.58);
	padding: 8px;
	overflow: hidden;
}

.life-month-day.is-muted {
	opacity: 0.45;
}

.life-month-day span {
	color: #fff;
	font-weight: 900;
}

.life-month-day-date {
	justify-self: end;
	line-height: 1;
	text-align: right;
}

.life-month-day-items {
	display: grid;
	align-content: start;
	gap: 4px;
	min-width: 0;
	overflow: hidden;
}

.life-month-day strong,
.life-month-day small {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--muted);
	font-size: 0.78rem;
}

.life-month-day small {
	display: flex;
	gap: 5px;
	align-items: baseline;
	max-width: 100%;
}

.life-month-day small em {
	flex: 0 0 auto;
	color: var(--faint);
	font-style: normal;
	font-size: 0.68rem;
}

.life-month-day small span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.life-week-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
	min-height: 0;
}

.life-day-column {
	display: grid;
	align-content: start;
	gap: 8px;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: rgba(15, 23, 42, 0.5);
	padding: 12px;
}

.life-day-column h3,
.life-day-column p {
	margin: 0;
}

.life-day-column h3 {
	font-size: 0.9rem;
}

.life-day-column strong {
	color: #fff;
	font-family: var(--font-display);
	font-size: 1.35rem;
	line-height: 1;
}

.life-week-events {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.life-event-list,
.life-date-list {
	display: grid;
	gap: 10px;
}

.life-event-list .empty-state,
.life-date-list .empty-state {
	height: auto;
	min-height: 96px;
	align-content: center;
	padding: 28px 20px;
}

.life-event-list .empty-state p,
.life-date-list .empty-state p {
	max-width: 34rem;
	margin: 10px auto 0;
	line-height: 1.45;
}

.life-date-list {
	overflow-y: auto;
}

.life-date-group {
	display: grid;
	gap: 10px;
}

.life-date-group h3 {
	position: sticky;
	top: 0;
	z-index: 1;
	margin: 0;
	border-bottom: 1px solid var(--border-soft);
	background: #020617;
	color: #fff;
	padding: 8px 0;
}

.life-event-row {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) minmax(0, 1.2fr) auto;
	gap: 10px;
	align-items: center;
	width: 100%;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.54);
	color: var(--text);
	padding: 10px;
	text-align: left;
}

.life-event-row > span:first-child {
	display: inline-grid;
	place-items: center;
	align-self: center;
	justify-self: center;
	width: 22px;
	height: 22px;
	line-height: 1;
}

.life-event-row > span:first-child .button-icon {
	width: 1rem;
	height: 1rem;
	font-size: 1rem;
}

button.life-event-row:hover {
	border-color: var(--border);
	background: #1e293b;
}

.life-event-row strong,
.life-event-row small {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.life-event-row small {
	color: var(--muted);
}

.life-event-row em {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.life-event-row--week {
	grid-template-columns: 22px minmax(0, 1fr);
	grid-template-areas:
		"icon title"
		"icon meta"
		"icon kind";
	align-items: start;
	gap: 2px 8px;
	border-radius: 8px;
	padding: 8px;
}

.life-event-row--week > span {
	grid-area: icon;
	padding-top: 0;
}

.life-event-row--week strong {
	grid-area: title;
	white-space: normal;
	display: -webkit-box;
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.life-event-row--week small {
	grid-area: meta;
	white-space: normal;
	font-size: 0.72rem;
	line-height: 1.25;
}

.life-event-row--week em {
	grid-area: kind;
	font-size: 0.6rem;
}

.life-reader-grid {
	height: calc(100% - 80px);
	min-height: 0;
}

.life-reader-panel {
	height: 100%;
}

.life-journal-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.life-journal-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.72);
	color: #cbd5e1;
	padding: 6px 10px;
	font-size: 0.82rem;
	font-weight: 800;
}

.life-editor-form {
	align-content: start;
	grid-template-rows: auto auto auto auto minmax(160px, 1fr) auto;
	gap: 12px;
}

.life-editor-grid {
	display: grid;
	grid-template-columns: minmax(180px, 260px);
	gap: 12px;
}

.life-tracker-fieldsets {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.life-tracker-fieldset {
	min-width: 0;
	margin: 0;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	padding: 12px;
}

.life-tracker-fieldset legend {
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 800;
}

.life-tracker-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
	gap: 8px;
}

.life-tracker-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	min-height: 40px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.58);
	color: #cbd5e1;
	padding: 8px 9px;
	font-size: 0.82rem;
	font-weight: 800;
}

.life-tracker-pill:hover {
	border-color: var(--border);
	background: #1e293b;
}

.life-tracker-pill input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.life-tracker-icon {
	display: inline-grid;
	place-items: center;
	color: var(--faint);
}

.life-tracker-icon .button-icon {
	font-size: 1.15rem;
}

.life-tracker-label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.life-tracker-pill:has(input:checked) {
	border-color: #38bdf8;
	background: rgba(12, 74, 110, 0.42);
	color: #fff;
}

.life-tracker-pill:has(input:checked) .life-tracker-icon {
	color: #38bdf8;
}

.life-tracker-empty {
	margin: 0;
	color: var(--muted);
	font-size: 0.82rem;
	font-weight: 800;
}

.life-editor-form #editor-body {
	min-height: 160px;
}

.editor-body-field {
	min-height: 0;
}

.plan-select-label {
	display: grid;
	gap: 7px;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.spirit-actions {
	align-items: end;
}

.plan-select {
	min-width: 180px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--theme-select-bg);
	color: var(--theme-select-text);
	padding: 10px 12px;
	font-family: var(--font-label);
	font-size: 0.95rem;
	font-weight: 800;
	letter-spacing: 0;
	outline: none;
}

.plan-select:focus {
	border-color: var(--accent);
}

.spirit-dashboard {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr);
	gap: 16px;
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.spirit-nav-stack {
	display: grid;
	gap: var(--menu-body-gap);
	min-width: 0;
}

.spirit-selector-actions {
	justify-content: flex-end;
}

.spirit-detail-card {
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	padding: 16px;
}

.spirit-detail-card strong {
	display: block;
	color: #fff;
	font-size: 1.45rem;
	line-height: 1.1;
}

.spirit-detail-card span {
	display: block;
	margin-top: 6px;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.spirit-year-nav {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
}

.spirit-year-buttons {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 6px;
	min-width: 0;
}

.spirit-year-button {
	min-width: 0;
	min-height: 40px;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	background: #020617;
	color: var(--muted);
	font-family: var(--font-label);
	font-weight: 900;
}

.spirit-year-button:hover,
.spirit-year-button.is-active {
	border-color: var(--accent);
	background: #075985;
	color: #fff;
}

.spirit-scroll {
	height: auto;
}

.spirit-reading-list {
	display: grid;
	gap: 12px;
}

.spirit-reading-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
}

.spirit-reading-button {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	align-items: center;
	gap: 4px 12px;
	width: 100%;
	min-height: 72px;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	color: #fff;
	padding: 16px;
	text-align: left;
}

.spirit-reading-button:hover {
	border-color: #94a3b8;
	background: #0f172a;
}

.spirit-reading-order {
	align-self: stretch;
	display: flex;
	align-items: center;
	border-right: 1px solid var(--border-soft);
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.76rem;
	font-weight: 900;
	letter-spacing: 0.16em;
}

.spirit-reading-main {
	min-width: 0;
}

.spirit-reading-main strong {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: var(--font-display);
	font-size: 1.06rem;
}

.spirit-reading-main small {
	display: block;
	overflow: hidden;
	margin-top: 5px;
	color: var(--muted);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.spirit-reading-row.is-complete .spirit-reading-button {
	border-color: rgba(56, 189, 248, 0.45);
	background: rgba(12, 74, 110, 0.28);
}

.spirit-reading-row.is-complete .spirit-reading-main strong {
	text-decoration: line-through;
	text-decoration-thickness: 2px;
	text-decoration-color: rgba(125, 211, 252, 0.8);
}

.spirit-book-dashboard {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	height: calc(100% - 80px);
	min-height: 0;
	overflow-y: auto;
	padding-right: 8px;
}

.spirit-lookup-bar {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border: 1px solid var(--border-soft);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.5);
	padding: 12px;
}

.spirit-lookup-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 38px;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: #0f172a;
	color: #e2e8f0;
	padding: 8px 11px;
	font-family: var(--font-label);
	font-size: 0.82rem;
	font-weight: 900;
	text-decoration: none;
}

.spirit-lookup-link:hover {
	border-color: #94a3b8;
	background: #1e293b;
	color: #fff;
}

.spirit-detail-card--wide {
	grid-column: 1 / -1;
}

.spirit-pill-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.spirit-pill-row em {
	border: 1px solid var(--border-soft);
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.78);
	color: #cbd5e1;
	padding: 7px 10px;
	font-family: var(--font-label);
	font-size: 0.82rem;
	font-style: normal;
	font-weight: 800;
}

.spirit-pill-row small {
	color: var(--muted);
}

.spirit-focus-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.spirit-focus-grid p {
	min-width: 0;
	margin: 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: rgba(15, 23, 42, 0.62);
	color: #e2e8f0;
	padding: 12px;
	line-height: 1.45;
}

.reader-panel,
.reader-book {
	height: calc(100% - 80px);
	min-height: 0;
	overflow-y: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 24px;
}

.page-content {
	position: relative;
	display: grid;
	min-height: 100%;
	width: 100%;
	color: var(--text);
}

.page-content--normal,
.page-content--body-only {
	align-content: start;
	max-width: 820px;
	margin: 0 auto;
	padding: clamp(18px, 4vw, 44px);
}

.page-content-title {
	margin: 0 0 18px;
	color: var(--text);
	font-family: var(--font-display);
	font-size: clamp(1.7rem, 4vw, 2.45rem);
	line-height: 1.08;
}

.page-content--part,
.page-content--chapter,
.page-content--focus {
	place-items: center;
	align-content: center;
	min-height: 100%;
	padding: clamp(24px, 7vw, 76px);
	text-align: center;
}

.page-content--part h2,
.page-content--chapter h2 {
	max-width: min(880px, 100%);
	margin: 0;
	color: var(--text);
	font-family: var(--font-display);
	font-size: clamp(2.2rem, 8vw, 5rem);
	line-height: 1.02;
}

.page-content--chapter p {
	max-width: min(720px, 100%);
	margin: 18px 0 0;
	color: var(--muted);
	font-family: var(--font-label);
	font-size: clamp(1rem, 3vw, 1.65rem);
	line-height: 1.35;
}

.page-content--media {
	align-content: stretch;
	place-items: stretch center;
	min-height: 0;
	height: 100%;
	grid-template-rows: auto minmax(0, 1fr) auto;
	gap: clamp(8px, 1.8vw, 14px);
	padding: clamp(12px, 2.8vw, 28px);
}

.page-content-media-title {
	align-self: center;
	justify-self: center;
	max-width: min(760px, 100%);
	margin: 0;
	color: var(--text);
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 3.4vw, 2rem);
	line-height: 1.08;
}

.page-number-overlay {
	position: absolute;
	right: clamp(10px, 2vw, 18px);
	bottom: clamp(8px, 2vw, 16px);
	z-index: 1;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.72rem;
	letter-spacing: 0;
	text-transform: uppercase;
	pointer-events: none;
}

.editor-form > .page-number-overlay {
	position: static;
	justify-self: end;
	align-self: start;
	margin: 0 2px -6px 0;
}

.themed-child-viewer {
	display: grid;
	place-items: center;
	width: min(100%, 920px);
	min-height: min(58vh, 640px);
	color: var(--text);
}

.themed-child-viewer img {
	display: block;
	max-width: 100%;
	max-height: min(72vh, 720px);
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 18px 54px color-mix(in srgb, var(--bg) 76%, transparent);
}

.themed-child-viewer img[data-local-asset],
.themed-child-viewer img.is-loading {
	width: min(100%, var(--media-width, 720px));
	aspect-ratio: var(--media-ratio, 4 / 3);
	background:
		linear-gradient(
			90deg,
			color-mix(in srgb, var(--surface) 86%, var(--border) 14%),
			color-mix(in srgb, var(--surface) 72%, var(--border) 28%),
			color-mix(in srgb, var(--surface) 86%, var(--border) 14%)
		);
	background-size: 180% 100%;
	animation: reader-media-placeholder 1.2s ease-in-out infinite;
}

.themed-child-viewer img:not(.is-loading) {
	animation: none;
}

@keyframes reader-media-placeholder {
	from {
		background-position: 100% 0;
	}

	to {
		background-position: -100% 0;
	}
}

.themed-child-viewer iframe {
	width: min(100%, 900px);
	aspect-ratio: 16 / 9;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: var(--surface);
	box-shadow: 0 18px 54px color-mix(in srgb, var(--bg) 76%, transparent);
}

.themed-child-viewer--videos,
.themed-child-viewer--quotes {
	grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
	align-items: center;
	gap: clamp(12px, 2.6vw, 22px);
	width: min(100%, 980px);
}

.reader-gallery-carousel {
	width: min(100%, 980px);
	height: 100%;
	min-height: 0;
	grid-template-rows: minmax(0, 1fr) auto;
	align-content: stretch;
	gap: clamp(8px, 1.8vw, 14px);
}

.reader-gallery-frame {
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.reader-gallery-frame figure {
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.reader-gallery-frame img {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.reader-gallery-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 0;
}

.reader-gallery-edge {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	min-width: 38px;
	border: 1px solid rgba(148, 163, 184, 0.28);
	border-radius: 999px;
	background: rgba(15, 23, 42, 0.82);
	color: rgba(226, 232, 240, 0.46);
	font-family: var(--font-label);
	font-size: 1.05rem;
	line-height: 1;
	transition:
		border-color 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease;
}

.reader-gallery-edge.is-available {
	color: rgba(226, 232, 240, 0.92);
}

.reader-gallery-edge.is-available:hover {
	border-color: rgba(226, 232, 240, 0.76);
	color: #fff;
	transform: scale(1.06);
}

.reader-gallery-edge:disabled {
	cursor: default;
}

.reader-gallery-label {
	min-width: 92px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.72rem;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
}

.reader-panel:has(.page-content--media),
.reader-slide:has(.page-content--media) {
	display: grid;
	grid-template-rows: minmax(0, 1fr);
	overflow: hidden;
}

.reader-panel:has(.page-content--media) > .page-content--media,
.reader-slide:has(.page-content--media) > .reader-section,
.reader-section:has(.page-content--media) > .page-content--media,
.reader-section:has(.page-content--media) {
	height: 100%;
	min-height: 0;
}

.reader-section:has(.page-content--media) {
	width: min(100%, 1040px);
	max-width: 1040px;
}

.themed-child-viewer figure {
	display: grid;
	place-items: center;
	min-width: 0;
	margin: 0;
}

.themed-child-viewer--videos figure {
	width: 100%;
}

.themed-child-viewer--videos iframe {
	width: 100%;
}

.themed-child-viewer--quotes blockquote {
	margin: 0;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: color-mix(in srgb, var(--surface) 76%, transparent);
	padding: clamp(16px, 4vw, 28px);
	color: var(--text);
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 3vw, 1.75rem);
	line-height: 1.35;
}

.themed-child-viewer--text p {
	max-width: min(780px, 100%);
	margin: 0;
	color: var(--text);
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 5vw, 3.4rem);
	line-height: 1.12;
}

.reader-heading {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
	padding-right: 0;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--border-soft);
}

.reader-heading > div {
	max-width: 850px;
}

.reader-topbar {
	display: flex;
	justify-content: flex-end;
	height: 48px;
	padding: 4px 4px 8px;
}

.reader-topbar--actions {
	align-items: center;
}

.reader-topbar--actions .action-row {
	margin-left: auto;
}

.reader-book {
	height: calc(100% - 136px);
}

.reader-book--compendium {
	height: calc(100% - 48px);
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	gap: 14px;
	overflow: hidden;
	padding: 18px 0 4px;
}

.reader-slider {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 44px;
	align-items: stretch;
	min-height: 0;
	overflow: hidden;
}

.reader-book-window {
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}

.reader-book-inner {
	display: flex;
	width: 100%;
	height: 100%;
	margin: 0;
	gap: 0;
	transform: translateX(calc(var(--reader-page, 0) * -100%));
	transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.reader-slide {
	flex: 0 0 100%;
	min-width: 0;
	min-height: 0;
	overflow-y: auto;
	padding: 14px clamp(16px, 4vw, 42px) 12px;
	scrollbar-width: thin;
	scrollbar-color: var(--border) transparent;
}

.reader-slide::-webkit-scrollbar {
	width: 8px;
}

.reader-slide::-webkit-scrollbar-track {
	background: transparent;
}

.reader-slide::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: var(--border);
}

.reader-section {
	display: grid;
	min-height: 100%;
	width: min(100%, 780px);
	max-width: 780px;
	margin: 0 auto;
	padding-bottom: 0;
	border-bottom: 0;
}

.reader-section:has(.page-content--focus) {
	width: min(100%, 1040px);
	max-width: 1040px;
}

.reader-section:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.reader-section--cover {
	padding-bottom: 30px;
}

.reader-compendium-title {
	margin: 0 0 18px;
	color: #fff;
	font-family: var(--font-display);
	font-size: 2rem;
	line-height: 1.1;
}

.reader-section-title {
	display: block;
	margin: 0 0 16px;
	border: 0;
	background: transparent;
	color: #fff;
	padding: 0;
	text-align: left;
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 800;
}

.reader-slider-edge {
	display: grid;
	place-items: center;
	min-width: 0;
	min-height: 0;
	border: 0;
	background: transparent;
	color: rgba(148, 163, 184, 0.28);
	padding: 0;
	font-size: 1.55rem;
	transition:
		color 0.18s ease,
		transform 0.18s ease;
}

.reader-slider-edge.is-available {
	color: rgba(226, 232, 240, 0.82);
}

.reader-slider-edge.is-available:hover {
	color: #fff;
	transform: scale(1.08);
}

.reader-slider-edge:disabled {
	cursor: default;
}

.reader-slider-edge:disabled iconify-icon {
	opacity: 0;
}

.reader-slider-edge:disabled::after {
	content: "";
	width: 12px;
	height: 2px;
	border-radius: 999px;
	background: var(--accent);
	opacity: 0.78;
}

.reader-page-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 20px;
}

.reader-book .reader-page-indicator {
	flex-direction: column;
	gap: 6px;
	min-height: 32px;
}

.reader-page-label {
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.72rem;
	letter-spacing: 0;
	text-transform: uppercase;
}

.reader-page-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.reader-page-dot {
	display: block;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: rgba(100, 116, 139, 0.42);
	box-shadow: 0 0 0 1px rgba(148, 163, 184, 0.08);
	transition:
		background 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease;
}

.reader-page-dot--side.is-available {
	background: rgba(191, 219, 254, 0.84);
	box-shadow: 0 0 14px rgba(56, 189, 248, 0.32);
}

.reader-page-dot--current {
	width: 12px;
	height: 12px;
	background: #f8fafc;
	box-shadow: 0 0 18px rgba(56, 189, 248, 0.48);
}

.close-viewer-button {
	position: absolute;
	top: 24px;
	right: 24px;
	z-index: 2;
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	padding: 0;
	border-radius: 999px;
	font-size: 1.05rem;
	line-height: 1;
}

.panel-header .close-viewer-button,
.reader-heading .close-viewer-button,
.reader-topbar .close-viewer-button {
	position: static;
	top: auto;
	right: auto;
}

.page-action-button {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	padding: 0;
	border-radius: 14px;
	line-height: 1;
}

.page-action-button .button-icon,
.close-viewer-button .button-icon {
	display: block;
	margin: auto;
	width: 1.08rem;
	height: 1.08rem;
}

.editor-form {
	position: relative;
	display: grid;
	height: 100%;
	gap: 16px;
	grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.editor-form:has(.editor-save-status) {
	gap: 10px;
	grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.editor-form--section {
	padding-top: 54px;
	padding-bottom: clamp(36px, 6vh, 58px);
	grid-template-rows: auto auto minmax(0, 1fr);
}

.section-editor-floating-nav {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-width: 0;
	background: transparent;
	pointer-events: none;
}

.section-editor-floating-nav .icon-button {
	pointer-events: auto;
}

.section-editor-floating-nav .close-viewer-button {
	position: static;
	top: auto;
	right: auto;
}

.section-editor-floating-nav .page-action-button,
.section-editor-floating-nav .section-editor-nav-button {
	border-color: rgba(148, 163, 184, 0.42);
	background: rgba(15, 23, 42, 0.92);
	color: #e2e8f0;
	box-shadow: 0 10px 24px rgba(2, 6, 23, 0.34);
}

.editor-save-status {
	display: block;
	margin: 0 0 -6px 2px;
	color: var(--faint);
	font-family: var(--font-label);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.editor-form input,
.editor-form textarea,
.field-label input {
	width: 100%;
	border: 1px solid var(--border-soft);
	border-radius: 14px;
	background: #020617;
	color: #fff;
	outline: none;
}

.editor-form input {
	padding: 12px 14px;
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 800;
}

.editor-form textarea {
	min-height: 0;
	resize: none;
	padding: 16px;
	line-height: 1.65;
}

.editor-body-wrap {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 0;
	height: 100%;
}

.editor-body-wrap textarea {
	height: 100%;
}

.editor-form--section .editor-body-wrap {
	height: 100%;
	min-height: 0;
}

.editor-body-wrap.has-image-button textarea {
	padding-right: 64px;
}

.editor-body-field {
	min-height: 0;
	grid-template-rows: auto minmax(0, 1fr);
}

.editor-image-button.icon-button {
	position: absolute;
	top: 12px;
	z-index: 2;
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-color: rgba(148, 163, 184, 0.42);
	border-radius: 12px;
	background: rgba(15, 23, 42, 0.92);
	color: #e2e8f0;
	box-shadow: 0 10px 24px rgba(2, 6, 23, 0.34);
}

.editor-image-button:hover,
.editor-image-button:focus-visible {
	border-color: #94a3b8;
	background: #1e293b;
	color: #fff;
}

.editor-image-button .button-icon {
	display: block;
	width: 1.1rem;
	height: 1.1rem;
	margin: auto;
	font-size: 1.1rem;
}

.editor-camera-button.icon-button {
	right: 14px;
}

.editor-footer-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-width: 0;
}

.editor-form input:focus,
.editor-form textarea:focus,
.field-label input:focus {
	border-color: var(--accent);
}

.empty-state {
	display: grid;
	place-items: center;
	height: calc(100% - 80px);
	border: 1px dashed var(--border);
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.42);
	padding: 32px;
	text-align: center;
}

.empty-state h3 {
	margin: 0;
	font-size: 1.4rem;
}

.empty-state p {
	color: var(--muted);
}

.placeholder {
	display: grid;
	place-items: center;
	height: 100%;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 800;
}

.donation-modal[hidden] {
	display: none;
}

.donation-modal {
	position: fixed;
	inset: 0;
	z-index: 20;
	display: grid;
	place-items: center;
	padding: 20px;
	background: rgba(2, 6, 23, 0.72);
}

.donation-panel {
	width: min(100%, 460px);
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #0f172a;
	color: #e2e8f0;
	padding: 26px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}

.camera-modal,
.timer-modal {
	position: fixed;
	inset: 0;
	z-index: 30;
	display: grid;
	place-items: center;
	padding: 20px;
	background: color-mix(in srgb, var(--bg) 78%, transparent);
	backdrop-filter: blur(8px);
}

.camera-panel,
.timer-panel {
	display: grid;
	gap: 14px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--panel);
	color: var(--text);
	padding: 18px;
	box-shadow: 0 24px 70px var(--theme-shadow);
}

.camera-panel {
	grid-template-rows: auto minmax(0, 1fr) auto auto;
	width: min(100%, 680px);
	max-height: min(720px, calc(100vh - 40px));
}

.timer-panel {
	width: min(100%, 460px);
	max-height: min(720px, calc(100vh - 40px));
	overflow-y: auto;
}

.camera-panel-header,
.timer-panel-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.camera-panel h2,
.timer-panel h2 {
	margin: 0 0 4px;
	font-size: 1.45rem;
	line-height: 1.15;
}

.camera-panel p,
.timer-panel p {
	margin: 0;
	color: var(--muted);
}

.camera-preview {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 240px;
	overflow: hidden;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: var(--surface);
}

.camera-preview video {
	display: block;
	width: 100%;
	height: 100%;
	max-height: 56vh;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	background: var(--surface);
}

.camera-placeholder {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: var(--faint);
	font-size: 3rem;
	pointer-events: none;
}

.camera-placeholder[hidden] {
	display: none;
}

.camera-status {
	min-height: 1.4em;
	font-family: var(--font-label);
	font-size: 0.82rem;
	font-weight: 800;
}

.camera-status.has-error {
	color: var(--danger);
}

.camera-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
}

.timer-display {
	display: grid;
	place-items: center;
	min-height: 116px;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: var(--surface);
	color: var(--text);
	font-family: var(--font-mono);
	font-size: clamp(3rem, 14vw, 5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
}

.timer-display.is-running {
	border-color: var(--accent);
	background: color-mix(in srgb, var(--accent) 14%, var(--surface));
	box-shadow: 0 0 0 3px var(--theme-ring);
}

.timer-presets {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.timer-preset-button {
	min-width: 0;
	justify-content: center;
	padding-inline: 8px;
	white-space: nowrap;
}

.timer-preset-button.is-active {
	border-color: var(--accent);
	background: var(--theme-control-hover);
	color: var(--text);
}

.timer-custom-row,
.timer-settings-grid,
.timer-actions {
	display: grid;
	gap: 10px;
}

.timer-custom-row {
	grid-template-columns: auto minmax(0, 78px) auto minmax(0, 78px) auto auto;
	align-items: center;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: var(--surface);
	padding: 10px;
}

.timer-custom-row span,
.timer-field-label,
.timer-field span,
.timer-volume-field strong {
	color: var(--muted);
	font-family: var(--font-label);
	font-size: 0.78rem;
	font-weight: 800;
}

.timer-custom-row input,
.timer-field select,
.timer-field input[type="range"] {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: var(--theme-control);
	color: var(--text);
}

.timer-custom-row input,
.timer-field select {
	min-height: 40px;
	padding: 8px 10px;
}

.timer-custom-row input:focus,
.timer-field select:focus,
.timer-field input[type="range"]:focus-visible {
	border-color: var(--accent);
	outline: none;
	box-shadow: 0 0 0 3px var(--theme-ring);
}

.timer-settings-grid {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
}

.timer-field {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.timer-volume-field {
	grid-column: 1 / -1;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: var(--surface);
	padding: 10px;
}

.timer-volume-field span {
	color: var(--text);
}

.timer-volume-field input[type="range"] {
	accent-color: var(--accent);
}

.timer-actions {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

:root.theme-palette:not(.theme-consolas) .camera-modal,
:root.theme-palette:not(.theme-consolas) .timer-modal {
	background: color-mix(in srgb, var(--bg) 78%, transparent);
}

:root.theme-palette:not(.theme-consolas) .camera-panel,
:root.theme-palette:not(.theme-consolas) .timer-panel {
	border-color: var(--border);
	background: var(--panel);
	color: var(--text);
	box-shadow: 0 24px 70px var(--theme-shadow);
}

:root.theme-palette:not(.theme-consolas) .camera-preview,
:root.theme-palette:not(.theme-consolas) .camera-preview video,
:root.theme-palette:not(.theme-consolas) .timer-display,
:root.theme-palette:not(.theme-consolas) .timer-custom-row,
:root.theme-palette:not(.theme-consolas) .timer-volume-field {
	background: var(--surface);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .timer-custom-row input,
:root.theme-palette:not(.theme-consolas) .timer-field select,
:root.theme-palette:not(.theme-consolas) .timer-field input[type="range"] {
	border-color: var(--border-soft);
	background: var(--theme-control);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .timer-preset-button:hover,
:root.theme-palette:not(.theme-consolas) .timer-preset-button:focus-visible,
:root.theme-palette:not(.theme-consolas) .timer-preset-button.is-active {
	border-color: var(--accent);
	background: var(--theme-control-hover);
	color: var(--text);
}

:root.theme-consolas .camera-modal,
:root.theme-consolas .timer-modal {
	background: rgba(5, 5, 5, 0.86);
}

:root.theme-consolas .camera-preview video {
	background: #050505;
}

:root.theme-consolas .timer-display.is-running,
:root.theme-consolas .sidebar-menu-nav-timer.is-active {
	border-color: var(--border);
	background: var(--text);
	color: var(--on-accent);
}

.donation-panel-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.donation-panel h2 {
	margin: 0 0 6px;
}

.donation-panel p {
	margin: 0;
	color: var(--muted);
	line-height: 1.45;
}

.icon-button {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	min-width: 36px;
	padding: 0;
	line-height: 1;
}

.icon-button.page-action-button,
.icon-button.close-viewer-button {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	padding: 0;
}

.amount-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.amount-option {
	border: 1px solid var(--border);
	border-radius: 10px;
	background: #020617;
	color: #e2e8f0;
	font-weight: 800;
	padding: 11px 8px;
}

.amount-option.is-selected {
	border-color: var(--accent);
	background: #075985;
	color: #fff;
}

.field-label {
	display: grid;
	gap: 8px;
	margin-bottom: 18px;
	color: #cbd5e1;
	font-weight: 800;
}

.field-label input {
	padding: 12px 14px;
}

.donation-status {
	min-height: 1.25rem;
	margin-top: 14px;
	color: var(--danger);
	font-size: 0.95rem;
}

:root.theme-palette:not(.theme-consolas) body {
	background: var(--bg);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .app-shell,
:root.theme-palette:not(.theme-consolas) .workspace,
:root.theme-palette:not(.theme-consolas) .sidebar,
:root.theme-palette:not(.theme-consolas) .mobile-menu-toggle,
:root.theme-palette:not(.theme-consolas) .home-button,
:root.theme-palette:not(.theme-consolas) .panel,
:root.theme-palette:not(.theme-consolas) .path-bar,
:root.theme-palette:not(.theme-consolas) .settings-tabs,
:root.theme-palette:not(.theme-consolas) .settings-inline-link,
:root.theme-palette:not(.theme-consolas) .thoughts-settings-intro,
:root.theme-palette:not(.theme-consolas) .thoughts-settings-section,
:root.theme-palette:not(.theme-consolas) .interface-settings-section,
:root.theme-palette:not(.theme-consolas) .cloud-account-card,
:root.theme-palette:not(.theme-consolas) .cloud-usage-card,
:root.theme-palette:not(.theme-consolas) .cloud-sync-grid span,
:root.theme-palette:not(.theme-consolas) .cloud-status-pill,
:root.theme-palette:not(.theme-consolas) .getting-started-intro,
:root.theme-palette:not(.theme-consolas) .getting-started-defaults,
:root.theme-palette:not(.theme-consolas) .getting-started-rhythm,
:root.theme-palette:not(.theme-consolas) .getting-started-grid article,
:root.theme-palette:not(.theme-consolas) .dashboard-analytics,
:root.theme-palette:not(.theme-consolas) .dashboard-orb-fieldset,
:root.theme-palette:not(.theme-consolas) .dashboard-textbox,
:root.theme-palette:not(.theme-consolas) .dashboard-identity-card,
:root.theme-palette:not(.theme-consolas) .dashboard-identity-toggle,
:root.theme-palette:not(.theme-consolas) .dashboard-chart-switcher,
:root.theme-palette:not(.theme-consolas) .compendium-new-button,
:root.theme-palette:not(.theme-consolas) .dashboard-period-slider,
:root.theme-palette:not(.theme-consolas) .dashboard-card-face,
:root.theme-palette:not(.theme-consolas) .dashboard-card-back-face,
:root.theme-palette:not(.theme-consolas) .theme-choice,
:root.theme-palette:not(.theme-consolas) .sidebar-menu-nav-button,
:root.theme-palette:not(.theme-consolas) .sidebar-item,
:root.theme-palette:not(.theme-consolas) .sidebar-item-organizer,
:root.theme-palette:not(.theme-consolas) .sidebar-donate-row,
:root.theme-palette:not(.theme-consolas) .sidebar-toggle-all,
:root.theme-palette:not(.theme-consolas) .body-mode-switcher,
:root.theme-palette:not(.theme-consolas) .body-timer-switcher,
:root.theme-palette:not(.theme-consolas) .body-nutrition-switcher,
:root.theme-palette:not(.theme-consolas) .body-card,
:root.theme-palette:not(.theme-consolas) .body-card-heading,
:root.theme-palette:not(.theme-consolas) .body-card-note,
:root.theme-palette:not(.theme-consolas) .body-field input,
:root.theme-palette:not(.theme-consolas) .body-field select,
:root.theme-palette:not(.theme-consolas) .body-field textarea,
:root.theme-palette:not(.theme-consolas) .body-workout-item,
:root.theme-palette:not(.theme-consolas) .body-macro-row span,
:root.theme-palette:not(.theme-consolas) .tracker-orb,
:root.theme-palette:not(.theme-consolas) .icon-picker-trigger,
:root.theme-palette:not(.theme-consolas) .icon-picker-panel,
:root.theme-palette:not(.theme-consolas) .icon-picker-option,
:root.theme-palette:not(.theme-consolas) .icon-picker-empty,
:root.theme-palette:not(.theme-consolas) .life-mode-switcher,
:root.theme-palette:not(.theme-consolas) .life-card,
:root.theme-palette:not(.theme-consolas) .life-quick-add input,
:root.theme-palette:not(.theme-consolas) .life-todo-stats span,
:root.theme-palette:not(.theme-consolas) .life-todo-column-heading span,
:root.theme-palette:not(.theme-consolas) .life-todo-card,
:root.theme-palette:not(.theme-consolas) .life-todo-check,
:root.theme-palette:not(.theme-consolas) .life-project-sidebar,
:root.theme-palette:not(.theme-consolas) .life-project-workflow,
:root.theme-palette:not(.theme-consolas) .life-project-body,
:root.theme-palette:not(.theme-consolas) .life-project-nav-button,
:root.theme-palette:not(.theme-consolas) .life-project-stats span,
:root.theme-palette:not(.theme-consolas) .life-attachment-item,
:root.theme-palette:not(.theme-consolas) .life-mobile-month-day,
:root.theme-palette:not(.theme-consolas) .life-mobile-month-date,
:root.theme-palette:not(.theme-consolas) .life-month-heading,
:root.theme-palette:not(.theme-consolas) .life-month-day,
:root.theme-palette:not(.theme-consolas) .life-day-column,
:root.theme-palette:not(.theme-consolas) .life-date-group h3,
:root.theme-palette:not(.theme-consolas) .life-event-row,
:root.theme-palette:not(.theme-consolas) .life-journal-meta span,
:root.theme-palette:not(.theme-consolas) .life-tracker-fieldset,
:root.theme-palette:not(.theme-consolas) .life-tracker-pill,
:root.theme-palette:not(.theme-consolas) .spirit-dashboard,
:root.theme-palette:not(.theme-consolas) .spirit-year-button,
:root.theme-palette:not(.theme-consolas) .spirit-reading-button,
:root.theme-palette:not(.theme-consolas) .spirit-book-dashboard,
:root.theme-palette:not(.theme-consolas) .spirit-lookup-bar,
:root.theme-palette:not(.theme-consolas) .spirit-lookup-link,
:root.theme-palette:not(.theme-consolas) .spirit-detail-card,
:root.theme-palette:not(.theme-consolas) .compendium-rotator,
:root.theme-palette:not(.theme-consolas) .compendium-picker-popover,
:root.theme-palette:not(.theme-consolas) .compendium-picker-tile,
:root.theme-palette:not(.theme-consolas) .compendium-tile,
:root.theme-palette:not(.theme-consolas) .section-row,
:root.theme-palette:not(.theme-consolas) .sidebar-item--mind-compendium,
:root.theme-palette:not(.theme-consolas) .sidebar-item--mind-section,
:root.theme-palette:not(.theme-consolas) .reader-panel,
:root.theme-palette:not(.theme-consolas) .reader-book,
:root.theme-palette:not(.theme-consolas) .reader-slide,
:root.theme-palette:not(.theme-consolas) .reader-section-title,
:root.theme-palette:not(.theme-consolas) .empty-state,
:root.theme-palette:not(.theme-consolas) .editor-form input,
:root.theme-palette:not(.theme-consolas) .editor-form textarea,
:root.theme-palette:not(.theme-consolas) .field-label input,
:root.theme-palette:not(.theme-consolas) .editor-image-button.icon-button,
:root.theme-palette:not(.theme-consolas) .donation-panel,
:root.theme-palette:not(.theme-consolas) .amount-option,
:root.theme-palette:not(.theme-consolas) .life-fullcalendar .fc-col-header-cell,
:root.theme-palette:not(.theme-consolas) .life-fullcalendar .fc-daygrid-day,
:root.theme-palette:not(.theme-consolas) .life-fullcalendar .fc-event {
	border-color: var(--border-soft);
	background: var(--surface);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .mobile-menu-toggle,
:root.theme-palette:not(.theme-consolas) .sidebar,
:root.theme-palette:not(.theme-consolas) .panel,
:root.theme-palette:not(.theme-consolas) .theme-choice,
:root.theme-palette:not(.theme-consolas) .body-card,
:root.theme-palette:not(.theme-consolas) .life-card,
:root.theme-palette:not(.theme-consolas) .reader-panel,
:root.theme-palette:not(.theme-consolas) .donation-panel {
	background: var(--surface);
}

:root.theme-palette:not(.theme-consolas) .primary-button,
:root.theme-palette:not(.theme-consolas) .secondary-button,
:root.theme-palette:not(.theme-consolas) .icon-button,
:root.theme-palette:not(.theme-consolas) .body-mode-button,
:root.theme-palette:not(.theme-consolas) .dashboard-chart-switcher button,
:root.theme-palette:not(.theme-consolas) .compendium-new-button,
:root.theme-palette:not(.theme-consolas) .tracker-page-controls button,
:root.theme-palette:not(.theme-consolas) .compendium-rotator-edge,
:root.theme-palette:not(.theme-consolas) .reader-slider-edge {
	border-color: var(--border);
	background: var(--theme-control);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas)
	.section-editor-floating-nav
	.page-action-button {
	border-color: var(--border);
	background: var(--theme-control);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .primary-button {
	border-color: var(--border-accent);
	background: var(--accent);
	color: var(--on-accent);
}

:root.theme-palette:not(.theme-consolas) .primary-button:hover,
:root.theme-palette:not(.theme-consolas) .primary-button:focus-visible {
	border-color: var(--border-accent);
	background: var(--accent-2);
	color: var(--on-accent-2);
}

:root.theme-palette:not(.theme-consolas) .danger-button {
	border-color: var(--danger);
	color: var(--danger);
}

:root.theme-palette:not(.theme-consolas) .danger-button:hover,
:root.theme-palette:not(.theme-consolas) .danger-button:focus-visible {
	border-color: var(--danger);
	background: var(--danger);
	color: var(--on-danger);
}

:root.theme-palette:not(.theme-consolas) .cloud-danger-link {
	color: var(--danger);
}

:root.theme-palette:not(.theme-consolas) .cloud-danger-link:hover,
:root.theme-palette:not(.theme-consolas) .cloud-danger-link:focus-visible {
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .home-button:hover,
:root.theme-palette:not(.theme-consolas) .home-button:focus-visible,
:root.theme-palette:not(.theme-consolas) .secondary-button:hover,
:root.theme-palette:not(.theme-consolas) .icon-button:hover,
:root.theme-palette:not(.theme-consolas) .body-mode-button:hover,
:root.theme-palette:not(.theme-consolas) .body-mode-button.is-active,
:root.theme-palette:not(.theme-consolas) .dashboard-chart-switcher button:hover,
:root.theme-palette:not(.theme-consolas)
	.dashboard-chart-switcher
	button.is-active,
:root.theme-palette:not(.theme-consolas) .compendium-new-button:hover,
:root.theme-palette:not(.theme-consolas) .compendium-new-button:focus-visible,
:root.theme-palette:not(.theme-consolas) .dashboard-period-slider:focus-within,
:root.theme-palette:not(.theme-consolas) .theme-choice:hover,
:root.theme-palette:not(.theme-consolas) .theme-choice:focus-visible,
:root.theme-palette:not(.theme-consolas) .theme-choice.is-active,
:root.theme-palette:not(.theme-consolas) .sidebar-item.is-active,
:root.theme-palette:not(.theme-consolas) .sidebar-item:hover,
:root.theme-palette:not(.theme-consolas) .sidebar-item:focus-visible,
:root.theme-palette:not(.theme-consolas) .section-row:hover,
:root.theme-palette:not(.theme-consolas) .section-row:focus-visible,
:root.theme-palette:not(.theme-consolas) .compendium-picker-tile:hover,
:root.theme-palette:not(.theme-consolas) .compendium-picker-tile:focus-visible,
:root.theme-palette:not(.theme-consolas) .compendium-tile:hover,
:root.theme-palette:not(.theme-consolas) .compendium-tile:focus-visible,
:root.theme-palette:not(.theme-consolas) .tracker-orb:hover,
:root.theme-palette:not(.theme-consolas) .tracker-orb:focus-visible,
:root.theme-palette:not(.theme-consolas) .tracker-orb.is-editing,
:root.theme-palette:not(.theme-consolas) .life-todo-card:hover,
:root.theme-palette:not(.theme-consolas) .life-todo-card:focus-visible,
:root.theme-palette:not(.theme-consolas) .life-project-nav-button:hover,
:root.theme-palette:not(.theme-consolas) .life-project-nav-button.is-active,
:root.theme-palette:not(.theme-consolas) button.life-event-row:hover,
:root.theme-palette:not(.theme-consolas) .life-tracker-pill:hover,
:root.theme-palette:not(.theme-consolas) .life-tracker-pill:has(input:checked),
:root.theme-palette:not(.theme-consolas) .spirit-year-button:hover,
:root.theme-palette:not(.theme-consolas) .spirit-year-button.is-active,
:root.theme-palette:not(.theme-consolas) .spirit-reading-button:hover,
:root.theme-palette:not(.theme-consolas) .spirit-lookup-link:hover,
:root.theme-palette:not(.theme-consolas) .amount-option:hover,
:root.theme-palette:not(.theme-consolas) .amount-option.is-selected,
:root.theme-palette:not(.theme-consolas) .life-fullcalendar .fc-event:hover {
	border-color: var(--border-accent);
	background: var(--theme-control-hover);
	color: var(--on-surface-2);
}

:root.theme-palette:not(.theme-consolas)
	.section-editor-floating-nav
	.page-action-button:hover,
:root.theme-palette:not(.theme-consolas)
	.section-editor-floating-nav
	.page-action-button:focus-visible {
	border-color: var(--border-accent);
	background: var(--theme-control-hover);
	color: var(--on-surface-2);
}

:root.theme-palette:not(.theme-consolas) .tracker-orb,
:root.theme-consolas .tracker-orb {
	border-color: color-mix(
		in srgb,
		var(--thought-color, var(--accent)) 62%,
		var(--border-soft)
	);
}

:root.theme-palette:not(.theme-consolas) .tracker-orb:hover,
:root.theme-palette:not(.theme-consolas) .tracker-orb:focus-visible,
:root.theme-palette:not(.theme-consolas) .tracker-orb.is-editing,
:root.theme-consolas .tracker-orb:hover,
:root.theme-consolas .tracker-orb:focus-visible,
:root.theme-consolas .tracker-orb.is-editing {
	border-color: var(--thought-color, var(--accent));
}

:root.theme-palette:not(.theme-consolas) .path-bar,
:root.theme-palette:not(.theme-consolas) .settings-tabs,
:root.theme-palette:not(.theme-consolas) .body-mode-switcher,
:root.theme-palette:not(.theme-consolas) .body-timer-switcher,
:root.theme-palette:not(.theme-consolas) .body-nutrition-switcher,
:root.theme-palette:not(.theme-consolas) .dashboard-chart-switcher,
:root.theme-palette:not(.theme-consolas) .dashboard-period-slider,
:root.theme-palette:not(.theme-consolas) .life-mode-switcher,
:root.theme-palette:not(.theme-consolas) .spirit-dashboard {
	border-color: var(--border-strong);
}

:root.theme-palette:not(.theme-consolas) .dashboard-chart-switcher,
:root.theme-palette:not(.theme-consolas) .dashboard-period-slider,
:root.theme-palette:not(.theme-consolas) .dashboard-period-slider:focus-within {
	border: 0;
	background: transparent;
	box-shadow: none;
}

:root.theme-palette:not(.theme-consolas) .theme-choice,
:root.theme-palette:not(.theme-consolas) .getting-started-grid article,
:root.theme-palette:not(.theme-consolas) .body-card,
:root.theme-palette:not(.theme-consolas) .life-card,
:root.theme-palette:not(.theme-consolas) .reader-panel,
:root.theme-palette:not(.theme-consolas) .donation-panel,
:root.theme-palette:not(.theme-consolas) .compendium-tile,
:root.theme-palette:not(.theme-consolas) .section-row,
:root.theme-palette:not(.theme-consolas) .body-field input,
:root.theme-palette:not(.theme-consolas) .body-field select,
:root.theme-palette:not(.theme-consolas) .body-field textarea,
:root.theme-palette:not(.theme-consolas) .editor-form input,
:root.theme-palette:not(.theme-consolas) .editor-form textarea,
:root.theme-palette:not(.theme-consolas) .field-label input {
	border-color: var(--border);
}

:root.theme-palette:not(.theme-consolas) .theme-choice.is-active {
	border-color: var(--border-accent);
}

:root.theme-palette:not(.theme-consolas) .theme-choice:hover,
:root.theme-palette:not(.theme-consolas) .theme-choice:focus-visible,
:root.theme-palette:not(.theme-consolas) .theme-choice.is-active {
	box-shadow:
		0 0 0 1px var(--border-accent-soft),
		0 12px 28px var(--theme-shadow);
}

:root.theme-palette:not(.theme-consolas) .amount-option.is-selected {
	background: var(--accent);
	color: var(--on-accent);
}

:root.theme-palette:not(.theme-consolas) .danger-button:hover,
:root.theme-palette:not(.theme-consolas) .danger-button:focus-visible {
	border-color: var(--danger);
	background: var(--danger);
	color: var(--on-danger);
}

:root.theme-palette:not(.theme-consolas) .theme-choice strong,
:root.theme-palette:not(.theme-consolas) .home-button,
:root.theme-palette:not(.theme-consolas) .path-bar button,
:root.theme-palette:not(.theme-consolas) .dashboard-card,
:root.theme-palette:not(.theme-consolas) .dashboard-analytics-header h2,
:root.theme-palette:not(.theme-consolas) .dashboard-pie span,
:root.theme-palette:not(.theme-consolas) .dashboard-bar-value,
:root.theme-palette:not(.theme-consolas) .panel-header h2,
:root.theme-palette:not(.theme-consolas) .getting-started-intro h3,
:root.theme-palette:not(.theme-consolas) .getting-started-defaults h3,
:root.theme-palette:not(.theme-consolas) .getting-started-rhythm h3,
:root.theme-palette:not(.theme-consolas) .getting-started-grid h3,
:root.theme-palette:not(.theme-consolas) .thoughts-settings-intro h3,
:root.theme-palette:not(.theme-consolas) .thoughts-settings-section h3,
:root.theme-palette:not(.theme-consolas) .body-card-heading h3,
:root.theme-palette:not(.theme-consolas) .body-workout-item h4,
:root.theme-palette:not(.theme-consolas) .section-row,
:root.theme-palette:not(.theme-consolas) .section-row > strong,
:root.theme-palette:not(.theme-consolas) .compendium-tile,
:root.theme-palette:not(.theme-consolas) .reader-compendium-title,
:root.theme-palette:not(.theme-consolas) .reader-section-title,
:root.theme-palette:not(.theme-consolas) .markdown-body,
:root.theme-palette:not(.theme-consolas) .empty-state h3,
:root.theme-palette:not(.theme-consolas) .life-todo-overview h3,
:root.theme-palette:not(.theme-consolas) .life-todo-stats strong,
:root.theme-palette:not(.theme-consolas) .life-todo-card h4,
:root.theme-palette:not(.theme-consolas) .life-project-overview h3,
:root.theme-palette:not(.theme-consolas) .life-project-stats strong,
:root.theme-palette:not(.theme-consolas) .life-project-nav-button strong,
:root.theme-palette:not(.theme-consolas) .life-month-day span,
:root.theme-palette:not(.theme-consolas) .life-day-column strong,
:root.theme-palette:not(.theme-consolas) .life-event-row strong,
:root.theme-palette:not(.theme-consolas) .life-fc-event-inner strong,
:root.theme-palette:not(.theme-consolas) .spirit-reading-main strong,
:root.theme-palette:not(.theme-consolas) .spirit-detail-card strong {
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .path-bar button:hover,
:root.theme-palette:not(.theme-consolas) .path-bar button:focus-visible {
	color: var(--accent);
}

:root.theme-palette:not(.theme-consolas) .theme-choice small,
:root.theme-palette:not(.theme-consolas) .dashboard-analytics-header p,
:root.theme-palette:not(.theme-consolas) .panel-header p,
:root.theme-palette:not(.theme-consolas) .path-bar span,
:root.theme-palette:not(.theme-consolas) .getting-started-intro p,
:root.theme-palette:not(.theme-consolas) .getting-started-defaults p,
:root.theme-palette:not(.theme-consolas) .getting-started-rhythm p,
:root.theme-palette:not(.theme-consolas) .getting-started-grid p,
:root.theme-palette:not(.theme-consolas) .getting-started-grid span,
:root.theme-palette:not(.theme-consolas) .thoughts-settings-intro p,
:root.theme-palette:not(.theme-consolas) .body-field,
:root.theme-palette:not(.theme-consolas) .body-card-heading p,
:root.theme-palette:not(.theme-consolas) .body-card-note,
:root.theme-palette:not(.theme-consolas) .body-workout-item p,
:root.theme-palette:not(.theme-consolas) .section-row > span,
:root.theme-palette:not(.theme-consolas) .section-row > small,
:root.theme-palette:not(.theme-consolas) .section-row > em,
:root.theme-palette:not(.theme-consolas) .empty-state p,
:root.theme-palette:not(.theme-consolas) .compendium-tile b,
:root.theme-palette:not(.theme-consolas) .compendium-tile small,
:root.theme-palette:not(.theme-consolas) .compendium-tile em,
:root.theme-palette:not(.theme-consolas) .reader-heading p,
:root.theme-palette:not(.theme-consolas) .life-todo-overview p,
:root.theme-palette:not(.theme-consolas) .life-todo-stats small,
:root.theme-palette:not(.theme-consolas) .life-todo-column-heading h4,
:root.theme-palette:not(.theme-consolas) .life-todo-column-heading span,
:root.theme-palette:not(.theme-consolas) .life-todo-source,
:root.theme-palette:not(.theme-consolas) .life-todo-card-meta span,
:root.theme-palette:not(.theme-consolas) .life-todo-detail,
:root.theme-palette:not(.theme-consolas) .life-todo-columns h4,
:root.theme-palette:not(.theme-consolas) .life-todo-stack p,
:root.theme-palette:not(.theme-consolas) .life-project-overview p,
:root.theme-palette:not(.theme-consolas) .life-project-stats small,
:root.theme-palette:not(.theme-consolas) .life-project-nav-button small,
:root.theme-palette:not(.theme-consolas) .life-month-heading,
:root.theme-palette:not(.theme-consolas) .life-month-day strong,
:root.theme-palette:not(.theme-consolas) .life-month-day small,
:root.theme-palette:not(.theme-consolas) .life-day-column h3,
:root.theme-palette:not(.theme-consolas) .life-day-column p,
:root.theme-palette:not(.theme-consolas) .life-event-row small,
:root.theme-palette:not(.theme-consolas) .life-event-row em,
:root.theme-palette:not(.theme-consolas) .life-journal-meta span,
:root.theme-palette:not(.theme-consolas) .life-tracker-fieldset legend,
:root.theme-palette:not(.theme-consolas) .life-fc-event-inner span,
:root.theme-palette:not(.theme-consolas) .spirit-year-button,
:root.theme-palette:not(.theme-consolas) .spirit-reading-order,
:root.theme-palette:not(.theme-consolas) .spirit-reading-main small,
:root.theme-palette:not(.theme-consolas) .spirit-detail-card span,
:root.theme-palette:not(.theme-consolas) .spirit-pill-row small,
:root.theme-palette:not(.theme-consolas) .spirit-pill-row em,
:root.theme-palette:not(.theme-consolas) .tracker-page-controls,
:root.theme-palette:not(.theme-consolas) .icon-picker-trigger-label,
:root.theme-palette:not(.theme-consolas) .icon-picker-option,
:root.theme-palette:not(.theme-consolas) .icon-picker-empty {
	color: var(--muted);
}

:root.theme-palette:not(.theme-consolas)
	.dashboard-card.is-color-always-on
	.dashboard-card-face,
:root.theme-palette:not(.theme-consolas)
	.dashboard-card:hover
	.dashboard-card-face,
:root.theme-palette:not(.theme-consolas)
	.dashboard-card:focus-visible
	.dashboard-card-face,
:root.theme-palette:not(.theme-consolas)
	.dashboard-card.is-linked-hover
	.dashboard-card-face,
:root.theme-palette:not(.theme-consolas)
	.dashboard-card.is-flipped
	.dashboard-card-face {
	border-color: var(--card-color);
	background: color-mix(in srgb, var(--card-color) 22%, var(--surface));
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--card-color) 58%, transparent),
		0 14px 32px var(--theme-shadow);
}

:root.theme-palette:not(.theme-consolas) .dashboard-card-back-face {
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .dashboard-card-row strong {
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .dashboard-card-row em,
:root.theme-palette:not(.theme-consolas) .dashboard-card-open {
	color: var(--on-surface-2);
}

:root.theme-palette:not(.theme-consolas) .body-field input:focus,
:root.theme-palette:not(.theme-consolas) .body-field select:focus,
:root.theme-palette:not(.theme-consolas) .body-field textarea:focus,
:root.theme-palette:not(.theme-consolas) .editor-form input:focus,
:root.theme-palette:not(.theme-consolas) .editor-form textarea:focus,
:root.theme-palette:not(.theme-consolas) .field-label input:focus,
:root.theme-palette:not(.theme-consolas) .life-quick-add input:focus,
:root.theme-palette:not(.theme-consolas) .plan-select:focus {
	border-color: var(--border-accent);
	box-shadow: 0 0 0 2px var(--theme-ring);
}

:root.theme-palette:not(.theme-consolas) .donation-modal {
	background: color-mix(in srgb, var(--bg) 82%, transparent);
}

:root.theme-palette:not(.theme-consolas) .life-fullcalendar.fc,
:root.theme-palette:not(.theme-consolas) .life-fullcalendar .fc {
	--fc-border-color: var(--border-soft);
	--fc-neutral-bg-color: var(--surface);
	--fc-list-event-hover-bg-color: var(--surface-2);
	--fc-today-bg-color: var(--theme-ring);
}

:root.theme-palette:not(.theme-consolas) .life-fullcalendar .fc-scrollgrid,
:root.theme-palette:not(.theme-consolas)
	.life-fullcalendar
	.fc-theme-standard
	td,
:root.theme-palette:not(.theme-consolas)
	.life-fullcalendar
	.fc-theme-standard
	th {
	border-color: var(--border-soft);
}

:root.theme-palette:not(.theme-consolas) .dashboard-pie span {
	color: var(--accent);
}

:root.theme-palette:not(.theme-consolas) .dashboard-pie small {
	color: var(--accent);
}

:root.theme-palette:not(.theme-consolas) .dashboard-space-button,
:root.theme-palette:not(.theme-consolas) .dashboard-bar-button,
:root.theme-palette:not(.theme-consolas) .dashboard-bar-track,
:root.theme-palette:not(.theme-consolas) .dashboard-orb-empty,
:root.theme-palette:not(.theme-consolas) .dashboard-period-slider-value,
:root.theme-palette:not(.theme-consolas) .pyxdia-status-strip,
:root.theme-palette:not(.theme-consolas) .pyxdia-status-strip span,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-main,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-side,
:root.theme-palette:not(.theme-consolas) .pyxdia-context-card,
:root.theme-palette:not(.theme-consolas) .pyxdia-output,
:root.theme-palette:not(.theme-consolas) .pyxdia-thread,
:root.theme-palette:not(.theme-consolas) .pyxdia-memory-card,
:root.theme-palette:not(.theme-consolas) .pyxdia-recipient-selector,
:root.theme-palette:not(.theme-consolas) .pyxdia-recipient-static,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-preview,
:root.theme-palette:not(.theme-consolas) .pyxdia-output-text,
:root.theme-palette:not(.theme-consolas) .pyxdia-pending-card,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-ref,
:root.theme-palette:not(.theme-consolas) .pyxdia-thread-letter,
:root.theme-palette:not(.theme-consolas) .pyxdia-memory-entry,
:root.theme-palette:not(.theme-consolas) .trash-item,
:root.theme-palette:not(.theme-consolas) .trash-item-type,
:root.theme-palette:not(.theme-consolas) .data-controls-group,
:root.theme-palette:not(.theme-consolas) .cloud-account-avatar,
:root.theme-palette:not(.theme-consolas) .cloud-usage-heading > span,
:root.theme-palette:not(.theme-consolas) .cloud-usage-meter,
:root.theme-palette:not(.theme-consolas) .gallery-toolbar,
:root.theme-palette:not(.theme-consolas) .gallery-card,
:root.theme-palette:not(.theme-consolas) .gallery-select,
:root.theme-palette:not(.theme-consolas) .gallery-image-link,
:root.theme-palette:not(.theme-consolas) .compendium-list-view,
:root.theme-palette:not(.theme-consolas) .compendium-list-item,
:root.theme-palette:not(.theme-consolas) .compendium-picker-empty,
:root.theme-palette:not(.theme-consolas) .compendium-picker-actions,
:root.theme-palette:not(.theme-consolas) .compendium-grid-tooltip,
:root.theme-palette:not(.theme-consolas) .reader-gallery-edge,
:root.theme-palette:not(.theme-consolas) .themed-child-viewer blockquote,
:root.theme-palette:not(.theme-consolas) .dashboard-identity-input-row input[type="text"],
:root.theme-palette:not(.theme-consolas) .tracker-title-icon-row input[type="text"],
:root.theme-palette:not(.theme-consolas) .tracker-add-form,
:root.theme-palette:not(.theme-consolas) .tracker-edit-form,
:root.theme-palette:not(.theme-consolas) .tracker-enabled-toggle i,
:root.theme-palette:not(.theme-consolas) .tracker-remove-button,
:root.theme-palette:not(.theme-consolas) .icon-picker-overlay,
:root.theme-palette:not(.theme-consolas) .icon-picker-header,
:root.theme-palette:not(.theme-consolas) .icon-picker-current,
:root.theme-palette:not(.theme-consolas) .icon-picker-save,
:root.theme-palette:not(.theme-consolas) .icon-picker-search input,
:root.theme-palette:not(.theme-consolas) .icon-picker-hex,
:root.theme-palette:not(.theme-consolas) .icon-picker-swatch,
:root.theme-palette:not(.theme-consolas) .life-tracker-empty,
:root.theme-palette:not(.theme-consolas) .sidebar-group--pyxdia,
:root.theme-palette:not(.theme-consolas) .sidebar-page-controls button {
	border-color: var(--border-soft);
	background: var(--surface);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .dashboard-space-button,
:root.theme-palette:not(.theme-consolas) .pyxdia-status-strip span,
:root.theme-palette:not(.theme-consolas) .pyxdia-recipient-static,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-ref,
:root.theme-palette:not(.theme-consolas) .pyxdia-thread-letter,
:root.theme-palette:not(.theme-consolas) .pyxdia-memory-entry,
:root.theme-palette:not(.theme-consolas) .trash-item-type,
:root.theme-palette:not(.theme-consolas) .gallery-select,
:root.theme-palette:not(.theme-consolas) .compendium-list-item,
:root.theme-palette:not(.theme-consolas) .reader-gallery-edge,
:root.theme-palette:not(.theme-consolas) .dashboard-identity-input-row input[type="text"],
:root.theme-palette:not(.theme-consolas) .tracker-title-icon-row input[type="text"],
:root.theme-palette:not(.theme-consolas) .icon-picker-search input,
:root.theme-palette:not(.theme-consolas) .icon-picker-hex,
:root.theme-palette:not(.theme-consolas) .sidebar-page-controls button {
	background: var(--theme-control);
}

:root.theme-palette:not(.theme-consolas) .dashboard-space-button:hover,
:root.theme-palette:not(.theme-consolas) .dashboard-space-button:focus-visible,
:root.theme-palette:not(.theme-consolas) .dashboard-space-button.is-active,
:root.theme-palette:not(.theme-consolas) .dashboard-bar-button:hover,
:root.theme-palette:not(.theme-consolas) .dashboard-bar-button:focus-visible,
:root.theme-palette:not(.theme-consolas) .dashboard-bar-button.is-linked-hover,
:root.theme-palette:not(.theme-consolas) .compendium-list-item:hover,
:root.theme-palette:not(.theme-consolas) .compendium-list-item:focus-visible,
:root.theme-palette:not(.theme-consolas) .reader-gallery-edge.is-available:hover,
:root.theme-palette:not(.theme-consolas) .gallery-card.is-selected,
:root.theme-palette:not(.theme-consolas) .gallery-card.is-selected .gallery-select,
:root.theme-palette:not(.theme-consolas) .tracker-remove-button:hover,
:root.theme-palette:not(.theme-consolas) .tracker-remove-button:focus-visible,
:root.theme-palette:not(.theme-consolas) .sidebar-page-controls button:not(:disabled):hover {
	border-color: var(--border-accent);
	background: var(--theme-control-hover);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .dashboard-pie::after {
	border-color: var(--border-soft);
	background: var(--surface);
}

:root.theme-palette:not(.theme-consolas) .dashboard-divider {
	background: var(--border);
}

:root.theme-palette:not(.theme-consolas) .dashboard-space-unread {
	border-color: var(--surface);
	background: var(--danger);
	color: var(--on-danger);
	box-shadow: 0 8px 18px var(--theme-shadow);
}

:root.theme-palette:not(.theme-consolas) .dashboard-period-range::-webkit-slider-runnable-track {
	border-color: var(--border-soft);
	background: linear-gradient(
		90deg,
		var(--accent) 0 var(--period-progress),
		var(--surface-2) var(--period-progress) 100%
	);
}

:root.theme-palette:not(.theme-consolas) .dashboard-period-range::-moz-range-track {
	border-color: var(--border-soft);
	background: linear-gradient(
		90deg,
		var(--accent) 0 var(--period-progress),
		var(--surface-2) var(--period-progress) 100%
	);
}

:root.theme-palette:not(.theme-consolas) .dashboard-period-range::-webkit-slider-thumb {
	border-color: var(--on-accent);
	background: var(--accent);
	box-shadow:
		0 0 0 1px var(--border-accent-soft),
		0 4px 10px var(--theme-shadow);
}

:root.theme-palette:not(.theme-consolas) .dashboard-period-range::-moz-range-thumb {
	border-color: var(--on-accent);
	background: var(--accent);
	box-shadow:
		0 0 0 1px var(--border-accent-soft),
		0 4px 10px var(--theme-shadow);
}

:root.theme-palette:not(.theme-consolas) .dashboard-bar-track,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-preview,
:root.theme-palette:not(.theme-consolas) .pyxdia-output-text,
:root.theme-palette:not(.theme-consolas) .gallery-image-link,
:root.theme-palette:not(.theme-consolas) .compendium-list-view {
	background: var(--surface-2);
}

:root.theme-palette:not(.theme-consolas) .pyxdia-status-strip.has-error,
:root.theme-palette:not(.theme-consolas) .cloud-usage-card.is-over-limit {
	border-color: color-mix(in srgb, var(--danger) 70%, var(--border-soft));
}

:root.theme-palette:not(.theme-consolas) .pyxdia-error,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-counter.is-over-limit,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-summary.is-over-limit,
:root.theme-palette:not(.theme-consolas) .pyxdia-context-warning,
:root.theme-palette:not(.theme-consolas) .cloud-status-message--error {
	color: var(--danger);
}

:root.theme-palette:not(.theme-consolas) .pyxdia-pending-card {
	border-style: dashed;
	background: var(--theme-control);
}

:root.theme-palette:not(.theme-consolas) .pyxdia-pending-card strong,
:root.theme-palette:not(.theme-consolas) .pyxdia-output-text,
:root.theme-palette:not(.theme-consolas) .pyxdia-thread-output,
:root.theme-palette:not(.theme-consolas) .pyxdia-memory-entry strong,
:root.theme-palette:not(.theme-consolas) .trash-item h3,
:root.theme-palette:not(.theme-consolas) .data-controls-group h4,
:root.theme-palette:not(.theme-consolas) .cloud-account-card strong,
:root.theme-palette:not(.theme-consolas) .cloud-sync-grid strong,
:root.theme-palette:not(.theme-consolas) .cloud-usage-heading strong,
:root.theme-palette:not(.theme-consolas) .compendium-picker-header strong,
:root.theme-palette:not(.theme-consolas) .compendium-picker-empty strong,
:root.theme-palette:not(.theme-consolas) .compendium-list-title,
:root.theme-palette:not(.theme-consolas) .reader-gallery-edge.is-available,
:root.theme-palette:not(.theme-consolas) .page-content-title,
:root.theme-palette:not(.theme-consolas) .page-content-media-title,
:root.theme-palette:not(.theme-consolas) .body-ring-value-text {
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .pyxdia-status-strip p,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-counter,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-summary,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-filter-empty,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-ref small,
:root.theme-palette:not(.theme-consolas) .pyxdia-pending-card span,
:root.theme-palette:not(.theme-consolas) .pyxdia-memory-card p,
:root.theme-palette:not(.theme-consolas) .pyxdia-memory-entry small,
:root.theme-palette:not(.theme-consolas) .trash-item p,
:root.theme-palette:not(.theme-consolas) .trash-item small,
:root.theme-palette:not(.theme-consolas) .data-controls-group p,
:root.theme-palette:not(.theme-consolas) .cloud-account-card small,
:root.theme-palette:not(.theme-consolas) .cloud-sync-grid small,
:root.theme-palette:not(.theme-consolas) .cloud-usage-heading small,
:root.theme-palette:not(.theme-consolas) .cloud-usage-updated,
:root.theme-palette:not(.theme-consolas) .cloud-danger-links,
:root.theme-palette:not(.theme-consolas) .cloud-status-message,
:root.theme-palette:not(.theme-consolas) .gallery-toolbar > span,
:root.theme-palette:not(.theme-consolas) .gallery-toolbar label span,
:root.theme-palette:not(.theme-consolas) .compendium-picker-header p,
:root.theme-palette:not(.theme-consolas) .compendium-picker-empty,
:root.theme-palette:not(.theme-consolas) .reader-gallery-edge,
:root.theme-palette:not(.theme-consolas) .reader-gallery-label,
:root.theme-palette:not(.theme-consolas) .reader-page-label,
:root.theme-palette:not(.theme-consolas) .page-number-overlay,
:root.theme-palette:not(.theme-consolas) .body-ring-label,
:root.theme-palette:not(.theme-consolas) .body-ring-sub,
:root.theme-palette:not(.theme-consolas) .life-tracker-empty,
:root.theme-palette:not(.theme-consolas) .sidebar-page-controls,
:root.theme-palette:not(.theme-consolas) .sidebar-page-controls button:disabled {
	color: var(--muted);
}

:root.theme-palette:not(.theme-consolas) .cloud-danger-separator {
	color: var(--border-soft);
}

:root.theme-palette:not(.theme-consolas) .cloud-account-avatar {
	background: color-mix(in srgb, var(--accent) 20%, var(--surface));
	color: var(--accent);
}

:root.theme-palette:not(.theme-consolas) .cloud-usage-meter {
	background: color-mix(in srgb, var(--surface-2) 78%, var(--bg));
}

:root.theme-palette:not(.theme-consolas) .gallery-card.is-selected {
	box-shadow: inset 0 0 0 1px var(--border-accent-soft);
}

:root.theme-palette:not(.theme-consolas) .gallery-image-link.is-missing,
:root.theme-palette:not(.theme-consolas) .gallery-image-link img.is-missing {
	opacity: 0.45;
}

:root.theme-palette:not(.theme-consolas) .reader-page-dot {
	background: color-mix(in srgb, var(--muted) 42%, transparent);
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--border-soft) 48%, transparent);
}

:root.theme-palette:not(.theme-consolas) .reader-page-dot--side.is-available {
	background: color-mix(in srgb, var(--accent) 58%, var(--text));
	box-shadow: 0 0 14px var(--border-accent-soft);
}

:root.theme-palette:not(.theme-consolas) .reader-page-dot--current {
	background: var(--text);
	box-shadow: 0 0 18px var(--border-accent-soft);
}

:root.theme-palette:not(.theme-consolas) .body-ring-track {
	stroke: var(--border-soft);
}

:root.theme-palette:not(.theme-consolas) .body-ring-value {
	stroke: var(--accent);
}

:root.theme-palette:not(.theme-consolas) .body-ring-value--nutrition {
	stroke: var(--accent-2);
}

:root.theme-palette:not(.theme-consolas) .tracker-remove-button {
	border-color: color-mix(in srgb, var(--danger) 58%, var(--border-soft));
	background: color-mix(in srgb, var(--danger) 12%, var(--theme-control));
	color: var(--danger);
}

:root.theme-palette:not(.theme-consolas) .tracker-enabled-toggle input:checked + i {
	background: color-mix(
		in srgb,
		var(--thought-color, var(--accent)) 24%,
		var(--theme-control)
	);
}

:root.theme-palette:not(.theme-consolas) .tracker-enabled-toggle i::before {
	background: var(--muted);
}

:root.theme-palette:not(.theme-consolas)
	.tracker-enabled-toggle
	input:checked
	+ i::before {
	background: var(--thought-color, var(--accent));
}

:root.theme-palette:not(.theme-consolas) .icon-picker-overlay {
	background: color-mix(in srgb, var(--bg) 72%, transparent);
}

:root.theme-palette:not(.theme-consolas) .icon-picker-header {
	border-bottom-color: var(--border-soft);
	background: var(--surface);
}

:root.theme-palette:not(.theme-consolas) .icon-picker-save:hover,
:root.theme-palette:not(.theme-consolas) .icon-picker-save:focus-visible {
	border-color: var(--icon-picker-color, var(--accent));
	background: color-mix(
		in srgb,
		var(--icon-picker-color, var(--accent)) 20%,
		var(--theme-control-hover)
	);
}

:root.theme-palette:not(.theme-consolas) .icon-picker-swatch:hover,
:root.theme-palette:not(.theme-consolas) .icon-picker-swatch:focus-visible,
:root.theme-palette:not(.theme-consolas) .icon-picker-swatch.is-selected {
	border-color: var(--picked-color);
}

:root.theme-palette:not(.theme-consolas) .sidebar-group--pyxdia {
	border-color: var(--border-accent-soft);
	background: color-mix(in srgb, var(--surface) 78%, transparent);
}

:root.theme-palette:not(.theme-consolas) .thought-tooltip,
:root.theme-palette:not(.theme-consolas) .guided-tip-bubble {
	border-color: var(--tooltip-border);
	background: color-mix(in srgb, var(--surface) 94%, var(--bg));
	color: var(--tooltip-text);
}

:root.theme-palette:not(.theme-consolas) .dashboard-space-switcher,
:root.theme-palette:not(.theme-consolas) .dashboard-chart-controls,
:root.theme-palette:not(.theme-consolas) .dashboard-analytics-body,
:root.theme-palette:not(.theme-consolas) .dashboard-pie-wrap,
:root.theme-palette:not(.theme-consolas) .dashboard-pie-wrap--orbs,
:root.theme-palette:not(.theme-consolas) .dashboard-orbs-panel,
:root.theme-palette:not(.theme-consolas) .dashboard-orb-nav,
:root.theme-palette:not(.theme-consolas) .dashboard-orb-scroll,
:root.theme-palette:not(.theme-consolas) .dashboard-orb-scroll-track,
:root.theme-palette:not(.theme-consolas) .dashboard-orb-quick-item,
:root.theme-palette:not(.theme-consolas) .dashboard-identity-grid,
:root.theme-palette:not(.theme-consolas) .dashboard-identity-toggles,
:root.theme-palette:not(.theme-consolas) .dashboard-identity-input-row,
:root.theme-palette:not(.theme-consolas) .dashboard-card-back,
:root.theme-palette:not(.theme-consolas) .pyxdia-page,
:root.theme-palette:not(.theme-consolas) .pyxdia-settings,
:root.theme-palette:not(.theme-consolas) .pyxdia-mode-switcher,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-editor,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-field,
:root.theme-palette:not(.theme-consolas) .pyxdia-letter-actions,
:root.theme-palette:not(.theme-consolas) .pyxdia-editor-toggle,
:root.theme-palette:not(.theme-consolas) .pyxdia-family-recipient,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-selector,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-filter-grid,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-filter-toggles,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-bulk-actions,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-ref-list,
:root.theme-palette:not(.theme-consolas) .pyxdia-thread-list,
:root.theme-palette:not(.theme-consolas) .pyxdia-memory-entry-list,
:root.theme-palette:not(.theme-consolas) .pyxdia-settings-toggles,
:root.theme-palette:not(.theme-consolas) .pyxdia-delay-grid,
:root.theme-palette:not(.theme-consolas) .pyxdia-range-field,
:root.theme-palette:not(.theme-consolas) .pyxdia-sidebar-items,
:root.theme-palette:not(.theme-consolas) .pyxdia-sidebar-conversations,
:root.theme-palette:not(.theme-consolas) .trash-page,
:root.theme-palette:not(.theme-consolas) .trash-list,
:root.theme-palette:not(.theme-consolas) .trash-retention-grid,
:root.theme-palette:not(.theme-consolas) .trash-item-actions,
:root.theme-palette:not(.theme-consolas) .cloud-settings,
:root.theme-palette:not(.theme-consolas) .cloud-account-section,
:root.theme-palette:not(.theme-consolas) .cloud-heading-controls,
:root.theme-palette:not(.theme-consolas) .cloud-action-nav,
:root.theme-palette:not(.theme-consolas) .cloud-heading-actions,
:root.theme-palette:not(.theme-consolas) .cloud-heading-action-row,
:root.theme-palette:not(.theme-consolas) .cloud-actions,
:root.theme-palette:not(.theme-consolas) .cloud-email-form,
:root.theme-palette:not(.theme-consolas) .cloud-usage-breakdown,
:root.theme-palette:not(.theme-consolas) .data-controls-section,
:root.theme-palette:not(.theme-consolas) .data-controls-actions,
:root.theme-palette:not(.theme-consolas) .gallery-page,
:root.theme-palette:not(.theme-consolas) .gallery-grid,
:root.theme-palette:not(.theme-consolas) .compendium-list-scroll,
:root.theme-palette:not(.theme-consolas) .compendium-grid-controls,
:root.theme-palette:not(.theme-consolas) .compendium-picker-grid,
:root.theme-palette:not(.theme-consolas) .reader-gallery-carousel,
:root.theme-palette:not(.theme-consolas) .reader-gallery-frame,
:root.theme-palette:not(.theme-consolas) .reader-gallery-controls,
:root.theme-palette:not(.theme-consolas) .reader-page-dots,
:root.theme-palette:not(.theme-consolas) .body-ring-wrap,
:root.theme-palette:not(.theme-consolas) .body-ring-wrap--small,
:root.theme-palette:not(.theme-consolas) .body-ring,
:root.theme-palette:not(.theme-consolas) .body-ring-center,
:root.theme-palette:not(.theme-consolas) .sidebar-groups,
:root.theme-palette:not(.theme-consolas) .sidebar-group,
:root.theme-palette:not(.theme-consolas) .sidebar-group-items,
:root.theme-palette:not(.theme-consolas) .sidebar-group-page,
:root.theme-palette:not(.theme-consolas) .tracker-add-form--embedded,
:root.theme-palette:not(.theme-consolas) .tracker-edit-actions,
:root.theme-palette:not(.theme-consolas) .tracker-edit-heading,
:root.theme-palette:not(.theme-consolas) .tracker-edit-heading-actions,
:root.theme-palette:not(.theme-consolas) .tracker-edit-preview,
:root.theme-palette:not(.theme-consolas) .tracker-enabled-toggle--inline,
:root.theme-palette:not(.theme-consolas) .icon-picker-body-field,
:root.theme-palette:not(.theme-consolas) .icon-picker-color,
:root.theme-palette:not(.theme-consolas) .icon-picker-color-top,
:root.theme-palette:not(.theme-consolas) .icon-picker-header-actions,
:root.theme-palette:not(.theme-consolas) .icon-picker-results,
:root.theme-palette:not(.theme-consolas) .icon-picker-grid,
:root.theme-palette:not(.theme-consolas) .icon-picker-swatches {
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .dashboard-space-switcher,
:root.theme-palette:not(.theme-consolas) .dashboard-orb-scroll,
:root.theme-palette:not(.theme-consolas) .pyxdia-note-ref-list,
:root.theme-palette:not(.theme-consolas) .gallery-grid,
:root.theme-palette:not(.theme-consolas) .compendium-list-scroll,
:root.theme-palette:not(.theme-consolas) .reader-gallery-carousel {
	scrollbar-color: var(--border) transparent;
}

:root.theme-palette:not(.theme-consolas) .sidebar-group-toggle,
:root.theme-palette:not(.theme-consolas) .pyxdia-sidebar-toggle {
	color: var(--muted);
}

:root.theme-palette:not(.theme-consolas) .sidebar-group-toggle:hover,
:root.theme-palette:not(.theme-consolas) .pyxdia-sidebar-toggle:hover {
	color: var(--text);
}

:root.theme-consolas .dashboard-space-button,
:root.theme-consolas .dashboard-space-unread,
:root.theme-consolas .dashboard-bar-button,
:root.theme-consolas .dashboard-bar-track,
:root.theme-consolas .dashboard-pie::after,
:root.theme-consolas .pyxdia-status-strip,
:root.theme-consolas .pyxdia-status-strip span,
:root.theme-consolas .pyxdia-letter-main,
:root.theme-consolas .pyxdia-letter-side,
:root.theme-consolas .pyxdia-context-card,
:root.theme-consolas .pyxdia-output,
:root.theme-consolas .pyxdia-thread,
:root.theme-consolas .pyxdia-memory-card,
:root.theme-consolas .pyxdia-recipient-selector,
:root.theme-consolas .pyxdia-recipient-static,
:root.theme-consolas .pyxdia-letter-preview,
:root.theme-consolas .pyxdia-output-text,
:root.theme-consolas .pyxdia-pending-card,
:root.theme-consolas .pyxdia-note-ref,
:root.theme-consolas .pyxdia-thread-letter,
:root.theme-consolas .pyxdia-memory-entry,
:root.theme-consolas .trash-item,
:root.theme-consolas .trash-item-type,
:root.theme-consolas .data-controls-group,
:root.theme-consolas .cloud-account-avatar,
:root.theme-consolas .cloud-usage-heading > span,
:root.theme-consolas .cloud-usage-meter,
:root.theme-consolas .gallery-toolbar,
:root.theme-consolas .gallery-card,
:root.theme-consolas .gallery-select,
:root.theme-consolas .gallery-image-link,
:root.theme-consolas .compendium-list-view,
:root.theme-consolas .compendium-list-item,
:root.theme-consolas .compendium-picker-empty,
:root.theme-consolas .compendium-picker-actions,
:root.theme-consolas .compendium-grid-tooltip,
:root.theme-consolas .reader-gallery-edge,
:root.theme-consolas .themed-child-viewer blockquote,
:root.theme-consolas .dashboard-identity-input-row input[type="text"],
:root.theme-consolas .tracker-title-icon-row input[type="text"],
:root.theme-consolas .tracker-add-form,
:root.theme-consolas .tracker-edit-form,
:root.theme-consolas .tracker-enabled-toggle i,
:root.theme-consolas .tracker-remove-button,
:root.theme-consolas .icon-picker-overlay,
:root.theme-consolas .icon-picker-header,
:root.theme-consolas .icon-picker-current,
:root.theme-consolas .icon-picker-save,
:root.theme-consolas .icon-picker-search input,
:root.theme-consolas .icon-picker-hex,
:root.theme-consolas .life-tracker-empty,
:root.theme-consolas .sidebar-group--pyxdia,
:root.theme-consolas .sidebar-page-controls button {
	border-color: var(--border-soft);
	background: #050505;
	color: var(--text);
	box-shadow: none;
}

:root.theme-consolas .dashboard-space-button:hover,
:root.theme-consolas .dashboard-space-button:focus-visible,
:root.theme-consolas .dashboard-space-button.is-active,
:root.theme-consolas .dashboard-bar-button:hover,
:root.theme-consolas .dashboard-bar-button:focus-visible,
:root.theme-consolas .dashboard-bar-button.is-linked-hover,
:root.theme-consolas .compendium-list-item:hover,
:root.theme-consolas .compendium-list-item:focus-visible,
:root.theme-consolas .reader-gallery-edge.is-available:hover,
:root.theme-consolas .gallery-card.is-selected,
:root.theme-consolas .gallery-card.is-selected .gallery-select,
:root.theme-consolas .tracker-remove-button:hover,
:root.theme-consolas .tracker-remove-button:focus-visible,
:root.theme-consolas .sidebar-page-controls button:not(:disabled):hover {
	border-color: var(--border);
	background: #111;
	color: var(--text);
}

:root.theme-consolas .dashboard-divider,
:root.theme-consolas .cloud-danger-separator {
	background: var(--border-soft);
	color: var(--border-soft);
}

:root.theme-consolas .dashboard-period-range::-webkit-slider-runnable-track {
	border-color: var(--border-soft);
	background: linear-gradient(
		90deg,
		var(--text) 0 var(--period-progress),
		#111 var(--period-progress) 100%
	);
}

:root.theme-consolas .dashboard-period-range::-moz-range-track {
	border-color: var(--border-soft);
	background: linear-gradient(
		90deg,
		var(--text) 0 var(--period-progress),
		#111 var(--period-progress) 100%
	);
}

:root.theme-consolas .dashboard-period-range::-webkit-slider-thumb {
	border-color: #050505;
	background: var(--text);
	box-shadow: 0 0 0 1px var(--border);
}

:root.theme-consolas .dashboard-period-range::-moz-range-thumb {
	border-color: #050505;
	background: var(--text);
	box-shadow: 0 0 0 1px var(--border);
}

:root.theme-consolas .dashboard-space-unread {
	border-color: #050505;
	background: var(--danger);
	color: var(--on-danger);
}

:root.theme-consolas .pyxdia-status-strip.has-error,
:root.theme-consolas .cloud-usage-card.is-over-limit {
	border-color: var(--danger);
}

:root.theme-consolas .pyxdia-error,
:root.theme-consolas .pyxdia-letter-counter.is-over-limit,
:root.theme-consolas .pyxdia-note-summary.is-over-limit,
:root.theme-consolas .pyxdia-context-warning,
:root.theme-consolas .cloud-status-message--error,
:root.theme-consolas .tracker-remove-button {
	color: var(--danger);
}

:root.theme-consolas .pyxdia-status-strip p,
:root.theme-consolas .pyxdia-letter-counter,
:root.theme-consolas .pyxdia-note-summary,
:root.theme-consolas .pyxdia-note-filter-empty,
:root.theme-consolas .pyxdia-note-ref small,
:root.theme-consolas .pyxdia-pending-card span,
:root.theme-consolas .pyxdia-memory-card p,
:root.theme-consolas .pyxdia-memory-entry small,
:root.theme-consolas .trash-item p,
:root.theme-consolas .trash-item small,
:root.theme-consolas .data-controls-group p,
:root.theme-consolas .cloud-account-card small,
:root.theme-consolas .cloud-sync-grid small,
:root.theme-consolas .cloud-usage-heading small,
:root.theme-consolas .cloud-usage-updated,
:root.theme-consolas .cloud-danger-links,
:root.theme-consolas .cloud-status-message,
:root.theme-consolas .gallery-toolbar > span,
:root.theme-consolas .gallery-toolbar label span,
:root.theme-consolas .compendium-picker-empty,
:root.theme-consolas .reader-gallery-edge,
:root.theme-consolas .reader-gallery-label,
:root.theme-consolas .reader-page-label,
:root.theme-consolas .page-number-overlay,
:root.theme-consolas .body-ring-label,
:root.theme-consolas .body-ring-sub,
:root.theme-consolas .life-tracker-empty,
:root.theme-consolas .sidebar-page-controls,
:root.theme-consolas .sidebar-page-controls button:disabled {
	color: var(--muted);
}

:root.theme-consolas .body-ring-track {
	stroke: var(--border-soft);
}

:root.theme-consolas .body-ring-value,
:root.theme-consolas .body-ring-value--nutrition {
	stroke: var(--text);
}

:root.theme-consolas .reader-page-dot {
	background: rgba(214, 211, 201, 0.42);
	box-shadow: 0 0 0 1px rgba(239, 238, 231, 0.1);
}

:root.theme-consolas .reader-page-dot--side.is-available {
	background: rgba(214, 211, 201, 0.72);
	box-shadow: 0 0 14px rgba(239, 238, 231, 0.18);
}

:root.theme-consolas .reader-page-dot--current {
	background: var(--text);
	box-shadow: 0 0 18px rgba(239, 238, 231, 0.34);
}

:root.theme-consolas .dashboard-space-switcher,
:root.theme-consolas .dashboard-chart-controls,
:root.theme-consolas .dashboard-analytics-body,
:root.theme-consolas .dashboard-pie-wrap,
:root.theme-consolas .dashboard-pie-wrap--orbs,
:root.theme-consolas .dashboard-orbs-panel,
:root.theme-consolas .dashboard-orb-nav,
:root.theme-consolas .dashboard-orb-scroll,
:root.theme-consolas .dashboard-orb-scroll-track,
:root.theme-consolas .dashboard-orb-quick-item,
:root.theme-consolas .dashboard-identity-grid,
:root.theme-consolas .dashboard-identity-toggles,
:root.theme-consolas .dashboard-identity-input-row,
:root.theme-consolas .dashboard-card-back,
:root.theme-consolas .pyxdia-page,
:root.theme-consolas .pyxdia-settings,
:root.theme-consolas .pyxdia-mode-switcher,
:root.theme-consolas .pyxdia-letter-editor,
:root.theme-consolas .pyxdia-letter-field,
:root.theme-consolas .pyxdia-letter-actions,
:root.theme-consolas .pyxdia-editor-toggle,
:root.theme-consolas .pyxdia-family-recipient,
:root.theme-consolas .pyxdia-note-selector,
:root.theme-consolas .pyxdia-note-filter-grid,
:root.theme-consolas .pyxdia-note-filter-toggles,
:root.theme-consolas .pyxdia-note-bulk-actions,
:root.theme-consolas .pyxdia-note-ref-list,
:root.theme-consolas .pyxdia-thread-list,
:root.theme-consolas .pyxdia-memory-entry-list,
:root.theme-consolas .pyxdia-settings-toggles,
:root.theme-consolas .pyxdia-delay-grid,
:root.theme-consolas .pyxdia-range-field,
:root.theme-consolas .pyxdia-sidebar-items,
:root.theme-consolas .pyxdia-sidebar-conversations,
:root.theme-consolas .trash-page,
:root.theme-consolas .trash-list,
:root.theme-consolas .trash-retention-grid,
:root.theme-consolas .trash-item-actions,
:root.theme-consolas .cloud-settings,
:root.theme-consolas .cloud-account-section,
:root.theme-consolas .cloud-heading-controls,
:root.theme-consolas .cloud-action-nav,
:root.theme-consolas .cloud-heading-actions,
:root.theme-consolas .cloud-heading-action-row,
:root.theme-consolas .cloud-actions,
:root.theme-consolas .cloud-email-form,
:root.theme-consolas .cloud-usage-breakdown,
:root.theme-consolas .data-controls-section,
:root.theme-consolas .data-controls-actions,
:root.theme-consolas .gallery-page,
:root.theme-consolas .gallery-grid,
:root.theme-consolas .compendium-list-scroll,
:root.theme-consolas .compendium-grid-controls,
:root.theme-consolas .compendium-picker-grid,
:root.theme-consolas .reader-gallery-carousel,
:root.theme-consolas .reader-gallery-frame,
:root.theme-consolas .reader-gallery-controls,
:root.theme-consolas .reader-page-dots,
:root.theme-consolas .body-ring-wrap,
:root.theme-consolas .body-ring-wrap--small,
:root.theme-consolas .body-ring,
:root.theme-consolas .body-ring-center,
:root.theme-consolas .sidebar-groups,
:root.theme-consolas .sidebar-group,
:root.theme-consolas .sidebar-group-items,
:root.theme-consolas .sidebar-group-page,
:root.theme-consolas .tracker-add-form--embedded,
:root.theme-consolas .tracker-edit-actions,
:root.theme-consolas .tracker-edit-heading,
:root.theme-consolas .tracker-edit-heading-actions,
:root.theme-consolas .tracker-edit-preview,
:root.theme-consolas .tracker-enabled-toggle--inline,
:root.theme-consolas .icon-picker-body-field,
:root.theme-consolas .icon-picker-color,
:root.theme-consolas .icon-picker-color-top,
:root.theme-consolas .icon-picker-header-actions,
:root.theme-consolas .icon-picker-results,
:root.theme-consolas .icon-picker-grid,
:root.theme-consolas .icon-picker-swatches {
	color: var(--text);
}

:root.theme-consolas .dashboard-space-switcher,
:root.theme-consolas .dashboard-orb-scroll,
:root.theme-consolas .pyxdia-note-ref-list,
:root.theme-consolas .gallery-grid,
:root.theme-consolas .compendium-list-scroll,
:root.theme-consolas .reader-gallery-carousel {
	scrollbar-color: var(--border) transparent;
}

:root.theme-consolas .sidebar-group-toggle,
:root.theme-consolas .pyxdia-sidebar-toggle {
	color: var(--muted);
}

:root.theme-consolas .sidebar-group-toggle:hover,
:root.theme-consolas .pyxdia-sidebar-toggle:hover {
	color: var(--text);
}

:root.theme-consolas .path-bar,
:root.theme-consolas .mobile-menu-toggle,
:root.theme-consolas .sidebar-donate-row,
:root.theme-consolas .sidebar-menu-nav-button,
:root.theme-consolas .sidebar-toggle-all,
:root.theme-consolas .body-mode-switcher,
:root.theme-consolas .body-timer-switcher,
:root.theme-consolas .body-nutrition-switcher,
:root.theme-consolas .dashboard-chart-switcher,
:root.theme-consolas .dashboard-period-slider,
:root.theme-consolas .plan-select,
:root.theme-consolas .spirit-dashboard,
:root.theme-consolas .spirit-year-button,
:root.theme-consolas .spirit-reading-button,
:root.theme-consolas .spirit-book-dashboard,
:root.theme-consolas .spirit-lookup-bar,
:root.theme-consolas .spirit-lookup-link,
:root.theme-consolas .spirit-detail-card,
:root.theme-consolas .spirit-pill-row em,
:root.theme-consolas .spirit-focus-grid p,
:root.theme-consolas .getting-started-intro,
:root.theme-consolas .getting-started-defaults,
:root.theme-consolas .getting-started-rhythm,
:root.theme-consolas .getting-started-grid article,
:root.theme-consolas .body-card,
:root.theme-consolas .body-card-heading,
:root.theme-consolas .body-card-note,
:root.theme-consolas .body-field input,
:root.theme-consolas .body-field select,
:root.theme-consolas .body-field textarea,
:root.theme-consolas .body-workout-item,
:root.theme-consolas .life-mode-switcher,
:root.theme-consolas .life-calendar-switcher,
:root.theme-consolas .life-calendar-viewer > .life-card,
:root.theme-consolas .life-card,
:root.theme-consolas .life-quick-add input,
:root.theme-consolas .life-todo-stats span,
:root.theme-consolas .life-todo-column-heading span,
:root.theme-consolas .life-todo-columns section,
:root.theme-consolas .life-todo-card,
:root.theme-consolas .life-todo-check,
:root.theme-consolas .life-unassigned-panel,
:root.theme-consolas .life-assigned-tasks,
:root.theme-consolas .life-project-sidebar,
:root.theme-consolas .life-project-workflow,
:root.theme-consolas .life-project-body,
:root.theme-consolas .life-project-nav-button,
:root.theme-consolas .life-project-stats span,
:root.theme-consolas .life-project-detail,
:root.theme-consolas .life-attachments,
:root.theme-consolas .life-attachment-item,
:root.theme-consolas .life-month-heading,
:root.theme-consolas .life-month-day,
:root.theme-consolas .life-day-column,
:root.theme-consolas .life-date-group h3,
:root.theme-consolas .life-event-row,
:root.theme-consolas .life-journal-meta span,
:root.theme-consolas .life-tracker-fieldset,
:root.theme-consolas .life-tracker-pill,
:root.theme-consolas .donation-modal,
:root.theme-consolas .donation-panel,
:root.theme-consolas .amount-option,
:root.theme-consolas .compendium-rotator,
:root.theme-consolas .compendium-picker-popover,
:root.theme-consolas .compendium-picker-tile,
:root.theme-consolas .compendium-tile,
:root.theme-consolas .section-row,
:root.theme-consolas .sidebar-item--mind-compendium,
:root.theme-consolas .sidebar-item--mind-section,
:root.theme-consolas .reader-panel,
:root.theme-consolas .reader-book,
:root.theme-consolas .reader-slide,
:root.theme-consolas .reader-section-title,
:root.theme-consolas .empty-state,
:root.theme-consolas .editor-form input,
:root.theme-consolas .editor-form textarea,
:root.theme-consolas .field-label input,
:root.theme-consolas .editor-image-button.icon-button,
:root.theme-consolas .tracker-orb,
:root.theme-consolas .icon-picker-trigger,
:root.theme-consolas .icon-picker-panel,
:root.theme-consolas .icon-picker-option,
:root.theme-consolas .icon-picker-empty,
:root.theme-consolas .life-fullcalendar .fc-col-header-cell,
:root.theme-consolas .life-fullcalendar .fc-daygrid-day,
:root.theme-consolas .life-fullcalendar .fc-event {
	border-color: var(--border-soft);
	background: #050505;
	color: var(--text);
}

:root.theme-consolas .dashboard-chart-switcher,
:root.theme-consolas .dashboard-period-slider,
:root.theme-consolas .dashboard-period-slider:focus-within {
	border: 0;
	background: transparent;
	box-shadow: none;
}

:root.theme-consolas .donation-modal {
	background: rgba(5, 5, 5, 0.82);
}

:root.theme-consolas .path-bar button,
:root.theme-consolas .sidebar-text-link,
:root.theme-consolas .field-label,
:root.theme-consolas .donation-panel h2,
:root.theme-consolas .panel-header h2,
:root.theme-consolas .plan-select-label,
:root.theme-consolas .plan-select,
:root.theme-consolas .spirit-year-button.is-active,
:root.theme-consolas .spirit-reading-button,
:root.theme-consolas .spirit-reading-main strong,
:root.theme-consolas .spirit-detail-card strong,
:root.theme-consolas .spirit-lookup-link,
:root.theme-consolas .spirit-focus-grid p,
:root.theme-consolas .getting-started-intro h3,
:root.theme-consolas .getting-started-defaults h3,
:root.theme-consolas .getting-started-rhythm h3,
:root.theme-consolas .getting-started-grid h3,
:root.theme-consolas .body-card-heading h3,
:root.theme-consolas .body-workout-item h4,
:root.theme-consolas .life-todo-overview h3,
:root.theme-consolas .life-todo-stats strong,
:root.theme-consolas .life-todo-card h4,
:root.theme-consolas .life-project-overview h3,
:root.theme-consolas .life-project-stats strong,
:root.theme-consolas .life-project-nav-button strong,
:root.theme-consolas .life-attachment-item a,
:root.theme-consolas .life-month-day span,
:root.theme-consolas .life-day-column strong,
:root.theme-consolas .life-date-group h3,
:root.theme-consolas .life-event-row strong,
:root.theme-consolas .life-tracker-label,
:root.theme-consolas .life-fc-event-inner strong,
:root.theme-consolas .reader-heading h2,
:root.theme-consolas .compendium-picker-header strong,
:root.theme-consolas .compendium-picker-tile span,
:root.theme-consolas .compendium-tile,
:root.theme-consolas .compendium-tile span,
:root.theme-consolas .section-row,
:root.theme-consolas .section-row > strong,
:root.theme-consolas .section-number-handle:hover,
:root.theme-consolas .section-number-handle.is-active,
:root.theme-consolas .reader-compendium-title,
:root.theme-consolas .reader-section-title,
:root.theme-consolas .empty-state h3,
:root.theme-consolas .sidebar-item--mind-compendium,
:root.theme-consolas .sidebar-item--mind-section,
:root.theme-consolas .sidebar-item--mind-compendium .sidebar-item-label,
:root.theme-consolas .sidebar-item--mind-section .sidebar-item-label,
:root.theme-consolas .life-fullcalendar .fc-daygrid-day-number {
	color: var(--text);
}

:root.theme-consolas .path-bar span,
:root.theme-consolas .sidebar-footer-links,
:root.theme-consolas .donation-panel p,
:root.theme-consolas .panel-header p,
:root.theme-consolas .plan-select-label span,
:root.theme-consolas .spirit-year-button,
:root.theme-consolas .spirit-reading-order,
:root.theme-consolas .spirit-reading-main small,
:root.theme-consolas .spirit-detail-card span,
:root.theme-consolas .spirit-pill-row small,
:root.theme-consolas .spirit-pill-row em,
:root.theme-consolas .getting-started-intro p,
:root.theme-consolas .getting-started-defaults p,
:root.theme-consolas .getting-started-rhythm p,
:root.theme-consolas .getting-started-grid p,
:root.theme-consolas .getting-started-grid span,
:root.theme-consolas .body-field,
:root.theme-consolas .body-card-heading p,
:root.theme-consolas .body-card-note,
:root.theme-consolas .body-workout-item p,
:root.theme-consolas .life-todo-overview p,
:root.theme-consolas .life-todo-stats small,
:root.theme-consolas .life-todo-column-heading h4,
:root.theme-consolas .life-todo-column-heading span,
:root.theme-consolas .life-todo-source,
:root.theme-consolas .life-todo-card-meta span,
:root.theme-consolas .life-todo-detail,
:root.theme-consolas .life-todo-columns h4,
:root.theme-consolas .life-project-overview p,
:root.theme-consolas .life-project-stats small,
:root.theme-consolas .life-project-nav-section h4,
:root.theme-consolas .life-assigned-tasks h4,
:root.theme-consolas .life-todo-stack p,
:root.theme-consolas .life-project-nav-section p,
:root.theme-consolas .life-attachment-list p,
:root.theme-consolas .life-project-nav-button small,
:root.theme-consolas .life-attachment-item small,
:root.theme-consolas .life-month-heading,
:root.theme-consolas .life-month-day strong,
:root.theme-consolas .life-month-day small,
:root.theme-consolas .life-month-day small em,
:root.theme-consolas .life-day-column h3,
:root.theme-consolas .life-day-column p,
:root.theme-consolas .life-event-row small,
:root.theme-consolas .life-event-row em,
:root.theme-consolas .life-journal-meta span,
:root.theme-consolas .life-tracker-fieldset legend,
:root.theme-consolas .life-tracker-icon,
:root.theme-consolas .reader-heading p,
:root.theme-consolas .compendium-picker-header p,
:root.theme-consolas .compendium-picker-tile b,
:root.theme-consolas .compendium-tile b,
:root.theme-consolas .compendium-tile small,
:root.theme-consolas .compendium-tile em,
:root.theme-consolas .section-row > span,
:root.theme-consolas .section-row > small,
:root.theme-consolas .section-row > em,
:root.theme-consolas .empty-state p,
:root.theme-consolas .sidebar-item--mind-compendium .sidebar-item-number,
:root.theme-consolas .sidebar-item--mind-section .sidebar-item-number,
:root.theme-consolas .tracker-page-controls,
:root.theme-consolas .icon-picker-trigger-label,
:root.theme-consolas .icon-picker-option,
:root.theme-consolas .icon-picker-empty,
:root.theme-consolas .life-fullcalendar .fc-col-header-cell,
:root.theme-consolas .life-fc-event-inner span {
	color: var(--muted);
}

:root.theme-consolas .body-mode-button,
:root.theme-consolas .dashboard-chart-switcher button,
:root.theme-consolas .compendium-new-button,
:root.theme-consolas .dashboard-identity-toggle,
:root.theme-consolas .spirit-year-button,
:root.theme-consolas .spirit-lookup-link,
:root.theme-consolas .life-todo-check,
:root.theme-consolas .life-project-nav-button,
:root.theme-consolas .life-tracker-pill,
:root.theme-consolas .amount-option,
:root.theme-consolas .compendium-rotator-edge,
:root.theme-consolas .reader-slider-edge,
:root.theme-consolas .reader-section-title,
:root.theme-consolas .reader-page-indicator,
:root.theme-consolas .compendium-page-indicator,
:root.theme-consolas .tracker-orb,
:root.theme-consolas .icon-picker-trigger,
:root.theme-consolas .icon-picker-option,
:root.theme-consolas .tracker-page-controls button {
	background: #050505;
}

:root .dashboard-identity-input-row .icon-picker-trigger,
:root .tracker-title-icon-row .icon-picker-trigger {
	width: 48px;
	min-width: 48px;
	height: 48px;
	border-color: color-mix(
		in srgb,
		var(--identity-color) 56%,
		var(--border-soft)
	);
	background: color-mix(in srgb, var(--identity-color) 16%, var(--surface));
	color: var(--identity-color);
}

:root.theme-consolas .body-mode-button:hover,
:root.theme-consolas .body-mode-button.is-active,
:root.theme-consolas .dashboard-chart-switcher button:hover,
:root.theme-consolas .dashboard-chart-switcher button.is-active,
:root.theme-consolas .compendium-new-button:hover,
:root.theme-consolas .compendium-new-button:focus-visible,
:root.theme-consolas .dashboard-period-slider:focus-within,
:root.theme-consolas .sidebar-menu-nav-button:hover,
:root.theme-consolas .sidebar-menu-nav-button:focus-visible,
:root.theme-consolas .spirit-year-button:hover,
:root.theme-consolas .spirit-year-button.is-active,
:root.theme-consolas .spirit-reading-button:hover,
:root.theme-consolas .spirit-reading-row.is-complete .spirit-reading-button,
:root.theme-consolas .spirit-lookup-link:hover,
:root.theme-consolas .amount-option:hover,
:root.theme-consolas .amount-option.is-selected,
:root.theme-consolas .compendium-picker-tile:hover,
:root.theme-consolas .compendium-picker-tile:focus-visible,
:root.theme-consolas .compendium-tile:hover,
:root.theme-consolas .compendium-tile:focus-visible,
:root.theme-consolas .section-row:hover,
:root.theme-consolas .section-row:focus-visible,
:root.theme-consolas .section-row.is-dragging,
:root.theme-consolas .reader-section-title:hover,
:root.theme-consolas .reader-section-title:focus-visible,
:root.theme-consolas .sidebar-item.is-active,
:root.theme-consolas .sidebar-item--mind-compendium.is-active,
:root.theme-consolas .sidebar-item--mind-section.is-active,
:root.theme-consolas .sidebar-item--mind-compendium:hover,
:root.theme-consolas .sidebar-item--mind-compendium:focus-visible,
:root.theme-consolas .sidebar-item--mind-section:hover,
:root.theme-consolas .sidebar-item--mind-section:focus-visible,
:root.theme-consolas .editor-image-button.icon-button:hover,
:root.theme-consolas .editor-image-button.icon-button:focus-visible,
:root.theme-consolas .tracker-orb:hover,
:root.theme-consolas .tracker-orb:focus-visible,
:root.theme-consolas .tracker-orb.is-editing,
:root.theme-consolas .icon-picker-trigger:hover,
:root.theme-consolas .icon-picker-trigger:focus-visible,
:root.theme-consolas .icon-picker-option:hover,
:root.theme-consolas .icon-picker-option:focus-visible,
:root.theme-consolas .icon-picker-option.is-selected,
:root.theme-consolas .life-todo-card:hover,
:root.theme-consolas .life-todo-card:focus-visible,
:root.theme-consolas .life-todo-card.is-project-task:hover,
:root.theme-consolas .life-todo-card.is-project-task:focus-visible,
:root.theme-consolas .life-todo-check:hover,
:root.theme-consolas .life-todo-check:focus-visible,
:root.theme-consolas .life-todo-card.is-complete .life-todo-check,
:root.theme-consolas .life-project-nav-button:hover,
:root.theme-consolas .life-project-nav-button.is-active,
:root.theme-consolas button.life-event-row:hover,
:root.theme-consolas .life-tracker-pill:hover,
:root.theme-consolas .life-tracker-pill:has(input:checked),
:root.theme-consolas .life-fullcalendar .fc-event:hover {
	border-color: var(--border);
	background: #111;
	color: var(--text);
}

:root.theme-consolas .dashboard-period-slider,
:root.theme-consolas .dashboard-period-slider:focus-within {
	border: 0;
	background: transparent;
	box-shadow: none;
}

:root.theme-consolas .reader-section-title {
	display: inline-flex;
	width: auto;
	max-width: 100%;
	border: 1px solid var(--border-soft);
	border-radius: 10px;
	padding: 8px 10px;
}

:root.theme-consolas .empty-state {
	border-color: var(--border);
	background: #050505;
}

:root.theme-consolas .compendium-page-indicator:hover .reader-page-dot--current,
:root.theme-consolas
	.compendium-page-indicator:focus-visible
	.reader-page-dot--current {
	box-shadow: 0 0 22px rgba(239, 238, 231, 0.38);
}

:root.theme-consolas .editor-form input:focus,
:root.theme-consolas .editor-form textarea:focus,
:root.theme-consolas .field-label input:focus,
:root.theme-consolas .body-field input:focus,
:root.theme-consolas .body-field select:focus,
:root.theme-consolas .body-field textarea:focus,
:root.theme-consolas .life-quick-add input:focus {
	border-color: var(--border);
}

.page-tool-switcher,
.body-tool-switcher,
.life-tool-switcher,
:root.theme-palette:not(.theme-consolas) .page-tool-switcher,
:root.theme-palette:not(.theme-consolas) .body-tool-switcher,
:root.theme-palette:not(.theme-consolas) .life-tool-switcher,
:root.theme-consolas .page-tool-switcher,
:root.theme-consolas .body-tool-switcher,
:root.theme-consolas .life-tool-switcher {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
}

.page-tool-switcher.body-mode-switcher,
:root.theme-palette:not(.theme-consolas) .page-tool-switcher.body-mode-switcher,
:root.theme-consolas .page-tool-switcher.body-mode-switcher {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.page-tool-switcher .body-mode-button,
.body-tool-switcher .body-mode-button,
.life-tool-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas) .page-tool-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas) .body-tool-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas) .life-tool-switcher .body-mode-button,
:root.theme-consolas .page-tool-switcher .body-mode-button,
:root.theme-consolas .body-tool-switcher .body-mode-button,
:root.theme-consolas .life-tool-switcher .body-mode-button {
	border-color: var(--border-soft);
	border-radius: 10px;
}

:root.theme-palette:not(.theme-consolas) .life-tool-switcher .body-mode-button {
	background: var(--theme-control);
	color: var(--text);
}

.body-timer-switcher,
.body-nutrition-switcher,
.life-calendar-switcher,
:root.theme-palette:not(.theme-consolas) .body-timer-switcher,
:root.theme-palette:not(.theme-consolas) .body-nutrition-switcher,
:root.theme-palette:not(.theme-consolas) .life-calendar-switcher,
:root.theme-consolas .body-timer-switcher,
:root.theme-consolas .body-nutrition-switcher,
:root.theme-consolas .life-calendar-switcher {
	position: relative;
	z-index: 2;
	gap: 0;
	align-items: end;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0 8px;
	margin-bottom: -1px;
}

.body-timer-switcher .body-mode-button,
.body-nutrition-switcher .body-mode-button,
.life-calendar-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas) .body-timer-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas)
	.body-nutrition-switcher
	.body-mode-button,
:root.theme-palette:not(.theme-consolas)
	.life-calendar-switcher
	.body-mode-button,
:root.theme-consolas .body-timer-switcher .body-mode-button,
:root.theme-consolas .body-nutrition-switcher .body-mode-button,
:root.theme-consolas .life-calendar-switcher .body-mode-button {
	min-height: 40px;
	margin: 0 3px;
	border-color: var(--border-soft);
	border-radius: 10px 10px 0 0;
	background: rgba(15, 23, 42, 0.42);
}

:root.theme-palette:not(.theme-consolas) .body-timer-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas)
	.body-nutrition-switcher
	.body-mode-button {
	background: var(--theme-control);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas)
	.life-calendar-switcher
	.body-mode-button {
	background: transparent;
	color: var(--muted);
}

.body-timer-switcher .body-mode-button:hover,
.body-timer-switcher .body-mode-button.is-active,
.body-nutrition-switcher .body-mode-button:hover,
.body-nutrition-switcher .body-mode-button.is-active,
.life-calendar-switcher .body-mode-button:hover,
.life-calendar-switcher .body-mode-button.is-active {
	background: #1e293b;
	border-bottom-color: #0f172a;
	color: #fff;
}

:root.theme-palette:not(.theme-consolas)
	.body-timer-switcher
	.body-mode-button:hover,
:root.theme-palette:not(.theme-consolas)
	.body-timer-switcher
	.body-mode-button.is-active,
:root.theme-palette:not(.theme-consolas)
	.body-nutrition-switcher
	.body-mode-button:hover,
:root.theme-palette:not(.theme-consolas)
	.body-nutrition-switcher
	.body-mode-button.is-active {
	background: var(--theme-control-hover);
	border-bottom-color: var(--surface);
	color: var(--on-surface-2);
}

:root.theme-palette:not(.theme-consolas)
	.life-calendar-switcher
	.body-mode-button:hover,
:root.theme-palette:not(.theme-consolas)
	.life-calendar-switcher
	.body-mode-button.is-active {
	background: transparent;
	border-color: var(--border-accent);
	border-bottom-color: var(--surface);
	color: var(--accent);
}

:root.theme-consolas .body-timer-switcher .body-mode-button:hover,
:root.theme-consolas .body-timer-switcher .body-mode-button.is-active,
:root.theme-consolas .body-nutrition-switcher .body-mode-button:hover,
:root.theme-consolas .body-nutrition-switcher .body-mode-button.is-active,
:root.theme-consolas .life-calendar-switcher .body-mode-button:hover,
:root.theme-consolas .life-calendar-switcher .body-mode-button.is-active {
	background: #111;
	border-bottom-color: #111;
	color: var(--text);
}

.life-calendar-switcher .body-mode-button,
.life-calendar-switcher .body-mode-button:hover,
.life-calendar-switcher .body-mode-button.is-active,
:root.theme-consolas .life-calendar-switcher .body-mode-button,
:root.theme-consolas .life-calendar-switcher .body-mode-button:hover,
:root.theme-consolas .life-calendar-switcher .body-mode-button.is-active {
	background: transparent;
}

.life-calendar-switcher .body-mode-button:hover,
.life-calendar-switcher .body-mode-button.is-active {
	border-color: var(--border);
	border-bottom-color: var(--surface);
	color: var(--text);
}

.page-tool-switcher .body-mode-button,
.body-tool-switcher .body-mode-button,
.body-timer-switcher .body-mode-button,
.body-nutrition-switcher .body-mode-button {
	background: var(--theme-control);
	color: var(--text);
}

.page-tool-switcher .body-mode-button:hover,
.page-tool-switcher .body-mode-button.is-active,
.body-tool-switcher .body-mode-button:hover,
.body-tool-switcher .body-mode-button.is-active,
.body-timer-switcher .body-mode-button:hover,
.body-timer-switcher .body-mode-button.is-active,
.body-nutrition-switcher .body-mode-button:hover,
.body-nutrition-switcher .body-mode-button.is-active {
	background: var(--theme-control-hover);
	color: var(--text);
}

.body-timer-switcher .body-mode-button:hover,
.body-timer-switcher .body-mode-button.is-active,
.body-nutrition-switcher .body-mode-button:hover,
.body-nutrition-switcher .body-mode-button.is-active {
	border-bottom-color: var(--surface);
}

.body-macro-row span {
	border-color: var(--border-accent-soft);
	background: var(--theme-control);
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .page-tool-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas) .body-tool-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas) .body-timer-switcher .body-mode-button,
:root.theme-palette:not(.theme-consolas)
	.body-nutrition-switcher
	.body-mode-button {
	background: var(--theme-control);
	color: var(--text);
}

:root.theme-consolas .page-tool-switcher .body-mode-button,
:root.theme-consolas .body-tool-switcher .body-mode-button,
:root.theme-consolas .body-timer-switcher .body-mode-button,
:root.theme-consolas .body-nutrition-switcher .body-mode-button {
	background: #050505;
	color: var(--text);
}

:root.theme-palette:not(.theme-consolas) .body-macro-row span {
	border-color: var(--border-accent-soft);
	background: var(--theme-control);
	color: var(--text);
}

:root.theme-consolas .body-macro-row span {
	border-color: var(--border-soft);
	background: #050505;
	color: var(--text);
}

:root.theme-consolas .body-field input,
:root.theme-consolas .body-field select,
:root.theme-consolas .body-field textarea,
:root.theme-consolas .life-quick-add input {
	font-family: var(--font-body);
}

:root.theme-consolas .section-row > span {
	border-right-color: var(--border-soft);
}

:root.theme-consolas .plan-select:focus {
	border-color: var(--border);
}

:root.theme-consolas .spirit-reading-order {
	border-right-color: var(--border-soft);
}

:root.theme-consolas
	.spirit-reading-row.is-complete
	.spirit-reading-main
	strong {
	text-decoration-color: rgba(239, 238, 231, 0.72);
}

:root.theme-consolas .life-project-sidebar,
:root.theme-consolas .life-project-workflow {
	border-right-color: var(--border-soft);
}

:root.theme-consolas .life-unassigned-panel,
:root.theme-consolas .life-attachments {
	border-top-color: var(--border-soft);
}

:root.theme-consolas .life-todo-card.is-project-task {
	border-color: var(--border-soft);
}

:root.theme-consolas .life-month-grid {
	border-color: var(--border-soft);
	background: var(--border-soft);
}

:root.theme-consolas .life-month-day.is-muted {
	opacity: 0.52;
}

:root.theme-consolas .life-date-group h3 {
	border-bottom-color: var(--border-soft);
}

:root.theme-consolas .life-todo-card.is-complete h4 {
	text-decoration-color: rgba(239, 238, 231, 0.72);
}

:root.theme-palette:not(.theme-consolas) .life-project-overview {
	border-color: var(--border-soft);
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--accent) 9%, transparent),
			transparent 45%
		),
		color-mix(in srgb, var(--surface) 92%, var(--bg));
}

:root.theme-palette:not(.theme-consolas) .life-project-sidebar,
:root.theme-palette:not(.theme-consolas) .life-project-workflow,
:root.theme-palette:not(.theme-consolas) .life-project-body {
	background:
		linear-gradient(
			180deg,
			color-mix(in srgb, var(--surface-2) 72%, transparent),
			color-mix(in srgb, var(--surface) 88%, var(--bg))
		),
		var(--surface);
}

:root.theme-palette:not(.theme-consolas) .life-project-nav-button {
	background: color-mix(in srgb, var(--surface-2) 76%, var(--surface));
}

:root.theme-palette:not(.theme-consolas) .life-project-nav-button:hover {
	background: color-mix(in srgb, var(--theme-control-hover) 86%, var(--surface));
}

:root.theme-palette:not(.theme-consolas) .life-project-nav-button.is-active {
	border-color: var(--border-accent-soft);
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--accent) 18%, transparent),
			color-mix(in srgb, var(--theme-control-hover) 78%, var(--surface))
		);
}

:root.theme-palette:not(.theme-consolas) .life-projects-view .life-quick-add input,
:root.theme-palette:not(.theme-consolas)
	.life-project-detail
	.body-field
	input,
:root.theme-palette:not(.theme-consolas)
	.life-project-detail
	.body-field
	select,
:root.theme-palette:not(.theme-consolas)
	.life-project-detail
	.body-field
	textarea,
:root.theme-palette:not(.theme-consolas) .life-attachments,
:root.theme-palette:not(.theme-consolas) .life-attachment-item {
	background: color-mix(in srgb, var(--surface-2) 70%, var(--surface));
}

:root.theme-consolas .life-project-overview,
:root.theme-consolas .life-project-sidebar,
:root.theme-consolas .life-project-workflow,
:root.theme-consolas .life-project-body,
:root.theme-consolas .life-project-nav-button,
:root.theme-consolas .life-attachments,
:root.theme-consolas .life-attachment-item {
	box-shadow: none;
}

:root.theme-consolas .life-project-nav-button.is-active {
	border-color: var(--border);
	background: #111;
}

:root.theme-consolas .life-projects-view .life-quick-add input,
:root.theme-consolas .life-project-detail .body-field input,
:root.theme-consolas .life-project-detail .body-field select,
:root.theme-consolas .life-project-detail .body-field textarea {
	background: #050505;
}

@media (prefers-reduced-motion: reduce) {
	.life-project-nav-button {
		transition: none;
	}

	.life-project-nav-button:hover {
		transform: none;
	}
}

:root.theme-consolas .life-tracker-pill:has(input:checked) .life-tracker-icon {
	color: var(--text);
}

:root.theme-consolas .reader-heading {
	border-bottom-color: var(--border-soft);
}

:root.theme-consolas .reader-page-dot {
	background: rgba(214, 211, 201, 0.42);
	box-shadow: 0 0 0 1px rgba(239, 238, 231, 0.1);
}

:root.theme-consolas .reader-page-dot--side.is-available {
	background: rgba(214, 211, 201, 0.72);
	box-shadow: 0 0 14px rgba(239, 238, 231, 0.18);
}

:root.theme-consolas .reader-page-dot--current {
	background: var(--text);
	box-shadow: 0 0 18px rgba(239, 238, 231, 0.34);
}

:root.theme-consolas .tracker-orb {
	color: var(--text);
}

:root.theme-consolas .tracker-orb.is-editing {
	box-shadow: 0 0 0 2px rgba(239, 238, 231, 0.26);
}

:root.theme-consolas .tracker-page-controls button {
	color: var(--text);
}

:root.theme-consolas .tracker-page-controls button:disabled {
	color: var(--faint);
}

:root.theme-consolas .life-fullcalendar.fc,
:root.theme-consolas .life-fullcalendar .fc {
	--fc-border-color: var(--border-soft);
	--fc-neutral-bg-color: #050505;
	--fc-list-event-hover-bg-color: #111;
	--fc-today-bg-color: rgba(239, 238, 231, 0.12);
}

:root.theme-consolas .life-fullcalendar .fc-scrollgrid,
:root.theme-consolas .life-fullcalendar .fc-theme-standard td,
:root.theme-consolas .life-fullcalendar .fc-theme-standard th {
	border-color: var(--border-soft);
}

:root.theme-consolas .life-fullcalendar .fc-day-today {
	background: rgba(239, 238, 231, 0.1);
}

:root.theme-matrix {
	--matrix-black: #000500;
	--matrix-panel: rgba(3, 17, 7, 0.96);
	--matrix-panel-strong: rgba(8, 33, 15, 0.92);
	--matrix-glow: rgba(0, 255, 65, 0.48);
	--matrix-glow-soft: rgba(0, 255, 65, 0.22);
	--matrix-rain: rgba(140, 255, 193, 0.16);
	--matrix-scanline: rgba(216, 255, 227, 0.055);
}

:root.theme-matrix body {
	background: var(--bg);
	color: var(--text);
}

:root.theme-matrix .app-shell {
	position: relative;
	isolation: isolate;
	background:
		radial-gradient(circle at 18% 8%, rgba(0, 255, 65, 0.1), transparent 30%),
		linear-gradient(135deg, #000 0%, var(--bg) 48%, #020d05 100%);
}

:root.theme-matrix .app-shell::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 20;
	pointer-events: none;
	background:
		repeating-linear-gradient(
			90deg,
			transparent 0 17px,
			var(--matrix-rain) 18px,
			transparent 20px 34px
		),
		repeating-linear-gradient(
			0deg,
			transparent 0 3px,
			var(--matrix-scanline) 4px,
			transparent 5px 8px
		);
	opacity: 0.18;
	mix-blend-mode: screen;
}

:root.theme-matrix .workspace,
:root.theme-matrix .sidebar,
:root.theme-matrix .mobile-menu-toggle,
:root.theme-matrix .home-button,
:root.theme-matrix .panel,
:root.theme-matrix .path-bar,
:root.theme-matrix .settings-tabs,
:root.theme-matrix .settings-inline-link,
:root.theme-matrix .thoughts-settings-intro,
:root.theme-matrix .thoughts-settings-section,
:root.theme-matrix .interface-settings-section,
:root.theme-matrix .cloud-account-card,
:root.theme-matrix .cloud-usage-card,
:root.theme-matrix .cloud-sync-grid span,
:root.theme-matrix .cloud-status-pill,
:root.theme-matrix .getting-started-intro,
:root.theme-matrix .getting-started-defaults,
:root.theme-matrix .getting-started-rhythm,
:root.theme-matrix .getting-started-grid article,
:root.theme-matrix .dashboard-analytics,
:root.theme-matrix .dashboard-orb-fieldset,
:root.theme-matrix .dashboard-textbox,
:root.theme-matrix .dashboard-identity-card,
:root.theme-matrix .dashboard-identity-toggle,
:root.theme-matrix .dashboard-card-face,
:root.theme-matrix .dashboard-card-back-face,
:root.theme-matrix .theme-choice,
:root.theme-matrix .sidebar-menu-nav-button,
:root.theme-matrix .sidebar-item,
:root.theme-matrix .sidebar-item-organizer,
:root.theme-matrix .sidebar-donate-row,
:root.theme-matrix .sidebar-toggle-all,
:root.theme-matrix .body-mode-switcher,
:root.theme-matrix .body-timer-switcher,
:root.theme-matrix .body-nutrition-switcher,
:root.theme-matrix .body-card,
:root.theme-matrix .body-card-heading,
:root.theme-matrix .body-card-note,
:root.theme-matrix .body-field input,
:root.theme-matrix .body-field select,
:root.theme-matrix .body-field textarea,
:root.theme-matrix .body-workout-item,
:root.theme-matrix .body-macro-row span,
:root.theme-matrix .tracker-orb,
:root.theme-matrix .icon-picker-trigger,
:root.theme-matrix .icon-picker-panel,
:root.theme-matrix .icon-picker-option,
:root.theme-matrix .icon-picker-empty,
:root.theme-matrix .life-mode-switcher,
:root.theme-matrix .life-card,
:root.theme-matrix .life-quick-add input,
:root.theme-matrix .life-todo-stats span,
:root.theme-matrix .life-todo-column-heading span,
:root.theme-matrix .life-todo-card,
:root.theme-matrix .life-todo-check,
:root.theme-matrix .life-project-sidebar,
:root.theme-matrix .life-project-workflow,
:root.theme-matrix .life-project-body,
:root.theme-matrix .life-project-nav-button,
:root.theme-matrix .life-project-stats span,
:root.theme-matrix .life-attachment-item,
:root.theme-matrix .life-mobile-month-day,
:root.theme-matrix .life-mobile-month-date,
:root.theme-matrix .life-month-heading,
:root.theme-matrix .life-month-day,
:root.theme-matrix .life-day-column,
:root.theme-matrix .life-date-group h3,
:root.theme-matrix .life-event-row,
:root.theme-matrix .life-journal-meta span,
:root.theme-matrix .life-tracker-fieldset,
:root.theme-matrix .life-tracker-pill,
:root.theme-matrix .spirit-dashboard,
:root.theme-matrix .spirit-year-button,
:root.theme-matrix .spirit-reading-button,
:root.theme-matrix .spirit-book-dashboard,
:root.theme-matrix .spirit-lookup-bar,
:root.theme-matrix .spirit-lookup-link,
:root.theme-matrix .spirit-detail-card,
:root.theme-matrix .compendium-rotator,
:root.theme-matrix .compendium-picker-popover,
:root.theme-matrix .compendium-picker-tile,
:root.theme-matrix .compendium-tile,
:root.theme-matrix .section-row,
:root.theme-matrix .sidebar-item--mind-compendium,
:root.theme-matrix .sidebar-item--mind-section,
:root.theme-matrix .reader-panel,
:root.theme-matrix .reader-book,
:root.theme-matrix .reader-slide,
:root.theme-matrix .reader-section-title,
:root.theme-matrix .empty-state,
:root.theme-matrix .editor-form input,
:root.theme-matrix .editor-form textarea,
:root.theme-matrix .field-label input,
:root.theme-matrix .editor-image-button.icon-button,
:root.theme-matrix .donation-panel,
:root.theme-matrix .amount-option,
:root.theme-matrix .camera-panel,
:root.theme-matrix .timer-panel,
:root.theme-matrix .timer-display,
:root.theme-matrix .timer-custom-row,
:root.theme-matrix .timer-volume-field,
:root.theme-matrix .life-fullcalendar .fc-col-header-cell,
:root.theme-matrix .life-fullcalendar .fc-daygrid-day,
:root.theme-matrix .life-fullcalendar .fc-event {
	border-color: var(--border-soft);
	background:
		linear-gradient(180deg, rgba(0, 255, 65, 0.035), transparent 44%),
		var(--matrix-panel);
	color: var(--text);
	box-shadow: 0 0 0 1px rgba(0, 255, 65, 0.05) inset;
}

:root.theme-matrix .workspace {
	background:
		linear-gradient(180deg, rgba(0, 255, 65, 0.06), transparent 34%),
		var(--bg);
}

:root.theme-matrix .panel,
:root.theme-matrix .reader-panel,
:root.theme-matrix .body-card,
:root.theme-matrix .life-card,
:root.theme-matrix .theme-choice,
:root.theme-matrix .dashboard-card-face,
:root.theme-matrix .dashboard-card-back-face {
	box-shadow:
		0 0 0 1px rgba(0, 255, 65, 0.08) inset,
		0 12px 30px rgba(0, 0, 0, 0.46);
}

:root.theme-matrix .home-button,
:root.theme-matrix .theme-choice strong,
:root.theme-matrix .panel-header h2,
:root.theme-matrix .reader-heading h2,
:root.theme-matrix .dashboard-card,
:root.theme-matrix .dashboard-analytics-header h2,
:root.theme-matrix .body-card-heading h3,
:root.theme-matrix .life-todo-card h4,
:root.theme-matrix .life-project-overview h3,
:root.theme-matrix .spirit-detail-card strong,
:root.theme-matrix .markdown-body h1,
:root.theme-matrix .markdown-body h2,
:root.theme-matrix .markdown-body h3 {
	color: var(--text);
	text-shadow:
		0 0 8px var(--matrix-glow-soft),
		0 0 18px rgba(0, 255, 65, 0.14);
}

:root.theme-matrix .theme-choice small,
:root.theme-matrix .panel-header p,
:root.theme-matrix .path-bar span,
:root.theme-matrix .dashboard-analytics-header p,
:root.theme-matrix .body-field,
:root.theme-matrix .body-card-heading p,
:root.theme-matrix .body-card-note,
:root.theme-matrix .section-row > span,
:root.theme-matrix .section-row > small,
:root.theme-matrix .reader-heading p,
:root.theme-matrix .life-todo-card-meta span,
:root.theme-matrix .life-todo-detail,
:root.theme-matrix .life-project-nav-button small,
:root.theme-matrix .life-event-row small,
:root.theme-matrix .spirit-reading-main small,
:root.theme-matrix .tracker-page-controls,
:root.theme-matrix .icon-picker-empty {
	color: var(--muted);
}

:root.theme-matrix .primary-button,
:root.theme-matrix .secondary-button,
:root.theme-matrix .icon-button,
:root.theme-matrix .body-mode-button,
:root.theme-matrix .dashboard-chart-switcher button,
:root.theme-matrix .compendium-new-button,
:root.theme-matrix .dashboard-period-slider,
:root.theme-matrix .timer-preset-button,
:root.theme-matrix .tracker-page-controls button {
	border-color: var(--border-soft);
	background: var(--theme-control);
	color: var(--text);
	box-shadow: 0 0 12px rgba(0, 255, 65, 0.08);
}

:root.theme-matrix .primary-button {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--on-accent);
	text-shadow: none;
	box-shadow:
		0 0 0 1px rgba(216, 255, 227, 0.28) inset,
		0 0 22px var(--matrix-glow-soft);
}

:root.theme-matrix .home-button:hover,
:root.theme-matrix .home-button:focus-visible,
:root.theme-matrix .primary-button:hover,
:root.theme-matrix .primary-button:focus-visible,
:root.theme-matrix .secondary-button:hover,
:root.theme-matrix .secondary-button:focus-visible,
:root.theme-matrix .icon-button:hover,
:root.theme-matrix .icon-button:focus-visible,
:root.theme-matrix .body-mode-button:hover,
:root.theme-matrix .body-mode-button.is-active,
:root.theme-matrix .dashboard-chart-switcher button:hover,
:root.theme-matrix .dashboard-chart-switcher button.is-active,
:root.theme-matrix .compendium-new-button:hover,
:root.theme-matrix .compendium-new-button:focus-visible,
:root.theme-matrix .dashboard-period-slider:focus-within,
:root.theme-matrix .timer-preset-button:hover,
:root.theme-matrix .timer-preset-button:focus-visible,
:root.theme-matrix .timer-preset-button.is-active,
:root.theme-matrix .theme-choice:hover,
:root.theme-matrix .theme-choice:focus-visible,
:root.theme-matrix .theme-choice.is-active,
:root.theme-matrix .sidebar-item.is-active,
:root.theme-matrix .sidebar-item:hover,
:root.theme-matrix .sidebar-item:focus-visible,
:root.theme-matrix .section-row:hover,
:root.theme-matrix .section-row:focus-visible,
:root.theme-matrix .compendium-picker-tile:hover,
:root.theme-matrix .compendium-picker-tile:focus-visible,
:root.theme-matrix .compendium-tile:hover,
:root.theme-matrix .compendium-tile:focus-visible,
:root.theme-matrix .tracker-orb:hover,
:root.theme-matrix .tracker-orb:focus-visible,
:root.theme-matrix .tracker-orb.is-editing,
:root.theme-matrix .life-todo-card:hover,
:root.theme-matrix .life-todo-card:focus-visible,
:root.theme-matrix .life-project-nav-button:hover,
:root.theme-matrix .life-project-nav-button.is-active,
:root.theme-matrix button.life-event-row:hover,
:root.theme-matrix .life-tracker-pill:hover,
:root.theme-matrix .life-tracker-pill:has(input:checked),
:root.theme-matrix .spirit-year-button:hover,
:root.theme-matrix .spirit-year-button.is-active,
:root.theme-matrix .spirit-reading-button:hover,
:root.theme-matrix .amount-option:hover,
:root.theme-matrix .amount-option.is-selected {
	border-color: var(--accent);
	background: var(--matrix-panel-strong);
	color: var(--text);
	text-shadow: 0 0 9px var(--matrix-glow);
	box-shadow:
		0 0 0 1px rgba(0, 255, 65, 0.22),
		0 0 24px var(--matrix-glow-soft);
}

:root.theme-matrix .danger-button,
:root.theme-matrix .cloud-danger-link,
:root.theme-matrix .thought-toast-delete {
	color: var(--danger);
}

:root.theme-matrix .danger-button:hover,
:root.theme-matrix .danger-button:focus-visible {
	border-color: var(--danger);
	background: var(--danger);
	color: var(--on-danger);
	text-shadow: none;
}

:root.theme-matrix .dashboard-card.is-color-always-on .dashboard-card-face,
:root.theme-matrix .dashboard-card:hover .dashboard-card-face,
:root.theme-matrix .dashboard-card:focus-visible .dashboard-card-face,
:root.theme-matrix .dashboard-card.is-linked-hover .dashboard-card-face,
:root.theme-matrix .dashboard-card.is-flipped .dashboard-card-face {
	border-color: var(--card-color);
	background:
		linear-gradient(180deg, rgba(0, 255, 65, 0.07), transparent 48%),
		color-mix(in srgb, var(--card-color) 18%, var(--surface));
	box-shadow:
		0 0 0 1px color-mix(in srgb, var(--card-color) 64%, transparent),
		0 0 28px var(--matrix-glow-soft),
		0 16px 34px rgba(0, 0, 0, 0.55);
}

:root.theme-matrix .body-field input:focus,
:root.theme-matrix .body-field select:focus,
:root.theme-matrix .body-field textarea:focus,
:root.theme-matrix .editor-form input:focus,
:root.theme-matrix .editor-form textarea:focus,
:root.theme-matrix .field-label input:focus,
:root.theme-matrix .life-quick-add input:focus,
:root.theme-matrix .plan-select:focus {
	border-color: var(--accent);
	box-shadow:
		0 0 0 2px rgba(0, 255, 65, 0.22),
		0 0 18px rgba(0, 255, 65, 0.16);
}

:root.theme-matrix .life-fullcalendar.fc,
:root.theme-matrix .life-fullcalendar .fc {
	--fc-border-color: var(--border-soft);
	--fc-neutral-bg-color: var(--surface);
	--fc-list-event-hover-bg-color: var(--surface-2);
	--fc-today-bg-color: rgba(0, 255, 65, 0.12);
}

:root.theme-matrix .life-fullcalendar .fc-scrollgrid,
:root.theme-matrix .life-fullcalendar .fc-theme-standard td,
:root.theme-matrix .life-fullcalendar .fc-theme-standard th {
	border-color: var(--border-soft);
}

@media (prefers-reduced-motion: no-preference) {
	:root.theme-matrix .app-shell::before {
		animation: matrix-rain-drift 14s linear infinite;
	}
}

@keyframes matrix-rain-drift {
	from {
		background-position:
			0 0,
			0 0;
	}
	to {
		background-position:
			0 72px,
			0 8px;
	}
}

.markdown-body {
	color: #e2e8f0;
	line-height: 1.75;
	font-size: 1rem;
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3 {
	color: white;
	font-weight: 800;
	line-height: 1.2;
	margin: 1.25rem 0 0.75rem;
}

.markdown-body h1 {
	font-size: 2rem;
}

.markdown-body h2 {
	border-bottom: 1px solid var(--border);
	padding-bottom: 0.35rem;
	font-size: 1.5rem;
}

.markdown-body h3 {
	font-size: 1.2rem;
}

.markdown-body p {
	margin: 0.85rem 0;
}

.markdown-body img {
	display: block;
	max-width: min(100%, 920px);
	max-height: 70vh;
	object-fit: contain;
	margin: 1rem 0;
	border: 1px solid var(--border-soft);
	border-radius: 12px;
	background: rgba(2, 6, 23, 0.5);
}

.markdown-body img.is-missing {
	min-height: 120px;
	background:
		linear-gradient(
			135deg,
			rgba(148, 163, 184, 0.16) 25%,
			transparent 25% 50%,
			rgba(148, 163, 184, 0.16) 50% 75%,
			transparent 75%
		),
		rgba(2, 6, 23, 0.5);
	background-size: 18px 18px;
}

.markdown-body ul,
.markdown-body ol {
	margin: 0.85rem 0 0.85rem 1.5rem;
	padding-left: 1rem;
}

.markdown-body li {
	margin: 0.35rem 0;
}

.markdown-body blockquote {
	margin: 1rem 0;
	border-left: 4px solid #94a3b8;
	border-radius: 12px;
	background: rgba(15, 23, 42, 0.7);
	color: #cbd5e1;
	padding: 0.85rem 1rem;
}

.ourstuff-command--caption {
	margin: 1rem 0;
	border: 1px solid var(--border-soft);
	border-radius: 8px;
	background: color-mix(in srgb, var(--surface) 82%, transparent);
	color: var(--muted);
	padding: 0.85rem 1rem;
	font-family: var(--font-label);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.45;
}

.ourstuff-command--caption p {
	margin: 0;
}

.markdown-body code {
	border: 1px solid var(--border);
	border-radius: 6px;
	background: #0f172a;
	color: #e2e8f0;
	padding: 0.1rem 0.35rem;
	font-family: var(--font-mono);
	font-size: 0.9em;
}

.markdown-body pre {
	margin: 1rem 0;
	overflow-x: auto;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: #020617;
	padding: 1rem;
}

.markdown-body pre code {
	border: 0;
	background: transparent;
	padding: 0;
}

.markdown-body a {
	color: #7dd3fc;
	text-decoration: underline;
	text-underline-offset: 3px;
}

:root.theme-palette .thought-toast > .icon-button,
:root.theme-consolas .thought-toast > .icon-button,
.thought-toast > .icon-button {
	border-color: var(--thought-toast-border-soft);
	background: var(--thought-toast-panel);
	color: var(--thought-toast-text);
	box-shadow: none;
}

:root.theme-palette .thought-toast > .icon-button:hover,
:root.theme-palette .thought-toast > .icon-button:focus-visible,
:root.theme-consolas .thought-toast > .icon-button:hover,
:root.theme-consolas .thought-toast > .icon-button:focus-visible,
.thought-toast > .icon-button:hover,
.thought-toast > .icon-button:focus-visible {
	border-color: var(--thought-toast-accent);
	background: var(--thought-toast-panel-hover);
	color: var(--thought-toast-text);
	outline: none;
	transform: translateY(-1px);
}

:root.theme-palette .thought-toast > .thought-toast-action,
:root.theme-consolas .thought-toast > .thought-toast-action,
.thought-toast > .thought-toast-action {
	border-color: var(--thought-toast-accent);
	background: var(--thought-toast-accent);
	color: var(--thought-toast-on-accent);
	box-shadow:
		0 10px 22px var(--theme-shadow, rgba(0, 0, 0, 0.28)),
		0 0 0 1px
		color-mix(in srgb, var(--thought-toast-on-accent) 18%, transparent) inset;
}

:root.theme-palette .thought-toast > .thought-toast-action:hover,
:root.theme-palette .thought-toast > .thought-toast-action:focus-visible,
:root.theme-consolas .thought-toast > .thought-toast-action:hover,
:root.theme-consolas .thought-toast > .thought-toast-action:focus-visible,
.thought-toast > .thought-toast-action:hover,
.thought-toast > .thought-toast-action:focus-visible {
	border-color: var(--thought-toast-accent);
	background: color-mix(
		in srgb,
		var(--thought-toast-accent) 86%,
		var(--thought-toast-text) 14%
	);
	color: var(--thought-toast-on-accent);
}

:root.theme-palette .thought-toast > .thought-toast-delete,
:root.theme-consolas .thought-toast > .thought-toast-delete,
.thought-toast > .thought-toast-delete {
	border-color: color-mix(
		in srgb,
		var(--danger) 74%,
		var(--thought-toast-border-soft)
	);
	background: color-mix(in srgb, var(--danger) 14%, var(--thought-toast-panel));
	color: var(--danger);
}

:root.theme-palette .thought-toast > .thought-toast-delete:hover,
:root.theme-palette .thought-toast > .thought-toast-delete:focus-visible,
:root.theme-consolas .thought-toast > .thought-toast-delete:hover,
:root.theme-consolas .thought-toast > .thought-toast-delete:focus-visible,
.thought-toast > .thought-toast-delete:hover,
.thought-toast > .thought-toast-delete:focus-visible {
	border-color: var(--danger);
	background: var(--danger);
	color: var(--on-danger, var(--thought-toast-on-accent));
}

@media (max-width: 860px) {
	:root {
		--content-pad: 16px;
		--bottom-menu-button-height: 46px;
		--dashboard-card-size-base: min(116px, calc((100vw - 52px) / 2));
		--dashboard-card-size-height-cap: var(--dashboard-card-size-base);
	}

	body {
		overflow: hidden;
	}

	.app-shell {
		height: var(--app-height);
		width: 100%;
		padding: 0;
	}

	.workspace {
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) auto;
		height: 100%;
		width: 100%;
		min-height: 0;
		overflow: hidden;
		border-radius: 0;
	}

	.workspace:not(.has-mobile-menu) {
		grid-template-columns: minmax(0, 1fr);
	}

	.workspace:not(.has-mobile-menu) .content-shell {
		grid-column: 1;
	}

	.mobile-menu-toggle {
		position: relative;
		grid-row: 2;
		justify-self: stretch;
		width: auto;
		min-height: var(--bottom-menu-toggle-height);
		margin: 0 var(--bottom-menu-right) var(--content-pad)
			var(--bottom-menu-left);
		padding: 0 10px var(--safe-bottom);
		border: 1px solid var(--border);
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: none;
		cursor: pointer;
	}

	.mobile-menu-toggle:hover {
		cursor: pointer;
	}

	.sidebar {
		position: absolute;
		inset: var(--bottom-menu-top) var(--bottom-menu-right)
			calc(var(--bottom-menu-toggle-height) + var(--content-pad))
			var(--bottom-menu-left);
		width: auto;
		height: auto;
		max-height: none;
		min-height: 0;
		border-top: 1px solid var(--border);
		border-right: 0;
		border-left: 0;
		border-bottom: 0;
		border-radius: 0;
		padding: 0;
		background: #020617;
		box-shadow: none;
		transform: translateY(100%);
		transition: transform 0.28s ease;
	}

	.workspace.has-mobile-menu .sidebar {
		transform: translateY(0);
	}

	.content-shell {
		grid-row: 1;
		grid-column: 1;
		min-width: 0;
		min-height: 0;
		display: grid;
		grid-template-rows: auto minmax(0, 1fr);
		overflow: hidden;
		padding: 16px 16px 0;
	}

	.app-shell.is-installed-app .content-shell {
		padding-top: calc(16px + var(--safe-top));
		padding-right: max(16px, var(--safe-right));
		padding-left: max(16px, var(--safe-left));
	}

	.path-bar .path-camera-button {
		width: 36px;
		height: 36px;
		min-width: 36px;
	}

	.camera-modal {
		padding: max(12px, var(--safe-top)) max(12px, var(--safe-right))
			max(12px, var(--safe-bottom)) max(12px, var(--safe-left));
	}

	.camera-panel {
		width: 100%;
		max-height: calc(var(--app-height) - 24px);
		padding: 14px;
	}

	.timer-panel {
		width: 100%;
		max-height: calc(var(--app-height) - 24px);
		padding: 14px;
	}

	.camera-preview {
		min-height: 210px;
	}

	.timer-presets,
	.timer-actions,
	.timer-settings-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.timer-custom-row {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
	}

	.timer-custom-row .timer-field-label,
	.timer-custom-row .secondary-button {
		grid-column: 1 / -1;
	}

	.camera-actions .primary-button,
	.camera-actions .secondary-button {
		flex: 1 1 140px;
	}

	.content-stage,
	.panel,
	.dashboard-home {
		min-height: 0;
	}

	.content-stage {
		height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.panel,
	.dashboard-home {
		height: auto;
		min-height: 100%;
		overflow: visible;
	}

	.panel:has(.dashboard-home) {
		padding: 4px 6px 22px;
	}

	.dashboard-home {
		gap: 10px;
	}

	.app-shell.is-browser-mode.is-mobile-viewport .dashboard-home,
	.app-shell.is-browser-mode.is-mobile-viewport .dashboard-grid,
	.app-shell.is-browser-mode.is-mobile-viewport .dashboard-card {
		--dashboard-card-size-height-cap: clamp(
			78px,
			calc((var(--app-height) - 480px) / 2),
			var(--dashboard-card-size-base)
		);
		--dashboard-card-size: min(
			var(--dashboard-card-size-base),
			var(--dashboard-card-size-height-cap)
		);
	}

	.dashboard-analytics {
		gap: 8px;
		padding: 8px 12px 10px;
	}

	.dashboard-grid {
		grid-template-columns: repeat(2, var(--dashboard-card-size));
		grid-template-rows: none;
		align-content: start;
		gap: 12px;
		padding: 0 5px 18px;
	}

	.dashboard-card {
		border-radius: 16px;
	}

	.dashboard-card-title {
		gap: 6px;
		font-size: 1rem;
	}

	.dashboard-card-icon .button-icon {
		width: 1em;
		height: 1em;
	}

	.dashboard-card-title--icon-only .dashboard-card-icon .button-icon {
		width: clamp(52px, 13vw, 60px);
		height: clamp(52px, 13vw, 60px);
		font-size: clamp(52px, 13vw, 60px);
	}

	.dashboard-card-face {
		padding: 8px;
	}

	.dashboard-card-back {
		gap: 3px;
	}

	.dashboard-card-row {
		gap: 1px;
	}

	.dashboard-card-row em {
		font-size: 0.46rem;
		letter-spacing: 0.08em;
	}

	.dashboard-card-row strong {
		display: -webkit-box;
		overflow: hidden;
		font-size: 0.55rem;
		line-height: 1.05;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.dashboard-card-open {
		margin-top: 0;
		font-size: 0.52rem;
		line-height: 1;
	}

	.dashboard-textbox {
		min-height: 320px;
	}

	.dashboard-analytics,
	.dashboard-analytics-body {
		overflow: visible;
	}

	.dashboard-analytics-body {
		grid-template-columns: 1fr;
	}

	@media (max-height: 700px) {
		.dashboard-home {
			gap: 8px;
		}

		.dashboard-analytics {
			gap: 6px;
			padding: 6px 10px 8px;
		}

		.dashboard-analytics-header {
			gap: 3px;
		}

		.dashboard-analytics-header h2 {
			font-size: 1.12rem;
		}

		.dashboard-analytics-header p {
			font-size: 0.82rem;
			line-height: 1.15;
		}

		.dashboard-pie-wrap,
		.dashboard-analytics-body {
			gap: 5px;
		}

		.dashboard-grid {
			gap: 8px;
			padding-bottom: 12px;
		}

		.dashboard-card-title {
			gap: 4px;
			font-size: 0.86rem;
		}

		.dashboard-card-title--icon-only .dashboard-card-icon .button-icon {
			width: clamp(48px, 12vw, 56px);
			height: clamp(48px, 12vw, 56px);
			font-size: clamp(48px, 12vw, 56px);
		}

		.dashboard-card-face {
			padding: 6px;
		}

		.dashboard-card-back {
			gap: 2px;
		}

		.dashboard-card-row em {
			font-size: 0.38rem;
			letter-spacing: 0.06em;
		}

		.dashboard-card-row strong {
			font-size: 0.46rem;
			line-height: 1;
			-webkit-line-clamp: 1;
		}

		.dashboard-card-open {
			font-size: 0.42rem;
		}

		.dashboard-chart-switcher button {
			min-height: 30px;
			gap: 3px;
			padding: 4px 6px;
			font-size: 0.6rem;
		}

		.dashboard-period-slider {
			gap: 4px;
		}
	}

	.getting-started-page {
		height: auto;
		overflow: visible;
	}

	.settings-page,
	.settings-tab-panel {
		height: auto;
		overflow: visible;
	}

	.settings-tabs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.settings-tabs .body-mode-button {
		min-height: 40px;
		padding: 0 8px;
	}

	.pyxdia-page {
		height: auto;
		overflow: visible;
		padding-right: 0;
	}

	.pyxdia-mode-switcher,
	.pyxdia-letter-editor {
		grid-template-columns: 1fr;
	}

	.pyxdia-recipient-selector {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.pyxdia-recipient-selector .dashboard-identity-toggle {
		min-width: 0;
	}

	.pyxdia-recipient-selector .dashboard-identity-toggle span {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.pyxdia-family-recipient,
	.pyxdia-invite-link {
		grid-column: 1 / -1;
		max-width: 100%;
	}

	.pyxdia-letter-actions {
		grid-column: auto;
	}

	.pyxdia-letter-field textarea {
		min-height: 240px;
	}

	.pyxdia-note-filter-grid {
		grid-template-columns: 1fr;
	}

	.pyxdia-note-ref-list {
		max-height: 280px;
	}

	.trash-item {
		grid-template-columns: 1fr;
	}

	.trash-item-actions {
		justify-content: stretch;
	}

	.trash-item-actions .secondary-button {
		width: 100%;
	}

	.thoughts-settings-intro {
		display: grid;
		align-items: start;
	}

	.dashboard-identity-grid,
	.theme-choice-grid {
		grid-template-columns: 1fr;
	}

	.cloud-account-section > .body-card-heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.cloud-heading-controls,
	.cloud-heading-actions,
	.cloud-action-nav,
	.cloud-danger-links {
		justify-content: flex-start;
		width: 100%;
		margin-left: 0;
	}

	.cloud-heading-controls {
		flex-wrap: wrap;
	}

	.cloud-heading-actions {
		align-items: stretch;
		width: 100%;
	}

	.cloud-action-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cloud-heading-action-row {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
	}

	.cloud-heading-actions .primary-button,
	.cloud-heading-actions .secondary-button,
	.cloud-action-nav .primary-button,
	.cloud-action-nav .secondary-button {
		min-width: 0;
		width: 100%;
		padding-right: 6px;
		padding-left: 6px;
		line-height: 1.1;
	}

	.cloud-heading-actions .button-label,
	.cloud-action-nav .button-label {
		white-space: normal;
		text-align: center;
	}

	.cloud-sync-grid,
	.cloud-email-form {
		grid-template-columns: 1fr;
	}

	.dashboard-identity-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.dashboard-identity-input-row {
		display: grid;
		grid-template-columns: 48px minmax(96px, 1fr) 40px;
		gap: 10px;
		width: 100%;
	}

	.dashboard-identity-input-row input[type="text"] {
		width: 100%;
	}

	.dashboard-identity-reset {
		width: 40px;
		min-width: 40px;
	}

	.theme-choice-palette {
		grid-template-columns: repeat(9, 8px);
		justify-content: start;
		gap: 3px;
	}

	.tracker-add-form {
		grid-template-columns: 1fr;
	}

	.goal-frequency-editor {
		grid-template-columns: 1fr;
	}

	.icon-picker-overlay {
		align-items: end;
		justify-items: stretch;
		padding: 0;
		background: rgba(2, 6, 23, 0.58);
	}

	.icon-picker-panel {
		width: auto;
		height: calc(
			100dvh -
			var(--bottom-menu-toggle-height) -
			var(--content-pad)
		);
		max-height: none;
		margin: var(--content-pad) var(--bottom-menu-right)
			calc(var(--bottom-menu-toggle-height) + var(--content-pad))
			var(--bottom-menu-left);
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 0;
	}

	.icon-picker-header {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		padding: 12px;
	}

	.icon-picker-current {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	.icon-picker-search {
		padding: 12px;
	}

	.icon-picker-color {
		padding: 0 12px 12px;
	}

	.icon-picker-color-top {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.icon-picker-hex {
		grid-template-columns: 30px minmax(0, 1fr);
	}

	.icon-picker-swatches {
		grid-template-columns: repeat(8, 8px);
		justify-content: start;
	}

	.icon-picker-results {
		padding: 0 12px 12px;
	}

	.icon-picker-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.icon-picker-option {
		min-height: 70px;
		border-radius: 10px;
	}

	.panel > .dashboard-orb-nav + .scroll-area {
		height: auto;
	}

	.thought-toast {
		left: 50%;
		right: auto;
		bottom: 12px;
		grid-template-columns: minmax(0, 1fr) auto auto;
	}

	.thought-toast-input-label,
	.thought-toast-time-fields,
	.thought-toast-action {
		grid-column: 1 / -1;
	}

	.thought-toast .icon-button {
		grid-column: auto;
		grid-row: 1;
	}

	.gallery-page,
	.gallery-grid {
		height: auto;
		overflow: visible;
	}

	.gallery-toolbar {
		align-items: stretch;
	}

	.gallery-toolbar,
	.gallery-toolbar label {
		display: grid;
	}

	.gallery-toolbar input[type="range"] {
		width: 100%;
	}

	.getting-started-grid {
		grid-template-columns: 1fr;
	}

	.getting-started-defaults {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.getting-started-defaults .primary-button {
		width: 100%;
	}

	.getting-started-space-guide .body-actions .secondary-button {
		width: 100%;
	}

	.reader-heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		gap: 12px;
	}

	.panel-header {
		gap: 10px;
	}

	.panel-header .action-row,
	.reader-heading .action-row {
		justify-content: flex-end;
	}

	.scroll-area,
	.reader-panel,
	.reader-book,
	.body-dashboard,
	.life-dashboard,
	.life-reader-grid,
	.spirit-dashboard,
	.spirit-book-dashboard,
	.editor-form,
	.empty-state {
		height: 100%;
		max-height: none;
		overflow: auto;
	}

	.reader-book--compendium {
		height: calc(100% - 48px);
		overflow: hidden;
	}

	.reader-slider {
		grid-template-columns: 32px minmax(0, 1fr) 32px;
	}

	.reader-slide {
		padding: 8px 10px 10px;
	}

	.body-dashboard {
		grid-template-columns: 1fr;
	}

	.life-dashboard,
	.life-reader-grid {
		grid-template-columns: 1fr;
	}

	.life-dashboard,
	.life-mode-panel,
	.life-todo-view,
	.life-todo-board,
	.life-todo-column,
	.life-todo-stack,
	.life-projects-view,
	.life-project-shell,
	.life-project-sidebar,
	.life-project-workflow,
	.life-project-body {
		height: auto;
		max-height: none;
		overflow: visible;
	}

	.life-mode-switcher,
	.life-calendar-switcher {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.life-tool-switcher {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		width: 100%;
	}

	.life-mode-switcher.life-tool-switcher {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.life-mode-panel,
	.life-calendar-viewer,
	.life-card--month,
	.life-fullcalendar {
		max-width: 100%;
		overflow-x: hidden;
	}

	.life-card--month {
		padding: 12px;
	}

	.life-card--month .body-card-heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		margin-bottom: 8px;
	}

	.life-fullcalendar .fc-col-header-cell {
		font-size: 0.58rem;
		letter-spacing: 0.04em;
	}

	.life-fullcalendar .fc-daygrid-day-frame {
		aspect-ratio: auto;
		height: auto;
		min-height: 0;
	}

	.life-month-heading {
		min-height: 24px;
		font-size: 0.58rem;
		letter-spacing: 0.04em;
	}

	.life-month-day {
		aspect-ratio: auto;
		height: clamp(64px, 18vw, 82px);
		min-height: 0;
		padding: 5px;
	}

	.life-month-day-date {
		font-size: 0.72rem;
	}

	.life-month-day-items {
		gap: 2px;
	}

	.life-month-day strong,
	.life-month-day small {
		font-size: 0.56rem;
		line-height: 1.08;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.life-month-day small em {
		display: none;
	}

	.life-week-grid,
	.life-editor-grid,
	.life-tracker-fieldsets,
	.life-tracker-grid,
	.life-todo-columns,
	.life-todo-board,
	.life-project-form,
	.life-todo-view > .life-quick-add {
		grid-template-columns: 1fr;
	}

	.life-todo-overview {
		display: grid;
	}

	.life-todo-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.life-project-shell {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas:
			"projects"
			"workflow"
			"detail";
	}

	.life-project-overview {
		display: grid;
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 12px;
	}

	.life-project-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.life-project-sidebar,
	.life-project-workflow {
		border: 1px solid var(--border-soft);
		padding: 12px;
	}

	.life-todo-card,
	.life-attachment-item {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.life-attachment-item small {
		grid-column: 2;
	}

	.life-event-row {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.life-event-row small,
	.life-event-row em {
		grid-column: 2;
	}

	.body-card--notes {
		grid-column: auto;
	}

	.body-form-grid,
	.body-form-grid--nutrition,
	.body-form-grid--workout,
	.spirit-book-dashboard,
	.spirit-focus-grid {
		grid-template-columns: 1fr;
	}

	.spirit-year-nav {
		grid-template-columns: 1fr;
	}

	.spirit-year-buttons {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.spirit-reading-button {
		grid-template-columns: 46px minmax(0, 1fr);
	}

	.editor-form textarea {
		min-height: 360px;
	}

	.life-editor-form #editor-body {
		min-height: 220px;
	}

	.compendium-rotator-stage {
		grid-template-columns: 32px minmax(0, 1fr) 32px;
		min-height: 356px;
	}

	.compendium-rotator-stage--single-page {
		grid-template-columns: minmax(0, 1fr);
	}

	.compendium-list-view {
		min-height: 356px;
	}

	.compendium-list-scroll {
		max-height: 356px;
	}

	.compendium-picker-popover {
		inset: 0;
	}

	.body-mode-button {
		min-height: 34px;
		padding: 0;
	}

	.body-mode-button .button-icon {
		font-size: 1rem;
	}

	.page-tool-switcher .body-mode-button .button-icon,
	.body-tool-switcher .body-mode-button .button-icon,
	.body-timer-switcher .body-mode-button .button-icon,
	.body-nutrition-switcher .body-mode-button .button-icon,
	.life-calendar-switcher .body-mode-button .button-icon {
		width: 1.35rem;
		height: 1.35rem;
		font-size: 1.35rem;
	}

	.body-mode-label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}

	.settings-tabs .body-mode-label {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.pyxdia-mode-switcher .body-mode-label {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.life-tool-switcher .body-mode-button,
	.life-calendar-switcher .body-mode-button {
		flex-direction: column;
		gap: 3px;
		min-height: 48px;
		padding: 5px 4px;
		font-size: 0.68rem;
	}

	.life-tool-switcher .body-mode-label,
	.life-calendar-switcher .body-mode-label {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		line-height: 1.05;
		text-wrap: balance;
		white-space: normal;
	}
}

.life-new-note-button .life-new-note-label {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	line-height: 1.05;
	text-wrap: balance;
	white-space: normal;
}

.thanks-page {
	display: grid;
	place-items: center;
	min-height: var(--app-height);
	overflow: auto;
	padding: 24px;
	background:
		radial-gradient(
			circle at top left,
			rgba(14, 165, 233, 0.18),
			transparent 28rem
		),
		linear-gradient(135deg, #020617 0%, #0f172a 52%, #111827 100%);
}

.thanks-card {
	width: min(100%, 560px);
	border: 1px solid var(--border);
	border-radius: 16px;
	background: #0f172a;
	color: #e2e8f0;
	padding: 34px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
}

.thanks-card h1 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(2rem, 6vw, 3rem);
}

.thanks-message {
	margin: 0 0 24px;
	color: var(--muted);
	font-size: 1.05rem;
	line-height: 1.55;
}

.thanks-details {
	display: grid;
	gap: 12px;
	margin-bottom: 26px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: #020617;
	padding: 18px;
}

.detail-row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	color: #cbd5e1;
}

.detail-row strong {
	color: #fff;
	text-align: right;
}

.thanks-home-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	border-radius: 12px;
	background: #075985;
	color: white;
	font-weight: 800;
	padding: 0 18px;
	text-decoration: none;
}

.error {
	color: var(--danger);
}
