/* --- Global & Background Styles --- */

body {
	/* Combined background properties into one line */
	background: url("https://files.catbox.moe/qasmzr.jpg") center / cover no-repeat fixed;
	margin: 0;
	min-height: 100vh;
}
body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* Center is transparent, outer edge is dark */
	background: radial-gradient(circle, transparent 40%, rgba(0, 0, 0, 0.7) 100%);
	z-index: 1;
	pointer-events: none;
}
/* --- Container & Layout --- */

.mystic-container {
	position: relative;
	z-index: 2;
	/* Ensures content is above the vignette effect */
	width: 60%;
	margin: 50px auto;
	padding: 20px;
	background: rgba(240, 240, 240, 0.5);
	border: 1px solid #ccc;
	text-align: center;
	font-family: 'Georgia', serif;
	color: #2c2c2c;
}
.verse-box {
	min-height: 150px;
	max-width: 400px;
	margin: 10px auto;
	padding: 20px;
	border: 2px solid #d4af37;
	/* Gold border */
	border-radius: 1px;
	background-color: #fffaf0;
	/* Ivory parchment */
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
}
/* --- Buttons --- */

.mystic-btn {
	background: #1a1a1a;
	color: #d4af37;
	padding: 10px 20px;
	border: 1px solid #d4af37;
	cursor: pointer;
	letter-spacing: 1px;
	transition: 0.3s;
}
.mystic-btn:hover {
	background: #d4af37;
	color: #1a1a1a;
	box-shadow: 0 0 10px #d4af37;
}
/* Hidden by default until verse is generated */

.copy-btn {
	display: none;
	margin: 15px auto 0;
	background: none;
	border: none;
	color: #d4af37;
	font-family: 'Georgia', serif;
	font-style: italic;
	font-size: 0.8em;
	cursor: pointer;
	text-decoration: underline;
	opacity: 0.7;
	transition: 0.3s;
}
/* This class will be added via JavaScript */

.copy-btn.visible {
	display: block;
}
.copy-btn:hover {
	opacity: 1;
}
/* --- Animations --- */

.fade-in {
	animation: fadeIn 1.5s ease-in-out forwards;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}