
@font-face {
	font-family: "Antonio";
	font-weight: 700;
	src: url("antonio-bold.woff2") format("woff2");
}
.happy-mac {
	position: relative;
	width: 300px;
	max-width: 100%;

	margin: 0 auto 27px;
	cursor: pointer;

	-webkit-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: transparent;

	touch-action: manipulation;
}
.happy-mac.is-crashed,
.happy-mac.is-booting {
	cursor: default;
}
.happy-mac img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.happy-mac svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;

	overflow: visible;
}
.happy-mac__face {
	fill: #000;
}
.happy-mac__dim {
	fill: #10112e;
	opacity: 0;

	pointer-events: none;
	transition: opacity 1.5s ease;
}
.happy-mac.is-asleep .happy-mac__dim {
	opacity: 0.45;
}
.happy-mac__snores,
.happy-mac__power {
	display: none;
}
.happy-mac.is-asleep .happy-mac__snores,
.happy-mac.is-booting .happy-mac__power {
	display: inline;
}
.happy-mac__z {
	transform-box: fill-box;
	transform-origin: center;
	animation: happy-mac-snore 3s linear infinite;
}
.happy-mac__z--second {
	animation-delay: -1s;
}
.happy-mac__z--third {
	animation-delay: -2s;
}

.happy-mac__shutter {
	fill: #000;
	transform-box: fill-box;
}
.happy-mac.is-booting .happy-mac__shutter {
	animation: happy-mac-shutter 0.9s ease-in both;
}
.happy-mac__shutter--top {
	transform-origin: top;
}
.happy-mac__shutter--bottom {
	transform-origin: bottom;
}
.happy-mac__beam {
	fill: #fff;
	transform-box: fill-box;
	transform-origin: center;
}
.happy-mac.is-booting .happy-mac__beam {
	animation: happy-mac-beam 0.9s ease-out both;
}
.happy-mac.is-booting .happy-mac__face {
	animation: happy-mac-flicker 0.9s linear both;
}
.happy-mac.is-waking .happy-mac__face {
	animation: happy-mac-wake 0.4s linear;
}
@keyframes happy-mac-snore {
	0% { transform: translate(0, 0) scale(0.5); opacity: 0; }
	15% { opacity: 1; }
	100% { transform: translate(2px, -3.4px) scale(1.1); opacity: 0; }
}
@keyframes happy-mac-shutter {
	0%, 35% { transform: scaleY(1); }
	75%, 100% { transform: scaleY(0); }
}
@keyframes happy-mac-beam {
	0% { transform: scale(0, 1); opacity: 1; }
	35% { transform: scale(1, 1); opacity: 1; }
	75%, 100% { transform: scale(1, 110); opacity: 0; }
}
@keyframes happy-mac-flicker {
	0%, 70% { opacity: 0; }
	78% { opacity: 1; }
	84% { opacity: 0.3; }
	92%, 100% { opacity: 1; }
}
@keyframes happy-mac-wake {
	0% { opacity: 0.2; }
	30% { opacity: 1; }
	50% { opacity: 0.5; }
	100% { opacity: 1; }
}
.happy-mac__tint {
	fill: none;
}

.happy-mac__screen-tint {
	display: none;
	mix-blend-mode: multiply;
}
.happy-mac.is-starting-up .happy-mac__screen-tint,
.happy-mac.is-diskless .happy-mac__screen-tint,
.happy-mac[data-stage] .happy-mac__screen-tint {
	display: inline;
}
.happy-mac[data-occasion="halloween"] .happy-mac__tint {
	fill: #ff7a00;
	opacity: 0.5;
	animation: happy-mac-candle 3.7s steps(1) infinite;
}
.happy-mac__candlelight {
	mix-blend-mode: screen;
	animation: happy-mac-candlelight 2.9s ease-in-out infinite;
}
.happy-mac__glow {
	fill: #ffd27a;
	opacity: 0;
	mix-blend-mode: screen;
}
.happy-mac.is-flaring .happy-mac__glow {
	animation: happy-mac-flare 0.7s ease-out;
}
.happy-mac.is-hungover .happy-mac__tint {
	fill: #b8e6a0;
	opacity: 0.45;
}
.happy-mac[data-occasion="easter"] .happy-mac__tint {
	fill: #ffc8e6;
	opacity: 0.5;
}
.happy-mac__wings {
	animation: happy-mac-flap 0.24s steps(1) infinite;
}
.happy-mac__wings--down {
	animation-delay: -0.12s;
}
.happy-mac__cheeks {
	fill: #ff6f91;
	opacity: 0.85;
}
.happy-mac[data-occasion="april-fools"] .happy-mac__tint {
	fill: #008080;
	opacity: 0.92;
}
.happy-mac__bsod,
.happy-mac__hourglass,
.happy-mac__startup,
.happy-mac__splash {
	display: none;
}
.happy-mac.is-crashed .happy-mac__bsod,
.happy-mac.is-busy .happy-mac__hourglass,
.happy-mac.is-starting-up .happy-mac__startup,
.happy-mac.is-starting-up .happy-mac__splash {
	display: inline;
}
.happy-mac[data-occasion="april-fools"].is-starting-up .happy-mac__startup {
	display: none;
}
.happy-mac__disk,
.happy-mac__no-disk {
	display: none;
}
.happy-mac.is-disk-out .happy-mac__disk,
.happy-mac.is-diskless .happy-mac__no-disk {
	display: inline;
}
.happy-mac__disk {
	transform-box: fill-box;
	transform-origin: center;
}
.happy-mac__found,
.happy-mac__desktop,
.happy-mac__zoom,
.happy-mac__window,
.happy-mac__pointer,
.happy-mac__selected,
.happy-mac__opening {
	display: none;
}
.happy-mac[data-stage] .happy-mac__no-disk {
	display: none;
}
.happy-mac[data-stage="found"] .happy-mac__found,
.happy-mac[data-stage="desktop"] .happy-mac__desktop,
.happy-mac[data-stage="zoom"] .happy-mac__desktop,
.happy-mac[data-stage="zoom"] .happy-mac__zoom,
.happy-mac[data-stage="window"] .happy-mac__desktop,
.happy-mac[data-stage="window"] .happy-mac__window,
.happy-mac[data-stage="point"] .happy-mac__desktop,
.happy-mac[data-stage="point"] .happy-mac__window,
.happy-mac[data-stage="point"] .happy-mac__pointer,
.happy-mac[data-stage="open"] .happy-mac__desktop,
.happy-mac[data-stage="open"] .happy-mac__window,
.happy-mac[data-stage="open"] .happy-mac__pointer,
.happy-mac[data-stage="open"] .happy-mac__selected,
.happy-mac[data-stage="open"] .happy-mac__opening {
	display: inline;
}
.happy-mac[data-stage="point"] .happy-mac__pointer > g {
	animation: happy-mac-point 0.6s ease-out both;
}

.happy-mac[data-stage="open"] .happy-mac__selected {
	animation: happy-mac-double-click 0.35s steps(1) both;
}

.happy-mac__zoom rect,
.happy-mac__opening rect {
	opacity: 0;
}
.happy-mac[data-stage="zoom"] .happy-mac__zoom rect,
.happy-mac[data-stage="open"] .happy-mac__opening rect {

	animation: happy-mac-zoom 0.4s steps(1) forwards;
}

.happy-mac[data-occasion="april-fools"] .happy-mac__mac-only {
	display: none !important;
}
.happy-mac[data-occasion="april-fools"][data-stage] .happy-mac__face,
.happy-mac[data-occasion="april-fools"][data-stage] .happy-mac__app {
	visibility: hidden;
}

.happy-mac__about {
	position: absolute;
	top: 0.5%;
	right: -24px;
	width: 18px;
	height: 18px;
	padding: 0;
	border: 1px solid #b8bcc6;
	border-radius: 50%;
	background: #fff;
	color: #6b7280;
	font: italic bold 12px/16px Georgia, "Times New Roman", serif;
	cursor: pointer;
}

.happy-mac[data-occasion="ada-lovelace"] .happy-mac__about {
	right: -30px;
}

.happy-mac[data-occasion="apple-ii"] .happy-mac__about {
	top: 9.5%;
	right: auto;
	left: calc(115.75% - 18px);
}
.happy-mac__about:hover,
.happy-mac__about:focus-visible {
	border-color: #6b7280;
	color: #333;
}

.happy-mac__about-card {
	box-sizing: border-box;
	position: fixed;
	inset: auto;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #c9ced8;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
	color: #333;
	font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
	text-align: left;
}
.happy-mac__about-card p {
	margin: 4px 0 8px;
}
.happy-mac__about-card :last-child {
	margin-bottom: 0;
}

.happy-mac[data-occasion="ada-lovelace"] {
	max-width: 81.75%;
	translate: -4.82% 0;
}
.happy-mac[data-occasion="ada-lovelace"] img,
.happy-mac[data-occasion="www-day"] img {
	filter: grayscale(1) contrast(1.15);
}

.happy-mac__web-404,
.happy-mac.is-crashed .happy-mac__web-page {
	display: none;
}
.happy-mac.is-crashed .happy-mac__web-404 {
	display: inline;
}

.happy-mac[data-occasion="www-day"] .happy-mac__mac-only,
.happy-mac__web-boot,
.happy-mac__web-insert,
.happy-mac__web-loading {
	display: none !important;
}
.happy-mac.is-diskless .happy-mac__web-boot,
.happy-mac.is-diskless:not([data-stage]) .happy-mac__web-insert,
.happy-mac[data-stage="web-loading"] .happy-mac__web-loading {
	display: inline !important;
}
.happy-mac:is([data-stage="web-workspace"], [data-stage="web-point"], [data-stage="web-launch"]) .happy-mac__web-boot {
	display: none !important;
}
.happy-mac:is([data-stage="web-workspace"], [data-stage="web-point"], [data-stage="web-launch"]) :is(.happy-mac__web-window, .happy-mac__face) {
	visibility: hidden;
}

.happy-mac__web-pointer,
.happy-mac__web-launching {
	display: none;
}
.happy-mac:is([data-stage="web-workspace"], [data-stage="web-point"], [data-stage="web-launch"]) .happy-mac__web-pointer,
.happy-mac[data-stage="web-launch"] .happy-mac__web-launching {
	display: inline;
}
.happy-mac[data-stage="web-workspace"] .happy-mac__web-pointer {
	transform: translate(214px, 196px);
}
.happy-mac[data-stage="web-point"] .happy-mac__web-pointer {
	transform: translate(323px, 113px);
	animation: happy-mac-to-dock 0.5s ease-out both;
}
.happy-mac[data-stage="web-launch"] .happy-mac__web-pointer {
	transform: translate(323px, 113px);
}
.happy-mac[data-stage="web-launch"] .happy-mac__web-launching {
	animation: happy-mac-web-click 0.7s steps(1) both;
}

@keyframes happy-mac-web-click {
	30%, 100% { opacity: 0; }
}

.happy-mac__web-dots {
	display: none;
}
.happy-mac:is([data-stage="web-workspace"], [data-stage="web-point"], [data-stage="web-launch"]) .happy-mac__web-dots {
	display: inline;
}
@keyframes happy-mac-to-dock {
	from { transform: translate(214px, 196px); }
	to { transform: translate(323px, 113px); }
}

.happy-mac__web-spinner {
	transform-box: fill-box;
	transform-origin: center;
}
.happy-mac[data-stage="web-loading"] .happy-mac__web-spinner {
	animation: happy-mac-web-spin 0.8s linear infinite;
}
@keyframes happy-mac-web-spin {
	to {
		transform: rotate(1turn);
	}
}
.happy-mac__plating {
	mix-blend-mode: multiply;
}
.happy-mac[data-occasion="ada-lovelace"] .happy-mac__mac-only {
	filter: url(#happy-mac-sepia);
}
.happy-mac[data-occasion="ada-lovelace"] .happy-mac__face {
	fill: #3b2410;
}
.happy-mac__cog {
	transform-box: fill-box;
	transform-origin: center;
	animation: happy-mac-cog linear infinite;
}

.happy-mac.is-disk-out .happy-mac__cog {
	animation-play-state: paused;
}
@keyframes happy-mac-cog {
	from { transform: rotate(var(--turn-from)); }
	to { transform: rotate(calc(var(--turn-from) + 360deg)); }
}

.happy-mac__digits {
	transition: transform 0.4s ease-in-out;
}

.happy-mac__needle {
	transform-box: fill-box;
	transform-origin: center;
	transform: rotate(-50deg);
	animation: happy-mac-needle-idle 2.6s ease-in-out infinite alternate;
}

.happy-mac.is-disk-out .happy-mac__needle {
	transform: rotate(-120deg);
	animation: happy-mac-needle-zero 1.2s ease-in both;
}
.happy-mac[data-stage] .happy-mac__needle {
	animation: happy-mac-needle-rise 1.5s ease-out both;
}

.happy-mac.is-crashed:not(.is-cranking) .happy-mac__needle {
	animation: happy-mac-needle-climb 0.9s ease-in both, happy-mac-needle-overload 0.55s 0.9s linear infinite;
}
.happy-mac.is-cranking .happy-mac__needle {
	animation: happy-mac-needle-drop 1.2s ease-out both;
}
@keyframes happy-mac-needle-idle {
	from { transform: rotate(-58deg); }
	to { transform: rotate(-44deg); }
}
@keyframes happy-mac-needle-climb {
	from { transform: rotate(-50deg); }
	to { transform: rotate(120deg); }
}

@keyframes happy-mac-needle-overload {
	0%, 100% { transform: rotate(120deg); }
	15% { transform: rotate(106deg); }
	30% { transform: rotate(118deg); }
	45% { transform: rotate(101deg); }
	60% { transform: rotate(121deg); }
	80% { transform: rotate(109deg); }
}
@keyframes happy-mac-needle-zero {
	from { transform: rotate(-50deg); }
	to { transform: rotate(-120deg); }
}

@keyframes happy-mac-needle-rise {
	from { transform: rotate(-120deg); }
	to { transform: rotate(-58deg); }
}
@keyframes happy-mac-needle-drop {
	from { transform: rotate(120deg); }
	to { transform: rotate(-50deg); }
}

.happy-mac__wisps {
	pointer-events: none;
	transition: opacity 1s;
}
.happy-mac.is-disk-out .happy-mac__wisps,
.happy-mac.is-crashed .happy-mac__wisps {
	opacity: 0;
}
.happy-mac__wisp {
	transform-box: fill-box;
	transform-origin: center;
	opacity: 0;
	animation: happy-mac-wisp 4.2s ease-out infinite;
}
@keyframes happy-mac-wisp {
	0% { transform: translate(0, 0) scale(0.4); opacity: 0.55; }
	100% { transform: translate(var(--drift), -60px) scale(2.2); opacity: 0; }
}

.happy-mac__steam {
	opacity: 0;
	pointer-events: none;
	transition: opacity 1s;
}

.happy-mac[data-occasion="ada-lovelace"].is-crashed {
	z-index: 2;
}
.happy-mac.is-crashed:not(.is-cranking) .happy-mac__steam {
	opacity: 1;
	transition-duration: 0.3s;
}
.happy-mac__puff {
	transform-box: fill-box;
	transform-origin: center;
	animation: happy-mac-puff 1.8s ease-out infinite;
}

@keyframes happy-mac-puff {
	0% { transform: translate(0, 0) scale(0.35); opacity: 0.95; }
	35% { transform: translate(calc(var(--drift) * 0.4), -40px) scale(1.5); opacity: 0.85; }
	100% { transform: translate(var(--drift), -95px) scale(3); opacity: 0; }
}
.happy-mac[data-occasion="ada-lovelace"].is-crashed:not(.is-cranking) {
	animation: happy-mac-rattle 0.24s steps(1) infinite;
}
@keyframes happy-mac-rattle {
	0% { transform: translate(-3px, 1px) rotate(-0.8deg); }
	17% { transform: translate(2px, -2px) rotate(0.6deg); }
	33% { transform: translate(-2px, -1px) rotate(0.4deg); }
	50% { transform: translate(3px, 1px) rotate(-0.6deg); }
	67% { transform: translate(-1px, 2px) rotate(0.8deg); }
	83% { transform: translate(2px, 0) rotate(-0.4deg); }
}

.happy-mac.is-cranking .happy-mac__face {
	opacity: 0;
}

.happy-mac[data-occasion="first-contact"] .happy-mac__face {
	fill: #ff9900;
}

.happy-mac__lcars-part.is-pressed {
	animation: happy-mac-lcars-press 0.35s ease-out;
}
@keyframes happy-mac-lcars-press {
	from { fill: #fff; }
}
.happy-mac__red-alert,
.happy-mac.is-crashed .happy-mac__lcars {
	display: none;
}
.happy-mac.is-crashed .happy-mac__red-alert {
	display: inline;
}

.happy-mac[data-occasion="first-contact"].is-crashed .happy-mac__face {
	transform: translate(175px, 163px) scale(10);
}

.happy-mac.is-crashed .happy-mac__alert-step {
	animation: happy-mac-alert-step 1.32s steps(1) infinite;
}
.happy-mac.is-crashed .happy-mac__alert-top {
	animation: happy-mac-alert-top 1.32s steps(1) infinite;
}

.happy-mac.is-crashed .happy-mac__alert-title {
	animation: happy-mac-alert-title 1.32s linear -0.12s infinite;
}
@keyframes happy-mac-alert-step {
	0% { fill: #e8e4ef; }
	9.09% { fill: #cc3344; }
}
@keyframes happy-mac-alert-top {
	0% { fill: #cc3344; }
	9.09% { fill: #e8e4ef; }
}
@keyframes happy-mac-alert-title {
	0%, 18.18% { opacity: 1; }
	100% { opacity: 0; }
}

.happy-mac[data-occasion="april-fools"].is-waking .happy-mac__face {
	animation: none;
}
.happy-mac__dos-starting,
.happy-mac__win-desktop,
.happy-mac__win-pointer,
.happy-mac__win-start,
.happy-mac__win-programs,
.happy-mac__win-ryblog {
	display: none;
}

.happy-mac[data-stage="starting"] .happy-mac__dos-starting,
.happy-mac[data-stage="splash"] .happy-mac__splash,
.happy-mac[data-stage^="win-"] .happy-mac__win-desktop,
.happy-mac[data-stage^="win-"]:not([data-stage="win-desktop"]) .happy-mac__win-pointer,
.happy-mac[data-stage="win-start"] .happy-mac__win-start,
.happy-mac[data-stage="win-to-programs"] .happy-mac__win-start,
.happy-mac[data-stage="win-programs"] .happy-mac__win-start,
.happy-mac[data-stage="win-programs"] .happy-mac__win-programs,
.happy-mac[data-stage="win-to-ryblog"] .happy-mac__win-start,
.happy-mac[data-stage="win-to-ryblog"] .happy-mac__win-programs,
.happy-mac[data-stage="win-ryblog"] .happy-mac__win-start,
.happy-mac[data-stage="win-ryblog"] .happy-mac__win-programs,
.happy-mac[data-stage="win-ryblog"] .happy-mac__win-ryblog {
	display: inline;
}

.happy-mac[data-stage="win-point"] .happy-mac__win-pointer {
	animation: happy-mac-to-start 0.5s ease-out both;
}
.happy-mac[data-stage="win-start"] .happy-mac__win-pointer {
	transform: translate(96px, 260px);
}
.happy-mac[data-stage="win-to-programs"] .happy-mac__win-pointer {
	animation: happy-mac-to-programs 0.5s ease-out both;
}
.happy-mac[data-stage="win-programs"] .happy-mac__win-pointer {
	transform: translate(130px, 154px);
}
.happy-mac[data-stage="win-to-ryblog"] .happy-mac__win-pointer {
	animation: happy-mac-to-ryblog 0.4s ease-out both;
}
.happy-mac[data-stage="win-ryblog"] .happy-mac__win-pointer {
	transform: translate(218px, 196px);
}
.happy-mac__question {
	animation: happy-mac-question 1s steps(1) infinite;
}
.happy-mac.is-starting-up .happy-mac__progress,
.happy-mac[data-stage="splash"] .happy-mac__progress {
	animation: happy-mac-progress 1.5s linear infinite;
}

.happy-mac__startup-bar {
	transform-box: fill-box;
	transform-origin: left;
}
.happy-mac.is-starting-up .happy-mac__startup-bar {
	animation: happy-mac-startup-bar 3s ease-in both;
}
.happy-mac__bubble {
	animation: happy-mac-bubble 1.6s steps(8) infinite;
}
.happy-mac__cursor {
	animation: happy-mac-cursor 1s steps(1) infinite;
}
.happy-mac__flame {
	animation: happy-mac-flame 0.9s steps(1) infinite;
}
.happy-mac.is-blown-out .happy-mac__flames {
	display: none;
}
.happy-mac__pool {
	mix-blend-mode: screen;
}
.happy-mac__bulb,
.happy-mac__pool {
	animation: happy-mac-twinkle 2.4s steps(1) infinite;
}
.happy-mac__flake {
	fill: #fff;
	animation: happy-mac-snow linear infinite;
}
.happy-mac__pile {
	transform-box: fill-box;
	transform-origin: bottom;
	animation: happy-mac-pile 90s linear both;
}
.happy-mac__counter {
	fill: #000;
}
.happy-mac.is-counting .happy-mac__face {
	opacity: 0;
}
.happy-mac__egg,
.happy-mac__ear {
	transform-box: fill-box;
}
.happy-mac__egg {
	transform-origin: center;
}
.happy-mac__ear {
	transform-origin: bottom;
}
.happy-mac__ear.is-twitching {
	animation: happy-mac-twitch 0.5s ease-in-out;
}
@keyframes happy-mac-candle {
	0% { opacity: 0.5; }
	23% { opacity: 0.42; }
	27% { opacity: 0.52; }
	61% { opacity: 0.46; }
	64% { opacity: 0.56; }
	88% { opacity: 0.44; }
}
@keyframes happy-mac-candlelight {
	0%, 100% { opacity: 0.8; }
	18% { opacity: 0.6; }
	33% { opacity: 0.95; }
	52% { opacity: 0.7; }
	71% { opacity: 1; }
	86% { opacity: 0.65; }
}
@keyframes happy-mac-flare {
	0% { opacity: 0.35; }
	100% { opacity: 0; }
}
@keyframes happy-mac-flap {
	50% { opacity: 0; }
}
@keyframes happy-mac-point {
	from { transform: translate(-77px, 62px); }
}
@keyframes happy-mac-double-click {
	25% { opacity: 0; }
	50% { opacity: 1; }
}
@keyframes happy-mac-to-start {
	from { transform: translate(200px, 190px); }
	to { transform: translate(96px, 260px); }
}
@keyframes happy-mac-to-programs {
	from { transform: translate(96px, 260px); }
	to { transform: translate(130px, 154px); }
}
@keyframes happy-mac-to-ryblog {
	from { transform: translate(130px, 154px); }
	to { transform: translate(218px, 196px); }
}
@keyframes happy-mac-zoom {
	0% { opacity: 1; }
	30% { opacity: 0; }
}
@keyframes happy-mac-question {
	50% { opacity: 0; }
}
@keyframes happy-mac-startup-bar {
	from { transform: scaleX(0); }
}

@keyframes happy-mac-progress {
	to { transform: translateX(282px); }
}
@keyframes happy-mac-cursor {
	50% { fill-opacity: 0; }
}
@keyframes happy-mac-bubble {
	to { transform: translateY(-36px); opacity: 0; }
}
@keyframes happy-mac-flame {
	20% { opacity: 0.75; transform: translateX(1px); }
	45% { opacity: 1; transform: none; }
	60% { opacity: 0.6; }
	80% { opacity: 0.9; transform: translateX(-1px); }
}
@keyframes happy-mac-twinkle {
	50% { opacity: 0.35; }
}
@keyframes happy-mac-snow {
	from { transform: translate(0, var(--fall-from)); }
	to { transform: translate(var(--drift), var(--fall-to)); }
}
@keyframes happy-mac-pile {
	from { transform: scaleY(0.15); }
}
@keyframes happy-mac-twitch {
	25% { transform: rotate(-12deg); }
	50% { transform: rotate(5deg); }
	75% { transform: rotate(-6deg); }
}

.happy-mac__magnifier,
.happy-mac__magnified {
	transform-box: view-box;
	transform-origin: 0 0;
	transition: transform 0.8s ease-in-out;
}

.happy-mac__magnifier {
	transition: transform 0.8s ease-in-out, opacity 0.6s;
}
.happy-mac.is-asleep .happy-mac__magnifier {
	opacity: 0;
}

.happy-mac:is(.is-booting, .is-starting-up, .is-crashed, .is-disk-out, [data-stage]) .happy-mac__magnifier {
	display: none;
}
.happy-mac__error-code {
	display: none;
}
.happy-mac.is-crashed .happy-mac__error-code {
	display: inline;
}

.happy-mac[data-occasion="apple-ii"] .happy-mac__mac-only {
	display: none !important;
}

.happy-mac[data-occasion="apple-ii"] > svg:not(.happy-mac__setup) {
	transform: translate(-6.2875%, 3.7375%) scale(0.85);
	transform-origin: 0 0;
}
.happy-mac[data-occasion="apple-ii"] img {
	opacity: 0;
}
.happy-mac[data-occasion="apple-ii"] .happy-mac__face {
	fill: #5cff7f;
}
.happy-mac__a2-text {
	fill: #5cff7f;
}
.happy-mac__a2-boot,
.happy-mac__a2-error,
.happy-mac__a2-monitor,
.happy-mac__a2-dos {
	display: none;
}

.happy-mac:is(.is-crashed, .is-a2-booting, .is-diskless, [data-stage]) .happy-mac__a2-prompt {
	display: none;
}
.happy-mac.is-crashed .happy-mac__a2-error,
.happy-mac.is-a2-monitor .happy-mac__a2-monitor,
.happy-mac.is-a2-booting .happy-mac__a2-boot,
.happy-mac.is-diskless .happy-mac__a2-boot,
.happy-mac[data-stage="a2-dos"] .happy-mac__a2-dos {
	display: inline;
}
.happy-mac[data-stage="a2-dos"] .happy-mac__a2-boot {
	display: none;
}

.happy-mac__a2-step:not(.is-shown) {
	visibility: hidden;
}

.happy-mac[data-occasion="apple-ii"]:is(.is-a2-booting, .is-diskless, [data-stage^="a2-"]) .happy-mac__face {
	visibility: hidden;
}

.happy-mac__a2-lit {
	transform-box: fill-box;
	transform-origin: center;
}
.happy-mac.is-a2-booting .happy-mac__a2-lit {
	animation: happy-mac-degauss 0.9s ease-out;
}
.happy-mac.is-diskless:not([data-stage]) .happy-mac__a2-lit {
	animation: happy-mac-degauss 0.9s ease-out 0.5s;
}
.happy-mac.is-diskless:not([data-stage]) .happy-mac__a2-boot {
	animation: happy-mac-a2-blank 0.5s steps(1);
}
.happy-mac.is-a2-degaussing .happy-mac__a2-lit,
.happy-mac[data-occasion="apple-ii"].is-waking .happy-mac__a2-lit {
	animation: happy-mac-degauss-again 0.9s ease-out;
}
@keyframes happy-mac-a2-blank {
	0% { visibility: hidden; }
}
@keyframes happy-mac-degauss {
	0% { transform: none; opacity: 1; }
	6% { transform: skewX(6deg) scale(1.03, 0.97); opacity: 0.55; }
	14% { transform: skewX(-5deg) scale(0.98, 1.02); opacity: 0.9; }
	24% { transform: skewX(4deg) scale(1.01, 0.99); opacity: 0.7; }
	36% { transform: skewX(-3deg); opacity: 0.95; }
	50% { transform: skewX(2deg); opacity: 0.85; }
	66% { transform: skewX(-1deg); }
	84% { transform: skewX(0.4deg); }
	100% { transform: none; opacity: 1; }
}
@keyframes happy-mac-degauss-again {
	0% { transform: none; opacity: 1; }
	6% { transform: skewX(6deg) scale(1.03, 0.97); opacity: 0.55; }
	14% { transform: skewX(-5deg) scale(0.98, 1.02); opacity: 0.9; }
	24% { transform: skewX(4deg) scale(1.01, 0.99); opacity: 0.7; }
	36% { transform: skewX(-3deg); opacity: 0.95; }
	50% { transform: skewX(2deg); opacity: 0.85; }
	66% { transform: skewX(-1deg); }
	84% { transform: skewX(0.4deg); }
	100% { transform: none; opacity: 1; }
}

@media (max-width: 50em) {
	.happy-mac[data-occasion="apple-ii"] {
		transform: translateX(3.3%) scale(0.82);
		transform-origin: 0 0;

		margin-bottom: -14%;
	}
}

.happy-mac[data-occasion="apple-ii"] img,
.happy-mac[data-occasion="apple-ii"] > svg {
	pointer-events: none;
}
.happy-mac[data-occasion="apple-ii"] > svg:not(.happy-mac__setup) *,
.happy-mac__a2-keyboard,
.happy-mac__a2-key {
	pointer-events: auto;
}
.happy-mac__a2-keyboard,
.happy-mac__a2-key {
	cursor: pointer;
}

.happy-mac__a2-key.is-pressed {
	animation: happy-mac-a2-key 0.14s steps(1);
}
@keyframes happy-mac-a2-key {
	0% { translate: 0 0.8px; filter: brightness(0.8); }
}

.happy-mac__a2-glow {
	opacity: 0;
}
.happy-mac:is(.is-a2-booting, .is-a2-reading, [data-stage="a2-boot"]) .happy-mac__a2-light.is-reading {
	fill: #ff3b2f;
}
.happy-mac:is(.is-a2-booting, .is-a2-reading, [data-stage="a2-boot"]) .happy-mac__a2-glow.is-reading {
	opacity: 0.35;
}
.happy-mac__a2-cursor {
	animation: happy-mac-a2-cursor 1s steps(1) infinite;
}
@keyframes happy-mac-a2-cursor {
	50% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.happy-mac * {
		animation: none !important;
		transition: none !important;
	}
}
