Greasy Fork is available in English.

Pure PRTS.Wiki

Better experience of PRTS.Wiki

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(Tôi đã có Trình quản lý tập lệnh người dùng, hãy cài đặt nó!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

/* ==UserStyle==
* Basic
@name               Pure PRTS.Wiki
@namespace          https://github.com/cworld1
@version            1.3.0
@description        Better experience of PRTS.Wiki
@author             CWorld (https://cworld0.com/)

* Project
@homepageURL        https://gist.github.com/cworld1/920d8fb313a61ec0fc24eb44dbe777d3
@homepageURL        https://greasyfork.org/en/scripts/567490-pure-prts
@license            GPL-3.0

* Var
@var          color    link "Link color"    #83b2ff
@var          color    fg "Font color"    #e9eff4
@var          color    bg "Background color"    #0B0B10
==/UserStyle== */
@-moz-document url-prefix("https://prts.wiki/w/") {
	/* Layout */
	div#MenuSidebar {
		top: 120px;
	}
	#content {
		margin-top: 100px;
	}

	/* Header */
	#mw-head {
		margin-top: -96px;
		& nav.vector-menu-tabs-legacy {
			& * {
				background: none;
			}
			& li.mw-list-item {
				padding: 0 2px;
				height: 36px;
				display: flex !important;
				align-items: center;
			}
			& a {
				padding: 0 10px;
				height: auto;
			}
		}
		& #p-cactions.vector-menu-dropdown {
			height: 36px;
			display: flex;
			align-items: center;
			& > .vector-menu-heading {
				padding: 0 10px;
			}
		}
		& #p-search.vector-search-box {
			margin: 0 3em 0 0;
			& > form {
				margin: 0;
				& .vector-search-box-input {
					height: 40px;
					padding-inline: 10px;
				}
				& #searchButton {
					box-sizing: content-box;
					padding-inline: 10px;
				}
			}
		}
	}
	/* Sidebar */
	#p-logo {
		height: auto;
		& > a {
			max-height: 100px;
			background-size: contain;
			width: inherit;
		}
	}
	/* Hightlight the selflink */
	a.mw-selflink {
		background: #fff80069;
	}

	/* Dark mode */
	@media (prefers-color-scheme: dark) {
		/* Backgroud */
		body {
			background-color: var(--bg) !important;
			&::before {
				height: 1080px;
				background: linear-gradient(transparent 30px, var(--bg) 180px);
			}
			& .mw-body {
				background: linear-gradient(#ffffff82, #ffffff61 80px) !important;
				border-color: #ffffff6e;
				border-top-width: 2px;
			}
		}
		/* Basic */
		ul {
			list-style-image: none;
		}
		/* Header */
		#mw-head {
			& nav.vector-menu-tabs-legacy li.mw-list-item {
				background: #6c6c6c6e;
				border-color: #ffffff61;
				& > a {
					color: var(--fg);
				}
				&.selected {
					background-color: #ffffffb0;
					& > a {
						color: #000000;
					}
				}
			}
			& #p-cactions.vector-menu-dropdown {
				background: #6c6c6c6e;
				border-color: #ffffff61;
				& > .vector-menu-heading {
					color: var(--fg);
					&::after {
						display: none;
					}
				}
			}
		}
		/* Content */
		.mw-body .mw-body-content > :where(.mw-content-ltr, .mw-category-generated):not(.flow-board-page) {
			/* Foreground */
			& :where(.mw-heading, h2, h3, h4, h5, h6) {
				color: #fff
			}
			& > *:not(div:not(.mw-references-wrap, .tabber *:not(tabber__panel div), #mw-pages), table, pre),
			& > #toc .tocnumber,
			& > .nomobile :where(.mp-operators, .mp-today, .mp-extranav, .mp-siteinfo) {
				color: var(--fg);
			}
			/* Link */
			& > :not(
				div.charinfo-container, div#rightToc, table.navbox,
			  & .nomobile:where(& > table.navbox, .cbox-autonarrow, .pathnav2)
			) a,
			& .toctogglelabel {
				color: var(--link);
			}
			/* Card */
			& > table:not(.navbox, & .mc-tooltips),
			& > #toc {
				background: #0000003d;
				color: var(--fg);
			}
		}
		/* Footer */
		.mw-footer {
			& a {
				color: var(--link);
			}
			& li {
				color: var(--fg);
			}
		}
	}
}
@-moz-document url-prefix("https://prts.wiki/w/") {
	/* Scene */
	.button_style {
		top: 18px;
	}
	/* hide unused button */
	#button_report.normal,
	#button_reset.right {
		transition: opacity 0.3s;
		opacity: 0;
	}
	#button_report.normal:hover,
	#button_reset.right:hover {
		opacity: 1;
	}
	/* lower highlight of other buttons */
	#button_playback_all.normal,
	#button_fullscreen,
	.button_style.right {
		transition: opacity 0.3s;
		opacity: 0.4;
	}
	#button_playback_all.normal:hover,
	#button_fullscreen:hover,
	.button_style.right:hover {
		opacity: 1;
	}

	/* left button */
	#button_playback_all.normal {
		left: 80px;
	}
	#button_report.normal {
		left: 130px;
	}
	/* right button */
	.button_style.right {
		width: 60px;
	}
	#button_auto.right {
		width: 90px;
	}
	#button_auto {
		right: 80px;
	}
	#button_reset {
		right: 180px;
	}
	/* move fullscreen mode button to right */
	#button_fullscreen.return {
		background-image: url(https://static.prts.wiki/assets/scenario/ui/ui_fullscreen.png);
		background-size: 30px 30px;
	}
	.button_style.left:not(.hidden) ~ #button_fullscreen {
		left: inherit;
		right: 40px;
		float: right;
		height: 20px;
		width: 20px;
		top: 23px;
		font-size: 9px;
		line-height: 2.2;
	}
	.button_style.left:not(.hidden) ~ #button_fullscreen.return::after {
		content: "Esc";
	}

	/* prove dialog style */
	.dialog_style.header {
		background-image: linear-gradient(rgba(0, 0, 0, .40) 10%, rgba(0, 0, 0, 0) 50%);
	}
	.dialog_style.footer {
		background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .7) 40%);
	}

	/* bigger size of log */
	.mw-content-ltr ul {
		margin-left: 0.7em;
	}
	.log_style {
		left: 0;
		width: 930px;
	}
	.log_style li > em,
	.log_style li > span {
		font-size: 18px;
	}
	.log_style li > em {
		width: 170px;
	}
	.log_style li > span {
		left: 190px;
		width: 730px;
	}
	/* bigger size of dialog */
	.dialog_style.footer > div.content {
		font-size: 20px;
		margin-top: 1px;
	}
	.log_style li {
		padding: 7px 0px;
		height: 22px;
	}
}