:root {
	--border_base: #e2ebf0;
	--font_base_2: #555555;
	--font_red_2: #fa2a7d;
	--font_orange_2: #ff7f4c;
	--font_yellow_2: #c2d03e;
	--font_green_2: #4cff6e;
	--font_cyan_2: #2afadf;
	--font_blue_2: #46c4fe;
	--font_purple_2: #cc2afa;

	--glass_base_2: #5555551a;
	--glass_red_2: #fa2a7d1a;
	--glass_orange_2: #ff7f4c1a;
	--glass_yellow_2: #c2d03e1a;
	--glass_green_2: #4cff6e1a;
	--glass_cyan_2: #2afadf1a;
	--glass_blue_2: #46c4fe1a;
	--glass_purple_2: #cc2afa1a;
}

button:hover {
	color: var(--font_primary_b);
	border-color: var(--border_primary_b);
}

button:active {
	color: var(--font_primary_d);
	border-color: var(--border_primary_d);
}

ol.mm_list li::before {
	color: var(--font_white);
	background-color: #afbfd4;
}

ol.mm_list li:nth-child(1)::before {
	background-color: #f12f04;
}

ol.mm_list li:nth-child(2)::before {
	background-color: #ff5000;
}

ol.mm_list li:nth-child(3)::before {
	background-color: #ff9000;
}

/* 内容 */
.tip,
.desc,
.description {
	color: var(--font_tip);
}

.note {
	color: var(--font_tip);
}

.money,
.total,
.price {
	color: var(--font_warning_d);
	font-weight: 600;
}

.price_ago {
	color: var(--font_base);
	text-decoration: line-through;
}

.num {
	font-family: var(--family_num);
	color: var(--font_info_d);
	font-weight: 600;
}

.time {
	color: var(--font_default);
}

.highlight_keyword {
	color: #f73131;
}

.mm_card {
	background: var(--bg_card);
	box-shadow: 0 0.25rem 0.5rem 0 rgba(7, 17, 27, 0.1);
	border-radius: 0.5rem;
	overflow: hidden;
}

.card {
	background: var(--bg_card);
	box-shadow: 0 0.25rem 0.5rem 0 rgba(7, 17, 27, 0.1);
	overflow: hidden;
}

.card_head {
	background: var(--bg_card);
}

.mm_modal .mm_card {
	background: none;
}

.mm_modal .card_head {
	background: var(--bg_card);
}

.mm_modal .card_body {
	background: var(--bg_card);
}

.mm_modal .card_foot {
	background: none;
}

.mm_table,
[class*=table-] {
	background: var(--bg_main);
}

.mm_btn:active {
	filter: brightness(80%);
}

.mm_btn {
	background: var(--bg_btn);
	color: var(--font_btn);
}

/* 原始标签 */
body {
	background-color: var(--bg_body);
	color: var(--font_body);
}

button {
	color: var(--font_btn);
	background-color: var(--bg_btn);
}

table a {
	color: var(--font_primary);
}

table a:hover {
	color: var(--font_primary_b);
}

table a:active {
	color: var(--font_primary_d);
}

select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjA2MTEyNTk4NTkxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3MTYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTgzMC4yNCAzNDAuNjg4bDExLjMyOCAxMS4zMTJhMTYgMTYgMCAwIDEgMCAyMi42MjRMNTMwLjQ0OCA2ODUuNzZhMTYgMTYgMCAwIDEtMjIuNjQgMEwxOTYuNjg4IDM3NC42MjRhMTYgMTYgMCAwIDEgMC0yMi42MjRsMTEuMzEyLTExLjMxMmExNiAxNiAwIDAgMSAyMi42MjQgMGwyODguNDk2IDI4OC40OTYgMjg4LjUxMi0yODguNDk2YTE2IDE2IDAgMCAxIDIyLjYyNCAweiIgcC1pZD0iMjcxNyIgZmlsbD0iIzk5OTk5OSI+PC9wYXRoPjwvc3ZnPg==') no-repeat center right transparent;
	padding-right: 1.5rem;
	background-position: calc(100% - 3px) center;
	background-color: var(--bg_control);
}

option {
	line-height: 1.5;
}

select option:focus,
select option:hover {
	background-color: var(--glass_primary);
}

select option[selected] {
	background-color: var(--glass_info);
}

/* ::selection { color: #ececec;  background: #222831;} */

::-webkit-datetime-edit-text {
	content: "-";
	color: var(--font_base);
}

/* 控制年字 */
::-webkit-datetime-edit-year-field {
	color: inherit;
}

::-webkit-datetime-edit-year-field:focus {
	background-color: var(--bg_primary_b);
}

/* 控制月字 */
::-webkit-datetime-edit-month-field {
	color: inherit;
}

::-webkit-datetime-edit-month-field:focus {
	background-color: var(--bg_primary_b);
}

/* 控制日字 */
::-webkit-datetime-edit-day-field {
	color: inherit;
}

::-webkit-datetime-edit-day-field:focus {
	background-color: var(--bg_primary_b);
}

input::placeholder {
	color: var(--font_tip);
}

input::-webkit-input-placeholder {
	color: var(--font_tip);
}

input:-moz-placeholder {
	color: var(--font_tip);
}

input:-ms-input-placeholder {
	color: var(--font_tip);
}

input:focus,
select:focus,
select:focus-visible,
textarea:focus {
	border-color: var(--border_primary);
}

nav a:hover {
	color: var(--font_primary_b);
}

nav a:active {
	color: var(--font_primary_d);
}

input[disabled],
input.disabled {
	pointer-events: none;
}

button[disabled],
button.disabled {
	cursor: not-allowed;
}

#head_top {
	background: var(--bg_header);
	color: var(--font_header);
}

/* ====== 公共样式 ====== */
/* === 表格 === */
.table-primary,
.table-primary tr {
	background-color: var(--bg_primary);
	color: var(--font_white);
}

.table-error,
.table-error tr {
	background-color: var(--bg_error);
	color: var(--font_white);
}

.table-success,
.table-success tr {
	background-color: var(--bg_success);
	color: var(--font_white);
}

.table-info,
.table-info tr {
	background-color: var(--bg_info);
	color: var(--font_white);
}

.table-warning,
.table-warning tr,
.table-danger,
.table-danger tr {
	background-color: var(--bg_warning);
	color: var(--font_white);
}

.table-light,
.table-light tr {
	background-color: var(--bg_light);
	color: var(--font_black);
}

.table-dark {
	background-color: var(--bg_dark);
	color: var(--font_white);
}

/* === 背景 === */
.bg-default {
	background-color: var(--bg_default) !important;
	color: var(--font_white) !important;
	border-color: var(--border_default) !important;
}

.bg-base {
	background-color: var(--bg_base) !important;
	color: var(--font_white) !important;
	border-color: var(--border_base) !important;
}

.bg-red {
	background-color: var(--bg_red) !important;
	color: var(--font_white) !important;
	border-color: var(--border_red) !important;
}

.bg-orange {
	background-color: var(--bg_orange) !important;
	color: var(--font_white) !important;
	border-color: var(--border_orange) !important;
}

.bg-yellow {
	background-color: var(--bg_yellow) !important;
	color: var(--font_white) !important;
	border-color: var(--border_yellow) !important;
}

.bg-green {
	background-color: var(--bg_green) !important;
	color: var(--font_white) !important;
	border-color: var(--border_green) !important;
}

.bg-cyan {
	background-color: var(--bg_cyan) !important;
	color: var(--font_white) !important;
	border-color: var(--border_cyan) !important;
}

.bg-blue {
	background-color: var(--bg_blue) !important;
	color: var(--font_white) !important;
	border-color: var(--border_blue) !important;
}

.bg-purple {
	background-color: var(--bg_purple) !important;
	color: var(--font_white) !important;
	border-color: var(--border_purple) !important;
}

.bg-black {
	background: var(--bg_black) !important;
	color: var(--font_white) !important;
	border-color: var(--border_black) !important;
}

.bg-white {
	background: var(--bg_white) !important;
	color: var(--font_black) !important;
	border-color: var(--border_white) !important;
}

.bg-grey {
	background-color: var(--bg_grey) !important;
	color: var(--font_white) !important;
	border-color: var(--border_grey) !important;
}

.bg-light {
	background-color: var(--bg_light) !important;
	color: var(--font_default) !important;
	border-color: var(--border_light) !important;
}

.bg-dark {
	background-color: var(--bg_dark) !important;
	color: var(--font_white) !important;
	border-color: var(--border_dark) !important;
}

.bg-primary {
	background-color: var(--bg_primary) !important;
	color: var(--font_white) !important;
	border-color: var(--border_primary) !important;
}

.bg-info {
	background-color: var(--bg_info) !important;
	color: var(--font_white) !important;
	border-color: var(--border_info) !important;
}

.bg-danger,
.bg-warning {
	background-color: var(--bg_warning) !important;
	color: var(--font_white) !important;
	border-color: var(--border_warning) !important;
}

.bg-error {
	background-color: var(--bg_error) !important;
	color: var(--font_white) !important;
	border-color: var(--border_error) !important;
}

.bg-success {
	background-color: var(--bg_success) !important;
	color: var(--font_white) !important;
	border-color: var(--border_success) !important;
}

.bg_no {
	background: none !important;
}

/* === 字体颜色 === */
.font-default {
	color: var(--font_default) !important;
}

.font-base {
	color: var(--font_base) !important;
}

.font-red {
	color: var(--font_red) !important;
}

.font-orange {
	color: var(--font_orange) !important;
}

.font-yellow {
	color: var(--font_yellow) !important;
}

.font-green {
	color: var(--font_green) !important;
}

.font-cyan {
	color: var(--font_cyan) !important;
}

.font-blue {
	color: var(--font_blue) !important;
}

.font-purple {
	color: var(--font_purple) !important;
}

.font-black {
	color: var(--font_black) !important;
}

.font-white {
	color: var(--font_white) !important;
}

.font-grey {
	color: var(--font_grey) !important;
}

.font-light {
	color: var(--font_light) !important;
}

.font-dark {
	color: var(--font_dark) !important;
}

.font-primary {
	color: var(--font_primary) !important;
}

.font-info {
	color: var(--font_info) !important;
}

.font-danger,
.font-warning {
	color: var(--font_warning) !important;
}

.font-error {
	color: var(--font_error) !important;
}

.font-success {
	color: var(--font_success) !important;
}

[class*=font_]:active {
	-webkit-filter: contrast(2) brightness(0.9);
	filter: contrast(2) brightness(0.9);
}

/* === 边框 === */
.br-default {
	border-color: var(--border_default) !important;
}

.br-base {
	border-color: var(--border_base) !important;
}

.br-red {
	border-color: var(--border_red) !important;
}

.br-orange {
	border-color: var(--border_orange) !important;
}

.br-yellow {
	border-color: var(--border_yellow) !important;
}

.br-green {
	border-color: var(--border_green) !important;
}

.br-cyan {
	border-color: var(--border_cyan) !important;
}

.br-blue {
	border-color: var(--border_blue) !important;
}

.br-purple {
	border-color: var(--border_purple) !important;
}

.br-primary {
	border-color: var(--border_primary) !important;
}

.br-info {
	border-color: var(--border_info) !important;
}

.br-danger,
.br-warning {
	border-color: var(--border_warning) !important;
}

.br-error {
	border-color: var(--border_error) !important;
}

.br-success {
	border-color: var(--border_success) !important;
}

/* === 按钮 === */
.btn-default-x {
	color: var(--font_default) !important;
	border-color: var(--border_default) !important;
}

.btn-base-x {
	color: var(--font_base) !important;
	border-color: var(--border_base) !important;
}

.btn-primary-x {
	color: var(--font_primary) !important;
	border-color: var(--border_primary) !important;
}

.btn-info-x {
	color: var(--font_info) !important;
	border-color: var(--border_info) !important;
}

.btn-danger_x,
.btn-warning-x {
	color: var(--font_warning) !important;
	border-color: var(--border_warning) !important;
}

.btn-error-x {
	color: var(--font_error) !important;
	border-color: var(--border_error) !important;
}

.btn-success-x {
	color: var(--font_success) !important;
	border-color: var(--border_success) !important;
}

.btn-default-x:active {
	color: var(--font_default) !important;
	background-color: var(--glass_default) !important;
}

.btn-base-x:active {
	color: var(--font_deep) !important;
	background-color: var(--glass_base) !important;
}

.btn-primary-x:active {
	color: var(--font_primary_d) !important;
	background-color: var(--glass_primary) !important;
}

.btn-info-x:active {
	color: var(--font_info_d) !important;
	background-color: var(--glass_info) !important;
}

.btn-danger_x:active,
.btn-warning-x:active {
	color: var(--font_warning_d) !important;
	background-color: var(--glass_warning) !important;
}

.btn-error-x:active {
	color: var(--font_error_d) !important;
	background-color: var(--glass_error) !important;
}

.btn-success-x:active {
	color: var(--font_success_d) !important;
	background-color: var(--glass_success) !important;
}

.btn-default {
	color: var(--font_white) !important;
	background-color: var(--bg_default) !important;
	border-color: transparent !important;
}

.btn-base {
	color: var(--font_white) !important;
	background-color: var(--bg_base) !important;
	border-color: transparent !important;
}

.btn-primary {
	color: var(--font_white) !important;
	background-color: var(--bg_primary) !important;
	border-color: transparent !important;
}

.btn-info {
	color: var(--font_white) !important;
	background-color: var(--bg_info) !important;
	border-color: transparent !important;
}

.btn-danger,
.btn-warning {
	color: var(--font_white) !important;
	background-color: var(--bg_warning) !important;
	border-color: transparent !important;
}

.btn-error {
	color: var(--font_white) !important;
	background-color: var(--bg_error) !important;
	border-color: transparent !important;
}

.btn-success {
	color: var(--font_white) !important;
	background-color: var(--bg_success) !important;
	border-color: transparent !important;
}

.btn_link {
	color: inherit !important;
	background: none !important;
	border-color: transparent !important;
}

.btn-default:active {
	background-color: var(--bg_default);
	color: var(--font_default);
	filter: brightness(0.8);
}

.btn-error:active {
	background-color: var(--bg_error_d) !important;
	color: var(--font_white) !important;
}

.btn-success:active {
	background-color: var(--bg_success_d) !important;
	color: var(--font_white) !important;
}

.btn-primary:active {
	background-color: var(--bg_primary_d) !important;
	color: var(--font_white) !important;
}

.btn-danger:active,
.btn-warning:active {
	background-color: var(--bg_warning_d) !important;
	color: var(--font_white) !important;
}

.btn-info:active {
	background-color: var(--bg_info_d) !important;
	color: var(--font_white) !important;
}

.btn-default:hover {
	background-color: var(--bg_default);
	color: var(--font_default);
	filter: brightness(1.2);
}

.btn-error:hover {
	background-color: var(--bg_error_b) !important;
	color: var(--font_white) !important;
}

.btn-success:hover {
	background-color: var(--bg_success_b) !important;
	color: var(--font_white) !important;
}

.btn-primary:hover {
	background-color: var(--bg_primary_b) !important;
	color: var(--font_white) !important;
}

.btn-danger:hover,
.btn-warning:hover {
	background-color: var(--bg_warning_b) !important;
	color: var(--font_white) !important;
}

.btn-info:hover {
	background-color: var(--bg_info_b) !important;
	color: var(--font_white) !important;
}

/* 反相（反转颜色） 可用于表格或按钮等 */
.inverted {
	filter: invert(100%);
}

[disabled],
.disabled {
	opacity: var(--opacity_disabled);
}



.c-red {
	color: var(--font_red) !important;
	background-color: var(--glass_red) !important;
	border-color: transparent !important;
}

.c-orange {
	color: var(--font_orange) !important;
	background-color: var(--glass_orange) !important;
	border-color: transparent !important;
}

.c-yellow {
	color: var(--font_yellow) !important;
	background-color: var(--glass_yellow) !important;
	border-color: transparent !important;
}

.c-green {
	color: var(--font_green) !important;
	background-color: var(--glass_green) !important;
	border-color: transparent !important;
}

.c-cyan {
	color: var(--font_cyan) !important;
	background-color: var(--glass_cyan) !important;
	border-color: transparent !important;
}

.c-blue {
	color: var(--font_blue) !important;
	background-color: var(--glass_blue) !important;
	border-color: transparent !important;
}

.c-purple {
	color: var(--font_purple) !important;
	background-color: var(--glass_purple) !important;
	border-color: transparent !important;
}

.c-red-2 {
	color: var(--font_red_2) !important;
	background-color: var(--glass_red_2) !important;
	border-color: transparent !important;
}

.c-orange-2 {
	color: var(--font_orange_2) !important;
	background-color: var(--glass_orange_2) !important;
	border-color: transparent !important;
}

.c-yellow-2 {
	color: var(--font_yellow_2) !important;
	background-color: var(--glass_yellow_2) !important;
	border-color: transparent !important;
}

.c-green-2 {
	color: var(--font_green_2) !important;
	background-color: var(--glass_green_2) !important;
	border-color: transparent !important;
}

.c-cyan-2 {
	color: var(--font_cyan_2) !important;
	background-color: var(--glass_cyan_2) !important;
	border-color: transparent !important;
}

.c-blue-2 {
	color: var(--font_blue_2) !important;
	background-color: var(--glass_blue_2) !important;
	border-color: transparent !important;
}

.c-purple-2 {
	color: var(--font_purple_2) !important;
	background-color: var(--glass_purple_2) !important;
	border-color: transparent !important;
}


.line-red,
.line-warning {
	background-image: line-gradient(135deg, #FF5A6A 0%, #f12f04 100%);
	color: var(--font_white);
}

.line-yellow,
.line-danger {
	background-image: line-gradient(135deg, rgb(252, 207, 49) 10%, rgb(245, 85, 85) 100%);
	color: var(--font_white);
}

.line-green,
.line-success {
	background-image: line-gradient(135deg, rgb(255, 247, 32) 10%, rgb(60, 213, 0) 100%);
	color: var(--font_white);
}

.line-blue,
.line-info {
	background-image: line-gradient(135deg, rgb(94, 252, 232) 10%, rgb(115, 110, 254) 100%);
	color: var(--font_white);
}

.line-purple {
	background-image: line-gradient(135deg, #EE9AE5 10%, #5961F9 100%);
	color: var(--font_white);
}

.line-red-1 {
	background-image: line-gradient(135deg, #fffddc 0%, #ff4c4c 20%, #fa2aa4 100%);
	color: var(--font_white);
}

.line-red-2 {
	background-image: line-gradient(135deg, #ffe7dc 0%, #ff7a4c 20%, #fa2a7d 100%);
	color: var(--font_white);
}

.line-yellow-1 {
	background-image: line-gradient(135deg, #ffe4dc 0%, #faa02a 20%, #ff4c5d 100%);
	color: var(--font_white);
}

.line-yellow-2 {
	background-image: line-gradient(135deg, #fffadc 0%, #faf32a 20%, #ff7f4c 100%);
	color: var(--font_white);
}


.line-green-1 {
	background-image: line-gradient(135deg, #dcf9ff 0%, #e8ff4c 20%, #2afac2 100%);
	color: var(--font_white);
}

.line-green-2 {
	background-image: line-gradient(135deg, #fff7dc 0%, #4cff6e 20%, #46c4fe 100%);
	color: var(--font_white);
}

.line-blue-1 {
	background-image: line-gradient(135deg, #dcfff9 0%, #2afadf 20%, #4c83ff 100%);
	color: var(--font_white);
}

.line-blue-2 {
	background-image: line-gradient(135deg, #dcffe0 0%, #2accfa 20%, #b14cff 100%);
	color: var(--font_white);
}

.line-purple-1 {
	background-image: line-gradient(135deg, #ffe8dc 0%, #ff4cb5 20%, #cc2afa 100%);
	color: var(--font_white);
}

.line-purple-2 {
	background-image: line-gradient(135deg, #ffe8dc 0%, #ec4cff 20%, #652afa 100%);
	color: var(--font_white);
}

/* === 水纹 === */
@keyframes wave_animation {
	0% {
		top: calc((100% - 0.25rem) / 2);
		left: calc((100% - 0.25rem) / 2);
		width: .25rem;
		height: .25rem;
		opacity: 0.25;
	}

	50% {
		top: calc((100% - 2rem) / 2);
		left: calc((100% - 2rem) / 2);
		width: 2rem;
		height: 2rem;
		opacity: 1;
	}

	100% {
		top: calc((100% - 6rem) / 2);
		left: calc((100% - 6rem) / 2);
		width: 6rem;
		height: 6rem;
		opacity: 0;
	}
}

.wave {
	position: relative;
	overflow: hidden;
}

.wave:active {
	-webkit-filter: saturate(1.5);
	filter: saturate(1.5);
}

.wave:focus::before {
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.1);
	position: absolute;
	content: "";
	display: block;
	background-attachment: fixed;
	background-position: center center;
	z-index: 2;
	animation: wave_animation 1s forwards;
}

.wave:focus::after {
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.1);
	position: absolute;
	content: "";
	display: block;
	z-index: 2;
	animation: wave_animation 1.5s forwards;
}

.bg_line-red {
	background: var(--line_red);
}

.bg_line-blue {
	background: var(--line_blue);
}

.bg_line-yellow {
	background: var(--line_yellow);
}

.bg_line-green {
	background: var(--line_green);
}