body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
/* pinball.systems site theme: the pinball-charts export's look on Contao's stock page markup.
   Installed into files/pinball-systems/ by Pinball Systems > Settings > Site theme; edits made on the site are kept until Reinstall stylesheet is clicked. */

:root {
	--paper: #e3f1ef; --sheet: #f2faf9; --ink: #13233a; --muted: #4a6474; --rule: #a9cbc8; --off: #d3e6e3;
	--lit: #f2b707; --litink: #1d1600; --flag: #b4432b; --board: #dcecea; color-scheme: light;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--paper: #0e1b2b; --sheet: #132438; --ink: #dcefee; --muted: #8fa9b8; --rule: #2d4759; --off: #16293d;
		--lit: #ffc93d; --litink: #1d1600; --flag: #ff8a65; --board: #172c42; color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--paper: #0e1b2b; --sheet: #132438; --ink: #dcefee; --muted: #8fa9b8; --rule: #2d4759; --off: #16293d;
	--lit: #ffc93d; --litink: #1d1600; --flag: #ff8a65; --board: #172c42; color-scheme: dark;
}

/* Page shell (Contao legacy fe_page: #wrapper > #header/#container/#footer, each with .inside) */
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.5 "Barlow", system-ui, sans-serif; }
a { color: inherit; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--lit); outline-offset: 2px; }
#wrapper { max-width: 1500px; margin: 0 auto; padding: 0 24px 64px; }
#header .inside { padding: 28px 0 8px; }
#main .inside { padding: 16px 0 0; }
#footer .inside { padding: 24px 0 40px; color: var(--muted); font-size: 13.5px; }

/* Headings and text */
h1 { font: 700 clamp(44px, 7vw, 88px)/.9 "Barlow Condensed", system-ui, sans-serif; letter-spacing: -.01em; margin: 6px 0 10px; }
h2 { font: 600 30px/1.1 "Barlow Condensed", system-ui, sans-serif; margin: 28px 0 8px; }
h3 { font: 600 26px/1.1 "Barlow Condensed", system-ui, sans-serif; margin: 14px 0 6px; }
.ps-lede { margin: 0; max-width: 62ch; color: var(--muted); }
.rte a:hover { text-decoration-thickness: 2px; }

/* Navigation and breadcrumbs */
.mod_navigation ul { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0; padding: 0; list-style: none; font: 500 15px/1.3 "Barlow Condensed", system-ui, sans-serif; color: var(--muted); }
.mod_navigation a, .mod_navigation strong { text-decoration: none; font-weight: 500; padding: 4px 0; border-bottom: 2px solid transparent; }
.mod_navigation a:hover { border-bottom-color: var(--rule); }
.mod_navigation .active, .mod_navigation .trail > a, .mod_navigation strong { color: var(--ink); border-bottom-color: var(--rule); }
.mod_breadcrumb ul, .ps-crumbs { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; font: 500 15px/1.3 "Barlow Condensed", system-ui, sans-serif; color: var(--muted); }
.mod_breadcrumb a, .ps-crumbs a { text-decoration: none; }
.mod_breadcrumb a:hover, .ps-crumbs a:hover { text-decoration: underline; }
.mod_breadcrumb li + li::before { content: "›"; margin: 0 .45em; opacity: .6; }
.ps-crumbs span[aria-hidden] { margin: 0 .45em; opacity: .6; }

/* Forms: login, lost password, registration, reviewer forms */
.widget { margin: 0 0 14px; }
.widget:not(.widget-checkbox):not(.widget-radio) > label { display: block; font: 600 14px/1.2 "Barlow Condensed", system-ui, sans-serif; margin: 0 0 4px; }
.widget input[type="text"], .widget input[type="password"], .widget input[type="email"], .widget input[type="tel"], .widget input[type="url"], .widget input[type="number"], .widget input[type="date"], .widget input[type="search"], .widget textarea, .widget select { width: 100%; max-width: 420px; padding: 8px 10px; background: var(--sheet); color: var(--ink); border: 1px solid var(--rule); font: inherit; }
.widget-submit button, button.submit { background: var(--ink); color: var(--paper); border: 1px solid var(--ink); padding: 8px 16px; cursor: pointer; font: 600 15px/1.2 "Barlow Condensed", system-ui, sans-serif; }
.widget-submit button:hover, button.submit:hover { background: var(--paper); color: var(--ink); }
p.error, .widget .error { color: var(--flag); font-size: 14px; }
.mod_login, .mod_lostPassword, .mod_registration, .mod_closeAccount { max-width: 460px; }

/* Tables outside the charts (queue page, article tables) and the list pages */
.ps-index { max-width: 900px; }
.ps-index table, .content-table table { width: 100%; border-collapse: collapse; background: var(--sheet); border: 1px solid var(--rule); font-size: 15px; }
.ps-index th, .ps-index td, .content-table th, .content-table td { border-bottom: 1px solid var(--rule); padding: 8px 12px; text-align: left; }
.ps-index th, .content-table th { font: 600 14px/1.2 "Barlow Condensed", system-ui, sans-serif; background: var(--board); }
.ps-st { font-size: 14px; white-space: nowrap; }
.ps-st::before { content: ""; display: inline-block; width: .62em; height: .62em; border-radius: 50%; margin-right: 7px; vertical-align: .04em; box-sizing: border-box; }
.ps-st-needs_source::before { border: 1.5px solid var(--muted); }
.ps-st-needs_processing::before { background: var(--lit); }
.ps-st-processed::before { background: var(--ink); }
.ps-st-reviewed::before { background: var(--ink); box-shadow: 0 0 0 2px var(--sheet), 0 0 0 3.5px var(--ink); }
.ps-index tr[data-status="needs_source"] td { color: var(--muted); }

/* Home cards: opt-in on an article's CSS class */
.ps-home .rte { display: grid; gap: 18px; margin-top: 18px; }
.ps-home .rte > * { border: 1px solid var(--rule); background: var(--sheet); padding: 18px 20px; margin: 0; }
.ps-home .rte h2 { margin: 0 0 6px; }
.ps-home .rte p { margin: 0; max-width: 70ch; color: var(--muted); }

/* Two columns with the sticky circuit panel (class set by the script when a page has charts) */
#main .inside.ps-has-panel { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; }
#main .inside.ps-has-panel > * { grid-column: 1; }
#main .inside.ps-has-panel > #ps-panel { grid-column: 2; grid-row: 1 / span 999; }
@media (min-width: 1101px) {
	#ps-panel { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; }
}

@media (max-width: 1100px) {
	#main .inside.ps-has-panel { grid-template-columns: minmax(0, 1fr); }
	#main .inside.ps-has-panel > #ps-panel { grid-column: 1; grid-row: auto; }
}
@media (max-width: 640px) {
	#wrapper { padding-left: 16px; padding-right: 16px; }
}
@media print {
	#ps-panel, dialog { display: none; }
	body { background: #fff; }
}

/* Phones: tighter shell, the list keeps game, year and status */
@media (max-width: 640px) {
	#wrapper { padding: 0 12px 48px; }
	#header .inside { padding: 18px 0 6px; }
	h1 { font-size: clamp(34px, 11vw, 52px); }
	h2 { font-size: 26px; }
	h3 { font-size: 22px; }
	.ps-index table, .content-table table { font-size: 14px; }
	.ps-index th, .ps-index td, .content-table th, .content-table td { padding: 6px 8px; }
	.ps-crumbs, .mod_breadcrumb ul { font-size: 14px; }
}

