@font-face {
	font-family: BubbleSans; /* set name */
	src: url(BubbleSans.otf); /* url of the font */
}

@font-face {
	font-family: MochiyPop; /* set name */
	src: url(MochiyPopOne.ttf); /* url of the font */
}

@font-face {
	font-family: Rampart; /* set name */
	src: url(RampartOne.ttf); /* url of the font */
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	}

body {
	background: linear-gradient(to right, white, white, rgba(255,0,0,0)), url("https://file.garden/ZteFlqNX_1wjcdrD/New/rezewalk.png");
	background-repeat: no-repeat;
	background-position-x: 100%;
	background-repeat: no-repeat;
	width: 100%;
	height: 100%;
	overflow: auto;
	cursor: url(''),auto;
	font-family: 'BubbleSans';
	image-rendering: pixelated;
	color: black;
	/* Javascript Animation */
	opacity: 0; 
	transition: opacity 1.5s ease-in-out;
	}

body.loaded { opacity: 1; }

.vhwrapper {	
	padding: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	}

.wrapper {
	background: transparent;
	width: 850px;
	display: flex;
	margin: 0 auto 0 auto;
}

.main {
	display: flex;
	flex: 1; /* Acts as width: 100%; */
	flex-direction: column;
	gap: 10px;
	flex-grow: 1;
	min-height: 0;
}	
	
.header {
	border: 2px black;
	border-style: dotted none dotted none;
	padding: 10px;
	display: flex;
	flex: 1;
	gap: 10px;
}

.button {
	background: white;
	border: 2px solid black;
	border-radius: 100%;
	padding: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	text-align: center;
	font-family: 'BubbleSans';
	text-decoration: none;
	color: black;
}

.button:hover {
	text-decoration: underline;
	font-style: italic;
	cursor: pointer;
}

.button:visited {
	text-decoration: none;
	color: black;
}

.button:active {
	font-weight: bold;
}

.body-text-wrapper {
	width: 100%;
	max-height: 695px;
	display: flex;
}

.body {
	background: white;
	border: 2px solid black;
	display: flex;
	flex: 12;
	gap: 10px;
}

.text {
	padding: 10px;
	writing-mode: vertical-rl; 
	flex: .25;
	flex-direction: column;
	justify-content: flex-start;
}

.body > .left-panel {
	background: black;
	border: 2px black;
	border-style: none solid none none;
	padding: 10px;
	display: flex;
	flex: 1;
	flex-direction: column;
	color: white;
	text-align: justify;
	overflow: auto;
	min-height: 0;
	gap: 10px;
}

.body > .right-panel {
	display: flex;
	flex: 3;
	flex-direction: column;
	gap: 10px;
}

.right-panel > .bottom-panel {
	display: flex;
	gap: 10px;
	flex-grow: 1;
	min-height: 0;
}

.bottom-panel > .left-box {
	display: flex;
	gap: 10px;
	flex: 2;
	flex-direction: column;
	text-align: justify;
	min-height: 0;
	overflow: auto;
}

.left-box > .top {
	border: 2px black;
	border-style: none none solid solid;
	padding: 10px;
	display: flex;
	flex: 1;
	text-align: justify;
	gap: 10px;
	min-height: 0;
	overflow: auto;
	flex-direction: column;
}

.left-box > .sub {
	display: flex;
	flex: 1;
	text-align: justify;
	gap: 10px;
	min-height: 0;
	overflow: auto;
}

.sub > .panel1 {
	border: 2px black;
	border-style: solid solid none solid;
	padding: 10px;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	overflow: auto;
}

.sub > .panel2 {
	border: 2px black;
	border-style: solid none none solid;
	padding: 10px;
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	overflow: auto;
}

.footer {
	display: flex;
	flex: 1;
}

.label {
	max-height: fit-content;
	max-width: 160px;
	background: white;
	border: 2px solid black;
	border-radius: 100%;
	padding: 25px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-shadow: none;
	color: black;
	margin: 0 auto 0 auto;
	text-align: center;
}

/* width */
::-webkit-scrollbar {
	height: 5px;
	width: 5px;
	display: none;
}

/* Track */
::-webkit-scrollbar-track {
	background: none;
}
 
/* Handle */
::-webkit-scrollbar-thumb {
	background: white;
	border: 1px solid black;
	border-radius: 5px;
}

.link { 
	color: white;
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
	text-decoration: none;
}

.link::before {
	content: '「';
}

.link::after {
	content: '」';
}

.link:hover {
	font-style: italic;
}

h1, h2, h3 {
	text-decoration: 2px underline;
	text-decoration-style: solid;
}

.jp {
	font-family: 'MochiyPop';
	font-size: 50px;
}

.jp2 {
	font-family: 'Rampart';
	font-size: 50px;
}

/* status.cafe */

.status {
	display: flex;
	flex: 1;
	justify-content: center;
	align-items: center;
	gap: 10px;
}

.status > .statusicon {
	border: 2px solid black;
	flex: .5; 
	min-width: 0;
}

#statuscafe {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 5;
}
#statuscafe-username {
	display: none;
}

#statuscafe-content::before {
	content: '「';
}

#statuscafe-content::after {
	content: '」';
}