:root {
	/* Colors */
	--ak-color-primary: hsl(0 57% 50%);
	--ak-color-primary-contrast: hsl(44 78% 98%);
	--ak-color-secondary: hsl(216 57% 60%);
	--ak-color-accent: hsl(24 57% 70%);
	--ak-color-background: hsl(0 57% 15%);
	--ak-color-surface: hsl(168 57% 80%);
	--ak-color-text: hsl(0 0% 10%);
	--ak-color-text-muted: hsl(0 0% 10%);
	--ak-color-heading: hsl(44 78% 98%);
	--ak-color-border: hsl(0 0% 10% / 0.5);
	--ak-color-link: hsl(44 78% 98%);
	--ak-color-link-contrast: hsl(0 0% 10%);
	--ak-color-success: hsl(168 57% 50%);
	--ak-color-info: hsl(216 57% 60%);
	--ak-color-warning: hsl(24 57% 70%);
	--ak-color-danger: hsl(0 57% 50%);

	/* Typography */
	--ak-font-family-body: 'Patua One', Serif;
	--ak-font-family-heading: 'Patua One', Serif;
	--ak-font-family-content: 'Patua One', Serif;
	--ak-font-weight-normal: 400;
	--ak-font-weight-bold: 700;
	--ak-font-size-h1: 5rem;
	--ak-font-size-h2: 3rem;
	--ak-font-size-h3: 2rem;

	/* Spacing */
	--ak-spacing-body-bottom: 0;

	/* Borders and shadows */
	--ak-border-radius: 0;
	--ak-box-shadow: inset 3px 3px 5px #00000069;
	--ak-text-shadow: none;

	/* Transitions */
	--ak-transition-duration: 0.5s;

	/* Components */
	--ak-window-background: hsl(44 78% 98%);
	--ak-window-color: hsl(0 57% 50%);
	--ak-window-border: hsl(0 0% 10% / 0.5);
	--ak-window-current-background: hsl(44 78% 98%);
	--ak-window-current-color: hsl(0 57% 50%);
	--ak-window-past-background: hsl(44 78% 98%);
	--ak-surface-background: hsl(168 57% 80%);
	--ak-surface-color: hsl(0 0% 10%);
	--ak-button-background: hsl(168 57% 40%);
	--ak-button-color: hsl(44 78% 98%);
	--ak-footer-color: hsl(44 78% 98%);
	--ak-footer-link-color: hsl(44 78% 98%);

	/*
	 * Theme-specific color engine.
	 * These variables drive the dynamic HSL hover/lightness recomputation
	 * of this theme and are intentionally kept in addition to the shared catalog.
	 */
	--ff-serif: 'Patua One', Serif;
	--ff-display: 'Viaoda Libre', Serif;

	--h-red: 0;
	--s-red: 57%;
	--l-red: 50%;

	--h-orange: 24;
	--s-orange: 57%;
	--l-orange: 70%;

	--h-green: 168;
	--s-green: 57%;
	--l-green: 50%;

	--h-blue: 216;
	--s-blue: 57%;
	--l-blue: 60%;

	--a: 1;

	--clr-black: hsl(0 0% 10%);
	--clr-white: hsl(44 78% 98%);
	--shadow: 0 0 6px;
	--inset-shadow: inset 3px 3px 5px #00000069;

	--tr-bg-clr: background-color 0.5s;
	--tr-clr: color 0.5s;
	--tr-open: 0.5s;

	--open-door: perspective(1000px) rotateY(35deg);

	/* Window content headlines */
	--ak-window-content-h2-color: inherit;
	--ak-window-content-h2-font-family: var(--ak-font-family-heading);
	--ak-window-content-h2-text-align: center;
	--ak-window-content-h2-text-shadow: none;
	--ak-window-content-h2-font-size: 40px;
	--ak-window-content-h2-font-weight: inherit;
	--ak-window-content-h2-width: auto;
	--ak-window-content-h2-text-transform: none;
	--ak-window-content-h2-border-bottom: none;
	--ak-window-content-h2-line-height: normal;
	--ak-window-content-h2-margin-top: 0;
	--ak-window-content-h2-margin-bottom: 2rem;
	--ak-window-content-h3-color: inherit;
	--ak-window-content-h3-font-family: var(--ak-font-family-heading);
	--ak-window-content-h3-text-align: center;
	--ak-window-content-h3-text-shadow: none;
	--ak-window-content-h3-font-size: 24px;
	--ak-window-content-h3-font-weight: inherit;
	--ak-window-content-h3-width: auto;
	--ak-window-content-h3-text-transform: none;
	--ak-window-content-h3-border-bottom: none;
	--ak-window-content-h3-line-height: normal;
	--ak-window-content-h3-margin-top: 1rem;
	--ak-window-content-h3-margin-bottom: 2rem;
}
