@charset "UTF-8";
/**
 * vis-legacy.css - 兼容层（待淘汰）
 * 包含旧式工具类、Bootstrap 兼容类、遗留组件。
 * 治理规则：只减不增，随页面重构逐步删除。
 *
 * 层级：vis.css（框架） → vis-legacy.css（兼容） → viskem.css / vis-ssssdev.css（域）
 */

/* ================================================================
   旧式工具类 — 逐步用 VISCSS Utility Layer 替代
   ================================================================ */

/* ── Padding ── */
.pd5  { padding: 5px; }
.pd10 { padding: 10px; }
.pd15 { padding: 15px; }
.pd20 { padding: 20px; }
.pl10 { padding-left: 10px; }
.pt5  { padding-top: 5px; }
.pt10 { padding-top: 10px; }
.ph10 { padding-left:10px; padding-right: 10px; }
.pv5  { padding-top:5px; padding-bottom: 5px; }
.pb8  { padding-bottom: 8px; }
.pb10 { padding-bottom: 10px; }

/* ── Margin ── */
.mg-auto { margin: auto; }
.mg5  { margin:5px; }
.mg10 { margin:10px; }
.mg15 { margin:15px; }
.mg20 { margin:20px; }
.mb5  { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb40 { margin-bottom: 40px; }
.mb80 { margin-bottom: 80px; }
.mt5  { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt40 { margin-top: 40px; }
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.ml60 { margin-left:60px; }
.ml80 { margin-left:80px; }
.ml100 { margin-left:100px; }
.ml120 { margin-left:120px; }
.ml140 { margin-left:140px; }
.mr10 { margin-right: 10px; }
.mr20 { margin-right: 20px; }

/* ── Sizing ── */
.w100p { width: 100%; }
.w30  { width: 30px; }
.w40  { width: 40px; }
.w50  { width: 50px; }
.w80  { width: 80px; }
.w100 { width: 100px; }
.w120 { width: 120px; }
.w140 { width: 140px; }
.w200 { max-width: 200px; }
.w300 { width: 300px; }
.w1200 { width: 1200px; }
.max-h450 { max-height: 450px; }
.max-h600 { max-height: 600px; }
.max-h1000 { max-height: 1000px; }
.max-w100p { max-width: 100%; }
.h50  { height: 50px; }
.h80  { height: 80px; }
.h100 { height: 100px; }
.h120 { height: 120px; }
.h140 { height: 140px; }
.h150 { height: 150px; }
.h200 { height: 200px; }
.h100p { height: 100%; }

/* ── Layout ── */
.fl { float: left; }
.fr { float: right; }
.tc { text-align: center; }
.tl { text-align: left; }
.tr { text-align: right; }

/* ── Line-height ── */
.lh-1  { line-height: 1; }
.lh-15 { line-height: 1.5; }
.lh20  { line-height: 20px; }
.lh25  { line-height: 25px; }
.lh50  { line-height: 50px; }
.lh100 { line-height: 100px; }
.lh150 { line-height: 150px; }

/* ── Display / Position ── */
.oh { overflow: hidden; }
.block { display: block; }
.block-inline { display: inline-block; }
.pos-abs { position: absolute; }
.center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

/* ── Font-size ── */
.d7rem { font-size: 0.7rem; }
.fs13 { font-size:13px; }
.fs15 { font-size:15px; }
.fs17 { font-size: 17px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs24 { font-size: 24px; }
.fs30 { font-size: 30px; }
.fs40 { font-size: 40px; }
.fs60 { font-size: 60px; }

/* ── Font-weight ── */
.b { font-weight: bold; }

/* ── Text ── */
.nowrap { white-space: nowrap; }
.to-e { text-overflow: ellipsis; }

/* ================================================================
   旧式颜色工具类
   ================================================================ */
.white { color: #ddd; }
.gray, a.gray { color:#888; }
.graylight, a.graylight { color:#CCC; }
a.graylight:hover { color:#87f4ff; }
.darkgray, a.graydark { color:#333; }
fc-yellow, .yellow { color: #ffd400; }
.greenyellow { color: greenyellow; }
.darkorange { color: darkorange; }
.blue { color: #83c0ff; }
.blanchedalmond { color: blanchedalmond; }
.crimson { color: crimson; }
.mediumorchid { color: mediumorchid; }
.burlywood { color: burlywood; }
.aquamarine { color: aquamarine; }
.skyblue { color: skyblue; }

/* ================================================================
   旧式组件
   ================================================================ */

/* ── bline ── */
.bline { border-bottom: 2px solid #1D1D1D; }

/* ── border-darkgray ── */
.border-darkgray { border:1px #222 solid; }
.border-darkgray li {
	padding: 2px 10px;
	border-bottom: 1px #222 solid;
	font-size: 0.7rem;
}
.border-darkgray li:last-child { border-bottom:none; }

/* ── list-group-item-light ── */
.list-group-item-light { background-color: #212121; }

/* ── bg-dark ── */
.bg-dark { background-color: #101010!important; }

/* ── a.title / a.subNav ── */
a.title { font-size: 12px; }
a.subNav { color: #999; }
a.subNav.current { color: white; font-weight: bold; }

/* ── avatar ── */
.avatar { border-radius: 0; }

/* ── .content markdown 样式（旧版，新页面请用 .markdown-rendered） ── */
.content { line-height: 1.5; }
.content.comment p { font-size: 13px; }
.content a { color:darkseagreen; }
.content hr { margin-top: 30px; border-top: 2px #222 solid; }
.content h2 {
	font-weight: bold;
	color: #FFF;
	padding-top: 50px;
	padding-bottom: 20px;
	border-top: 2px solid #222;
	margin-top: 50px;
}
.content.comment h2 { font-size: 19px; }
.content h2:first-child { padding-top: 0; margin-top:0; border-top: none; }
.content h3 { color:burlywood; padding-top: 30px; padding-bottom: 10px; }
.content.comment h3 { font-size: 17px; }
.content h3:first-child,
.content h4:first-child { padding-top: 0; }
.content h4 { color: cadetblue; padding-top: 15px; padding-bottom: 15px; }
.content.comment h4 { font-size: 15px; }
.content ul { padding-inline-start:30px; list-style-color: #222; list-style-type: disc; margin-bottom: 1rem; }
.content ul ul { margin-bottom: 0; }
.markdown-body ul li,
.content ul li { line-height: 1.8; list-style-type: disc; color:#7b7874; }
.content.comment ul li { font-size: 13px; }
.markdown-body ul ul ul li,
.markdown-body ul ul ul ul ul li,
.content ul ul ul li,
.content ul ul ul ul ul li { list-style-type: circle; color:#7b7874; line-height: 1.8; }
.markdown-body ul ul li,
.markdown-body ul ul ul ul li,
.markdown-body ul ul ul ul ul ul li,
.content ul ul li,
.content ul ul ul ul li,
.content ul ul ul ul ul ul li { list-style-type: circle; color: #748486; line-height: 1.8; }
.content blockquote { padding: 20px; border-left: 2px solid #333; background-color: #191919; }
.content blockquote p:last-child { margin-bottom: 0; }

/* ================================================================
   Bootstrap 兼容工具类 — 新页面使用 VISCSS Utility Layer
   ================================================================ */

/* ── Display ── */
.d-none          { display: none !important; }
.d-block         { display: block !important; }
.d-inline        { display: inline !important; }
.d-inline-block  { display: inline-block !important; }
.d-flex          { display: flex !important; }

@media (min-width: 576px) {
	.d-sm-none   { display: none !important; }
	.d-sm-block  { display: block !important; }
	.d-sm-inline { display: inline !important; }
	.d-sm-inline-block { display: inline-block !important; }
	.d-sm-flex   { display: flex !important; }
}
@media (min-width: 768px) {
	.d-md-none   { display: none !important; }
	.d-md-block  { display: block !important; }
	.d-md-inline { display: inline !important; }
	.d-md-inline-block { display: inline-block !important; }
	.d-md-flex   { display: flex !important; }
}
@media (min-width: 992px) {
	.d-lg-none   { display: none !important; }
	.d-lg-block  { display: block !important; }
	.d-lg-flex   { display: flex !important; }
}
@media (min-width: 1200px) {
	.d-xl-none   { display: none !important; }
	.d-xl-block  { display: block !important; }
	.d-xl-inline { display: inline !important; }
	.d-xl-inline-block { display: inline-block !important; }
	.d-xl-flex   { display: flex !important; }
}

/* ── Flex / Align ── */
.align-items-center  { align-items: center !important; }
.align-items-start   { align-items: flex-start !important; }
.align-items-end     { align-items: flex-end !important; }
.justify-content-center  { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.flex-wrap   { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-column { flex-direction: column !important; }

/* ── Text ── */
.text-center { text-align: center !important; }
.text-right  { text-align: right !important; }
.text-left   { text-align: left !important; }
.text-muted  { color: #888 !important; }
.text-white  { color: #ddd !important; }
.text-danger { color: #d17878 !important; }
.text-decoration-none { text-decoration: none !important; }
.font-weight-bold { font-weight: bold !important; }

/* ── Spacing ── */
.mr-auto { margin-right: auto !important; }
.ml-auto { margin-left: auto !important; }

/* ── Position ── */
.fixed-top {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 1030;
}

/* ── Form 补全 ──
   已迁入 vis.css（Form 控件区），此处仅保留注释。
   旧别名 form-group / form-row / form-control-sm / form-check / form-inline /
   input-group 等均已在 vis.css 中定义。
   下次清理可删除此注释块。
*/
