body {
	font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
	margin: 0px;
	padding: 10px;
	position: relative;
	scrollbar-color: Violet transparent;
	scrollbar-width: thin;
	display: flex;
	flex-direction: column;
}

h1 {
	color: #2c3e50;
	text-align: center;
	margin-bottom: 30px;
	font-size: 1.5rem;
}
h2 {
	color: #2c3e50;
	text-align: center;
	margin: 20px;
	font-size: 1.2rem;
	background: #f9f9f9; border-top: 2px solid #ccc; margin: 10px 0; padding: 10px;
	border-top-left-radius: 10px;
}
h3 {
	color: #2c3e50;
	text-align: center;
	margin: 10px;
	font-size: 1rem;
}
table {
	width: 100%;
	border-collapse: collapse;
	background: transparent;
	box-shadow: 0 0 10px rgba(0,0,0,0.05);
}
th, td {
	padding: 12px;
	text-align: left;
	vertical-align: top;
	border-radius: 10px;
	border: 0px solid #ccc;
}
th {
	background-color: #3498db;
	color: #fff;
	text-align: center;
}
tr:nth-child(even) {
	background-color: #f4f4f4;
}
section {
	background: #fff; border-right: 5px solid #3498db; padding: 10px 2px; margin-bottom: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.05);
}
blockquote {
	background: #f9f9f9; border-left: 5px solid #ccc; margin: 10px 0; padding: 10px;
}
footer {
	text-align: center;
	font-size: 0.7em;
	margin-top: 10px;
	background: transparent;
	color: #555;
}
.lang-btns {
	position: fixed;
	bottom: 30px;
	right: 10px;
	background: transparent;
	color: white;
	padding: 2px 10px;
	border-radius: 10px;
	border-bottom-right-radius: 0;
	text-decoration: none;
	box-shadow: 0 4px 10px rgba(255, 105, 135, 0.2);
	transition: all 0.3s ease;
	z-index: 1000;
}
.lang-btns button {
	padding: 2px 5px;
	width: 70px;
	height: 30px;
	font-size: 13px;
	font-weight: bold;
	border: none;
	border-radius: 6px;
	background: linear-gradient(135deg, #6dd5ed, #2193b0);
	color: white;
	cursor: pointer;
	transition: background 0.3s ease;
}
.lang-btns button:hover {
	background: linear-gradient(135deg, #ff8c42, #ff5fa2);
	box-shadow: 0 6px 14px rgba(255, 105, 135, 0.3);
	transform: translateY(-2px);
}
.lang { display: none; }
.lang.active { display: block; }

.box { background: #fff; border-left: 5px solid #db3498; padding: 10px 2px; margin-bottom: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.05); }
.box: nth-child(even) { border-left-color: #34db98; }
.box: nth-child(odd) { border-left-color: #db8c34; }

.check { color: green; font-weight: bold; }
.cross { color: red; font-weight: bold; }
.emoji { font-size: 1.2em; }
.highlight {
	background-color: #eef;
	padding: 15px 10px;
	border-left: 5px solid #88f;
	border-right: 5px solid #88f;
	margin: 20px 0;
	border-radius: 30px;
    font-size: 1rem;
}
.flow {
    background: #fefefe;
    border-left: 6px solid #3498db;
    border-radius: 12px;
    padding: 10px;
    margin: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
    font-size: 1rem;
    color: #2c3e50;
    text-align: center;
	font-weight: bold;
}
.flow h1 {
    text-align: center;
    font-size: 1.6rem;
    color: #e74c3c;
    margin-bottom: 20px;
}
pre {
    background: #fefefe;
    padding: 20px;
    margin: 10px 40px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
    font-size: 1rem;
    color: #2c3e50;
    text-align: left;
	font-weight: bold;
}
.m1 li: : marker {content: "➔ "; color: #ff5722; font-size: 1.2em;}
.m2: : marker {content: "👉 "; color: #ff5722; font-size: 1.2em;}
span {
	transition: transform 0.1s ease, padding 0.1s ease;
	display: inline-block;
	padding: 0px;
}

span.active {
	transform: scale(1.5);
	padding: 0px 15px;
}

form {margin: 0px;padding: 0px;}
select {
	background: linear-gradient(135deg, Orange, Tomato);
	text-align: center;
	font: bold 20pt Arial;
	scrollbar-color: Violet transparent;
	scrollbar-width: thin;
	border: 1px solid Tomato;
	min-width: 50px;
	width: 100%;
	height: 40px;
	border-radius: 14px;
}
select > option: checked {
	font: bold 16pt Arial;
	color: MediumSeaGreen;
}
.total {
	margin: 0;
	padding: 0;
	width: 100%;
	background-color: transparent;
}
.total tr {
	height: 30px;
}
.total td {
	padding: 0px;
	vertical-align: center;
}
.container {
	display: flex;
	flex-wrap: wrap;
	padding: 20px;
	justify-content: center;
}
.Ftool {
    margin: 30px auto;
	padding: 30px;
    border-radius: 12px;
    width: 90%;
	height: auto;
    border: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	background: linear-gradient(to bottom, MediumSeaGreen, Violet);
	flex-direction: row;//column;
}
.Ftool div {
	padding: 0 5px;
	margin: 5px;
	border-radius: 15px;
	background: linear-gradient(to right, #f8923d, #f86d18);
	color: white;
	font-size: 0.8rem;
	font-weight: bold;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	cursor: pointer;
	transition: all 0.2s ease-in-out;
    display: flex;
	text-align: center;
	justify-content: center;
	align-items: center;
	border: 1px solid Tomato;
	min-width: 200px;
	min-height: 70px;
}
.Ftool div:hover {
    background: linear-gradient(to right, DodgerBlue, SlateBlue);
    transform: scale(1.5);
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
    color: #fff;
}
.mainbox {min-height: calc(100% - 150px);}
.mainbox td {width: 70%;vertical-align: top;}
.mainbox textarea {padding: 10px;width: 100%;min-height: 100%;font: 12pt Arial,sans-serif;resize: none;overflow: hidden;background-color: transparent;border: 1px solid Tomato;border-radius: 10px;}

input[type="checkbox"]:checked {
  background: blue;
  color: white;
}
input[type="checkbox"] {
  cursor: pointer;
  appearance: none;
  outline: 0;
  background: lightgray;
  height: 16px;
  width: 16px;
  border: 1px solid white;
  color: black;
  position: relative;
  top: 5px;
}
input[type="button"] {
	width: 40px;
}
input:checked ~ label {
  background-color: LightGray;
  word-wrap: break-word; /* 단어가 너무 길 경우 줄바꿈 허용 */
}
label {
  font: bold 14pt sans-serif;
  padding: 3px;
  white-space: normal;      /* 텍스트 줄바꿈 가능하게 */
  overflow-wrap: break-word; /* 줄이 너무 길 때 줄바꿈 */
}
.wrapper {height: 20px;}
@keyframes bgrandom1 {
    0%  {background: Tomato;}
    10% {background: Orange;}
    30% {background: DodgerBlue;}
    50% {background: MediumSeaGreen;}
    70% {background: SlateBlue;}
    90% {background: Violet;}
}
@keyframes bgrandom2 {
    0%  {background: Tomato;}
    15% {background: Orange;}
    35% {background: DodgerBlue;}
    55% {background: MediumSeaGreen;}
    75% {background: SlateBlue;}
    95% {background: Violet;}
}
@keyframes bgrandom3 {
    0%  {background: Tomato;}
    20% {background: Orange;}
    40% {background: DodgerBlue;}
    60% {background: MediumSeaGreen;}
    80% {background: SlateBlue;}
    100%{background: Violet;}
}
@keyframes bgrandom4 {
    0%  {background: Tomato;}
    20% {background: Orange;}
    40% {background: DodgerBlue;}
    60% {background: MediumSeaGreen;}
    80% {background: SlateBlue;}
    100%{background: Violet;}
}

.bbtt, .h1 {
	display: flex;
	border-radius: 14px;
	cursor: hand;
	text-align: center;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.bbtt {
	border: 1px solid Tomato;
	width: 120px;height: 40px;
	white-space: nowrap;
	font: bold 9pt sans-serif;
	background: linear-gradient(135deg, #6dd5ed, #2193b0);
	color: white;
}
.bbtt:hover {
	background-color: SlateBlue;color: white;
	background: linear-gradient(135deg, DodgerBlue, SlateBlue);
	box-shadow: 0 6px 14px rgba(255, 105, 135, 0.3);
	transform: translateY(-2px);
}

.bbt1, .bbt2, .bbt3 {float: left;display: flex;border-radius: 14px;margin: 2px;cursor: hand;font: bold 11pt sans-serif;width: 120px;height: 65px;text-align: center;vertical-align: middle;justify-content: center;align-items: center;flex-direction: column;}

.bbt1 {border: 1px solid Tomato;}
.bbt1:hover {background-color: SlateBlue;color: white;}

.bbt2 {border: 1px solid DodgerBlue;}
.bbt2:hover {background-color: MediumSeaGreen;color: white;}

.bbt3 {border: 1px solid Violet;}
.bbt3:hover {background-color: Tomato;color: white;}

.checked{background: DodgerBlue;}
.header {
	font: bold 20pt Arial;
	background-color: DodgerBlue;
	text-align: center;
	color: yellow;
	padding: 2px;
	margin: 10px;
	width: 80%;
	cursor: pointer;
	max-height: 50px;
	border-radius: 15px;
	border-top-left-radius: 0;
}

@media screen and (max-width: 768px) {
	h1 { font-size: 1.4rem; margin-top: 5px; margin-bottom: 10px; }
	h2 { font-size: 1.2rem; margin-top: 4px; margin-bottom: 8px; }
	h3 { font-size: 1rem; margin-top: 3px; margin-bottom: 6px; }
	ul { padding-left: 20px; }
	p  { font-size: 0.7em; }
	li { font-size: 0.7em; }
	th { font-size: 0.7em; padding: 4px; }
	td { font-size: 0.5em; padding: 4px; }
	.highlight { font-size: 0.7em; }
	blockquote { font-size: 0.7em; }
	footer { font-size: 0.5em; }
    .Ftool {
        margin: 10px auto;
        padding: 10px;
    }
    .Ftool div {
        padding: 0 5px;
        margin: 5px;
        font-size: 0.6rem;
        min-width: 160px;
        min-height: 50px;
    }
}