body {
	margin: 0;
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		Segoe UI,
		Roboto,
		Oxygen,
		Ubuntu,
		Cantarell,
		Fira Sans,
		Droid Sans,
		Helvetica Neue,
		sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: #282c34;
	overflow: hidden;
}
a {
	color: #fff;
}
body,
html,
#root {
	height: 100%;
	width: 100%;
}
code {
	font-family:
		source-code-pro,
		Menlo,
		Monaco,
		Consolas,
		Courier New,
		monospace;
}
.App {
	overflow: hidden;
}
.Mac {
	-webkit-user-select: none;
	user-select: none;
}
body.fullscreen {
	background: black;
}
.Mac-Loading {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}
.Mac-Loading-Fraction {
	opacity: 0.5;
	padding-left: 0.5em;
}
.Mac-Screen {
	cursor: none;
	image-rendering: pixelated;
	touch-action: none;
}
.Mac-Screen.Mac-Screen-Smooth-Scaling {
	image-rendering: auto;
}
.Mac-Keyboard-Input {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	visibility: hidden;
	opacity: 0%;
	z-index: 1;
	font-size: 16px;
}
.Mac-Overlay {
	position: absolute;
	top: var(--screen-underscan);
	left: var(--screen-underscan);
	bottom: var(--screen-underscan);
	right: var(--screen-underscan);
	pointer-events: none;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.Mac-Overlay:before {
	font-size: 48px;
	font-weight: 700;
	display: block;
}
.Mac-Overlay:after {
	font-size: 16px;
	display: block;
}
.Mac-Drag-Overlay:before {
	content: "Copy to Mac";
}
.Mac-Drag-Overlay:after {
	content: "Disk images will be mounted";
}
.Mac-Drag-Overlay.Mac-Drag-Overlay-Downloads:after {
	content: "Disk images will be mounted, files will be placed in the “Downloads” folder in “The Outside World”.";
}
.Mac-Ethernet-Status {
	position: absolute;
	bottom: var(--screen-ethernet-status-bottom);
	display: var(--screen-ethernet-status-display);
	right: 32px;
	font-family: Geneva, Helvetica, sans-serif;
	font-size: 14px;
	cursor: pointer;
}
.Mac-Ethernet-Status-Details {
	z-index: 1;
	position: absolute;
	bottom: 20px;
	right: 0;
	color: #000;
	font-size: 14px;
	white-space: nowrap;
	padding: 8px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 1px 1px 5px #00000080;
}
.Mac-Ethernet-Status-Peers {
	margin-top: 8px;
}
.Mac-Ethernet-Status-Peers ul {
	margin: 0;
	padding-left: 16px;
}
.ScreenFrame {
	--screen-bezel-color: hsl(39deg 36% 80%);
	--screen-bezel-color-dark1: hsl(39deg 36% 75%);
	--screen-bezel-color-dark2: hsl(39deg 36% 70%);
	--screen-bezel-color-light1: hsl(39deg 36% 85%);
	--screen-bezel-color-light2: hsl(39deg 36% 90%);
	--screen-bezel-size: 60px;
	--screen-outer-chamfer-size: 4px;
	--screen-inner-chamfer-size: 8px;
	--screen-outer-corner-radius: 8px;
	--screen-inner-corner-radius: 8px;
	--screen-underscan: 20px;
	--screen-controls-display: flex;
	--screen-controls-bottom: -46px;
	--screen-led-display: block;
	--screen-led-bottom: -40px;
	--screen-ethernet-status-bottom: -46px;
	--screen-ethernet-status-display: block;
	border: solid var(--screen-bezel-size) var(--screen-bezel-color);
	position: relative;
	background: black;
	margin: calc(var(--screen-underscan) * -1);
}
.ScreenFrame-Bezel-Medium {
	--screen-bezel-size: 40px;
	--screen-outer-chamfer-size: 2px;
	--screen-inner-chamfer-size: 4px;
	--screen-underscan: 10px;
	--screen-controls-bottom: -34px;
	--screen-led-bottom: -28px;
	--screen-ethernet-status-bottom: -34px;
}
.ScreenFrame-Bezel-Small-ish {
	--screen-bezel-size: 30px;
	--screen-outer-chamfer-size: 2px;
	--screen-inner-chamfer-size: 4px;
	--screen-underscan: 6px;
	--screen-controls-bottom: -34px;
	--screen-led-bottom: -28px;
	--screen-ethernet-status-bottom: -34px;
}
.ScreenFrame-Bezel-Small {
	--screen-bezel-size: 10px;
	--screen-outer-chamfer-size: 1px;
	--screen-inner-chamfer-size: 1px;
	--screen-outer-corner-radius: 4px;
	--screen-inner-corner-radius: 4px;
	--screen-underscan: 1px;
	--screen-controls-bottom: -32px;
	--screen-led-display: none;
	--screen-ethernet-status-display: none;
}
.ScreenFrame.ScreenFrame-Fullscreen {
	--screen-bezel-size: 0;
	--screen-outer-chamfer-size: 0;
	--screen-inner-chamfer-size: 0;
	--screen-underscan: 0;
	--screen-controls-display: none;
	--screen-led-display: none;
	--screen-ethernet-status-display: none;
}
.ScreenFrame:before {
	content: "";
	position: absolute;
	top: calc((var(--screen-bezel-size) + var(--screen-outer-chamfer-size)) * -1);
	left: calc((var(--screen-bezel-size) + var(--screen-outer-chamfer-size)) * -1);
	right: calc(
		(var(--screen-bezel-size) + var(--screen-outer-chamfer-size)) *
		-1
	);
	bottom: calc(
		(var(--screen-bezel-size) + var(--screen-outer-chamfer-size)) *
		-1
	);
	border: solid var(--screen-outer-chamfer-size);
	border-color: var(--screen-bezel-color-light2) var(--screen-bezel-color-dark2)
		var(--screen-bezel-color-dark1) var(--screen-bezel-color-light1);
	border-radius: var(--screen-outer-corner-radius);
	pointer-events: none;
}
.ScreenFrame:after {
	content: "";
	position: absolute;
	top: calc(var(--screen-inner-chamfer-size) * -1);
	left: calc(var(--screen-inner-chamfer-size) * -1);
	right: calc(var(--screen-inner-chamfer-size) * -1);
	bottom: calc(var(--screen-inner-chamfer-size) * -1);
	border: solid var(--screen-inner-chamfer-size);
	border-color: var(--screen-bezel-color-dark2) var(--screen-bezel-color-light2)
		var(--screen-bezel-color-light1) var(--screen-bezel-color-dark1);
	border-radius: var(--screen-inner-corner-radius);
	pointer-events: none;
}
.ScreenFrame-Controls-Container {
	position: absolute;
	bottom: var(--screen-controls-bottom);
	display: var(--screen-controls-display);
	left: 0;
	align-items: center;
}
.ScreenFrame-Controls-Container .ScreenFrame-Control {
	margin-left: 16px;
	cursor: pointer;
}
@media (hover: hover) {
	.ScreenFrame-Controls-Container .ScreenFrame-Control {
		visibility: hidden;
	}
	.ScreenFrame-Controls-Container:hover .ScreenFrame-Control {
		visibility: visible;
	}
}
.ScreenFrame-Apple-Logo {
	position: relative;
	height: 30px;
	width: 18px;
}
.ScreenFrame-Bezel-Medium .ScreenFrame-Apple-Logo {
	height: 28px;
	width: 14px;
}
.ScreenFrame-Bezel-Small-ish .ScreenFrame-Apple-Logo {
	height: 36px;
	width: 12px;
}
.ScreenFrame-Bezel-Small .ScreenFrame-Apple-Logo {
	display: none;
}
.ScreenFrame-Bezel-Small .ScreenFrame-Control {
	margin-left: 0;
	margin-right: 16px;
	font-size: 0.8em;
}
.ScreenFrame-Apple-Logo svg {
	height: 100%;
	width: 100%;
	position: absolute;
}
.ScreenFrame-Apple-Logo .Foreground {
	filter: brightness(1.1);
}
.ScreenFrame-Apple-Logo .Background {
	top: -0.5px;
	left: -0.5px;
	filter: brightness(0.5);
}
.ScreenFrame-Led {
	pointer-events: none;
	position: absolute;
	display: var(--screen-led-display);
	bottom: var(--screen-led-bottom);
	right: 0;
	width: 28px;
	height: 8px;
	background: #00ff00;
}
.ScreenFrame-Led-Loading {
	animation: Mac-Led-Blink 0.1s infinite;
}
@keyframes Mac-Led-Blink {
	0% {
		background: #00ff00;
	}
	to {
		background: #000000;
	}
}
.ScreenFrame-Bezel-Text {
	color: var(--screen-bezel-color-dark1);
	text-shadow:
		0.5px 0.5px rgba(255, 255, 255, 0.6),
		-0.5px -0.5px rgba(0, 0, 0, 0.6);
}
.ScreenFrame-Bezel-Platinum {
	--screen-bezel-color: hsl(0deg 0% 85%);
	--screen-bezel-color-dark1: hsl(0deg 0% 80%);
	--screen-bezel-color-dark2: hsl(0deg 0% 75%);
	--screen-bezel-color-light1: hsl(0deg 0% 90%);
	--screen-bezel-color-light2: hsl(0deg 0% 95%);
}
.ScreenFrame-Bezel-Pinstripes {
	--screen-bezel-color: hsl(0deg 0% 95%);
	--screen-bezel-color-dark1: hsl(0deg 0% 80%);
	--screen-bezel-color-dark2: hsl(0deg 0% 75%);
	--screen-bezel-color-light1: hsl(0deg 0% 90%);
	--screen-bezel-color-light2: hsl(0deg 0% 95%);
	border-image-source: repeating-linear-gradient(
		0deg,
		hsl(0deg 0% 95%) 0px,
		hsl(0deg 0% 95%) 2px,
		hsl(0deg 0% 90%) 2px 4px
	);
	border-image-slice: 60;
	border-image-repeat: round;
	--screen-outer-chamfer-size: 12px;
	--screen-outer-corner-radius: 32px;
	--screen-underscan: 8px;
}
.ScreenFrame-Bezel-Pinstripes.ScreenFrame-Bezel-Medium {
	--screen-outer-chamfer-size: 8px;
	border-image-slice: 40;
	--screen-outer-corner-radius: 28px;
}
.ScreenFrame-Bezel-Pinstripes.ScreenFrame-Bezel-Small-ish {
	--screen-outer-chamfer-size: 8px;
	border-image-slice: 30;
	--screen-outer-corner-radius: 24px;
}
.ScreenFrame-Bezel-Pinstripes.ScreenFrame:before {
	border-color: var(--screen-bezel-color);
	box-shadow: inset 0 0 0 2px #282c34;
}
.ScreenFrame-Bezel-Pinstripes .ScreenFrame-Controls-Container {
	width: 100%;
}
.ScreenFrame-Bezel-Pinstripes
	.ScreenFrame-Controls-Container
	.ScreenFrame-Apple-Logo
	+ .ScreenFrame-Control {
	margin-left: 0;
}
.ScreenFrame-Bezel-Pinstripes .ScreenFrame-Apple-Logo {
	left: calc(50% - 10px);
}
.ScreenFrame-Bezel-Pinstripes .ScreenFrame-Apple-Logo .Background {
	filter: none;
}
.ScreenFrame-Bezel-Pinstripes .ScreenFrame-Apple-Logo .Background path {
	fill: #fffa !important;
}
.ScreenFrame-Bezel-Pinstripes .ScreenFrame-Led {
	border-radius: 4px;
}
.ScreenFrame-ScreenContainer {
	position: relative;
	top: var(--screen-underscan);
	left: var(--screen-underscan);
	background-color: #000;
}
.Button {
	border-image-slice: 4 fill;
	border-image-width: 4px;
	border-width: 4px;
	image-rendering: pixelated;
	background: transparent;
	padding: 1px 8px;
	font-size: 13px;
	color: #000;
	font-family: Helvetica, Arial, sans-serif;
	font-weight: 700;
	-webkit-user-select: none;
	user-select: none;
	white-space: nowrap;
}
.Button:active {
	color: #fff;
}
.Button:focus {
	outline: none;
}
.Button:focus-visible {
	outline: 2px solid #000000;
	outline-offset: -1px;
	border-radius: 2px;
}
.Button:disabled {
	opacity: 0.5;
}
.Button.Button-Classic {
	border-image-source: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAIAAAAGHlpnAAAABnRSTlMARwBwAEyv7uYjAAAAN0lEQVR4AWNwL/CBIAYSAUIjXPN/EgFEF8KI/2QBqBFw/WSbQnMjRo0YNWLUCEozO5WKHMoLPgBIISRlME0/UgAAAABJRU5ErkJggg==);
}
.Button.Button-Classic:active {
	border-image-source: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAIAAAAGHlpnAAAABnRSTlMARwBwAEyv7uYjAAAAJklEQVR4AWNwL/CBIAYSAUIjCFMAqGTEEACjYBSMgkFSXlBe8AEA/OwUPdUsmEgAAAAASUVORK5CYII=);
}
.Button.Button-Platinum {
	border-image-source: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUBAMAAAB7UtADAAAAGFBMVEVHcEwiIiIAAAC7u7vd3d3///+qqqp3d3fs/VrHAAAAAXRSTlMAQObYZgAAADxJREFUeAFjYBBSggBFBgYmExcIcFZgEA6FghBDBpVQqLhbEYNKyCBlpxUxCLulQUB6IQOTeTkUKCD7EQCKMjrNS2EX7wAAAABJRU5ErkJggg==);
}
.Button.Button-Platinum:active {
	border-image-source: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUBAMAAAB7UtADAAAAGFBMVEVHcEwiIiIAAABERERVVVVmZmZ3d3eIiIiLH8iUAAAAAXRSTlMAQObYZgAAADxJREFUeAFjYBBSggBFBgYmYxhQYBA2cYEA10QGZZdQCAgrYlB2HaTstCIG4bA0CEgvZGBKL4cCBWQ/AgC59EB+A/JSngAAAABJRU5ErkJggg==);
}
.Button.Button-Platinum:focus-visible {
	outline-color: #6666c5;
}
.Dialog-Backdrop {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	background-position:
		0px 0px,
		1px 1px;
	background-size: 2px 2px;
	background-image:
		linear-gradient(
			45deg,
			#000 25%,
			transparent 25%,
			transparent 75%,
			#000 75%,
			#000 100%
		),
		linear-gradient(
			45deg,
			#000 25%,
			transparent 25%,
			transparent 75%,
			#000 75%,
			#000 100%
		);
}
.Dialog {
	font-size: 14px;
	padding: 18px;
	border-image-slice: 5 fill;
	border-image-width: 5px;
	border-width: 5px;
	image-rendering: pixelated;
	max-width: 600px;
	min-width: 320px;
	z-index: 3;
}
.Dialog.Dialog-Classic {
	border-image-source: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAOUlEQVR4AWMgFty69R8Xam/fjFB0FgdAUQThoyHsitDcgFPRfzAgQREF1iF7HiJIYhAAWXgQsVECAFWHygVzavGEAAAAAElFTkSuQmCC);
}
.Dialog.Dialog-Platinum {
	border-image-source: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAABnRSTlMARwBwAEyv7uYjAAAAOklEQVR4AWMgCNwLfEDUbtwARdF/DAAUDA0NhRiGUHQXFcycOXPwKwKDmWgAU1EoDoBQRFSoAxF+NQAkvbH4vtmjRgAAAABJRU5ErkJggg==);
}
.Dialog h1 {
	font-size: 16px;
	font-weight: 700;
	margin: 0 0 8px;
}
.Dialog h2 {
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 4px;
}
.Dialog-Description {
	font-size: 12px;
	color: #666;
	margin: 2px 0 0 22px;
}
.Dialog label {
	display: block;
	margin: 0 0 8px;
}
.Dialog footer {
	margin: 8px 0 0;
	display: flex;
	justify-content: flex-end;
}
.Dialog footer {
	gap: 8px;
}
.Dialog a,
.Dialog .link {
	cursor: pointer;
	text-decoration: underline;
	color: #00c;
}
.Dialog-Normal-Button {
	font-weight: 400;
}
