@font-face {
	font-family: 'Open Sans';
	src: url('/assets/fonts/open-sans.woff2') format('woff2');
	font-weight: 300 800;
	font-display: swap;
}
:root {
	color-scheme: dark;
	--ecc-blue: #3498db;
	--ecc-link: #79c2f0;
	--ecc-panel: #2d2d2d;
	--ecc-surface: #373737;
	--ecc-nav: #242526;
	--ecc-border: #464646;
	--ecc-muted: #b8bfc5;
}
* { box-sizing: border-box; }
body.ecc-site {
	margin: 0;
	background: #23272c url('/forum/Best%20Minecraft%20Servers.jpg') center top / cover fixed no-repeat;
	color: #eee;
	font: 14px/1.7 'Open Sans', Arial, sans-serif;
}
a { color: var(--ecc-link); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select { font: inherit; }
a:focus-visible, button:focus-visible, summary:focus-visible {
	outline: 3px solid #91d4ff;
	outline-offset: 3px;
}
.ecc-shell { width: calc(100% - 44px); max-width: 1170px; margin: 0 auto; }
.ecc-masthead { height: 160px; display: flex; align-items: center; justify-content: center; }
.ecc-brand { display: block; width: 678px; max-width: 62%; }
.ecc-brand img { display: block; width: 100%; height: auto; }
.ecc-frame { background: var(--ecc-surface); border: 1px solid var(--ecc-border); border-radius: 4px; box-shadow: 0 14px 60px #0b10174d; }
.ecc-site-nav { display: flex; align-items: center; gap: 10px; position: relative; z-index: 20; min-height: 52px; padding: 0 6px; background: var(--ecc-nav); border-bottom: 1px solid var(--ecc-border); border-radius: 4px 4px 0 0; }
.ecc-site-links { display: flex; align-items: stretch; }
.ecc-site-links a, .ecc-mobile-links a { display: block; padding: 15px 16px; border-bottom: 2px solid transparent; color: #c9cdd0; font-size: 12px; font-weight: 700; line-height: 20px; text-transform: uppercase; }
.ecc-site-links a:hover, .ecc-mobile-links a:hover { background: #ffffff09; color: white; text-decoration: none; }
.ecc-site-links a[aria-current], .ecc-mobile-links a[aria-current] { background: #ffffff06; color: var(--ecc-link); border-bottom-color: var(--ecc-blue); }
.ecc-site-account { margin-left: auto; padding: 14px; color: #d0d4d7; font-size: 11px; white-space: nowrap; }
.ecc-mobile-nav { display: none; }
.ecc-context { padding: 10px 20px; border-bottom: 1px solid var(--ecc-border); font-size: 11px; color: var(--ecc-muted); }
.ecc-home .container { padding: 28px 24px 0; text-align: center; }
.items { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.item { min-width: 0; display: block; padding: 24px 14px; background: var(--ecc-panel); border: 1px solid var(--ecc-border); border-radius: 4px; color: white; transition: border-color .16s; }
.item:hover { border-color: #6e9db9; text-decoration: none; }
.item img { display: block; width: auto; height: 132px; max-width: 100%; object-fit: contain; margin: 0 auto 17px; }
.item .subtitle { margin: 0; font-size: 12px; color: var(--ecc-muted); }
.item .title { margin: 0; font-size: 21px; line-height: 1.4; color: #eee; font-weight: 600; }
.playercount { margin: 24px 0 0; padding: 14px; background: #2d3338; border: 1px solid #48535c; border-radius: 4px; }
.playercount p { margin: 0; }
.ip { display: inline-block; padding: 5px 10px; margin: 0 3px; border: 1px solid #49758f; border-radius: 4px; background: #233a49; color: #ace0ff; font-weight: 600; }
button.ip { cursor: pointer; }
.extrapad { padding: 0; }
.about-ecc, .wrap { max-width: 960px; margin: 0 auto; padding: 34px 30px 44px; }
.about-ecc h1 { text-align: center; }
h1 { color: #fff; font-size: 29px; font-weight: 600; line-height: 1.3; letter-spacing: -.5px; margin: 0 0 20px; }
h2 { color: #eee; font-size: 22px; font-weight: 600; line-height: 1.4; margin: 32px 0 12px; }
p { margin: 0 0 16px; }
.about-ecc p:last-child { text-align: center; margin-bottom: 0; }
.about-ecc ul { list-style: none; padding: 0; margin: 26px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.about-ecc a { text-decoration: underline; }
.lede { color: var(--ecc-muted); font-size: 16px; margin: 0 0 24px; }
.cta { display: inline-flex; align-items: center; justify-content: center; margin: 6px 10px 6px 0; padding: 10px 18px; border: 1px solid #4c87ad; border-radius: 4px; background: #28678f; color: #fff; font-weight: 600; }
.cta:hover { background: #327dab; text-decoration: none; }
.cta.alt { background: #2b343d; border-color: #526273; color: #d8e6ef; }
.features, .quotes { list-style: none; padding: 0; margin: 20px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.features li, .quotes li { background: var(--ecc-panel); border: 1px solid var(--ecc-border); border-radius: 4px; padding: 18px; min-width: 0; }
.features b { display: block; color: #fff; margin-bottom: 4px; }
.quotes p { font-style: italic; margin: 0 0 12px; }
.quotes cite { color: var(--ecc-link); font-size: 12px; font-style: normal; }
.shot { margin: 28px 0; }
.shot img { width: 100%; height: auto; display: block; border: 1px solid var(--ecc-border); border-radius: 4px; }
.shot figcaption { color: var(--ecc-muted); font-size: 12px; text-align: center; margin-top: 10px; }
.faq dt { font-weight: 600; color: #eee; margin-top: 20px; }
.faq dd { margin: 6px 0 0; color: var(--ecc-muted); }
.ecc-footer { padding: 23px 24px; border-top: 1px solid var(--ecc-border); background: #23282d; color: var(--ecc-muted); font-size: 11px; border-radius: 0 0 4px 4px; }
.ecc-footer p { margin: 12px 0 0; }
.ecc-footer-links { display: flex; gap: 10px 22px; flex-wrap: wrap; }
.ecc-footer-links a { color: #c0ccd4; padding: 4px 0; }
.ecc-skip { position: fixed; top: -70px; left: 15px; z-index: 100; background: #17394e; padding: 12px; color: white; }
.ecc-skip:focus { top: 10px; }
@media (max-width: 950px) {
	.ecc-site-links a { padding-left: 12px; padding-right: 12px; }
	.item { padding: 20px 12px; }
	.item img { height: 110px; }
}
@media (max-width: 700px) {
	.ecc-shell { width: calc(100% - 24px); }
	.ecc-masthead { height: 108px; }
	.ecc-brand { width: 460px; max-width: 93%; }
	.ecc-site-nav { padding: 0 14px; }
	.ecc-site-links { display: none; }
	.ecc-mobile-nav { display: block; }
	.ecc-mobile-nav summary { cursor: pointer; padding: 14px 0; color: #d7dde1; font-size: 12px; font-weight: 600; }
	.ecc-mobile-links { position: absolute; top: 100%; left: 0; right: 0; background: var(--ecc-nav); border: 1px solid var(--ecc-border); border-top: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); box-shadow: 0 12px 24px #0005; }
	.ecc-mobile-links a { padding: 12px 16px; font-size: 11px; }
	.ecc-site-account { font-size: 11px; padding-right: 0; }
	.ecc-context { padding: 10px 14px; font-size: 10px; }
	.ecc-home .container { padding: 20px 14px 0; }
	.items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.item { padding: 18px 10px; }
	.item img { height: 100px; margin-bottom: 12px; }
	.item .title { font-size: 18px; }
	.item .subtitle { font-size: 11px; }
	.playercount { margin-top: 20px; padding: 12px 8px; font-size: 12px; }
	.about-ecc, .wrap { padding: 26px 18px 32px; }
	h1 { font-size: 24px; }
	h2 { font-size: 20px; }
	.about-ecc ul, .features, .quotes { grid-template-columns: minmax(0, 1fr); }
	.lede { font-size: 14px; }
	.ecc-footer { padding: 20px 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.item { transition: none; }
}
