#gsuiPopup {
	--dur: .2s;
	--dark-bg: rgba( 0, 0, 0, .6 );
	--bg: #555;
	--btn-bg: #999;
	--btn-ok-bg: #67a;
	--padding: 10px;
	--min-width: 250px;
	--radius: 4px;
	--header-bg: #333;

	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	z-index: 2147483647;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	color: #fff;
	background-color: var( --dark-bg );
	visibility: hidden;
	opacity: 0;
	transition: var( --dur );
	transition-property: visibility, opacity;
}
#gsuiPopup.gsui-show {
	visibility: visible;
	opacity: 1;
}

#gsuipp-window {
	overflow: hidden;
	min-width: var( --min-width );
	border-radius: var( --radius );
	font-family: sans-serif;
	background-color: var( --bg );
	box-shadow: 0 0 50px #000;
}
#gsuipp-window.gsui-nocancel #gsuipp-inpCancel,
#gsuipp-window.gsui-notext #gsuipp-inpText {
	display: none;
}

#gsuipp-head {
	padding: var( --padding );
	background-color: var( --header-bg );
}
#gsuipp-body {
	padding: var( --padding );
}
#gsuipp-cnt:not(:empty) + #gsuipp-msg,
#gsuipp-cnt:not(:empty) ~ input {
	display: none;
}

#gsuipp-inpText,
#gsuipp-btns input {
	padding: .6em 1.25em;
	border: 0;
	border-radius: 2px;
}
#gsuipp-inpText {
	box-sizing: border-box;
	margin-top: var( --padding );
	padding: .6em;
	width: 100%;
	font-size: 18px;
}
#gsuipp-btns {
	margin-top: var( --padding );
	text-align: center;
}
#gsuipp-btns input {
	color: #fff;
	font-weight: bold;
	background-color: var( --btn-bg );
	cursor: pointer;
}
#gsuipp-btns input + input {
	margin-left: var( --padding );
}
#gsuipp-btns #gsuipp-inpOk {
	background-color: var( --btn-ok-bg );
}
#gsuipp-window input[type="text"] {
	color: #fff;
	background-color: rgba( 255, 255, 255, .1 );
}
