MediaWiki:Common.css:修订间差异
来自Mindustry中文wiki
无编辑摘要 |
无编辑摘要 |
||
| (未显示同一用户的44个中间版本) | |||
| 第1行: | 第1行: | ||
/* | /* MediaWiki:Timeless.css - Mindustry green header + MkDocs-ish sidebars */ | ||
/* | |||
.banner | body.skin-timeless { | ||
--mdtBrand: #00af89; | |||
--mdtBrand2: #00cfa0; | |||
--mdtHeaderFg: #ffffff; | |||
--mdtText: rgba(0, 0, 0, 0.87); | |||
--mdtTextMut: rgba(0, 0, 0, 0.55); | |||
--mdtHover: rgba(0, 0, 0, 0.06); | |||
--mdtSidebarW: 16rem; | |||
--mdtShadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.08), | |||
0 0 0.05rem rgba(0, 0, 0, 0.12); | |||
} | |||
/* ===== Header (Mindustry green) ===== */ | |||
body.skin-timeless #mw-header-container { | |||
background: var(--mdtBrand) !important; | |||
color: var(--mdtHeaderFg); | |||
box-shadow: var(--mdtShadow); | |||
border-bottom: 1px solid rgba(0, 0, 0, 0.12); | |||
} | |||
body.skin-timeless #mw-header { | |||
display: flex; | |||
align-items: center; | |||
gap: 0.75rem; | |||
flex-wrap: nowrap; | |||
} | |||
body.skin-timeless #mw-header .visualClear { | |||
display: none; | |||
} | |||
/* Site title (left) */ | |||
body.skin-timeless #p-logo-text { | |||
order: 1; | |||
flex: 0 0 auto; | |||
min-width: 0; | |||
max-width: none; | |||
position: static !important; | |||
text-align: left !important; | |||
} | |||
body.skin-timeless #p-logo-text #p-banner { | |||
display: flex; | |||
align-items: center; | |||
gap: 0.5rem; | |||
color: inherit; | |||
text-decoration: none; | |||
font-weight: 700; | |||
letter-spacing: 0.02em; | |||
line-height: 1.1; | |||
} | |||
/* Hide sidebar logo; show a small icon next to title */ | |||
body.skin-timeless #mw-site-navigation #p-logo { | |||
display: none !important; | |||
} | |||
body.skin-timeless #p-logo-text #p-banner::before { | |||
content: ''; | |||
width: 32px; | |||
height: 32px; | |||
background: url(/resources/assets/logo.jpg) center / cover no-repeat; | |||
border-radius: 8px; | |||
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22); | |||
} | |||
/* Search (right, smaller, dark like external wiki) */ | |||
body.skin-timeless #p-search { | |||
order: 2; | |||
margin-left: auto; | |||
flex: 0 1 13rem; | |||
min-width: 11rem; | |||
max-width: 22vw; | |||
} | |||
body.skin-timeless #p-search h3 { | |||
display: none; | |||
} | |||
body.skin-timeless #p-search form { | |||
margin: 0; | |||
} | |||
body.skin-timeless #mw-header-container #simpleSearch { | |||
display: flex; | |||
align-items: stretch; | |||
height: 2.2rem; | |||
width: 100%; | |||
background: rgba(0, 0, 0, 0.28) !important; | |||
border: 1px solid rgba(255, 255, 255, 0.14) !important; | |||
border-radius: 0.35rem !important; | |||
box-shadow: none !important; | |||
overflow: hidden; | |||
} | |||
body.skin-timeless #mw-header-container #simpleSearch:focus-within { | |||
background: rgba(0, 0, 0, 0.36) !important; | |||
border-color: rgba(255, 255, 255, 0.25) !important; | |||
} | |||
body.skin-timeless #mw-header-container #searchInput-container { | |||
flex: 1 1 auto; | |||
} | |||
body.skin-timeless #mw-header-container #searchInput { | |||
height: 100% !important; | |||
width: 100% !important; | |||
background: transparent !important; | |||
border: 0 !important; | |||
box-shadow: none !important; | |||
color: var(--mdtHeaderFg) !important; | |||
padding: 0.25rem 0.55rem !important; | |||
} | |||
body.skin-timeless #mw-header-container #searchInput::placeholder { | |||
color: rgba(255, 255, 255, 0.75) !important; | |||
} | |||
/* Hide both submit buttons (press Enter to search) */ | |||
body.skin-timeless #mw-header-container #mw-searchButton, | |||
body.skin-timeless #mw-header-container #searchButton { | |||
display: none !important; | |||
} | |||
/* Account area on far right */ | |||
body.skin-timeless #user-tools { | |||
order: 3; | |||
flex: 0 0 auto; | |||
white-space: nowrap; | |||
} | } | ||
/* ========== | |||
# | body.skin-timeless #mw-header a, | ||
body.skin-timeless #mw-header a:visited { | |||
color: var(--mdtHeaderFg); | |||
} | |||
body.skin-timeless #mw-header .dropdown { | |||
color: rgba(0, 0, 0, 0.87); | |||
} | |||
body.skin-timeless #mw-header .dropdown a, | |||
body.skin-timeless #mw-header .dropdown a:visited { | |||
color: #0645ad; | |||
} | |||
/* Header color bar -> solid Mindustry green */ | |||
body.skin-timeless #mw-header-hack { | |||
background: var(--mdtBrand) !important; | |||
} | |||
body.skin-timeless #mw-header-hack .color-left, | |||
body.skin-timeless #mw-header-hack .color-middle, | |||
body.skin-timeless #mw-header-hack .color-right { | |||
background: var(--mdtBrand) !important; | |||
} | |||
/* ===== Sidebars (left + right consistent) ===== */ | |||
body.skin-timeless #mw-site-navigation, | |||
body.skin-timeless #mw-related-navigation { | |||
width: var(--mdtSidebarW) !important; | |||
flex: 0 0 var(--mdtSidebarW) !important; | |||
} | |||
body.skin-timeless #mw-site-navigation .sidebar-chunk, | |||
body.skin-timeless #mw-related-navigation .sidebar-chunk { | |||
background: transparent; | |||
border: 0; | |||
box-shadow: none; | |||
padding: 0.25rem 0; | |||
margin: 0 0 1rem; | |||
} | |||
body.skin-timeless #mw-site-navigation .sidebar-chunk > h2, | |||
body.skin-timeless #mw-related-navigation .sidebar-chunk > h2 { | |||
margin: 0.25rem 0.75rem 0.5rem; | |||
font-size: 0.8rem; | |||
letter-spacing: 0.06em; | |||
color: var(--mdtTextMut); | |||
} | |||
body.skin-timeless #mw-site-navigation .mw-portlet-body ul, | |||
body.skin-timeless #mw-related-navigation .mw-portlet-body ul { | |||
list-style: none; | |||
margin: 0; | |||
padding: 0; | |||
} | |||
body.skin-timeless #mw-site-navigation .mw-portlet-body a, | |||
body.skin-timeless #mw-related-navigation .mw-portlet-body a { | |||
display: block; | |||
padding: 0.38rem 0.85rem; | |||
border-radius: 10px; | |||
text-decoration: none; | |||
color: var(--mdtText); | |||
box-shadow: inset 3px 0 0 transparent; | |||
} | |||
body.skin-timeless #mw-site-navigation .mw-portlet-body a:hover, | |||
body.skin-timeless #mw-related-navigation .mw-portlet-body a:hover { | |||
background: var(--mdtHover); | |||
box-shadow: inset 3px 0 0 var(--mdtBrand2); | |||
} | |||
/* Desktop: sticky and scrollable sidebars */ | |||
@media (min-width: 1000px) { | |||
body.skin-timeless #mw-site-navigation, | |||
body.skin-timeless #mw-related-navigation { | |||
position: sticky; | |||
top: 4rem; | |||
align-self: flex-start; | |||
max-height: calc(100vh - 4rem); | |||
overflow-y: auto; | |||
} | |||
} | |||
/* Thin scrollbar like MkDocs */ | |||
body.skin-timeless #mw-site-navigation, | |||
body.skin-timeless #mw-related-navigation { | |||
scrollbar-width: thin; | |||
scrollbar-color: rgba(0, 207, 160, 0.85) transparent; | |||
} | |||
body.skin-timeless #mw-site-navigation::-webkit-scrollbar, | |||
body.skin-timeless #mw-related-navigation::-webkit-scrollbar { | |||
width: 6px; | |||
} | |||
body.skin-timeless #mw-site-navigation::-webkit-scrollbar-track, | |||
body.skin-timeless #mw-related-navigation::-webkit-scrollbar-track { | |||
background: transparent; | |||
} | |||
body.skin-timeless #mw-site-navigation::-webkit-scrollbar-thumb, | |||
body.skin-timeless #mw-related-navigation::-webkit-scrollbar-thumb { | |||
background: rgba(0, 207, 160, 0.85); | |||
border-radius: 999px; | |||
} | |||
/* ===== Collapsible navigation (left) ===== */ | |||
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavGroup { | |||
display: grid; | |||
grid-template-columns: 1fr 2rem; | |||
align-items: center; | |||
min-width: 0; | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavGroup > a { | |||
min-width: 0; | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavToggle { | |||
width: 2rem; | |||
height: 2rem; | |||
border: 0; | |||
background: transparent; | |||
cursor: pointer; | |||
color: var(--mdtTextMut); | |||
border-radius: 10px; | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavToggle:hover { | |||
background: var(--mdtHover); | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavToggle::before { | |||
content: '\25B8'; | |||
display: block; | |||
font-size: 18px; | |||
line-height: 1; | |||
transition: transform 0.15s ease; | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavOpen > .mdtNavToggle::before { | |||
transform: rotate(90deg); | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavSublist { | |||
grid-column: 1 / -1; | |||
list-style: none; | |||
margin: 0.15rem 0 0.4rem; | |||
padding: 0 0 0 0.85rem; | |||
border-left: 1px solid rgba(0, 0, 0, 0.08); | |||
display: none; | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavOpen > .mdtNavSublist { | |||
display: block; | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavSublist a { | |||
font-size: 0.92em; | |||
padding: 0.32rem 0.85rem; | |||
} | |||
body.skin-timeless #mw-site-navigation #p-navigation a.mdtNavActive { | |||
color: var(--mdtBrand) !important; | |||
background: rgba(0, 175, 137, 0.12) !important; | |||
box-shadow: inset 3px 0 0 var(--mdtBrand) !important; | |||
} | |||
/* Page title underline -> green */ | |||
body.skin-timeless .mw-body h1.firstHeading { | |||
border-bottom-color: var(--mdtBrand) !important; | |||
} | |||
/* Small screens: search wraps */ | |||
@media (max-width: 720px) { | |||
body.skin-timeless #mw-header { | |||
flex-wrap: wrap; | |||
} | |||
body.skin-timeless #p-search { | |||
flex: 1 1 100%; | |||
max-width: none; | |||
margin-left: 0; | |||
} | |||
} | |||
/* ===== Homepage (mdtHome): rounded + Mindustry green accent ===== */ | |||
body.skin-timeless .mdtHome { | |||
--mdtHomePanel: #2c857c; | |||
--mdtHomeCard: #279d86; | |||
--mdtHomeCardHover: #2d7c72; | |||
--mdtHomeBorder: rgba(63, 101, 86, 0.55) | |||
--mdtHomeText: rgba(255, 255, 255, 0.92); | |||
--mdtHomeMut: rgba(255, 255, 255, 0.68); | |||
/* Use site theme vars when available */ | |||
--mdtHomeAccent: var(--mdtBrand2, #00cfa0); | |||
--mdtHomeAccent2: var(--mdtBrand, #00af89); | |||
--mdtHomeCardTint: rgba(4, 201, 155, 0.08); | |||
--mdtHomeCardTintHover: rgba(0, 207, 160, 0.12); | |||
--mdtHomeRadiusPanel: 22px; | |||
--mdtHomeRadiusCard: 18px; | |||
} | |||
/* Panels */ | |||
body.skin-timeless .mdtHome .mdtPanel { | |||
background: var(--mdtHomePanel) !important; | |||
border: 1px solid var(--mdtHomeBorder); | |||
border-top: 3px solid rgba(0, 207, 160, 0.35); | |||
border-radius: var(--mdtHomeRadiusPanel); | |||
color: var(--mdtHomeText); | |||
box-shadow: | |||
inset 0 1px 0 rgba(255, 255, 255, 0.06), | |||
0 16px 34px rgba(0, 0, 0, 0.22); | |||
overflow: hidden; | |||
} | |||
/* Hero */ | |||
body.skin-timeless .mdtHome .mdtHomeHero { | |||
padding: 1rem 1.1rem; | |||
display: grid; | |||
grid-template-columns: 4.75rem 1fr; | |||
gap: 1rem; | |||
align-items: center; | |||
background-image: none !important; | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroLogo { | |||
width: 72px; | |||
height: 72px; | |||
border-radius: 14px; | |||
background: url(/resources/assets/ui/alphaaaa.png) center / contain no-repeat; | |||
image-rendering: pixelated; | |||
box-shadow: | |||
inset 0 1px 0 rgba(255, 255, 255, 0.08), | |||
0 10px 22px rgba(0, 0, 0, 0.28), | |||
0 0 0 2px rgba(0, 207, 160, 0.14); | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroTitle { | |||
color: var(--mdtHomeText); | |||
font-weight: 850; | |||
font-size: 1.45rem; | |||
line-height: 1.1; | |||
margin: 0; | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroSubtitle { | |||
color: var(--mdtHomeMut); | |||
margin-top: 0.35rem; | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroLinks { | |||
margin-top: 0.85rem; | |||
display: flex; | |||
flex-wrap: wrap; | |||
gap: 0.5rem; | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroLinks a { | |||
display: inline-block; | |||
padding: 0.44rem 0.9rem; | |||
border-radius: 999px; | |||
border: 1px solid rgba(0, 207, 160, 0.28); | |||
background: rgba(0, 207, 160, 0.14); | |||
color: var(--mdtHomeText) !important; | |||
text-decoration: none !important; | |||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroLinks a:hover { | |||
border-color: rgba(0, 207, 160, 0.65); | |||
background: rgba(0, 207, 160, 0.18); | |||
} | |||
/* Sections */ | |||
body.skin-timeless .mdtHome .mdtHomeSection { | |||
padding: 1rem 1.1rem; | |||
margin-top: 1rem; | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeSection h2 { | |||
margin-top: 0; | |||
border-bottom: 1px solid rgba(0, 207, 160, 0.18) !important; | |||
color: var(--mdtHomeText); | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeSection a { | |||
color: var(--mdtHomeAccent); | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeSection a:visited { | |||
color: var(--mdtHomeAccent2); | |||
} | |||
/* Card grid */ | |||
body.skin-timeless .mdtHome .mdtHomeGrid { | |||
margin-top: 0.85rem; | |||
display: grid; | |||
grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); | |||
gap: 1rem; | |||
} | |||
/* Cards: style the wiki-generated <a> (use [[Page|...]] in wikitext) */ | |||
body.skin-timeless .mdtHome .mdtCard > a { | |||
position: relative; | |||
display: grid; | |||
gap: 0.35rem; | |||
padding: 1.05rem 1.1rem; | |||
border: 1px solid rgba(255, 255, 255, 0.10); | |||
border-radius: var(--mdtHomeRadiusCard); | |||
background: | |||
linear-gradient(135deg, var(--mdtHomeCardTint), rgba(0, 0, 0, 0) 60%), | |||
var(--mdtHomeCard); | |||
color: var(--mdtHomeText) !important; | |||
text-decoration: none !important; | |||
box-shadow: 0 12px 26px rgba(0, 0, 0, 0.20); | |||
transition: transform 0.12s ease, border-color 0.12s ease, | |||
background 0.12s ease, box-shadow 0.12s ease; | |||
} | |||
body.skin-timeless .mdtHome .mdtCard > a::before { | |||
content: ''; | |||
position: absolute; | |||
left: 0; | |||
top: 0.85rem; | |||
bottom: 0.85rem; | |||
width: 3px; | |||
border-radius: 999px; | |||
background: linear-gradient( | |||
180deg, | |||
rgba(0, 207, 160, 0.85), | |||
rgba(0, 175, 137, 0.18) | |||
); | |||
opacity: 0.18; | |||
pointer-events: none; | |||
} | |||
body.skin-timeless .mdtHome .mdtCard > a:visited { | |||
color: var(--mdtHomeText) !important; | |||
} | |||
body.skin-timeless .mdtHome .mdtCard > a:hover { | |||
transform: translateY(-2px); | |||
border-color: rgba(0, 207, 160, 0.55); | |||
background: | |||
linear-gradient(135deg, var(--mdtHomeCardTintHover), rgba(0, 0, 0, 0) 60%), | |||
var(--mdtHomeCardHover); | |||
box-shadow: | |||
0 18px 36px rgba(0, 0, 0, 0.26), | |||
0 0 0 4px rgba(0, 207, 160, 0.12); | |||
} | |||
body.skin-timeless .mdtHome .mdtCard > a:hover::before { | |||
opacity: 0.55; | |||
} | |||
body.skin-timeless .mdtHome .mdtCard > a:focus-visible { | |||
outline: 3px solid rgba(0, 207, 160, 0.35); | |||
outline-offset: 3px; | |||
} | |||
body.skin-timeless .mdtHome .mdtCardTitle { | |||
display: block; | |||
font-weight: 850; | |||
font-size: 1.08rem; | |||
line-height: 1.1; | |||
letter-spacing: 0.01em; | |||
} | |||
body.skin-timeless .mdtHome .mdtCardDesc { | |||
display: block; | |||
color: var(--mdtHomeMut); | |||
font-size: 0.93rem; | |||
} | |||
body.skin-timeless .mdtHome .mdtCard > a:hover .mdtCardTitle { | |||
color: rgba(0, 207, 160, 0.95); | |||
} | |||
@media (max-width: 720px) { | |||
body.skin-timeless .mdtHome .mdtHomeHero { | |||
grid-template-columns: 1fr; | |||
justify-items: start; | |||
} | |||
} | |||
/* 可选:防止站点标题换行导致顶部栏变高、搜索下移 */ | |||
body.skin-timeless #p-logo-text { | |||
max-width: 42vw; | |||
} | |||
body.skin-timeless #p-logo-text #p-banner { | |||
max-width: 42vw; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
@media (max-width: 720px) { | |||
body.skin-timeless #p-logo-text, | |||
body.skin-timeless #p-logo-text #p-banner { | |||
max-width: none; | |||
overflow: visible; | |||
text-overflow: clip; | |||
} | |||
} | |||
.mdtHomeGrid.mdtHomeGridZigzag{ | |||
display: flex; | display: flex; | ||
flex-direction: column; | |||
height: 100%; | gap: 18px; | ||
} | |||
.mdtHomeGrid.mdtHomeGridZigzag .mdtCard{ | |||
width: min(420px, 100%); | |||
} | |||
.mdtHomeGrid.mdtHomeGridZigzag .mdtCard:nth-child(even){ | |||
margin-left: auto; | |||
} | |||
.mdtHomeGrid.mdtHomeGridZigzag { display:flex !important; flex- | |||
direction:column !important; gap:18px; } | |||
.mdtHomeGrid.mdtHomeGridZigzag > .mdtCard { width:min(420px,100%); } | |||
.mdtHomeGrid.mdtHomeGridZigzag > .mdtCard:nth-child(even) { margin- | |||
left:auto; } | |||
/* 只在“首页”隐藏页面标题 */ | |||
body.page-首页 #firstHeading, | |||
body.page-首页 .mw-page-title-main { display: none; } | |||
body.skin-timeless .mdtHome{ | |||
--mdtHomePanel: #2c9d8c !important; /* 容器底色 */ | |||
--mdtHomeBorder: rgba(49, 144, 106, 0.55) !important; | |||
} | |||
/* ===== mdtHome 强制覆写配色 ===== */ | |||
body.skin-timeless .mdtHome{ | |||
--mdtHomePanel: #ffffff!important; /* 容器底色 */ | |||
--mdtHomeBorder: rgba(0, 255, 153, 0.77) !important; | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroLinks a{ | |||
display: inline-block; | |||
background: #ffffff !important; /* 按钮底色*/ | |||
border: 2px solid #b5b5b5 !important; | |||
color: rgba(255,255,255,.92) !important; | |||
} | |||
body.skin-timeless .mdtHome .mdtHomeHeroLinks a:hover{ | |||
background: #fcfcfc !important; | |||
border-color: #bfbfbf !important; | |||
} | |||
/* 手机端:地区这种 mdtIconGrid 改成两列网格 */ | |||
@media (max-width: 720px) { | |||
.mdtIconGrid, | |||
.mdtHomeGrid { | |||
display: grid !important; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)) !important; | |||
gap: 12px !important; | |||
} | |||
.mdtIconGridItem, | |||
.mdtHomeGrid .mdtCard { | |||
margin: 0 !important; | |||
min-width: 0 !important; | |||
} | |||
} | |||
/* 特别窄的手机再退回一列(可选) */ | |||
@media (max-width: 380px) { | |||
.mdtIconGrid, | |||
.mdtHomeGrid { | |||
grid-template-columns: 1fr !important; | |||
} | |||
} | |||
/* 基础卡片:对应你 2 图那种“白底 + 圆角 + 阴影” */ | |||
.mw-parser-output .mdtCard { | |||
background: #fff; | |||
border: 1px solid rgba(0, 0, 0, 0.08); | |||
border-radius: 18px; | |||
padding: 16px; | |||
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08); | |||
} | |||
/* 绿色强调卡片:像你 2 图“介绍”那种效果 */ | |||
.mw-parser-output .mdtCard.mdtAccent { | |||
border-color: rgba(0, 207, 160, 0.35); | |||
box-shadow: 0 14px 30px rgba(0, 207, 160, 0.14), 0 10px 24px rgba(0, 0, 0, 0.06); | |||
} | |||
.mw-parser-output .mdtCardTitle { | |||
font-weight: 800; | |||
font-size: 1.25rem; | |||
line-height: 1.2; | |||
margin: 0 0 10px; | |||
} | |||
.mw-parser-output .mdtMut { | |||
color: rgba(0, 0, 0, 0.55); | |||
font-weight: 500; | |||
} | |||
/* 右侧信息框:实现 3 图那种“右侧固定一块信息表” */ | |||
.mw-parser-output table.mdtInfobox { | |||
float: right; | |||
width: 320px; | |||
max-width: 100%; | |||
margin: 0 0 16px 16px; | |||
border-collapse: separate; | |||
border-spacing: 0; | |||
background: #fff; | |||
border: 1px solid rgba(0, 0, 0, 0.08); | |||
border-radius: 18px; | |||
overflow: hidden; | |||
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08); | |||
} | |||
.mw-parser-output table.mdtInfobox th, | |||
.mw-parser-output table.mdtInfobox td { | |||
padding: 10px 12px; | |||
border-top: 1px solid rgba(0, 0, 0, 0.06); | |||
vertical-align: top; | |||
} | |||
.mw-parser-output table.mdtInfobox tr:first-child th { | |||
border-top: 0; | |||
} | |||
.mw-parser-output table.mdtInfobox th { | |||
text-align: left; | |||
white-space: nowrap; | |||
width: 6.5em; | |||
color: rgba(0, 0, 0, 0.78); | |||
} | |||
.mw-parser-output table.mdtInfobox .mdtInfoboxTitle { | |||
background: rgba(0, 207, 160, 0.09); | |||
font-weight: 900; | |||
font-size: 1.1rem; | |||
} | |||
/* 手机:信息框不要浮动,改为满宽堆叠 */ | |||
@media (max-width: 900px) { | |||
.mw-parser-output table.mdtInfobox { | |||
float: none; | |||
width: 100%; | |||
margin: 0 0 16px 0; | |||
} | |||
} | |||
/* 两栏布局:左正文 + 右侧信息栏(桌面);手机改为一列,信息栏置顶 */ | |||
.mw-parser-output .mdtLayout { | |||
display: grid; | |||
grid-template-columns: minmax(0, 1fr) 360px; | |||
gap: 16px; | |||
align-items: start; | |||
} | |||
.mw-parser-output .mdtRightRail { | |||
display: grid; | |||
gap: 12px; | |||
} | |||
@media (max-width: 900px) { | |||
.mw-parser-output .mdtLayout { | |||
grid-template-columns: 1fr; | |||
} | |||
.mw-parser-output .mdtRightRail { | |||
order: -1; | |||
} | |||
} | |||
/* 右侧黑色面板(Miraheze 风格) */ | |||
.mw-parser-output .mdtSidePanel { | |||
background: rgba(255, 255, 255, 0.86); | |||
color: rgba(255, 255, 255, 0.92); | |||
border: 1px solid rgba(255, 255, 255, 0.10); | |||
border-radius: 14px; | |||
overflow: hidden; | |||
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.42); | |||
} | |||
.mw-parser-output .mdtSidePanel a, | |||
.mw-parser-output .mdtSidePanel a:visited { | |||
color: #7ad6c0; | |||
} | |||
.mw-parser-output .mdtSideTitle { | |||
padding: 12px 14px 4px; | |||
font-weight: 900; | |||
font-size: 1.35rem; | |||
line-height: 1.1; | |||
} | |||
.mw-parser-output .mdtSideId { | |||
padding: 0 14px 12px; | |||
color: rgba(255, 255, 255, 0.55); | |||
font-weight: 700; | |||
} | } | ||
.mw-parser-output .mdtSideDesc { | |||
padding: 10px 14px 14px; | |||
border-top: 1px solid rgba(255, 255, 255, 0.08); | |||
color: rgba(255, 255, 255, 0.72); | |||
font-size: 0.95rem; | |||
} | } | ||
# | .mw-parser-output .mdtSideSection { | ||
background-color: # | padding: 10px 14px; | ||
color: #000; | border-top: 1px solid rgba(255, 255, 255, 0.08); | ||
background: rgba(255, 255, 255, 0.05); | |||
font-weight: 900; | |||
} | |||
.mw-parser-output table.mdtSideTable { | |||
width: 100%; | |||
border-collapse: collapse; | |||
} | |||
.mw-parser-output table.mdtSideTable th, | |||
.mw-parser-output table.mdtSideTable td { | |||
padding: 8px 14px; | |||
border-top: 1px solid rgba(255, 255, 255, 0.08); | |||
vertical-align: top; | |||
} | |||
.mw-parser-output table.mdtSideTable th { | |||
width: 7em; | |||
white-space: nowrap; | |||
text-align: left; | |||
color: rgba(255, 255, 255, 0.72); | |||
font-weight: 800; | |||
} | |||
.mw-parser-output .mdtPixelIcon img { | |||
width: 18px; | |||
height: 18px; | |||
image-rendering: pixelated; | |||
vertical-align: -3px; | |||
} | |||
/* “科技树”框(右侧栏底部那块) */ | |||
.mw-parser-output .mdtTechTreePanel { | |||
margin: 12px 14px 14px; | |||
border: 2px solid rgba(224, 192, 112, 0.7); | |||
border-radius: 12px; | |||
background: rgba(0, 0, 0, 0.25); | |||
} | |||
.mw-parser-output .mdtTechTreeTitle { | |||
text-align: center; | |||
padding: 12px 10px 8px; | |||
font-weight: 900; | |||
font-size: 1.25rem; | |||
color: #e0c070; | |||
} | |||
.mw-parser-output .mdtTechTreeGrid { | |||
display: grid; | |||
grid-template-columns: repeat(3, 1fr); | |||
gap: 0; | |||
border-top: 1px solid rgba(255, 255, 255, 0.18); | |||
} | |||
.mw-parser-output .mdtTechCol { | |||
padding: 12px 10px 10px; | |||
text-align: center; | |||
} | |||
.mw-parser-output .mdtTechCol + .mdtTechCol { | |||
border-left: 1px solid rgba(255, 255, 255, 0.18); | |||
} | |||
.mw-parser-output .mdtTechColTitle { | |||
font-weight: 900; | |||
color: rgba(255, 255, 255, 0.9); | |||
margin-bottom: 10px; | |||
} | |||
.mw-parser-output .mdtTechCol img { | |||
width: 54px; | |||
height: 54px; | |||
image-rendering: pixelated; | |||
border-radius: 10px; | |||
box-shadow: 0 0 0 2px rgba(110, 90, 230, 0.9); | |||
} | |||
.mw-parser-output .mdtTechTreeNote { | |||
padding: 10px 12px; | |||
border-top: 1px solid rgba(255, 255, 255, 0.18); | |||
color: rgba(255, 255, 255, 0.72); | |||
font-size: 0.92rem; | |||
text-align: center; | |||
} | |||
/* 右侧栏 + 科技树:浅色模式(白底黑字) */ | |||
body.skin-timeless .mdtLayout.mdtLight .mdtSidePanel{ | |||
background:#fff !important; | |||
color:rgba(0,0,0,.87) !important; | |||
border:1px solid rgba(0,0,0,.10) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtSidePanel a, | |||
body.skin-timeless .mdtLayout.mdtLight .mdtSidePanel a:visited{ | |||
color:rgba(0,0,0,.87) !important; /* 想保留链接蓝色就删掉这一条 */ | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtSideId, | |||
body.skin-timeless .mdtLayout.mdtLight .mdtSideDesc{ | |||
color:rgba(0,0,0,.60) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtSideSection{ | |||
background:rgba(0,0,0,.04) !important; | |||
color:rgba(0,0,0,.82) !important; | |||
border-top:1px solid rgba(0,0,0,.08) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight table.mdtSideTable th, | |||
body.skin-timeless .mdtLayout.mdtLight table.mdtSideTable td{ | |||
border-top:1px solid rgba(0,0,0,.08) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight table.mdtSideTable th{ | |||
color:rgba(0,0,0,.65) !important; | |||
} | |||
/* 科技树框:白底黑字 */ | |||
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreePanel{ | |||
background:#fff !important; | |||
border:1px solid rgba(0,0,0,.12) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreeTitle{ | |||
color:rgba(0,0,0,.87) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreeGrid{ | |||
border-top:1px solid rgba(0,0,0,.12) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtTechCol + .mdtTechCol{ | |||
border-left:1px solid rgba(0,0,0,.12) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtTechColTitle{ | |||
color:rgba(0,0,0,.75) !important; | |||
} | |||
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreeNote{ | |||
color:rgba(0,0,0,.60) !important; | |||
border-top:1px solid rgba(0,0,0,.12) !important; | |||
} | |||
/* 科技树面板内的所有图标统一缩小 */ | |||
body.skin-timeless .mdtTechTreePanel img{ | |||
width: 40px !important; | |||
height: 40px !important; | |||
} | |||
/* 表头(金色字) */ | |||
body.skin-timeless .mw-parser-output table.mdtResearchTable th { | |||
background: rgb(255, 255, 255); | |||
color: #e0c070; | |||
font-weight: 900; | |||
font-size: 1.2rem; | |||
text-align: center; | |||
} | |||
/* 左列(必考研究)可做成偏橙色文字 */ | |||
body.skin-timeless .mw-parser-output .mdtResearchReq { | |||
color: #c58a76; | |||
font-weight: 800; | |||
} | |||
/* 像素图标 */ | |||
body.skin-timeless .mw-parser-output .mdtPixelIcon img { | |||
width: 22px; | |||
height: 22px; | |||
image-rendering: pixelated; | |||
vertical-align: -4px; | |||
} | |||
/* 研究表外框(黑底金边) */ | |||
.mw-parser-output .mdtResearchPanel { | |||
background: rgba(252, 252, 252, 0.86); | |||
border: 2px solid rgba(224, 192, 112, 0.72); | |||
border-radius: 14px; | |||
overflow: hidden; | |||
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.42); | |||
} | |||
/* 如果你没包 <div class="mdtResearchPanel">,表格也会自动变成黑金风格 */ | |||
.mw-parser-output table.mdtResearchTable { | |||
background: rgba(8, 8, 8, 0.86); | |||
border: 2px solid rgba(224, 192, 112, 0.72); | |||
border-radius: 14px; | |||
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.42); | |||
} | |||
/* 有外框时,避免出现“双层边框” */ | |||
.mw-parser-output .mdtResearchPanel table.mdtResearchTable { | |||
background: transparent; | |||
border: 0; | |||
border-radius: 0; | |||
box-shadow: none; | |||
} | |||
.mw-parser-output .mdtResearchPanel a, | |||
.mw-parser-output .mdtResearchPanel a:visited { | |||
color: rgba(255, 255, 255, 0.92); | |||
} | |||
/* 表格本体 */ | |||
.mw-parser-output table.mdtResearchTable { | |||
width: 100%; | |||
border-collapse: collapse; | |||
margin: 0; | |||
} | |||
.mw-parser-output table.mdtResearchTable th, | |||
.mw-parser-output table.mdtResearchTable td { | |||
padding: 14px 16px; | |||
border-top: 1px solid rgba(255, 255, 255, 0.10); | |||
vertical-align: middle; | |||
} | |||
.mw-parser-output table.mdtResearchTable tr:first-child th { | |||
border-top: 0; | |||
} | |||
/* 表头(金色字) */ | |||
.mw-parser-output table.mdtResearchTable th { | |||
background: rgba(255, 255, 255, 0.03); | |||
color: #e0c070; | |||
font-weight: 900; | |||
font-size: 1.2rem; | |||
text-align: center; | |||
} | |||
/* 左列(必考研究)可做成偏橙色文字 */ | |||
.mw-parser-output .mdtResearchReq { | |||
color: #c58a76; | |||
font-weight: 800; | |||
} | |||
/* 像素图标 */ | |||
.mw-parser-output .mdtPixelIcon img { | |||
width: 22px; | |||
height: 22px; | |||
image-rendering: pixelated; | |||
vertical-align: -4px; | |||
} | |||
/* 如果误用了 |thumb / |frame,尽量去掉默认白底/边框 */ | |||
.mw-parser-output .mdtResearchPanel .thumbinner, | |||
.mw-parser-output .mdtResearchPanel .thumbimage, | |||
.mw-parser-output .mdtResearchPanel .thumbborder { | |||
border: 0 !important; | |||
background: transparent !important; | |||
box-shadow: none !important; | |||
} | |||
/* 如果表格里出现“灰色代码框”,通常是某行开头有空格导致的 <pre>;这里兜底把它变透明 */ | |||
.mw-parser-output .mdtResearchPanel pre, | |||
.mw-parser-output table.mdtResearchTable pre { | |||
margin: 0; | |||
padding: 0; | |||
border: 0; | |||
background: transparent; | |||
color: inherit; | |||
font-family: inherit; | |||
white-space: normal; | |||
} | |||
/* 底部说明 */ | |||
.mw-parser-output .mdtResearchFoot { | |||
color: rgba(255, 255, 255, 0.78); | |||
font-weight: 700; | |||
} | |||
.mw-parser-output .mdtResearchNote { | |||
color: rgba(255, 255, 255, 0.78); | |||
text-align: center; | |||
} | |||
/* 手机:允许横向滚动,避免内容挤坏 */ | |||
@media (max-width: 900px) { | |||
.mw-parser-output .mdtResearchPanel { | |||
overflow-x: auto; | |||
} | |||
.mw-parser-output table.mdtResearchTable { | |||
min-width: 520px; | |||
} | |||
} | |||
/* 研究表:单元格文字改成黑色(适配白底页面) */ | |||
.mw-parser-output table.mdtResearchTable td { | |||
color: rgba(0, 0, 0, 0.87) !important; | |||
} | |||
/* 底部两行说明:用更浅的黑色 */ | |||
.mw-parser-output .mdtResearchFoot, | |||
.mw-parser-output .mdtResearchNote { | |||
color: rgba(0, 0, 0, 0.65) !important; | |||
} | |||
/* 链接颜色(按需改成你的主题色) */ | |||
.mw-parser-output table.mdtResearchTable a, | |||
.mw-parser-output table.mdtResearchTable a:visited { | |||
color: #27caaa; | |||
} | |||
/* 默认(白底):用浅灰线 */ | |||
.mw-parser-output table.mdtResearchTable { | |||
border-collapse: collapse; | |||
} | |||
.mw-parser-output table.mdtResearchTable th, | |||
.mw-parser-output table.mdtResearchTable td { | |||
border-top: 1px solid rgba(0, 0, 0, 0.12); | |||
} | |||
.mw-parser-output table.mdtResearchTable tr:first-child th { | |||
border-top: 0; | |||
} | |||
/* 黑底面板(mdtResearchPanel 内):用浅白线 */ | |||
.mw-parser-output .mdtResearchPanel table.mdtResearchTable th, | |||
.mw-parser-output .mdtResearchPanel table.mdtResearchTable td { | |||
border-top-color: rgba(255, 255, 255, 0.12); | |||
} | |||
/* Mindustry Logic 教程(由 HTML 转成 MediaWiki)样式 */ | |||
/* 仅影响包在 <div class="mdtLogicTutorial"> ... </div> 内的内容 */ | |||
.mdtLogicTutorial .mdtMarkdownAlert{ | |||
margin: 0.9em 0; | |||
padding: 0.8em 1em; | |||
border-left: 4px solid rgba(0,0,0,.35); | |||
background: rgba(0,0,0,.04); | |||
border-radius: 6px; | |||
} | |||
.mdtLogicTutorial .mdtMarkdownAlert-tip{border-left-color:#6ecb63;} | |||
.mdtLogicTutorial .mdtMarkdownAlert-note{border-left-color:#3b82f6;} | |||
.mdtLogicTutorial .mdtMarkdownAlert-warning{border-left-color:#f59e0b;} | |||
.mdtLogicTutorial .mdtMarkdownAlert-important{border-left-color:#a855f7;} | |||
.mdtLogicTutorial pre{ | |||
background: rgba(0,0,0,.05); | |||
border: 1px solid rgba(0,0,0,.15); | |||
border-radius: 6px; | |||
padding: 0.8em 1em; | |||
overflow-x: auto; | |||
white-space: pre; | |||
} | |||
.mdtLogicTutorial code{ | |||
font-family: var(--mdt-mono-font, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); | |||
} | |||
.mdtLogicTutorial :is(h2,h3,h4){ | |||
scroll-margin-top: 80px; | |||
} | |||
/* 黑幕/剧透遮挡 */ | |||
.heimu, .heimu a, .heimu a:visited{ | |||
background:#000; | |||
color:#000 !important; | |||
border-radius:2px; | |||
padding:0 0.2em; | |||
cursor:pointer; | |||
text-decoration:none; | |||
} | |||
/* 悬停显示(可选) */ | |||
.heimu:hover, .heimu:hover a, .heimu:hover a:visited{ | |||
color:#fff !important; | |||
} | |||
/* 点击后保持显示(配合 JS) */ | |||
.heimu.heimu-revealed, .heimu.heimu-revealed a, .heimu.heimu-revealed a:visited{ | |||
color:#fff !important; | |||
} | |||
/* Fix: make Timeless sidebars scrollable (wheel + touch) */ | |||
@media (max-width: 999px) { | |||
body.skin-timeless #mw-site-navigation, | |||
body.skin-timeless #mw-related-navigation { | |||
max-height: 100vh; | |||
overflow-y: auto; | |||
-webkit-overflow-scrolling: touch; | |||
overscroll-behavior: contain; | |||
} | |||
} | |||
/* 统一侧边栏宽度:把 260px 改成你想要的 */ | |||
:root{ --mdt-rail-width: 260px; } | |||
/* 白色信息栏:右侧 rail + 面板 */ | |||
.mdtRightRail{ | |||
width: var(--mdt-rail-width); | |||
min-width: var(--mdt-rail-width); | |||
max-width: var(--mdt-rail-width); | |||
flex: 0 0 var(--mdt-rail-width); /* 如果外层是 flex */ | |||
box-sizing: border-box; | |||
} | |||
.mdtSidePanel{ width: 100%; box-sizing: border-box; } | |||
/* 表格别把面板撑宽 */ | |||
.mdtSideTable{ width: 100%; table-layout: fixed; } | |||
/* 长英文/长串强制换行,避免撑宽 */ | |||
.mdtSideTitle, .mdtSideDesc, .mdtSideTable td{ | |||
overflow-wrap: anywhere; | |||
word-break: break-word; | |||
} | |||
/* Tech tree icons: smaller frame, tighter spacing, no stretching */ | |||
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol a.image, | |||
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol a.mw-file-description { | |||
display: block; | |||
width: fit-content; | |||
margin: 0.25rem auto; | |||
line-height: 0; | |||
} | |||
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol img, | |||
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol img.mw-file-element { | |||
display: block; | |||
width: auto !important; | |||
height: auto !important; | |||
object-fit: contain; | |||
border: 2px solid rgba(124, 106, 255, 0.75); | |||
border-radius: 14px; | |||
padding: 2px; | |||
background: rgba(0, 0, 0, 0.04); | |||
box-shadow: none; | |||
} | |||
/* === MDTDB:强制两列 + 过滤空元素(防止第二栏掉下去) === */ | |||
.mdt-db .mdt-db-cols { | |||
display: grid !important; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)) !important; | |||
column-gap: 26px !important; | |||
row-gap: 18px !important; | |||
align-items: start !important; | |||
justify-items: stretch !important; | |||
align-content: start !important; | |||
justify-content: start !important; | |||
} | |||
/* 关键:隐藏模板/换行产生的空占位元素,否则会占用 grid 格子 */ | |||
.mdt-db .mdt-db-cols > :not(.mdt-db-col) { | |||
display: none !important; | |||
} | |||
/* 列表从上到下紧凑排列(防止 space-between 把间距拉大) */ | |||
.mdt-db .mdt-db-col, | |||
.mdt-db .mdt-db-list { | |||
display: flex !important; | |||
flex-direction: column !important; | |||
align-items: stretch !important; | |||
justify-content: flex-start !important; | |||
gap: 10px !important; | |||
} | |||
.mdt-db .mdt-db-item { | |||
margin: 0 !important; | |||
} | |||
.mdt-db p { | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
} | |||
/* 手机端:一列(不想要手机一列就删掉这一段) */ | |||
@media (max-width: 640px) { | |||
.mdt-db .mdt-db-cols { | |||
grid-template-columns: 1fr !important; | |||
} | |||
} | } | ||
2026年2月1日 (日) 22:07的最新版本
/* MediaWiki:Timeless.css - Mindustry green header + MkDocs-ish sidebars */
body.skin-timeless {
--mdtBrand: #00af89;
--mdtBrand2: #00cfa0;
--mdtHeaderFg: #ffffff;
--mdtText: rgba(0, 0, 0, 0.87);
--mdtTextMut: rgba(0, 0, 0, 0.55);
--mdtHover: rgba(0, 0, 0, 0.06);
--mdtSidebarW: 16rem;
--mdtShadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.08),
0 0 0.05rem rgba(0, 0, 0, 0.12);
}
/* ===== Header (Mindustry green) ===== */
body.skin-timeless #mw-header-container {
background: var(--mdtBrand) !important;
color: var(--mdtHeaderFg);
box-shadow: var(--mdtShadow);
border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
body.skin-timeless #mw-header {
display: flex;
align-items: center;
gap: 0.75rem;
flex-wrap: nowrap;
}
body.skin-timeless #mw-header .visualClear {
display: none;
}
/* Site title (left) */
body.skin-timeless #p-logo-text {
order: 1;
flex: 0 0 auto;
min-width: 0;
max-width: none;
position: static !important;
text-align: left !important;
}
body.skin-timeless #p-logo-text #p-banner {
display: flex;
align-items: center;
gap: 0.5rem;
color: inherit;
text-decoration: none;
font-weight: 700;
letter-spacing: 0.02em;
line-height: 1.1;
}
/* Hide sidebar logo; show a small icon next to title */
body.skin-timeless #mw-site-navigation #p-logo {
display: none !important;
}
body.skin-timeless #p-logo-text #p-banner::before {
content: '';
width: 32px;
height: 32px;
background: url(/resources/assets/logo.jpg) center / cover no-repeat;
border-radius: 8px;
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22);
}
/* Search (right, smaller, dark like external wiki) */
body.skin-timeless #p-search {
order: 2;
margin-left: auto;
flex: 0 1 13rem;
min-width: 11rem;
max-width: 22vw;
}
body.skin-timeless #p-search h3 {
display: none;
}
body.skin-timeless #p-search form {
margin: 0;
}
body.skin-timeless #mw-header-container #simpleSearch {
display: flex;
align-items: stretch;
height: 2.2rem;
width: 100%;
background: rgba(0, 0, 0, 0.28) !important;
border: 1px solid rgba(255, 255, 255, 0.14) !important;
border-radius: 0.35rem !important;
box-shadow: none !important;
overflow: hidden;
}
body.skin-timeless #mw-header-container #simpleSearch:focus-within {
background: rgba(0, 0, 0, 0.36) !important;
border-color: rgba(255, 255, 255, 0.25) !important;
}
body.skin-timeless #mw-header-container #searchInput-container {
flex: 1 1 auto;
}
body.skin-timeless #mw-header-container #searchInput {
height: 100% !important;
width: 100% !important;
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
color: var(--mdtHeaderFg) !important;
padding: 0.25rem 0.55rem !important;
}
body.skin-timeless #mw-header-container #searchInput::placeholder {
color: rgba(255, 255, 255, 0.75) !important;
}
/* Hide both submit buttons (press Enter to search) */
body.skin-timeless #mw-header-container #mw-searchButton,
body.skin-timeless #mw-header-container #searchButton {
display: none !important;
}
/* Account area on far right */
body.skin-timeless #user-tools {
order: 3;
flex: 0 0 auto;
white-space: nowrap;
}
body.skin-timeless #mw-header a,
body.skin-timeless #mw-header a:visited {
color: var(--mdtHeaderFg);
}
body.skin-timeless #mw-header .dropdown {
color: rgba(0, 0, 0, 0.87);
}
body.skin-timeless #mw-header .dropdown a,
body.skin-timeless #mw-header .dropdown a:visited {
color: #0645ad;
}
/* Header color bar -> solid Mindustry green */
body.skin-timeless #mw-header-hack {
background: var(--mdtBrand) !important;
}
body.skin-timeless #mw-header-hack .color-left,
body.skin-timeless #mw-header-hack .color-middle,
body.skin-timeless #mw-header-hack .color-right {
background: var(--mdtBrand) !important;
}
/* ===== Sidebars (left + right consistent) ===== */
body.skin-timeless #mw-site-navigation,
body.skin-timeless #mw-related-navigation {
width: var(--mdtSidebarW) !important;
flex: 0 0 var(--mdtSidebarW) !important;
}
body.skin-timeless #mw-site-navigation .sidebar-chunk,
body.skin-timeless #mw-related-navigation .sidebar-chunk {
background: transparent;
border: 0;
box-shadow: none;
padding: 0.25rem 0;
margin: 0 0 1rem;
}
body.skin-timeless #mw-site-navigation .sidebar-chunk > h2,
body.skin-timeless #mw-related-navigation .sidebar-chunk > h2 {
margin: 0.25rem 0.75rem 0.5rem;
font-size: 0.8rem;
letter-spacing: 0.06em;
color: var(--mdtTextMut);
}
body.skin-timeless #mw-site-navigation .mw-portlet-body ul,
body.skin-timeless #mw-related-navigation .mw-portlet-body ul {
list-style: none;
margin: 0;
padding: 0;
}
body.skin-timeless #mw-site-navigation .mw-portlet-body a,
body.skin-timeless #mw-related-navigation .mw-portlet-body a {
display: block;
padding: 0.38rem 0.85rem;
border-radius: 10px;
text-decoration: none;
color: var(--mdtText);
box-shadow: inset 3px 0 0 transparent;
}
body.skin-timeless #mw-site-navigation .mw-portlet-body a:hover,
body.skin-timeless #mw-related-navigation .mw-portlet-body a:hover {
background: var(--mdtHover);
box-shadow: inset 3px 0 0 var(--mdtBrand2);
}
/* Desktop: sticky and scrollable sidebars */
@media (min-width: 1000px) {
body.skin-timeless #mw-site-navigation,
body.skin-timeless #mw-related-navigation {
position: sticky;
top: 4rem;
align-self: flex-start;
max-height: calc(100vh - 4rem);
overflow-y: auto;
}
}
/* Thin scrollbar like MkDocs */
body.skin-timeless #mw-site-navigation,
body.skin-timeless #mw-related-navigation {
scrollbar-width: thin;
scrollbar-color: rgba(0, 207, 160, 0.85) transparent;
}
body.skin-timeless #mw-site-navigation::-webkit-scrollbar,
body.skin-timeless #mw-related-navigation::-webkit-scrollbar {
width: 6px;
}
body.skin-timeless #mw-site-navigation::-webkit-scrollbar-track,
body.skin-timeless #mw-related-navigation::-webkit-scrollbar-track {
background: transparent;
}
body.skin-timeless #mw-site-navigation::-webkit-scrollbar-thumb,
body.skin-timeless #mw-related-navigation::-webkit-scrollbar-thumb {
background: rgba(0, 207, 160, 0.85);
border-radius: 999px;
}
/* ===== Collapsible navigation (left) ===== */
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavGroup {
display: grid;
grid-template-columns: 1fr 2rem;
align-items: center;
min-width: 0;
}
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavGroup > a {
min-width: 0;
}
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavToggle {
width: 2rem;
height: 2rem;
border: 0;
background: transparent;
cursor: pointer;
color: var(--mdtTextMut);
border-radius: 10px;
}
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavToggle:hover {
background: var(--mdtHover);
}
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavToggle::before {
content: '\25B8';
display: block;
font-size: 18px;
line-height: 1;
transition: transform 0.15s ease;
}
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavOpen > .mdtNavToggle::before {
transform: rotate(90deg);
}
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavSublist {
grid-column: 1 / -1;
list-style: none;
margin: 0.15rem 0 0.4rem;
padding: 0 0 0 0.85rem;
border-left: 1px solid rgba(0, 0, 0, 0.08);
display: none;
}
body.skin-timeless #mw-site-navigation #p-navigation li.mdtNavOpen > .mdtNavSublist {
display: block;
}
body.skin-timeless #mw-site-navigation #p-navigation .mdtNavSublist a {
font-size: 0.92em;
padding: 0.32rem 0.85rem;
}
body.skin-timeless #mw-site-navigation #p-navigation a.mdtNavActive {
color: var(--mdtBrand) !important;
background: rgba(0, 175, 137, 0.12) !important;
box-shadow: inset 3px 0 0 var(--mdtBrand) !important;
}
/* Page title underline -> green */
body.skin-timeless .mw-body h1.firstHeading {
border-bottom-color: var(--mdtBrand) !important;
}
/* Small screens: search wraps */
@media (max-width: 720px) {
body.skin-timeless #mw-header {
flex-wrap: wrap;
}
body.skin-timeless #p-search {
flex: 1 1 100%;
max-width: none;
margin-left: 0;
}
}
/* ===== Homepage (mdtHome): rounded + Mindustry green accent ===== */
body.skin-timeless .mdtHome {
--mdtHomePanel: #2c857c;
--mdtHomeCard: #279d86;
--mdtHomeCardHover: #2d7c72;
--mdtHomeBorder: rgba(63, 101, 86, 0.55)
--mdtHomeText: rgba(255, 255, 255, 0.92);
--mdtHomeMut: rgba(255, 255, 255, 0.68);
/* Use site theme vars when available */
--mdtHomeAccent: var(--mdtBrand2, #00cfa0);
--mdtHomeAccent2: var(--mdtBrand, #00af89);
--mdtHomeCardTint: rgba(4, 201, 155, 0.08);
--mdtHomeCardTintHover: rgba(0, 207, 160, 0.12);
--mdtHomeRadiusPanel: 22px;
--mdtHomeRadiusCard: 18px;
}
/* Panels */
body.skin-timeless .mdtHome .mdtPanel {
background: var(--mdtHomePanel) !important;
border: 1px solid var(--mdtHomeBorder);
border-top: 3px solid rgba(0, 207, 160, 0.35);
border-radius: var(--mdtHomeRadiusPanel);
color: var(--mdtHomeText);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.06),
0 16px 34px rgba(0, 0, 0, 0.22);
overflow: hidden;
}
/* Hero */
body.skin-timeless .mdtHome .mdtHomeHero {
padding: 1rem 1.1rem;
display: grid;
grid-template-columns: 4.75rem 1fr;
gap: 1rem;
align-items: center;
background-image: none !important;
}
body.skin-timeless .mdtHome .mdtHomeHeroLogo {
width: 72px;
height: 72px;
border-radius: 14px;
background: url(/resources/assets/ui/alphaaaa.png) center / contain no-repeat;
image-rendering: pixelated;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.08),
0 10px 22px rgba(0, 0, 0, 0.28),
0 0 0 2px rgba(0, 207, 160, 0.14);
}
body.skin-timeless .mdtHome .mdtHomeHeroTitle {
color: var(--mdtHomeText);
font-weight: 850;
font-size: 1.45rem;
line-height: 1.1;
margin: 0;
}
body.skin-timeless .mdtHome .mdtHomeHeroSubtitle {
color: var(--mdtHomeMut);
margin-top: 0.35rem;
}
body.skin-timeless .mdtHome .mdtHomeHeroLinks {
margin-top: 0.85rem;
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
body.skin-timeless .mdtHome .mdtHomeHeroLinks a {
display: inline-block;
padding: 0.44rem 0.9rem;
border-radius: 999px;
border: 1px solid rgba(0, 207, 160, 0.28);
background: rgba(0, 207, 160, 0.14);
color: var(--mdtHomeText) !important;
text-decoration: none !important;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
body.skin-timeless .mdtHome .mdtHomeHeroLinks a:hover {
border-color: rgba(0, 207, 160, 0.65);
background: rgba(0, 207, 160, 0.18);
}
/* Sections */
body.skin-timeless .mdtHome .mdtHomeSection {
padding: 1rem 1.1rem;
margin-top: 1rem;
}
body.skin-timeless .mdtHome .mdtHomeSection h2 {
margin-top: 0;
border-bottom: 1px solid rgba(0, 207, 160, 0.18) !important;
color: var(--mdtHomeText);
}
body.skin-timeless .mdtHome .mdtHomeSection a {
color: var(--mdtHomeAccent);
}
body.skin-timeless .mdtHome .mdtHomeSection a:visited {
color: var(--mdtHomeAccent2);
}
/* Card grid */
body.skin-timeless .mdtHome .mdtHomeGrid {
margin-top: 0.85rem;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
gap: 1rem;
}
/* Cards: style the wiki-generated <a> (use [[Page|...]] in wikitext) */
body.skin-timeless .mdtHome .mdtCard > a {
position: relative;
display: grid;
gap: 0.35rem;
padding: 1.05rem 1.1rem;
border: 1px solid rgba(255, 255, 255, 0.10);
border-radius: var(--mdtHomeRadiusCard);
background:
linear-gradient(135deg, var(--mdtHomeCardTint), rgba(0, 0, 0, 0) 60%),
var(--mdtHomeCard);
color: var(--mdtHomeText) !important;
text-decoration: none !important;
box-shadow: 0 12px 26px rgba(0, 0, 0, 0.20);
transition: transform 0.12s ease, border-color 0.12s ease,
background 0.12s ease, box-shadow 0.12s ease;
}
body.skin-timeless .mdtHome .mdtCard > a::before {
content: '';
position: absolute;
left: 0;
top: 0.85rem;
bottom: 0.85rem;
width: 3px;
border-radius: 999px;
background: linear-gradient(
180deg,
rgba(0, 207, 160, 0.85),
rgba(0, 175, 137, 0.18)
);
opacity: 0.18;
pointer-events: none;
}
body.skin-timeless .mdtHome .mdtCard > a:visited {
color: var(--mdtHomeText) !important;
}
body.skin-timeless .mdtHome .mdtCard > a:hover {
transform: translateY(-2px);
border-color: rgba(0, 207, 160, 0.55);
background:
linear-gradient(135deg, var(--mdtHomeCardTintHover), rgba(0, 0, 0, 0) 60%),
var(--mdtHomeCardHover);
box-shadow:
0 18px 36px rgba(0, 0, 0, 0.26),
0 0 0 4px rgba(0, 207, 160, 0.12);
}
body.skin-timeless .mdtHome .mdtCard > a:hover::before {
opacity: 0.55;
}
body.skin-timeless .mdtHome .mdtCard > a:focus-visible {
outline: 3px solid rgba(0, 207, 160, 0.35);
outline-offset: 3px;
}
body.skin-timeless .mdtHome .mdtCardTitle {
display: block;
font-weight: 850;
font-size: 1.08rem;
line-height: 1.1;
letter-spacing: 0.01em;
}
body.skin-timeless .mdtHome .mdtCardDesc {
display: block;
color: var(--mdtHomeMut);
font-size: 0.93rem;
}
body.skin-timeless .mdtHome .mdtCard > a:hover .mdtCardTitle {
color: rgba(0, 207, 160, 0.95);
}
@media (max-width: 720px) {
body.skin-timeless .mdtHome .mdtHomeHero {
grid-template-columns: 1fr;
justify-items: start;
}
}
/* 可选:防止站点标题换行导致顶部栏变高、搜索下移 */
body.skin-timeless #p-logo-text {
max-width: 42vw;
}
body.skin-timeless #p-logo-text #p-banner {
max-width: 42vw;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
@media (max-width: 720px) {
body.skin-timeless #p-logo-text,
body.skin-timeless #p-logo-text #p-banner {
max-width: none;
overflow: visible;
text-overflow: clip;
}
}
.mdtHomeGrid.mdtHomeGridZigzag{
display: flex;
flex-direction: column;
gap: 18px;
}
.mdtHomeGrid.mdtHomeGridZigzag .mdtCard{
width: min(420px, 100%);
}
.mdtHomeGrid.mdtHomeGridZigzag .mdtCard:nth-child(even){
margin-left: auto;
}
.mdtHomeGrid.mdtHomeGridZigzag { display:flex !important; flex-
direction:column !important; gap:18px; }
.mdtHomeGrid.mdtHomeGridZigzag > .mdtCard { width:min(420px,100%); }
.mdtHomeGrid.mdtHomeGridZigzag > .mdtCard:nth-child(even) { margin-
left:auto; }
/* 只在“首页”隐藏页面标题 */
body.page-首页 #firstHeading,
body.page-首页 .mw-page-title-main { display: none; }
body.skin-timeless .mdtHome{
--mdtHomePanel: #2c9d8c !important; /* 容器底色 */
--mdtHomeBorder: rgba(49, 144, 106, 0.55) !important;
}
/* ===== mdtHome 强制覆写配色 ===== */
body.skin-timeless .mdtHome{
--mdtHomePanel: #ffffff!important; /* 容器底色 */
--mdtHomeBorder: rgba(0, 255, 153, 0.77) !important;
}
body.skin-timeless .mdtHome .mdtHomeHeroLinks a{
display: inline-block;
background: #ffffff !important; /* 按钮底色*/
border: 2px solid #b5b5b5 !important;
color: rgba(255,255,255,.92) !important;
}
body.skin-timeless .mdtHome .mdtHomeHeroLinks a:hover{
background: #fcfcfc !important;
border-color: #bfbfbf !important;
}
/* 手机端:地区这种 mdtIconGrid 改成两列网格 */
@media (max-width: 720px) {
.mdtIconGrid,
.mdtHomeGrid {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 12px !important;
}
.mdtIconGridItem,
.mdtHomeGrid .mdtCard {
margin: 0 !important;
min-width: 0 !important;
}
}
/* 特别窄的手机再退回一列(可选) */
@media (max-width: 380px) {
.mdtIconGrid,
.mdtHomeGrid {
grid-template-columns: 1fr !important;
}
}
/* 基础卡片:对应你 2 图那种“白底 + 圆角 + 阴影” */
.mw-parser-output .mdtCard {
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 18px;
padding: 16px;
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}
/* 绿色强调卡片:像你 2 图“介绍”那种效果 */
.mw-parser-output .mdtCard.mdtAccent {
border-color: rgba(0, 207, 160, 0.35);
box-shadow: 0 14px 30px rgba(0, 207, 160, 0.14), 0 10px 24px rgba(0, 0, 0, 0.06);
}
.mw-parser-output .mdtCardTitle {
font-weight: 800;
font-size: 1.25rem;
line-height: 1.2;
margin: 0 0 10px;
}
.mw-parser-output .mdtMut {
color: rgba(0, 0, 0, 0.55);
font-weight: 500;
}
/* 右侧信息框:实现 3 图那种“右侧固定一块信息表” */
.mw-parser-output table.mdtInfobox {
float: right;
width: 320px;
max-width: 100%;
margin: 0 0 16px 16px;
border-collapse: separate;
border-spacing: 0;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: 18px;
overflow: hidden;
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}
.mw-parser-output table.mdtInfobox th,
.mw-parser-output table.mdtInfobox td {
padding: 10px 12px;
border-top: 1px solid rgba(0, 0, 0, 0.06);
vertical-align: top;
}
.mw-parser-output table.mdtInfobox tr:first-child th {
border-top: 0;
}
.mw-parser-output table.mdtInfobox th {
text-align: left;
white-space: nowrap;
width: 6.5em;
color: rgba(0, 0, 0, 0.78);
}
.mw-parser-output table.mdtInfobox .mdtInfoboxTitle {
background: rgba(0, 207, 160, 0.09);
font-weight: 900;
font-size: 1.1rem;
}
/* 手机:信息框不要浮动,改为满宽堆叠 */
@media (max-width: 900px) {
.mw-parser-output table.mdtInfobox {
float: none;
width: 100%;
margin: 0 0 16px 0;
}
}
/* 两栏布局:左正文 + 右侧信息栏(桌面);手机改为一列,信息栏置顶 */
.mw-parser-output .mdtLayout {
display: grid;
grid-template-columns: minmax(0, 1fr) 360px;
gap: 16px;
align-items: start;
}
.mw-parser-output .mdtRightRail {
display: grid;
gap: 12px;
}
@media (max-width: 900px) {
.mw-parser-output .mdtLayout {
grid-template-columns: 1fr;
}
.mw-parser-output .mdtRightRail {
order: -1;
}
}
/* 右侧黑色面板(Miraheze 风格) */
.mw-parser-output .mdtSidePanel {
background: rgba(255, 255, 255, 0.86);
color: rgba(255, 255, 255, 0.92);
border: 1px solid rgba(255, 255, 255, 0.10);
border-radius: 14px;
overflow: hidden;
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.42);
}
.mw-parser-output .mdtSidePanel a,
.mw-parser-output .mdtSidePanel a:visited {
color: #7ad6c0;
}
.mw-parser-output .mdtSideTitle {
padding: 12px 14px 4px;
font-weight: 900;
font-size: 1.35rem;
line-height: 1.1;
}
.mw-parser-output .mdtSideId {
padding: 0 14px 12px;
color: rgba(255, 255, 255, 0.55);
font-weight: 700;
}
.mw-parser-output .mdtSideDesc {
padding: 10px 14px 14px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
color: rgba(255, 255, 255, 0.72);
font-size: 0.95rem;
}
.mw-parser-output .mdtSideSection {
padding: 10px 14px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.05);
font-weight: 900;
}
.mw-parser-output table.mdtSideTable {
width: 100%;
border-collapse: collapse;
}
.mw-parser-output table.mdtSideTable th,
.mw-parser-output table.mdtSideTable td {
padding: 8px 14px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
vertical-align: top;
}
.mw-parser-output table.mdtSideTable th {
width: 7em;
white-space: nowrap;
text-align: left;
color: rgba(255, 255, 255, 0.72);
font-weight: 800;
}
.mw-parser-output .mdtPixelIcon img {
width: 18px;
height: 18px;
image-rendering: pixelated;
vertical-align: -3px;
}
/* “科技树”框(右侧栏底部那块) */
.mw-parser-output .mdtTechTreePanel {
margin: 12px 14px 14px;
border: 2px solid rgba(224, 192, 112, 0.7);
border-radius: 12px;
background: rgba(0, 0, 0, 0.25);
}
.mw-parser-output .mdtTechTreeTitle {
text-align: center;
padding: 12px 10px 8px;
font-weight: 900;
font-size: 1.25rem;
color: #e0c070;
}
.mw-parser-output .mdtTechTreeGrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0;
border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.mw-parser-output .mdtTechCol {
padding: 12px 10px 10px;
text-align: center;
}
.mw-parser-output .mdtTechCol + .mdtTechCol {
border-left: 1px solid rgba(255, 255, 255, 0.18);
}
.mw-parser-output .mdtTechColTitle {
font-weight: 900;
color: rgba(255, 255, 255, 0.9);
margin-bottom: 10px;
}
.mw-parser-output .mdtTechCol img {
width: 54px;
height: 54px;
image-rendering: pixelated;
border-radius: 10px;
box-shadow: 0 0 0 2px rgba(110, 90, 230, 0.9);
}
.mw-parser-output .mdtTechTreeNote {
padding: 10px 12px;
border-top: 1px solid rgba(255, 255, 255, 0.18);
color: rgba(255, 255, 255, 0.72);
font-size: 0.92rem;
text-align: center;
}
/* 右侧栏 + 科技树:浅色模式(白底黑字) */
body.skin-timeless .mdtLayout.mdtLight .mdtSidePanel{
background:#fff !important;
color:rgba(0,0,0,.87) !important;
border:1px solid rgba(0,0,0,.10) !important;
}
body.skin-timeless .mdtLayout.mdtLight .mdtSidePanel a,
body.skin-timeless .mdtLayout.mdtLight .mdtSidePanel a:visited{
color:rgba(0,0,0,.87) !important; /* 想保留链接蓝色就删掉这一条 */
}
body.skin-timeless .mdtLayout.mdtLight .mdtSideId,
body.skin-timeless .mdtLayout.mdtLight .mdtSideDesc{
color:rgba(0,0,0,.60) !important;
}
body.skin-timeless .mdtLayout.mdtLight .mdtSideSection{
background:rgba(0,0,0,.04) !important;
color:rgba(0,0,0,.82) !important;
border-top:1px solid rgba(0,0,0,.08) !important;
}
body.skin-timeless .mdtLayout.mdtLight table.mdtSideTable th,
body.skin-timeless .mdtLayout.mdtLight table.mdtSideTable td{
border-top:1px solid rgba(0,0,0,.08) !important;
}
body.skin-timeless .mdtLayout.mdtLight table.mdtSideTable th{
color:rgba(0,0,0,.65) !important;
}
/* 科技树框:白底黑字 */
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreePanel{
background:#fff !important;
border:1px solid rgba(0,0,0,.12) !important;
}
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreeTitle{
color:rgba(0,0,0,.87) !important;
}
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreeGrid{
border-top:1px solid rgba(0,0,0,.12) !important;
}
body.skin-timeless .mdtLayout.mdtLight .mdtTechCol + .mdtTechCol{
border-left:1px solid rgba(0,0,0,.12) !important;
}
body.skin-timeless .mdtLayout.mdtLight .mdtTechColTitle{
color:rgba(0,0,0,.75) !important;
}
body.skin-timeless .mdtLayout.mdtLight .mdtTechTreeNote{
color:rgba(0,0,0,.60) !important;
border-top:1px solid rgba(0,0,0,.12) !important;
}
/* 科技树面板内的所有图标统一缩小 */
body.skin-timeless .mdtTechTreePanel img{
width: 40px !important;
height: 40px !important;
}
/* 表头(金色字) */
body.skin-timeless .mw-parser-output table.mdtResearchTable th {
background: rgb(255, 255, 255);
color: #e0c070;
font-weight: 900;
font-size: 1.2rem;
text-align: center;
}
/* 左列(必考研究)可做成偏橙色文字 */
body.skin-timeless .mw-parser-output .mdtResearchReq {
color: #c58a76;
font-weight: 800;
}
/* 像素图标 */
body.skin-timeless .mw-parser-output .mdtPixelIcon img {
width: 22px;
height: 22px;
image-rendering: pixelated;
vertical-align: -4px;
}
/* 研究表外框(黑底金边) */
.mw-parser-output .mdtResearchPanel {
background: rgba(252, 252, 252, 0.86);
border: 2px solid rgba(224, 192, 112, 0.72);
border-radius: 14px;
overflow: hidden;
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.42);
}
/* 如果你没包 <div class="mdtResearchPanel">,表格也会自动变成黑金风格 */
.mw-parser-output table.mdtResearchTable {
background: rgba(8, 8, 8, 0.86);
border: 2px solid rgba(224, 192, 112, 0.72);
border-radius: 14px;
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.42);
}
/* 有外框时,避免出现“双层边框” */
.mw-parser-output .mdtResearchPanel table.mdtResearchTable {
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
}
.mw-parser-output .mdtResearchPanel a,
.mw-parser-output .mdtResearchPanel a:visited {
color: rgba(255, 255, 255, 0.92);
}
/* 表格本体 */
.mw-parser-output table.mdtResearchTable {
width: 100%;
border-collapse: collapse;
margin: 0;
}
.mw-parser-output table.mdtResearchTable th,
.mw-parser-output table.mdtResearchTable td {
padding: 14px 16px;
border-top: 1px solid rgba(255, 255, 255, 0.10);
vertical-align: middle;
}
.mw-parser-output table.mdtResearchTable tr:first-child th {
border-top: 0;
}
/* 表头(金色字) */
.mw-parser-output table.mdtResearchTable th {
background: rgba(255, 255, 255, 0.03);
color: #e0c070;
font-weight: 900;
font-size: 1.2rem;
text-align: center;
}
/* 左列(必考研究)可做成偏橙色文字 */
.mw-parser-output .mdtResearchReq {
color: #c58a76;
font-weight: 800;
}
/* 像素图标 */
.mw-parser-output .mdtPixelIcon img {
width: 22px;
height: 22px;
image-rendering: pixelated;
vertical-align: -4px;
}
/* 如果误用了 |thumb / |frame,尽量去掉默认白底/边框 */
.mw-parser-output .mdtResearchPanel .thumbinner,
.mw-parser-output .mdtResearchPanel .thumbimage,
.mw-parser-output .mdtResearchPanel .thumbborder {
border: 0 !important;
background: transparent !important;
box-shadow: none !important;
}
/* 如果表格里出现“灰色代码框”,通常是某行开头有空格导致的 <pre>;这里兜底把它变透明 */
.mw-parser-output .mdtResearchPanel pre,
.mw-parser-output table.mdtResearchTable pre {
margin: 0;
padding: 0;
border: 0;
background: transparent;
color: inherit;
font-family: inherit;
white-space: normal;
}
/* 底部说明 */
.mw-parser-output .mdtResearchFoot {
color: rgba(255, 255, 255, 0.78);
font-weight: 700;
}
.mw-parser-output .mdtResearchNote {
color: rgba(255, 255, 255, 0.78);
text-align: center;
}
/* 手机:允许横向滚动,避免内容挤坏 */
@media (max-width: 900px) {
.mw-parser-output .mdtResearchPanel {
overflow-x: auto;
}
.mw-parser-output table.mdtResearchTable {
min-width: 520px;
}
}
/* 研究表:单元格文字改成黑色(适配白底页面) */
.mw-parser-output table.mdtResearchTable td {
color: rgba(0, 0, 0, 0.87) !important;
}
/* 底部两行说明:用更浅的黑色 */
.mw-parser-output .mdtResearchFoot,
.mw-parser-output .mdtResearchNote {
color: rgba(0, 0, 0, 0.65) !important;
}
/* 链接颜色(按需改成你的主题色) */
.mw-parser-output table.mdtResearchTable a,
.mw-parser-output table.mdtResearchTable a:visited {
color: #27caaa;
}
/* 默认(白底):用浅灰线 */
.mw-parser-output table.mdtResearchTable {
border-collapse: collapse;
}
.mw-parser-output table.mdtResearchTable th,
.mw-parser-output table.mdtResearchTable td {
border-top: 1px solid rgba(0, 0, 0, 0.12);
}
.mw-parser-output table.mdtResearchTable tr:first-child th {
border-top: 0;
}
/* 黑底面板(mdtResearchPanel 内):用浅白线 */
.mw-parser-output .mdtResearchPanel table.mdtResearchTable th,
.mw-parser-output .mdtResearchPanel table.mdtResearchTable td {
border-top-color: rgba(255, 255, 255, 0.12);
}
/* Mindustry Logic 教程(由 HTML 转成 MediaWiki)样式 */
/* 仅影响包在 <div class="mdtLogicTutorial"> ... </div> 内的内容 */
.mdtLogicTutorial .mdtMarkdownAlert{
margin: 0.9em 0;
padding: 0.8em 1em;
border-left: 4px solid rgba(0,0,0,.35);
background: rgba(0,0,0,.04);
border-radius: 6px;
}
.mdtLogicTutorial .mdtMarkdownAlert-tip{border-left-color:#6ecb63;}
.mdtLogicTutorial .mdtMarkdownAlert-note{border-left-color:#3b82f6;}
.mdtLogicTutorial .mdtMarkdownAlert-warning{border-left-color:#f59e0b;}
.mdtLogicTutorial .mdtMarkdownAlert-important{border-left-color:#a855f7;}
.mdtLogicTutorial pre{
background: rgba(0,0,0,.05);
border: 1px solid rgba(0,0,0,.15);
border-radius: 6px;
padding: 0.8em 1em;
overflow-x: auto;
white-space: pre;
}
.mdtLogicTutorial code{
font-family: var(--mdt-mono-font, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
}
.mdtLogicTutorial :is(h2,h3,h4){
scroll-margin-top: 80px;
}
/* 黑幕/剧透遮挡 */
.heimu, .heimu a, .heimu a:visited{
background:#000;
color:#000 !important;
border-radius:2px;
padding:0 0.2em;
cursor:pointer;
text-decoration:none;
}
/* 悬停显示(可选) */
.heimu:hover, .heimu:hover a, .heimu:hover a:visited{
color:#fff !important;
}
/* 点击后保持显示(配合 JS) */
.heimu.heimu-revealed, .heimu.heimu-revealed a, .heimu.heimu-revealed a:visited{
color:#fff !important;
}
/* Fix: make Timeless sidebars scrollable (wheel + touch) */
@media (max-width: 999px) {
body.skin-timeless #mw-site-navigation,
body.skin-timeless #mw-related-navigation {
max-height: 100vh;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
}
}
/* 统一侧边栏宽度:把 260px 改成你想要的 */
:root{ --mdt-rail-width: 260px; }
/* 白色信息栏:右侧 rail + 面板 */
.mdtRightRail{
width: var(--mdt-rail-width);
min-width: var(--mdt-rail-width);
max-width: var(--mdt-rail-width);
flex: 0 0 var(--mdt-rail-width); /* 如果外层是 flex */
box-sizing: border-box;
}
.mdtSidePanel{ width: 100%; box-sizing: border-box; }
/* 表格别把面板撑宽 */
.mdtSideTable{ width: 100%; table-layout: fixed; }
/* 长英文/长串强制换行,避免撑宽 */
.mdtSideTitle, .mdtSideDesc, .mdtSideTable td{
overflow-wrap: anywhere;
word-break: break-word;
}
/* Tech tree icons: smaller frame, tighter spacing, no stretching */
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol a.image,
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol a.mw-file-description {
display: block;
width: fit-content;
margin: 0.25rem auto;
line-height: 0;
}
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol img,
body.skin-timeless #mw-content-text .mdtTechTreePanel .mdtTechCol img.mw-file-element {
display: block;
width: auto !important;
height: auto !important;
object-fit: contain;
border: 2px solid rgba(124, 106, 255, 0.75);
border-radius: 14px;
padding: 2px;
background: rgba(0, 0, 0, 0.04);
box-shadow: none;
}
/* === MDTDB:强制两列 + 过滤空元素(防止第二栏掉下去) === */
.mdt-db .mdt-db-cols {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
column-gap: 26px !important;
row-gap: 18px !important;
align-items: start !important;
justify-items: stretch !important;
align-content: start !important;
justify-content: start !important;
}
/* 关键:隐藏模板/换行产生的空占位元素,否则会占用 grid 格子 */
.mdt-db .mdt-db-cols > :not(.mdt-db-col) {
display: none !important;
}
/* 列表从上到下紧凑排列(防止 space-between 把间距拉大) */
.mdt-db .mdt-db-col,
.mdt-db .mdt-db-list {
display: flex !important;
flex-direction: column !important;
align-items: stretch !important;
justify-content: flex-start !important;
gap: 10px !important;
}
.mdt-db .mdt-db-item {
margin: 0 !important;
}
.mdt-db p {
margin: 0 !important;
padding: 0 !important;
}
/* 手机端:一列(不想要手机一列就删掉这一段) */
@media (max-width: 640px) {
.mdt-db .mdt-db-cols {
grid-template-columns: 1fr !important;
}
}
