
		html,
		body {
			margin: 0;
			min-height: 100%;
			background: var(--theme-surface, #F5F4F3);
		}

		html[data-theme='dark'],
		html[data-theme='dark'] body {
			background: #0d0d14;
		}

		#app-boot-splash {
			position: fixed;
			inset: 0;
			z-index: 9999;
			display: flex;
			align-items: center;
			justify-content: center;
			padding:
				calc(32px + env(safe-area-inset-top, 0px)) 24px calc(32px + env(safe-area-inset-bottom, 0px));
			background: inherit;
			color: var(--theme-foreground, #051624);
			transition: opacity 240ms ease, visibility 240ms ease;
		}

		html[data-theme='dark'] #app-boot-splash {
			color: #f8fafc;
		}

		.app-boot-card {
			width: min(100%, 360px);
			display: flex;
			flex-direction: column;
			gap: 14px;
			padding: 28px 24px;
			border-radius: 28px;
			background: rgba(255, 255, 255, 0.82);
			border: 1px solid rgba(24, 24, 27, 0.08);
			box-shadow: 0 24px 80px rgba(24, 24, 27, 0.12);
			backdrop-filter: blur(14px);
		}

		html[data-boot-platform='ios'][data-boot-surface='standalone'] .app-boot-card {
			width: min(100%, 390px);
			gap: 16px;
			padding: 30px 26px;
			border-radius: 32px;
			box-shadow: 0 28px 96px rgba(24, 24, 27, 0.16);
		}

		html[data-boot-platform='android'][data-boot-surface='standalone'] .app-boot-card {
			width: min(100%, 344px);
			padding: 24px 22px;
			border-radius: 24px;
			box-shadow: 0 18px 56px rgba(24, 24, 27, 0.14);
		}

		html[data-theme='dark'] .app-boot-card {
			background: rgba(17, 17, 26, 0.86);
			border-color: rgba(248, 250, 252, 0.08);
			box-shadow: 0 24px 80px rgba(0, 0, 0, 0.3);
		}

		.app-boot-mark {
			display: inline-flex;
			align-items: center;
			gap: 10px;
			font: 700 0.82rem/1.1 var(--theme-font-family, Inter), system-ui, sans-serif;
			letter-spacing: 0.12em;
			text-transform: uppercase;
			color: var(--theme-accent, #c12d00);
		}

		.app-boot-dot {
			width: 10px;
			height: 10px;
			border-radius: 999px;
			background: currentColor;
			box-shadow: 0 0 0 8px color-mix(in srgb, var(--theme-accent, #c12d00) 14%, transparent);
		}

		.app-boot-title {
			margin: 0;
			font: 700 1.75rem/1.05 var(--theme-heading-font-family, "SRH Headline"), Inter, system-ui, sans-serif;
			letter-spacing: -0.03em;
		}

		.app-boot-status {
			margin: 0;
			font: 500 0.98rem/1.45 var(--theme-font-family, Inter), system-ui, sans-serif;
			color: rgba(24, 24, 27, 0.72);
		}

		html[data-theme='dark'] .app-boot-status {
			color: rgba(248, 250, 252, 0.76);
		}

		.app-boot-progress {
			--boot-progress: 8%;
			position: relative;
			height: 10px;
			border-radius: 999px;
			overflow: hidden;
			background: rgba(24, 24, 27, 0.08);
		}

		html[data-theme='dark'] .app-boot-progress {
			background: rgba(248, 250, 252, 0.12);
		}

		.app-boot-progress::after {
			content: '';
			position: absolute;
			inset: 0;
			width: var(--boot-progress);
			border-radius: inherit;
			background: linear-gradient(
				90deg,
				var(--theme-accent, #c12d00) 0%,
				color-mix(in srgb, var(--theme-accent, #c12d00) 58%, white) 100%
			);
			transition: width 220ms ease;
		}

		.app-boot-steps {
			min-height: 1.2em;
			font: 600 0.76rem/1.2 var(--theme-font-family, Inter), system-ui, sans-serif;
			letter-spacing: 0.04em;
			text-transform: uppercase;
			color: rgba(24, 24, 27, 0.70);
		}

		html[data-theme='dark'] .app-boot-steps {
			color: rgba(248, 250, 252, 0.75);
		}

			.app-shell {
				opacity: 1;
				transform: none;
				transition: opacity 240ms ease;
			}

			/* Keep fixed descendants anchored during iOS first paint; page swipes should not be required to refresh nav geometry. */
			html[data-app-boot='loading'] .app-shell {
				opacity: 0;
				pointer-events: none;
			}

		html[data-app-boot='ready'] #app-boot-splash {
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
		}

		.app-body-container {
			display: contents;
		}
