:root{
	--bg: #f6f7fb;
	--card-bg: #ffffff;
	--muted: #6c757d;
	--accent: #0d6efd;
}
html,body{height:100%;}
body {
	background: var(--bg);
	color: #212529;
	-webkit-font-smoothing:antialiased;
}
.card{
	background: var(--card-bg);
	border-radius: 8px;
	transition: transform .18s ease, box-shadow .18s ease;
	font-size: 0.95rem;
}
.card:hover{ transform: translateY(-6px); box-shadow: 0 8px 20px rgba(15,23,42,0.08); }
.group-card .card-body{ padding: 1rem; }
.card-title{ font-size: 1rem; font-weight:600; }
.card-text{ font-size: 0.875rem; color:var(--muted); }
.text-truncate{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.navbar-brand{ letter-spacing:0.2px; }
.btn-outline-primary{ border-radius: 6px; }
/* 搜索输入在较小屏幕下全宽 */
@media (max-width:576px){
	.navbar .form-control{ width: 100%; margin-bottom: .5rem; }
}

/* Toast 简单样式覆盖（Bootstrap 提供大部分） */
.site-toast{ position: fixed; right: 1rem; bottom: 1rem; z-index: 1100; }

/* 小屏幕卡片更紧凑 */
@media (max-width:480px){
	.card-title{ font-size: 0.95rem; }
	.card-text{ font-size:0.8rem; }
}

/* Powered by badge */
.powered-by{
	display:inline-flex;
	align-items:center;
	gap:0.5rem;
	color:var(--muted);
	text-decoration:none;
	font-size:0.85rem;
	transition:color .12s ease, transform .08s ease;
}
.powered-by:hover{ color:var(--accent); transform:translateY(-1px); }
.powered-icon{ display:inline-block; vertical-align:middle; }


/* 常驻搜索条 */
.top-search{
	position: sticky;
	top: 0;
	z-index: 1030;
	background: var(--card-bg);
	padding: 0.6rem 0;
	box-shadow: 0 2px 8px rgba(15,23,42,0.06);
}
.top-search .navbar-brand{ font-size:1rem; margin-right: .75rem; }
main.container{ padding-top: 0.5rem; }

/* Compact search controls in the top-search bar */
.top-search .form-control{
	padding: 0.32rem 0.5rem;
	height: 34px;
	line-height: 1;
	font-size: 0.95rem;
	box-sizing: border-box;
}
.top-search .btn{
	padding: 0.28rem 0.75rem;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap; /* 保证按钮文本不换行 */
	font-size: 0.95rem;
}
.top-search .form-control:focus, .top-search .btn:focus{
	box-shadow: 0 0 0 0.15rem rgba(102,126,234,0.18);
}