/* Bootstrap 5 兼容：移除链接默认下划线 */
a {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

/* 全局行距 1.35 倍 */
body {
	line-height: 1.35;
}

/* 表格行距 */
table, .table {
	line-height: 1.35;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
	line-height: 1.35;
	padding-top: 0.85em;
	padding-bottom: 0.85em;
}

/* 列表组行距 */
.list-group-item {
	line-height: 1.35;
	padding-top: 0.85em;
	padding-bottom: 0.85em;
}

/* 提交详情页：重新测试 / 删除 表单并排贴右 */
.uoj-inline-form-wrap form > div:last-child {
	margin-bottom: 0;
}
.uoj-inline-form-wrap button.mt-2 {
	margin-top: 0 !important;
}

html {
	font-size: 14px
}

body {
	padding-top: 0px;
	padding-bottom: 0px;
}

/* KaTeX: hide accessibility MathML layer to prevent duplicated visible text
   (e.g. $3$ showing as 333 when katex.css is missing/overridden). */
.katex .katex-mathml {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
.katex .katex-html {
	display: inline-block !important;
}

/* Problem/announcement markdown typography (light-touch).
   Avoid overriding tables/code blocks so existing UOJ/Bootstrap styling keeps working. */
.uoj-markdown-body {
	line-height: 1.65;
	font-size: 15px;
}
.uoj-markdown-body > :first-child { margin-top: 0 !important; }
.uoj-markdown-body > :last-child { margin-bottom: 0 !important; }
.uoj-markdown-body p { margin: 0 0 12px; }
.uoj-markdown-body h1,
.uoj-markdown-body h2,
.uoj-markdown-body h3,
.uoj-markdown-body h4,
.uoj-markdown-body h5,
.uoj-markdown-body h6 {
	margin: 18px 0 10px;
	font-weight: 600;
	line-height: 1.25;
}
.uoj-markdown-body h1 { font-size: 1.75em; }
.uoj-markdown-body h2 { font-size: 1.4em; }
.uoj-markdown-body h3 { font-size: 1.2em; }
.uoj-markdown-body hr { margin: 16px 0; }
.uoj-markdown-body blockquote { margin: 0 0 12px; }
.uoj-markdown-body ul,
.uoj-markdown-body ol { margin: 0 0 12px; padding-left: 1.4em; }
.uoj-markdown-body img { max-width: 100%; height: auto; }

.uoj-content {
	padding-top: 10px;
	padding-bottom: 10px;
	min-height: 250px;
}

.uoj-footer {
	text-align: center;
	margin-top: 20px;
	padding-top: 20px;
	color: gray;
	border-top: 1px solid #e5e5e5;
	line-height: 10px;
}
.uoj-footer a {
	color: gray;
}

.page-header {
	padding-bottom: 9px;
	margin-bottom: 10px;
	border-bottom: 1px solid #eee;
}

a.header-a {
	color: #333;
}

a sup {
	text-decoration: none;
	display: inline-block;
}
a sub {
	text-decoration: none;
	display: inline-block;
}

.indent2 {
	text-indent: 2em;
}

article p {
	text-indent: 2em;
}
.markdown-editor-out p {
	text-indent: 2em;
	word-break: break-all;
}

article img {
	vertical-align: baseline
}

pre {
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	padding: 9.5px;
	margin: 0 0 10px;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.uoj-username {
	font-weight: 800;
}

.uoj-honor {
	font-weight: 800;	
}
.uoj-score {
	font-weight: 700;
}

.card-uoj-accepted {
	border-color:#2bff4f;
}
.card-uoj-accepted>.card-header {
	cursor:pointer;
	color:#333;
	background-color:#00ee00;
	border-color:#2bff4f;
}
.card-uoj-accepted>.card-header:hover {
	background-color:#2bff4f;
}
.card-uoj-accepted>.card-header+.card-collapse>.card-body {
	border-top-color:#00ee00;
}
.card-uoj-accepted>.card-header .badge {
	color:#00ee00;
	background-color:#333;
}
.card-uoj-accepted>.card-header:hover .badge {
	color:#2bff4f;
}
.card-uoj-accepted>.card-footer+.card-collapse>.card-body {
	border-bottom-color:#2bff4f;
}

.card-uoj-wrong {
	border-color:#ff0000;
}
.card-uoj-wrong>.card-header {
	cursor:pointer;
	color:#333;
	background-color:#dd0000;
	border-color:#ff0000;
}
.card-uoj-wrong>.card-header:hover {
	background-color:#ff0000;
}
.card-uoj-wrong>.card-header+.card-collapse>.card-body {
	border-top-color:#dd0000;
}
.card-uoj-wrong>.card-header .badge {
	color:#dd0000;
	background-color:#333;
}
.card-uoj-wrong>.card-header:hover .badge {
	color:#ff0000;
}
.card-uoj-wrong>.card-footer+.card-collapse>.card-body {
	border-bottom-color:#ff0000;
}

.card-uoj-acceptable-answer {
	border-color:#ff7700;
}
.card-uoj-acceptable-answer>.card-header {
	cursor:pointer;
	color:#333;
	background-color:#ee5500;
	border-color:#ff0000;
}
.card-uoj-acceptable-answer>.card-header:hover {
	background-color:#ff7700;
}
.card-uoj-acceptable-answer>.card-header+.card-collapse>.card-body {
	border-top-color:#ee5500;
}
.card-uoj-acceptable-answer>.card-header .badge {
	color:#ff7700;
	background-color:#333;
}
.card-uoj-acceptable-answer>.card-header:hover .badge {
	color:#ff7700;
}
.card-uoj-acceptable-answer>.card-footer+.card-collapse>.card-body {
	border-bottom-color:#ff7700;
}

.card-uoj-tle {
	border-color:#ffff2b;
}
.card-uoj-tle>.card-header {
	cursor:pointer;
	color:#333;
	background-color:#e6e61e;
	border-color:#ffff2b;
}
.card-uoj-tle>.card-header:hover {
	background-color:#ffff2b;
}
.card-uoj-tle>.card-header+.card-collapse>.card-body {
	border-top-color:#ffff2b;
}
.card-uoj-tle>.card-header .badge {
	color:#e6e61e;
	background-color:#333;
}
.card-uoj-tle>.card-header:hover .badge {
	color:#ffff2b;
}
.card-uoj-tle>.card-footer+.card-collapse>.card-body {
	border-bottom-color:#ffff2b;
}

.table-text-center>thead>tr>th {
	text-align: center;
}
.table-text-center>tbody>tr>td {
	text-align: center;
}

.table-vertical-middle>thead>tr>th {
	vertical-align: middle;
}
.table-vertical-middle>tbody>tr>td {
	vertical-align: middle;
}

.top-buffer-no {
	margin-top: 0px;
}
.top-buffer-xs {
	margin-top: 3px;
}
.top-buffer-sm {
	margin-top: 5px;
}
.top-buffer-md {
	margin-top: 10px;
}
.top-buffer-lg {
	margin-top: 30px;
}

.bot-buffer-no {
	margin-bottom: 0px;
}
.bot-buffer-xs {
	margin-bottom: 3px;
}
.bot-buffer-sm {
	margin-bottom: 5px;
}
.bot-buffer-md {
	margin-bottom: 10px;
}
.bot-buffer-lg {
	margin-bottom: 30px;
}

.glyphicon-ok, .glyphicon-ok-sign {
	color: green;
}
.glyphicon-remove, .glyphicon-remove-sign {
	color: red;
}

.comt {
}

.comtposterbox {
	text-align:center;
}
.comtbox {
	width: 100%;
}
.comtbox1 {
	white-space: pre-wrap;
	word-break: break-all;
	min-height: 80px;
	margin-top: 10px;
	margin-bottom: 10px;
}
.comtbox2 {
	text-align: right;
}
.comtbox3 {
	display: inline-block;
	margin-right: 5px;
}
.comtbox4 {
	display: inline-block;
}
.comtbox5 {
	background-image: -webkit-linear-gradient(top, #f5f5f5 0, #fafafa 100%);
	background-image: -o-linear-gradient(top, #f5f5f5 0, #fafafa 100%);
	background-image: linear-gradient(to bottom, #f5f5f5 0, #fafafa 100%);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fffafafa', GradientType=0);
	border-color: #dcdcdc;
	-webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);
	padding: 9px;
	border-radius: 3px;
	
	min-height: 20px;
	margin-bottom: 20px;
	border: 1px solid #e3e3e3;

	margin-top: 10px;
}
.comtbox6 {
	white-space: pre-wrap;
	word-break: break-all;
}
.comtbox7 {
	background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #fafafa 100%);
	background-image: -o-linear-gradient(top, #f5f5f5 0%, #fafafa 100%);
	background-image: linear-gradient(to bottom, #f5f5f5 0%, #fafafa 100%);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fffafafa', GradientType=0);
	border-color: #dcdcdc;
	-webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);
	border-radius: 3px;
	
	margin-left: 50px;
	margin-top: 10px;
	margin-bottom: 2px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top:10px;
	white-space: nowrap;
	padding-bottom: 10px;
	border: 1px solid #e3e3e3;
	
	text-align: left;
}
.comtbox8 {
	background-image: -webkit-linear-gradient(top, #ffffff 100%, #fafafa 0%);
	background-image: -o-linear-gradient(top, #ffffff 100%, #fafafa 0%);
	background-image: linear-gradient(to bottom, #ffffff 100%, #fafafa 0%);
	background-repeat: repeat-x;
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fffafafa', GradientType=0);
	border-color: #dcdcdc;
	-webkit-box-shadow: inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);
	box-shadow: inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);
	border-radius: 3px;
	
	margin-left: 50px;
	margin-top: 10px;
	margin-bottom: 2px;
	padding-left: 10px;
	padding-right: 10px;
	padding-top:10px;
	white-space: nowrap;
	padding-bottom: 10px;
	border: 1px solid #e3e3e3;
	
	text-align: left;
}

.question-content {
	max-height: 100px;
	white-space: pre-wrap;
	word-wrap: break-word;
	word-break: break-all;
}

.uoj-click-zan-block {
	display: inline-block;
	min-width: 140px;
	text-align: left;
}

.uoj-click-zan-up, .uoj-click-zan-down, .uoj-click-zan-cnt {
	margin-left: 5px;
	margin-right: 5px;
}

.uoj-click-zan-block-cur-up .uoj-click-zan-up {
	color: green;
	font-weight: 700;
}
.uoj-click-zan-block-cur-down .uoj-click-zan-down {
	color: red;
	font-weight: 700;
}
.uoj-click-zan-block-cur-down .uoj-click-zan-up, .uoj-click-zan-block-cur-up .uoj-click-zan-down {
	color: gray;
}

.uoj-click-zan-block-positive .uoj-click-zan-cnt {
	color: green;
}
.uoj-click-zan-block-neutral .uoj-click-zan-cnt {
	color: gray;
}
.uoj-click-zan-block-negative .uoj-click-zan-cnt {
	color: red;
}

.uoj-problem-tag {
	margin-left: 5px;
	margin-right: 5px;
}
.uoj-blog-tag {
	margin-left: 5px;
	margin-right: 5px;
}

.uoj-status-details-img-div {
	display:inline-block;
	width:50%;
	padding-right:10px;
	text-align:right;
}
.uoj-status-details-text-div {
	display:inline-block;
	width:50%;
	padding-left:10px;
	text-align:left;
}

ul {
	padding-left: 20px;
}

/* 题目数据管理页：下载信息行距、右侧操作栏间距与按钮对齐 */
.uoj-problem-data-manage .uoj-data-download-row,
.uoj-problem-data-manage .uoj-data-download-row .control-label,
.uoj-problem-data-manage .uoj-data-download-row .form-control-static {
	line-height: 1.85;
}
.uoj-problem-data-manage .uoj-data-download-row a {
	word-break: break-all;
}
.uoj-problem-data-manage .uoj-problem-data-sidebar {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	width: 100%;
	box-sizing: border-box;
}
.uoj-problem-data-manage .uoj-problem-data-sidebar-status {
	line-height: 1.85;
	margin: 0;
	width: 100%;
	text-align: left;
	box-sizing: border-box;
}
.uoj-problem-data-manage .uoj-problem-data-sidebar > form {
	margin: 0;
	width: 100%;
	max-width: 100%;
	align-self: stretch;
	box-sizing: border-box;
}
/* UOJForm 默认用 text-center 包住提交按钮，侧栏内改为紧贴左缘、按钮栏内全宽（统一为「检验配置并同步数据」一栏宽度） */
.uoj-problem-data-manage .uoj-problem-data-sidebar form .text-center {
	text-align: left !important;
	margin-bottom: 0;
}
.uoj-problem-data-manage .uoj-problem-data-sidebar > form .mt-2 {
	margin-top: 0 !important;
}
.uoj-problem-data-manage .uoj-problem-data-sidebar button[type="submit"],
.uoj-problem-data-manage .uoj-problem-data-sidebar > .btn {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	align-self: stretch;
	text-align: center;
}
.uoj-problem-data-manage .uoj-problem-data-sidebar > #div-view_type {
	margin: 0;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
}