/* page container */
.gen-page {
	/*max-width: 1200px;*/
}

/* top input area */
.gen-top {
	margin-bottom: 0;
}

.gen-top__row {
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 10px;
}

.gen-top__row .gen-top-left {
	flex: 1;
	display: flex;
	justify-content: space-between;
	padding-right: 10%;
}
.gen-top__row .gen-top-action {
	flex: 1;
	display: flex;
	justify-content: right;
}



.gen-top__input {
	height: 55px;
	padding: 0 14px;

	border-radius: 10px;
	border: 1px solid #07c9ab;
	/*border-color: #be77f3;*/
	background: #202226;

	color: #07c9ab;
	font-size: 16px;
	outline: none;
	margin-right: 10px;
	width: 100%;
}

.gen-top__input::placeholder {
	color: #23675e;
}

/*.gen-top__input:focus {*/
/*	border-color: #6aa9ff;*/
/*}*/

.gen-top__btn {
	flex: 0 0 auto;
	height: 55px;
	padding: 0 20px;

	border-radius: 10px;
	border: 1px solid #07c9ab;
	background: #07c9ab;

	color: #0d1117;
	font-size: 17px;
	font-weight: 800;
	cursor: pointer;
}

.gen-top__btn svg {
	width: 20px;
	height: auto;
	vertical-align: middle;
}
.gen-top__btn span {
	display: inline-block;
	vertical-align: middle;
}

.gen-top__btn:hover {
	filter: brightness(1.03);
}

.gen-top__btn:disabled {
	opacity: 0.55;
	cursor: default;
}

.btn-apply {
	height: 55px;
	padding: 0 25px;
	border: 2px #f19811 solid;
	border-radius: 10px;
	background-color: transparent;
	color: #f19811;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
}
.btn-apply:disabled {
	/*border-color: #bbb;*/
	/*color: #bbb;*/
	opacity: .5;
	cursor: default;
}



.gen-top__status {
	margin-top: 8px;
	min-height: 18px;
	font-size: 12px;
	color: #9fa2a8;
}

/* workspace */
.gen-work {
	height: calc(100vh - 120px); /* 사이드/상단 제외하고 화면에 꽉 */
	min-height: 520px;
	display: flex;
	flex-direction: column;
}

/* canvas (grid background) */
.gen-canvas {
	flex: 1 1 auto;
	border: 1px solid #2a2b30;
	border-radius: 12px;
	background-color: #1b1c20;
	min-height: 400px;

	/* grid */
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0.01) 1px, transparent 1px),
	linear-gradient(to bottom, rgba(255, 255, 255, 0.01) 1px, transparent 1px),
	linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
	linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
	background-size: 10px 10px,
	10px 10px,
	50px 50px,
	50px 50px;

	overflow: auto;
	padding: 18px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 생성 후: 모눈 제거 */
.gen-canvas.no-grid {
	background-image: none;
	padding: 0;
	overflow: hidden; /* 보기만이면 hidden 추천 */
}


/* SVG inside */
.gen-canvas svg {
	display: block;
	width: 90%;
	height: 90%;
	max-width: 90%;
	max-height: 90%;
}

/* actions under canvas (left aligned) */
.gen-actions {
	margin-top: 10px;
	display: flex;
	gap: 10px;
	justify-content: flex-start;
}

.gen-act {
	height: 38px;
	padding: 0 14px;
	border-radius: 10px;

	border: 1px solid #2f3138;
	background: #202226;

	color: #e6e6e6;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.gen-act:hover {
	border-color: #3a3d46;
	background: #23242a;
}

.gen-act:disabled {
	opacity: 0.45;
	cursor: default;
}

/* small screens */
@media (max-width: 900px) {
	.gen-top__row {
		width: 100%;
	}

	.gen-work {
		height: calc(100vh - 130px);
	}
}
