/*
Theme Name: Hats
Theme URI: https://example.com/hats
Author: Khadijah Maulion Masorong
Author URI: https://dxsign.shop
Description: Hats is the theme behind "I Wear Many Hats" — a cinematic, editorial WordPress block theme for a writer, author, builder and lifelong learner who refuses to fit into one box. Dark by default with a warm cream and light-gold palette, a full light "printed book" mode, oversized pull-up typography, a restrained liquid-glass interface layer, a quiet custom cursor, self-hosted fonts, block patterns for every major section, and custom post types for Books and Projects. Built with native WordPress: Site Editor, Gutenberg, theme.json, template parts, global styles and translation-ready markup.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hats
Tags: block-patterns, block-styles, blog, custom-colors, custom-logo, custom-menu, editor-style, entertainment, featured-images, full-site-editing, full-width-template, news, one-column, photography, portfolio, style-variations, template-editing, theme-options, threaded-comments, translation-ready, wide-blocks
*/

/*
 * The visual system lives in assets/css/main.css.
 * This file carries the theme header plus a tiny, deliberately inline
 * pre-paint layer: without it the very first frame flashes pure black,
 * white, or the wrong palette while main.css is still in flight.
 */

:root {
	--iwmh-preload-bg: #080808;
	--iwmh-preload-ink: #e1e0cc;
	color-scheme: dark;
}

:root[data-theme="light"] {
	--iwmh-preload-bg: #f7f4ec;
	--iwmh-preload-ink: #1a1917;
	color-scheme: light;
}

html {
	background-color: var(--iwmh-preload-bg);
}

body {
	background-color: var(--iwmh-preload-bg);
	color: var(--iwmh-preload-ink);
	margin: 0;
}

/* Until the reveal system boots, keep scripted content visible rather than
   invisible: a broken or blocked script must never blank the page. */
.js .hats-reveal,
.js .hats-pullup {
	opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
	.js .hats-reveal,
	.js .hats-pullup {
		opacity: 1;
	}
}

/* Failsafe: if theme.js never runs (blocked, failed to load, or an error),
   anything the script would have revealed still appears after a few seconds.
   Content must never depend on JavaScript for its existence. */
.js .hats-reveal,
.js .hats-pullup {
	animation: hats-failsafe-reveal 1ms linear 3.2s forwards;
}

@keyframes hats-failsafe-reveal {
	to {
		opacity: 1;
	}
}
