/* ==========================================================================
   fnthink导航 — 重构版样式表
   从 bootstrap.min.css / style.min.css / semantic.min.css / 页面内联样式中
   提取实际生效的规则，去除全部未使用的组件样式。选择器与属性值保持原样，
   以确保渲染结果与线上版本一致。
   ========================================================================== */

/* ---- 基础重置与全局（来自 semantic.min.css） ---- */
*,
::after,
::before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

body,
html {
	height: 100%
}

html {
	font-size: 14px
}

body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	min-width: 320px;
	background: #fff;
	font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.4285em;
	color: rgba(0, 0, 0, .87);
	-webkit-font-smoothing: antialiased
}

h1, h2, h3, h4, h5 {
	font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;
	line-height: 1.28571429em;
	margin: calc(2rem - .14285714em) 0 1rem;
	font-weight: 700;
	padding: 0
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child {
	margin-top: 0
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child {
	margin-bottom: 0
}

h6 {
	font-size: 1rem
}

p {
	margin: 0 0 1em;
	line-height: 1.4285em
}

p:first-child {
	margin-top: 0
}

p:last-child {
	margin-bottom: 0
}

a {
	color: #4183c4;
	text-decoration: none
}

a:hover {
	color: #1e70bf;
	text-decoration: none
}

::-webkit-selection {
	background-color: #cce2ff;
	color: rgba(0, 0, 0, .87)
}

::selection {
	background-color: #cce2ff;
	color: rgba(0, 0, 0, .87)
}

body ::-webkit-scrollbar {
	-webkit-appearance: none;
	width: 10px;
	height: 10px
}

body ::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, .1);
	border-radius: 0
}

body ::-webkit-scrollbar-thumb {
	cursor: pointer;
	border-radius: 5px;
	background: rgba(0, 0, 0, .25);
	-webkit-transition: color .2s ease;
	transition: color .2s ease
}

body ::-webkit-scrollbar-thumb:hover {
	background: rgba(128, 135, 139, .8)
}

/* ---- 页面容器（semantic.min.css 仅保留 container 段） ---- */
.ui.container {
	display: block;
	max-width: 100% !important
}

@media only screen and (max-width:767px) {
	.ui.container {
		width: auto !important;
		margin-left: 1em !important;
		margin-right: 1em !important
	}
}

@media only screen and (min-width:768px) and (max-width:991px) {
	.ui.container {
		width: 723px;
		margin-left: auto !important;
		margin-right: auto !important
	}
}

@media only screen and (min-width:992px) and (max-width:1199px) {
	.ui.container {
		width: 933px;
		margin-left: auto !important;
		margin-right: auto !important
	}
}

@media only screen and (min-width:1200px) {
	.ui.container {
		width: 1127px;
		margin-left: auto !important;
		margin-right: auto !important
	}
}

/* ---- 基本区块（semantic.min.css 仅保留 segment 段） ---- */
.ui.segment {
	position: relative;
	background: #fff;
	-webkit-box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15);
	box-shadow: 0 1px 2px 0 rgba(34, 36, 38, .15);
	margin: 1rem 0;
	padding: 1em 1em;
	border-radius: .28571429rem;
	border: 1px solid rgba(34, 36, 38, .15)
}

.ui.segment:first-child {
	margin-top: 0
}

.ui.segment:last-child {
	margin-bottom: 0
}

.ui.basic.segment {
	background: none transparent;
	border: none;
	-webkit-box-shadow: none;
	box-shadow: none
}

.ui.segment,
.ui.segments .segment {
	font-size: 1rem
}

/* ---- 卡片组件（semantic.min.css 仅保留 card 段） ---- */
.ui.card,
.ui.cards>.card {
	max-width: 100%;
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 290px;
	min-height: 0;
	background: #fff;
	padding: 0;
	border: none;
	border-radius: .28571429rem;
	-webkit-box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5;
	box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5;
	-webkit-transition: -webkit-box-shadow .1s ease, -webkit-transform .1s ease;
	transition: box-shadow .1s ease, transform .1s ease;
	z-index: ''
}

.ui.card {
	margin: 1em 0
}

.ui.card a,
.ui.cards>.card a {
	cursor: pointer
}

.ui.card:first-child {
	margin-top: 0
}

.ui.card:last-child {
	margin-bottom: 0
}

.ui.cards {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: -.875em -.5em;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.ui.cards>.card {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: .875em .5em;
	float: none
}

.ui.card:after,
.ui.cards:after {
	display: block;
	content: ' ';
	height: 0;
	clear: both;
	overflow: hidden;
	visibility: hidden
}

.ui.card>:first-child,
.ui.cards>.card>:first-child {
	border-radius: .28571429rem .28571429rem 0 0 !important;
	border-top: none !important
}

.ui.card>:last-child,
.ui.cards>.card>:last-child {
	border-radius: 0 0 .28571429rem .28571429rem !important
}

.ui.card>:only-child,
.ui.cards>.card>:only-child {
	border-radius: .28571429rem !important
}

.ui.card>.content,
.ui.cards>.card>.content {
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1;
	border: none;
	border-top: 1px solid rgba(34, 36, 38, .1);
	background: 0 0;
	margin: 0;
	padding: 1em;
	-webkit-box-shadow: none;
	box-shadow: none;
	font-size: 1em;
	border-radius: 0
}

.ui.card>.content>.header,
.ui.cards>.card>.content>.header {
	display: block;
	font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;
	color: rgba(0, 0, 0, .85)
}

.ui.card>.content>.header:not(.ui),
.ui.cards>.card>.content>.header:not(.ui) {
	font-weight: 700;
	font-size: 1.28571429em;
	margin-top: -.21425em;
	line-height: 1.28571429em
}

.ui.card [class*="left floated"],
.ui.cards>.card [class*="left floated"] {
	float: left
}

.ui.card .content img,
.ui.cards>.card .content img {
	display: inline-block;
	vertical-align: middle
}

.ui.card .avatar img,
.ui.card img.avatar,
.ui.cards>.card .avatar img,
.ui.cards>.card img.avatar {
	width: 2em;
	height: 2em;
	border-radius: 500rem
}

.ui.card .meta,
.ui.cards>.card .meta {
	font-size: 1em;
	color: rgba(0, 0, 0, .4)
}

.ui.cards a.card,
.ui.link.card,
.ui.link.cards .card,
a.ui.card {
	transform: none
}

.ui.four.cards {
	margin-left: -.75em;
	margin-right: -.75em
}

.ui.four.cards>.card {
	width: calc(25% - 1.5em);
	margin-left: .75em;
	margin-right: .75em
}

.ui.cards>.card {
	font-size: 1em
}

/* 堆叠卡片（移动端） */
@media only screen and (max-width:767px) {
	.ui.stackable.cards {
		display: block !important
	}

	.ui.stackable.cards>.card {
		display: block !important;
		height: auto !important;
		padding: 0 !important;
		margin: 1em !important;
		width: calc(100% - 2em) !important
	}

	.ui.stackable.cards>.card:first-child {
		margin-top: 0 !important
	}
}

/* ---- 站点工具类（bootstrap.min.css 仅保留实际使用的类） ---- */
.text-center {
	text-align: center !important
}

.mt-2 {
	margin-top: .5rem !important
}

.mb-3 {
	margin-bottom: 1rem !important
}

@media (min-width:768px) {
	.mb-md-5 {
		margin-bottom: 3rem !important
	}
}

/* ---- 站点自定义（style.min.css 仅保留实际生效的规则） ---- */
.left {
	float: left;
	width: 49%
}

.footer-links {
	font-size: 12px;
	margin-bottom: 15px;
	margin-top: 15px;
	margin-left: 15px;
	text-align: initial
}

.footer-links h6,
.footer-links li {
	font-size: 12px;
	font-weight: 400;
	display: inline;
	white-space: nowrap;
	margin: 0 8px;
	margin-left: 0;
	color: #797979
}

.footer {
	background: #fff;
	font-size: 12px
}

.card {
	background: #fff;
	margin-bottom: 1rem;
	box-shadow: 0 0 20px -5px rgba(158, 158, 158, .2);
	transition: background-color .3s;
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-color: #fff;
	background-clip: border-box;
	border: 1px solid rgba(0, 0, 0, .125);
	border-radius: .25rem
}

/* ---- 页面局部样式（原内联 <style>，保持原样） ---- */
.logo-font {
	letter-spacing: 6px;
	font-size: 2.5rem;
	color: #fff;
	text-align: center
}

body {
	height: 100vh;
	min-height: 100vh;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	background-image:
		radial-gradient(circle at 10% 20%, rgba(14, 165, 233, .1) 0%, transparent 20%),
		radial-gradient(circle at 80% 40%, rgba(99, 102, 241, .1) 0%, transparent 25%),
		radial-gradient(circle at 30% 70%, rgba(79, 70, 229, .1) 0%, transparent 20%),
		radial-gradient(circle at 60% 90%, rgba(16, 185, 129, .1) 0%, transparent 15%);
	padding-top: 140px;
	overflow-x: hidden
}

.search-container {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px;
	z-index: 9999
}

.search-wrap {
	display: flex;
	align-items: center;
	width: 90%;
	max-width: 700px;
	position: relative;
	margin-bottom: 16px
}

.search-input {
	flex: 1 1 0;
	padding: 14px 20px;
	border: none;
	border-radius: 30px 0 0 30px;
	outline: none;
	font-size: 16px;
	color: #333;
	background-color: rgba(255, 255, 255, .95);
	box-shadow: 0 4px 20px rgba(0, 0, 0, .15);
	transition: all .3s ease
}

.search-input:focus {
	box-shadow: 0 6px 25px rgba(0, 0, 0, .2);
	background-color: #fff
}

.search-input::placeholder {
	color: #94a3b8;
	transition: color .3s ease
}

.search-input:focus::placeholder {
	color: #cbd5e1
}

.search-btn {
	padding: 14px 24px;
	border: none;
	border-radius: 0 30px 30px 0;
	background-color: #3b82f6;
	color: #fff;
	cursor: pointer;
	transition: all .3s ease;
	font-size: 16px;
	font-weight: 500;
	box-shadow: 0 4px 15px rgba(59, 130, 246, .3)
}

.search-btn:hover {
	background-color: #2563eb;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(59, 130, 246, .4)
}

.search-btn:active {
	transform: translateY(0)
}

.search-btn i {
	margin-right: 6px;
	transition: transform .3s ease
}

.search-input:focus~.search-btn i {
	transform: scale(1.1)
}

.engine-select {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	padding: 8px 16px;
	background-color: rgba(255, 255, 255, .05);
	border-radius: 20px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, .1)
}

.engine-select span {
	color: rgba(255, 255, 255, .7);
	cursor: pointer;
	transition: all .3s ease;
	font-size: 14px;
	padding: 2px 4px;
	position: relative
}

.engine-select span:hover {
	color: #fff
}

.engine-select span.active {
	color: #38bdf8;
	font-weight: 500
}

.engine-select span.active::before {
	position: absolute;
	left: -12px;
	font-size: 12px
}

@media (max-width:768px) {
	.search-input {
		padding: 12px 16px;
		font-size: 15px
	}

	.search-btn {
		padding: 12px 18px;
		font-size: 15px
	}

	.engine-select {
		gap: 12px;
		padding: 6px 12px
	}

	.engine-select span {
		font-size: 13px
	}
}

@media (max-width:400px) {
	.search-wrap {
		width: 100%
	}

	.search-btn span {
		display: none
	}

	.search-btn i {
		margin-right: 0
	}

	.engine-select {
		gap: 10px
	}

	.engine-select span {
		font-size: 12px
	}
}

/* 搜索为空时的抖动提示动画（原由 JS 动态注入，现静态声明） */
@keyframes shake {
	0%, 100% { transform: translateX(0) }
	10%, 30%, 50%, 70%, 90% { transform: translateX(-5px) }
	20%, 40%, 60%, 80% { transform: translateX(5px) }
}

.shake {
	animation: shake .5s ease;
	border: 1px solid #ef4444 !important
}
