:root {
	--primary-dark: #121318;
	--secondary-dark: #1a1c24;
	--accent-green: #2ecc71;
	--accent-blue: #3498db;
	--accent-purple: #9b59b6;
	--highlight: rgba(46, 204, 113, 0.15);
	--text-light: #e0e0e0;
	--text-muted: #a0a0a0;
	--card-bg: rgba(26, 28, 36, 0.7);
	--border-color: rgba(255, 255, 255, 0.1);
	--gradient-dark: linear-gradient(135deg, #131417 0%, #1e1f26 100%);
	--gradient-accent: linear-gradient(135deg, #2ecc71, #3498db);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	background: var(--gradient-dark);
	color: var(--text-light);
	min-height: 100vh;
	overflow-x: hidden;
	line-height: 1.6;
	font-family: 'normal', Arial, sans-serif;
}

@font-face {
	font-family: 'normal';
	src: url('../font/normal.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

*::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

*::-webkit-scrollbar-track {
	background: #121212;
	border-radius: 8px;
	box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
}

*::-webkit-scrollbar-thumb {
	background: linear-gradient(135deg, #4a4a4a 0%, #2c2c2c 100%);
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	transition: background 0.3s ease;
}

*::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(135deg, #6a6a6a 0%, #4c4c4c 100%);
	border-color: rgba(255, 255, 255, 0.2);
}

.noselect {
	user-select: none;
}

.clamp-line {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
}

.clamp-line-3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
}

.clamp-line-4 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	text-overflow: ellipsis;
}

.toast {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #333;
	color: #fff;
	padding: 10px 20px;
	border-radius: 5px;
	z-index: 9999;
	animation: toastFall 0.6s ease-in forwards;
}

@keyframes toastFall {
	0% { transform: translateX(-50%) translateY(0); opacity: 1; }
	100% { transform: translateX(-50%) translateY(100vh); opacity: 0; }
}

.shadow-layer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 900;
	background-color: rgba(0, 0, 0, 0.6);
}

.floating-bubbles {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: -1;
	overflow: hidden;
}

.bubble {
	position: absolute;
	border-radius: 50%;
	background: rgba(52, 152, 219, 0.1);
	border: 1px solid rgba(46, 204, 113, 0.15);
	animation: floatBubble 20s infinite ease-in-out;
	will-change: transform;
	transform: translateZ(0);
	opacity: 0.6;
}

@keyframes floatBubble {
	0%, 100% { transform: translate(0, 0); }
	50% { transform: translate(15px, -30px); }
}

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px;
}