:root {
	--status-bar-bg: #000;
	--status-bar-col: #fff;
	--status-bar-h: 38px;
	--nav-bar-bg: #000;
	--nav-bar-col: #fff;
	--nav-bar-h: 48px;
	--display-w: 360px;
	--display-h: 712px;
	--display-rad: 42px;
}
* {
	box-sizing: border-box;
}
html {
	font-family: sans-serif;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: #1f1f24;
	color-scheme: dark;
	color: #e3e2e7;
}
body {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 100dvh;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
#sim-stage {
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 0;
}
#display-frame {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.28));
}
input, select {
	min-height: 28px;
	border: 0;
	padding: 5px 8px;
}
select {
	border-radius: 4px;
}
label {
	margin: 16px;
}
button {
	background: #eee;
	color: #000;
	min-height: 26px;
	min-width: 60px;
	border: 0;
	padding: 4px 8px;
	border-radius: 4px;
	cursor: pointer;
}

#controls {
	position: fixed;
	top: 50%;
	right: 16px;
	z-index: 10;
	transform: translateY(-50%);
	width: var(--frame-w, calc(var(--display-w) + 24px));
	height: var(--frame-h, calc(var(--display-h) + 24px));
	margin: 0;
	padding: 16px;
	background: #000;
	color: #eee;
	border-radius: var(--display-rad);
	text-align: center;
	transition: all .5s;
	overflow: hidden;
}
#controls.hidden {
	opacity: 0;
    width: 0;
	height: 0;
	padding: 0;
	margin: 0;
}
#controls > div {
	margin: 16px 0 16px 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}
#controls p {
	width: 100%;
	text-align: center;
}
#controls input[type="color"] {
	padding: 0;
	background: transparent;
	border: 0;
	height: 36px;
    width: 29px;
}
#controls input[type="url"] {
	background: transparent;
	color: #fff;
	border-bottom: 1px solid;
	width: 80%;
	text-align: center;
	text-overflow: ellipsis;
}
#controls #open-source-label {
	position: absolute;
	bottom: 8px;
	left: 0;
}

#back-link {
	position: fixed;
	top: 16px;
	left: 16px;
	z-index: 10;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #d2c5ab;
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 1rem;
	text-decoration: none;
	transition: color 0.15s ease;
}
#back-link:hover {
	color: #ffedc3;
}

#overlay-area {
	position: fixed;
	right: 16px;
	bottom: 16px;
	top: auto;
	left: auto;
	z-index: 10;
}
#github-btn {
	display: flex;
	width: 31px;
	height: 31px;
	padding: 0;
	margin: 0;
	background: #eee;
	border-radius: 4px;
	cursor: pointer;
}
#github-btn img,
#github-btn svg {
	width: 100%;
	padding: 2px;
}
#info-popup {
	position: fixed;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	background: rgba(200, 200, 200, 0.95);
	text-align: center;
	transition: all 0.5s;
	opacity: 0;
}
#info-popup.visible {
	opacity: 1;
}
#info-popup-content {
	position: relative;
	display: inline-block;
    background: #111;
    color: #eee;
    text-align: left;
    padding: 32px;
    max-width: 90%;
    width: 500px;
    margin: 6vh 0 0 0;
    border-radius: 42px;
    box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.75);
}
#info-popup-content a {
	color: #44c8be;
}
#info-popup-close {
	position: absolute;
    right: 32px;
    bottom: 32px;
	cursor: pointer;
}

#display {
	position: relative;
	width: calc(var(--display-w) + 24px);
	height: calc(var(--display-h) + 24px);
	margin: 0;
	background: #000;
	display: flex;
	flex-direction: column;
	border: 12px solid #000;
	border-radius: var(--display-rad);
	overflow: hidden;
	flex: 0 0 auto;
	transition: all .5s;
	transform-origin: center center;
}
#display.classic {
	border-radius: 0px;
}

#status-bar {
	position: relative;
	height: var(--status-bar-h);
	max-height: var(--status-bar-h);
	min-height: var(--status-bar-h);
	width: 100%;
	background: var(--status-bar-bg);
	color: var(--status-bar-col);
}
#display.classic #status-bar {
	display: none;
}
#display.fullscreen #status-bar {
	position: absolute;
	top: 0;
	left: 0;
	background: transparent;
	pointer-events: none;
}
#app {
	border: 0;
	flex: 1 1 auto;
}
#nav-bar {
	position: relative;
	height: var(--nav-bar-h);
	max-height: var(--nav-bar-h);
	min-height: var(--nav-bar-h);
	width: 100%;
	background: var(--nav-bar-bg);
	color: var(--nav-bar-col);
}
#display.classic #nav-bar,
#display.fullscreen #nav-bar {
	display: none;
}

#device-scale-factor {
	width: 50px;
	text-align: center;
	height: 26px;
	min-height: auto;
	margin: 0 4px;
	background: transparent;
	color: #eee;
	border: 1px solid;
	border-radius: 4px;
	transition: all 0.3s;
}
#device-scale-factor.hidden {
	padding: 0;
    border: 0;
    width: 0;
    margin: 0;
}

.notch-theme {
	display: flex;
	height: 100%;
	width: 100%;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.notch-theme span {
	font-size: 15px;
	padding: 0 2px;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.notch-theme span .material-icons {
	font-size: 17px;
}
.notch-theme span em {
	padding: 0px 0 0 0;
	font-style: normal;
}
.notch-theme.thinner span {
	font-size: 14px;
}
.notch-theme.thinner span .material-icons {
	font-size: 16px;
}
.notch-theme.thin span {
	font-size: 12px;
}
.notch-theme.thin span .material-icons {
	font-size: 14px;
}
.sb-filler {
	flex: 1 0 auto;
}
.sb-camera-hole-1 {
	position: relative;
	width: 30px !important;
	height: 30px !important;
	background: #444;
	border-radius: 15px;
	border: 7px solid #222;
	flex: 0 0 auto;
}
.sb-camera-hole-2 {
	position: relative;
	width: 60px !important;
	height: 30px !important;
	background: #222;
	border-radius: 15px;
	flex: 0 0 auto;
}
.sb-camera-hole-2::before {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	top: 10px;
	left: 10px;
	background: #444;
	border-radius: 5px;
}
.sb-camera-hole-2::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	top: 10px;
	right: 10px;
	background: #444;
	border-radius: 5px;
}
.sb-iphone-x-array {
	position: relative;
	width: 209px;
	height: 30px !important;
	background: #000;
	align-self: start;
	border-radius: 0 0 15px 15px;
	flex: 0 0 auto;
}
.sb-iphone-x-array::before {
	content: '';
	position: absolute;
	width: 69px;
	height: 5px;
	top: 10px;
	left: 70px;
	background: #222;
	border-radius: 8px;
}
.sb-iphone-x-array::after {
	content: '';
	position: absolute;
	width: 9px;
	height: 9px;
	top: 4px;
	left: 149px;
	background: #444;
	border-radius: 10px;
	border: 4px solid #222;
}
.sb-iphone-13-array {
	position: relative;
	width: 160px;
	height: 31px !important;
	background: #000;
	align-self: start;
	border-radius: 0 0 15px 15px;
	flex: 0 0 auto;
}
.sb-iphone-13-array::before {
	content: '';
	position: absolute;
	width: 9px;
	height: 9px;
	top: 6px;
	left: 10px;
	background: #242424;
    border-radius: 10px;
    border: 4px solid #181818;
}
.sb-iphone-13-array::after {
	content: '';
    position: absolute;
    width: 9px;
    height: 9px;
    top: 6px;
    left: 75px;
    background: #242424;
    border-radius: 10px;
    border: 4px solid #181818;
}

.nav-bar-theme {
	display: flex;
	height: 100%;
	width: 100%;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	overflow: hidden;
}
.nb-back {
	width: 24px;
	height: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
}
.nb-recent {
	width: 24px;
	height: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 800;
}
.nb-home {
	position: relative;
	width: 24px;
	height: 24px;
}
.nb-home > div {
	position: absolute;
	top: 2px;
	left: 2px;
	border: 2px solid;
	border-radius: 10px;
	width: 20px;
	height: 20px;
}
.nb-home-ios {
	position: relative;
	width: 100%;
	height: 100%;
}
.nb-home-ios > div {
	position: absolute;
	bottom: 6px;
	left: calc(50% - 70px);
	width: 140px;
	height: 5px;
	background: rgba(200, 200, 200, 0.5);
	border-radius: 3px;
}
.nb-home-android-gesture {
	position: relative;
	width: 100%;
	height: 100%;
	/* 24px heith*/
}
.nb-home-android-gesture > div {
	position: absolute;
	bottom: 7px;
	left: calc(50% - 38px);
	width: 76px;
	height: 4px;
	background: rgba(200, 200, 200, 0.5);
	border-radius: 3px;
}
