@import url("font-awesome.min.css");

:root {
	--accent: #ff3571;
	--accent2: #3fffd6;
	--bg: #272727;
	--glass: rgba(39, 39, 39, 0.92);
	--glass-blur: blur(12px);
	--text: #e0e0e0;
	--text-dim: #b0b0b0;
	--border: #393939;
	--shadow: 0 8px 32px 0 rgba(39,39,39,0.37);
	--transition: 0.3s cubic-bezier(.4, 0, .2, 1);
}
html, body {
	margin: 0;
	padding: 0;
	background: linear-gradient(135deg, #272727 0%, #1a1a1a 100%);
	color: var(--text);
	font-family: 'Roboto Mono', 'Courier New', Courier, monospace;
	font-size: 14px;
	min-height: 100vh;
	box-sizing: border-box;
}
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	justify-content: center;
	align-items: center;
	animation: fadeIn 1.2s;
}
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(30px);}
	to { opacity: 1; transform: none;}
}
#main {
	background: var(--glass);
	border-radius: 24px;
	border: 1.5px solid var(--border);
	padding: 40px 32px 24px 32px;
	margin: 40px 0 20px 0;
	max-width: 900px;
	width: 95vw;
	backdrop-filter: var(--glass-blur);
	position: relative;
	animation: fadeIn 1.2s;

	background-image: url('../logo.png');
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 150px 150px;
}
.title {
	font-size: 3.5rem;
	font-weight: 700;
	letter-spacing: 2px;
	margin-bottom: 8px;
	color: var(--accent);
	-webkit-background-clip: text;
	background-clip: text;
	animation: gradientMove 3s linear infinite alternate;
}
@keyframes gradientMove {
	0% { background-position: 0% 50%;}
	100% { background-position: 100% 50%;}
}
.intro {
	font-size: 1.15rem;
	margin-bottom: 28px;
	color: var(--text-dim);
	line-height: 1.7;
	animation: fadeIn 1.5s 0.2s backwards;
}
.intro a {
	color: var(--accent);
	text-decoration: none;
	transition: color var(--transition);
}
.intro a:hover {
	color: var(--accent2);
}
.links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 24px;
	margin-bottom: 24px;
	align-items: center;
	animation: fadeIn 1.5s 0.4s backwards;
}
.links a {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--text);
	background: rgba(255, 255, 255, 0.03);
	border-radius: 8px;
	padding: 6px 6px;
	font-weight: 500;
	font-size: 1rem;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background var(--transition), color var(--transition), border var(--transition), transform var(--transition);
	box-shadow: 0 2px 8px 0 rgba(39,39,39,0.13);
}
.links a:hover {
	background: var(--accent);
	color: #fff;
	border: 1px solid var(--accent2);
	transform: translateY(-2px) scale(1.04);
}
.links img {
	width: 24px;
	height: 24px;
	border-radius: 6px;
	box-shadow: 0 1px 4px 0 rgba(39,39,39,0.13);
}
.songs {
	margin-top: 18px;
	margin-bottom: 18px;
	border-top: 2px solid var(--border);
	padding-top: 18px;
	animation: fadeIn 1.5s 0.6s backwards;
}
.songs h2 {
	font-size: 1.3rem;
	color: var(--accent2);
	margin: 28px 0 10px 0;
	letter-spacing: 1px;
	font-weight: 600;
	text-shadow: 0 2px 8px #0004;
	animation: fadeIn 1.5s 0.7s backwards;
}
.song-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid #39393944;
	transition: background var(--transition);
	font-size: 1.05rem;
	position: relative;
	opacity: 1;
	animation: fadeInSong 0.7s forwards;
}
@keyframes fadeInSong {
	from { opacity: 0; transform: translateY(10px);}
	to { opacity: 1; transform: none;}
}
.song-row:last-child {
	border-bottom: none;
}
.song-row .track-num {
	font-family: 'Roboto Mono', monospace;
	color: var(--accent2);
	font-size: 1rem;
	min-width: 2.2em;
	text-align: right;
	opacity: 0.7;
}
.song-row .song-title {
	flex: 1;
	font-weight: 500;
	color: var(--text);
	transition: color var(--transition);
}
.song-row a {
	color: var(--accent);
	font-weight: 600;
	text-decoration: none;
	margin-left: 6px;
	transition: color var(--transition), transform var(--transition);
	font-size: 1.1em;
}
.song-row a:hover {
	color: var(--accent2);
}
.footer {
	width: 100%;
	text-align: center;
	color: var(--text-dim);
	background: rgba(39, 39, 39, 0.95);
	border-top: 1.5px solid var(--border);
	padding: 18px 0 10px 0;
	font-size: 1rem;
	letter-spacing: 1px;
	margin-top: auto;
	box-shadow: 0 -2px 12px 0 #0002;
	animation: fadeIn 1.5s 1s backwards;
}
.albums img {
	padding-right: 4px;
	padding-bottom: 4px;
	width: 100%;
	max-width: 296px;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
@media (max-width: 650px) {
	#main { padding: 18px 4vw 12px 4vw; }
	.title { font-size: 2.1rem; }
	.links { gap: 10px 8px; }
	.songs h2 { font-size: 1.1rem; }
	.song-row { font-size: 0.98rem; }

	.albums img {
		padding-right: 4px;
		padding-bottom: 4px;
		width: 100%;
		max-width: 100%;
		border-radius: 12px;
		box-shadow: 0 2px 8px rgba(0,0,0,0.2);
	}
}
.go-link {
	margin-top: 12px;
	margin-bottom: 12px;
	font-size: 1.1rem;
	color: var(--accent);
	text-decoration: none;
	transition: color var(--transition);
}
.go-link:hover {
	color: var(--accent2);
}
.social-icon {
	width: 18px;
	vertical-align: middle;
	margin-right: 2px;
}
.visits {
	font-size: 0.9rem;
	color: var(--text-dim);
	margin-top: 20px;
	margin-bottom: 12px;
	text-align: right;
}
.footer-link {
	text-decoration:none;
	color: var(--text-dim);
}
.menu {
	
}
.menu a {
	color: var(--text-dim);
	text-decoration: none;
	font-size: 0.9rem;
	margin-bottom: 12px;
	display: inline-block;
	transition: color var(--transition);
}
.menu a:hover {
	color: var(--accent);
}
img.shino {
	width: 105px;
	height: 105px;
	border-radius: 12px;
	float: left;
	margin-top: 3px;
	margin-right: 15px;
	margin-bottom: 5px;
}
div#login {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1000;
    display: inline-block;
    padding: 8px 12px;
    color: #fff;
    border-radius: 6px;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background 0.3s ease;
}

div#login a {
	color: #fff;
    text-decoration: none;
}