
			/* Critical CSS — FOUC 抑制用最低限スタイル (issue #64)
			 * build 後に scripts/extract-inline-assets.mjs で外部 CSS 化し、CSP の inline 許可を避ける。 */
			:root {
				--color-bg: #0d1814;
				--color-primary: #c89456;
				--color-text: #ede0c8;
			}
			html, body {
				margin: 0;
				background: #0d1814;
				color: #ede0c8;
				font-family: 'Zen Kaku Gothic New', -apple-system, BlinkMacSystemFont,
					'Segoe UI', 'Hiragino Sans', 'Yu Gothic', system-ui, sans-serif;
			}
			#kalyoke-splash {
				position: fixed;
				inset: 0;
				z-index: 9999;
				display: flex;
				flex-direction: column;
				align-items: center;
				justify-content: center;
				gap: 24px;
				background: #0d1814;
				transition: opacity 280ms cubic-bezier(0.4, 0, 0.2, 1);
			}
			#kalyoke-splash .kalyoke-splash-mark {
				font-family: 'Cormorant Garamond', 'Shippori Mincho', serif;
				font-size: 40px;
				font-style: italic;
				font-weight: 500;
				letter-spacing: 0.06em;
				color: #c89456;
			}
			#kalyoke-splash .kalyoke-splash-spinner {
				width: 28px;
				height: 28px;
				border: 2px solid rgba(200, 148, 86, 0.25);
				border-top-color: #c89456;
				border-radius: 50%;
				animation: kalyoke-splash-spin 0.9s linear infinite;
			}
			@keyframes kalyoke-splash-spin {
				to { transform: rotate(360deg); }
			}
			body.app-ready #kalyoke-splash {
				opacity: 0;
				pointer-events: none;
			}
			.sveltekit-body {
				display: contents;
			}
			@media (prefers-reduced-motion: reduce) {
				#kalyoke-splash .kalyoke-splash-spinner { animation: none; }
				#kalyoke-splash { transition: none; }
			}
		