.structure {
	--structure-title: var(--main-color);
	--structure-title-text: var(--white-color);
	--structure-border: var(--main-color);
	--structure-input: var(--white-color);
	--structure-input-text: var(--black-color);
	--structure-input-true: var(--leaf-green-color);
	--structure-nest-border: var(--grey-5-color);
	--structure-invalid: var(--red-color);
	--structure-border-radius: 3px;
	--structure-font: Arial, Helvetica, sans-serif;
}

#main {
	position: relative;
	height: 100vh;
}

#title-bar {
	position: absolute;
	top: 0px;
	left: 0px;
	padding: 0px 40px;
	height: 50px;
	width: calc(50% - 80px);
	background-color: var(--grey-green-color);
	user-select: none;
}

#title-bar>p {
	margin: 0px;
	font-size: 30px;
	line-height: 50px;
}

#main-editor {
	position: absolute;
	top: 50px;
	left: 0px;
	height: calc(100% - 50px);
	width: 50%;
	box-sizing: border-box;
	background-color: var(--main-bg-color);
	border: 1px var(--grey-a-color) solid;
}

#img-view {
	position: absolute;
	top: 0px;
	right: 0px;
	height: 50%;
	width: 50%;
	box-sizing: border-box;
	background-color: var(--white-color);
	border: 1px var(--grey-a-color) solid;
	overflow: hidden;
	cursor: grab;
}

#main:has(#sub-view.hide)>#img-view {
	height: 100%;
}

#img-box {
	align-items: center;
}

#img-content {
	display: flex;
	justify-content: center;
}

#img-content>svg {
	border: 1px solid var(--grey-a-color);
}

#img-doc {
	position: absolute;
	pointer-events: none;
	opacity: 0.4;
	z-index: -1;
}

#doc {
	height: 100%;
	width: 100%;
	object-fit: contain;
}

#sub-view {
	position: absolute;
	bottom: 0px;
	right: 0px;
	height: 50%;
	width: 50%;
	box-sizing: border-box;
	background-color: var(--white-color);
	border: 1px var(--grey-a-color) solid;
}

#sub-view.hide {
	display: none;
}

/* mini-btn */
.mini-btn-box {
	position: absolute;
	height: 32px;
	top: 9px;
	right: 12px;
}

.mini-btn {
	display: inline-block;
	padding: 5px 8px;
	height: 22px;
	width: 22px;
	color: var(--white-color);
	background-color: var(--main-color);
	border-radius: 6px;
	cursor: pointer;
}

.mini-btn:not(.clicked) {
	transition: color 0.5s, background-color 0.5s;
}

.mini-btn.clicked {
	color: var(--main-color);
	background-color: var(--white-color);
}

.mini-btn.white {
	color: var(--main-text-color);
	background-color: var(--main-bg-color);
}

.mini-btn.margin-right {
	margin-right: 10px;
}

input[type="file"] {
	display: none;
}

#inline.inline #inline-true {
	display: none;
}

#inline:not(.inline) #inline-false {
	display: none;
}

/* line-numbers */
.line-numbers {
	counter-reset: line;
	position: absolute;
	font-family: var(--code-font), monospace;
	border-right: 1px solid var(--black-color);
	white-space: pre;
	min-height: 100%;
	field-sizing: content;
}

.line-numbers span {
	counter-increment: line;
	display: block;
	text-align: right;
	width: 30px;
}

.line-numbers span::before {
	content: counter(line);
	margin-right: 5px;
	color: var(--grey-5-color);
	font-size: 15px;
	line-height: 21px;
}

/* xml */
.xml {
	margin: 0px 0px 0px 30px;
	padding: 0px 10px;
	box-sizing: border-box;
	background-color: rgba(0, 0, 0, 0);
	border: 0px;
	border-radius: 0px;
	resize: none;
	min-height: 100%;
	width: calc(100% - 30px);
	font-family: var(--code-font);
	font-size: 15px;
	line-height: 21px;
	white-space: pre;
	overflow-y: hidden;
	field-sizing: content;
	outline: none;
}

/* tips */
.relative {
	position: relative;
	height: 100%;
	width: 100%;
}

.noeffect {
	height: 100%;
	width: 100%;
}

.overflow {
	overflow-y: auto;
	overflow-x: hidden;
	scrollbar-width: thin;
}