body {
	margin: 0;
	padding: 0;
	background: #090d2b;
	font-size: 20px;
	font-family: '微软雅黑', '宋体', sans-serif;
	color: #fff3dc;
	overflow: auto
}

#orientation-tip {
	display: none;
}

a {
	color: #ffe0a3;
	font-size: 14px;
}

#main {
	width: 100%;
}

#wrap {
	position: relative;
	margin: 0 auto;
	width: 1100px;
	height: 680px;
	margin-top: 10px;
	background: radial-gradient(circle at 78% 18%, rgba(255, 225, 154, .22) 0 2px, transparent 3px), radial-gradient(circle at 65% 32%, rgba(255, 255, 255, .75) 0 1px, transparent 2px), radial-gradient(circle at 90% 52%, rgba(255, 255, 255, .65) 0 1px, transparent 2px), radial-gradient(circle at 48% 10%, rgba(255, 255, 255, .8) 0 1px, transparent 2px);
}

#text {
	width: 510px;
	height: 500px;
	left: 60px;
	top: 80px;
	position: absolute;
}

#text.scrollable {
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

#code {
	display: none;
	font-size: 15px;
	line-height: 1.65;
	text-shadow: 0 1px 12px rgba(255, 210, 110, .18);
}

#code::after {
	content: "_";
	display: inline-block;
	color: #ffd477;
	animation: cursor-blink .8s steps(1, end) infinite;
}

@keyframes cursor-blink {
	50% { opacity: 0; }
}

#clock-box {
	position: absolute;
	left: 60px;
	top: 550px;
	font-size: 22px;
	display: none;
}

#clock-box a {
	font-size: 28px;
	text-decoration: none;
}

.qixi-label {
	color: #ffe0a3;
}

.title-line {
	color: #ffd477;
	font-size: 20px;
}

.signature {
	color: #ffd477;
	font-size: 14px;
}

#clock {
	margin-left: 48px;
}

#clock .digit {
	font-size: 64px;
}

#canvas {
	margin: 0 auto;
	width: 1100px;
	height: 680px;
	filter: drop-shadow(0 0 18px rgba(255, 210, 110, .12));
}

#error {
	margin: 0 auto;
	text-align: center;
	margin-top: 60px;
	display: none;
}

.hand {
	cursor: pointer;
}

.say {
	margin-left: 5px;
}

.space {
	margin-right: 150px;
}

@media (max-width: 760px) {
	#wrap {
		width: 100%;
		height: 760px;
		overflow: hidden;
		overflow-anchor: none;
	}
	#canvas {
		position: absolute;
		left: 50%;
		transform: translateX(-50%) scale(.62);
		transform-origin: top center;
	}
	#text {
		left: 18px;
		top: 32px;
		width: calc(100% - 36px);
		z-index: 2;
	}
	#code {
		font-size: 13px;
		line-height: 1.55;
	}
	.title-line {
		font-size: 17px;
	}
	#clock-box {
		left: 18px;
		top: 635px;
		font-size: 17px;
		z-index: 3;
	}
	#clock .digit {
		font-size: 34px;
	}
}

@media (orientation: landscape) and (max-width: 900px) {
	body {
		overflow: hidden;
		overflow-anchor: none;
	}
	#wrap {
		width: 100vw;
		height: 100vh;
		margin-top: 0;
		overflow: hidden;
	}
	#canvas {
		position: absolute;
		inset: 0;
		width: 100vw;
		height: 100vh;
		margin: 0;
	}
	#text {
		left: 3vw;
		top: 5vh;
		width: 45vw;
		height: 72vh;
		overflow: hidden;
		z-index: 2;
		background: linear-gradient(90deg, rgba(9, 13, 43, .72), rgba(9, 13, 43, .12));
		padding-right: 1vw;
	}
	#code {
		font-size: clamp(10px, 1.65vw, 15px);
		line-height: 1.55;
	}
	.title-line {
		font-size: clamp(13px, 2.15vw, 19px);
	}
	.signature {
		font-size: clamp(10px, 1.45vw, 13px);
	}
	#clock-box {
		left: 3vw;
		top: 80vh;
		font-size: clamp(12px, 1.9vw, 17px);
		z-index: 3;
	}
	#clock {
		margin-left: 2vw;
	}
	#clock .digit {
		font-size: clamp(24px, 4.5vw, 42px);
	}
}

@media (orientation: portrait) and (max-width: 900px) {
	#main {
		display: none;
	}
	#orientation-tip {
		position: fixed;
		inset: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 12px;
		background: #090d2b;
		color: #fff3dc;
		font-size: 22px;
		z-index: 20;
	}
	#orientation-tip small {
		color: #c8c4d8;
		font-size: 13px;
	}
	.orientation-icon {
		color: #ffd477;
		font-size: 52px;
		line-height: 1;
	}
}
