/* Minecraft EvoPixel */
:root
{
	--background: #101513;
	--surface: #191f1c;
	--surface-raised: #202823;
	--border: #323b35;
	--text: #f3f3eb;
	--muted: #a8b1aa;
	--accent: #ed4933;
	--accent-hover: #ff604b;
	--content: 1180px;
}

/* Foundations */
html
{
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body.minecraft-theme
{
	margin: 0;
	background: var(--background);
	color: var(--text);
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 15px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}
.minecraft-theme *,
.minecraft-theme *::before,
.minecraft-theme *::after
{
	box-sizing: border-box;
}
.minecraft-theme h1,
.minecraft-theme h2,
.minecraft-theme h3
{
	color: var(--text);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 20px;
	letter-spacing: -0.035em;
}
.minecraft-theme h1
{
	font-size: clamp(36px, 5vw, 58px);
}
.minecraft-theme h2
{
	font-size: clamp(27px, 3.2vw, 42px);
}
.minecraft-theme h3
{
	font-size: 20px;
}
.minecraft-theme p
{
	margin: 0 0 20px;
}
.minecraft-theme a
{
	color: inherit;
	text-decoration: none;
	transition:
		color 0.18s,
		background 0.18s,
		border-color 0.18s;
}
.minecraft-theme a:hover
{
	color: var(--accent-hover);
	text-decoration: none;
}
.minecraft-theme img
{
	max-width: 100%;
}
.minecraft-theme button,
.minecraft-theme input,
.minecraft-theme select,
.minecraft-theme textarea
{
	font: inherit;
}
.minecraft-theme button,
.minecraft-theme a
{
	-webkit-tap-highlight-color: transparent;
}
.minecraft-theme :focus-visible
{
	outline: 2px solid var(--accent);
	outline-offset: 5px;
}
.minecraft-theme :focus:not(:focus-visible)
{
	outline: none;
}
.minecraft-theme .container,
.minecraft-theme .inner
{
	width: min(var(--content), calc(100% - 64px));
	margin: 0 auto;
	padding: 0;
}
.minecraft-theme .container::before,
.minecraft-theme .container::after
{
	content: none;
}
.minecraft-theme .special
{
	text-align: center;
}
.eyebrow
{
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--accent);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.17em;
}
.eyebrow::before
{
	content: '';
	width: 22px;
	height: 3px;
	background: var(--accent);
	flex-shrink: 0;
}
.muted
{
	color: var(--muted);
}
.section-number
{
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--accent);
}

/* Navigation */
.site-header
{
	position: sticky;
	top: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 82px;
	padding: 16px max(24px, calc((100vw - 1420px) / 2));
	background: #101513f5;
	border-bottom: 1px solid #ffffff10;
	backdrop-filter: blur(16px);
}
.site-brand
{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
.minecraft-theme .site-brand:hover
{
	color: var(--text);
}
.brand-name
{
	display: block;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.3;
}
.site-menu > ul
{
	display: flex;
	align-items: center;
	gap: 17px;
	padding: 0;
	margin: 0;
	list-style: none;
}
.site-menu a,
.site-menu summary
{
	display: block;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}
.site-menu a[aria-current='page']
{
	color: var(--accent);
}
.site-dropdown
{
	position: relative;
}
.site-dropdown summary
{
	display: flex;
	align-items: center;
	gap: 8px;
	list-style: none;
	cursor: pointer;
	padding: 8px 0;
}
.site-dropdown summary::-webkit-details-marker
{
	display: none;
}
.site-dropdown summary::after
{
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg);
	color: var(--muted);
}
.site-dropdown ul
{
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	min-width: 210px;
	list-style: none;
	padding: 8px;
	margin: 0;
	border: 1px solid var(--border);
	background: var(--surface);
	box-shadow: 0 18px 50px #0006;
}
.site-dropdown ul a
{
	padding: 10px 13px;
}
.site-dropdown ul a:hover
{
	background: var(--surface-raised);
}
.site-menu-toggle
{
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--border);
	background: transparent;
	color: var(--text);
	font-size: 16px;
	cursor: pointer;
}

/* Controls */
.minecraft-theme .button,
.minecraft-theme button[type='submit']
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 46px;
	border: 1px solid var(--border);
	border-radius: 3px;
	padding: 12px 22px;
	background: var(--surface-raised);
	color: var(--text);
	line-height: 1.4;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition:
		background 0.18s,
		border-color 0.18s,
		transform 0.12s;
}
.minecraft-theme .button:hover
{
	background: #2a342e;
	border-color: #566459;
	color: #fff;
}
.minecraft-theme .button.special,
.minecraft-theme button[type='submit']
{
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
	box-shadow: 0 3px 0 #a52819;
}
.minecraft-theme .button.special:hover,
.minecraft-theme button[type='submit']:hover
{
	background: var(--accent-hover);
	border-color: var(--accent-hover);
}
.minecraft-theme .button:active,
.site-menu-toggle:active,
.server-address:active
{
	transform: translateY(2px);
	box-shadow: none;
}
.minecraft-theme .button[disabled],
.minecraft-theme button[disabled]
{
	opacity: 0.4;
	cursor: not-allowed;
	box-shadow: none;
}
.minecraft-theme .button[disabled]:active,
.minecraft-theme button[disabled]:active
{
	transform: none;
}
.minecraft-theme .button.big
{
	min-height: 52px;
	padding: 15px 26px;
}
.minecraft-theme .text-link
{
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	font-weight: 700;
}
.minecraft-theme .text-link i
{
	color: var(--accent);
	font-size: 11px;
}
.actions
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
}
.special .actions
{
	justify-content: center;
}
.actions.vertical
{
	justify-content: center;
	margin-top: 28px;
}
.actions.vertical a
{
	display: block;
	padding: 9px 14px;
	background: var(--surface-raised);
	border: 1px solid var(--border);
	font-size: 13px;
}

/* Home */
.minecraft-hero
{
	position: relative;
	isolation: isolate;
	min-height: 690px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.minecraft-hero::before
{
	content: '';
	position: absolute;
	inset: 0;
	z-index: -2;
	background: url('../images/bg.jpg') center 48% / cover;
}
.minecraft-hero::after
{
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, #101513ed 0%, #101513ac 40%, #10151312 80%),
		linear-gradient(0deg, var(--background), #10151300 48%);
}
.minecraft-theme .hero-grid
{
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
	gap: 80px;
	align-items: end;
	padding: 86px 0 100px;
}
.hero-copy h1
{
	font-size: clamp(46px, 5.8vw, 80px);
	line-height: 1.1;
	letter-spacing: -0.055em;
	margin: 24px 0;
}
.hero-copy h1 span
{
	display: block;
	color: var(--accent);
}
.hero-copy > p:not(.eyebrow)
{
	max-width: 500px;
	font-size: 16px;
	line-height: 1.8;
	color: #d6dcd5;
}
.hero-actions
{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 28px;
	margin-top: 34px;
}
.hero-tags
{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin-top: 34px;
	font-size: 11px;
	color: #c0c9bf;
}
.hero-tags span::before
{
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	margin: 0 8px 2px 0;
	background: var(--accent);
}
.home-explore
{
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin-top: 32px;
	font-size: 12px;
	font-weight: 600;
	color: #c0c9bf;
}
.home-explore span
{
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid #63715f;
	border-radius: 50%;
	transition: border-color 0.18s;
}
.home-explore:hover span,
.home-explore:focus-visible span,
.home-explore:active span
{
	border-color: currentColor;
}
.server-card
{
	padding: 28px;
	border: 1px solid #a0b1984d;
	border-top: 3px solid var(--accent);
	background: #121915de;
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 50px #0003;
}
.server-card .eyebrow
{
	margin-bottom: 28px;
	color: #d6ded3;
	font-size: 10px;
}
.server-card .eyebrow::before
{
	display: none;
}
.server-icon
{
	width: 42px;
	height: 42px;
	object-fit: contain;
	flex-shrink: 0;
	border-radius: 3px;
}
.server-address
{
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0;
	background: transparent;
	color: var(--text);
	border: 0;
	cursor: pointer;
	text-align: left;
}
.server-address strong
{
	font-size: clamp(18px, 2vw, 23px);
	font-weight: 800;
	letter-spacing: -0.04em;
}
.server-address i
{
	color: var(--accent);
}
.server-card small
{
	display: block;
	font-size: 11px;
	color: var(--muted);
	margin: 7px 0 24px;
}
.server-count
{
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding-top: 21px;
	border-top: 1px solid var(--border);
	color: var(--muted);
	font-size: 12px;
}
.server-count strong
{
	font-size: 27px;
	font-weight: 800;
	color: var(--text);
}
.home-section
{
	padding: 85px 0;
}
.section-heading
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: end;
	margin-bottom: 38px;
}
.section-heading > p
{
	color: var(--muted);
	font-size: 15px;
	margin-bottom: 5px;
}
.section-heading h2
{
	margin-bottom: 0;
}
.feature-grid
{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: 1px solid var(--border);
}
.feature-card
{
	padding: 32px;
	background: var(--surface);
}
.feature-card + .feature-card
{
	border-left: 1px solid var(--border);
}
.feature-icon
{
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 32px;
	border: 1px solid #ed49333b;
	background: #ed49330b;
	color: var(--accent);
	font-size: 18px;
}
.feature-card h3
{
	font-size: 19px;
}
.feature-card p
{
	color: var(--muted);
	font-size: 13px;
	margin-bottom: 0;
}
.infrastructure-strip
{
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 25px 4px 0;
	color: var(--muted);
	font-size: 11px;
}
.infrastructure-strip span
{
	display: flex;
	align-items: center;
	gap: 10px;
}
.infrastructure-strip i
{
	color: var(--accent);
}
.community-section
{
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	background: #151b17;
}
.community-grid
{
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 100px;
	align-items: start;
}
.community-copy
{
	position: sticky;
	top: 120px;
}
.community-copy > p:not(.eyebrow)
{
	color: var(--muted);
}
.community-copy .text-link
{
	margin-top: 18px;
}
.community-rules
{
	display: grid;
	gap: 0;
}
.community-rule
{
	display: grid;
	grid-template-columns: 35px 1fr;
	gap: 20px;
	padding: 22px 0;
	border-bottom: 1px solid var(--border);
}
.community-rule:first-child
{
	padding-top: 0;
}
.community-rule:last-child
{
	border-bottom: 0;
	padding-bottom: 0;
}
.community-rule h3
{
	font-size: 17px;
	margin-bottom: 8px;
}
.community-rule p
{
	font-size: 13px;
	color: var(--muted);
	margin-bottom: 0;
}
.home-services
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}
.home-service
{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 38px;
	background: var(--surface);
	border: 1px solid var(--border);
}
.home-service-store
{
	background: linear-gradient(130deg, #ed493312, var(--surface));
	border-color: #ed493338;
}
.service-icon
{
	color: var(--accent);
	font-size: 32px;
	line-height: 1;
	margin-bottom: 30px;
}
.home-service h2
{
	font-size: 30px;
	max-width: 330px;
}
.home-service > p:not(.eyebrow)
{
	color: var(--muted);
	font-size: 14px;
	margin-bottom: 28px;
}
.home-service .button
{
	margin-top: auto;
}
.home-join
{
	padding: 58px 0;
	background: linear-gradient(105deg, #ed493318, #101513);
	border-bottom: 1px solid #ed493329;
}
.join-grid
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 32px;
}
.join-grid h2
{
	font-size: 32px;
	margin-bottom: 10px;
}
.join-grid p
{
	color: var(--muted);
	margin: 0;
	font-size: 14px;
}

.mode-directory
{
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 40px;
	padding: 30px 0;
	border-bottom: 1px solid var(--border);
}
.mode-group h3
{
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--muted);
}
.mode-group ul
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 13px;
}
.mode-group li::before
{
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	margin: 0 9px 2px 0;
	background: var(--accent);
}

/* Interior pages */
#main > header
{
	position: relative;
	isolation: isolate;
	padding: 70px max(32px, calc((100% - var(--content)) / 2));
	min-height: 250px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-bottom: 1px solid var(--border);
	overflow: hidden;
}
#main > header::before
{
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, #101513f5 10%, #101513b0 65%, #10151360),
		url('../images/bg.jpg') center 40% / cover;
	z-index: -1;
}
#main > header .eyebrow
{
	margin-bottom: 16px;
}
#main > header .ranking-caption
{
	margin: 16px 0 0;
}
.ranking-caption::before
{
	content: none;
}
#main > header h1
{
	margin-bottom: 0;
}
#main > header > p:not(.eyebrow)
{
	color: #c9d1c6;
	max-width: 620px;
	margin: 16px 0 0;
}
.wrapper
{
	padding: 58px 0 74px;
}
.wrapper > .inner > .actions
{
	padding-bottom: 24px;
	border-bottom: 1px solid var(--border);
}
.wrapper .inner.special,
.auth-content
{
	border: 1px solid var(--border);
	padding: 36px;
	background: var(--surface);
}
.simple-layout #main > header
{
	min-height: 190px;
}
.simple-layout .wrapper
{
	padding-top: 32px;
}
.minecraft-theme .form-message
{
	border: 1px solid #ed493354;
	border-left: 3px solid var(--accent);
	padding: 20px 24px;
	background: #ed49330c;
	color: #f1cbc5;
	line-height: 1.75;
}
.minecraft-theme .empty-state
{
	padding: 58px 30px;
	border: 1px solid var(--border);
	background: var(--surface);
	text-align: center;
}
.empty-state > i
{
	display: block;
	color: var(--accent);
	font-size: 34px;
	margin-bottom: 25px;
}
.empty-state > p
{
	color: var(--muted);
}
.empty-state > p:last-child
{
	margin-bottom: 0;
}
.empty-state > h2
{
	font-size: 26px;
}
.error-code
{
	display: block;
	color: var(--accent);
	font-size: 90px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.07em;
	margin-bottom: 24px;
}
.status-badge
{
	display: inline-block;
	padding: 5px 12px;
	border: 1px solid #ed49334a;
	background: #ed49330c;
	color: #f2a095;
	font-size: 12px;
	font-weight: 600;
}
.status-badge.status-danger
{
	background: #ef51511a;
	border-color: #ef51514d;
	color: #ff9393;
}
.server-presence
{
	margin-top: 22px;
}
.server-presence .status-badge
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.server-presence .status-badge > i
{
	font-size: 7px;
}
.status-badge.status-warning
{
	background: #deb55115;
	border-color: #deb55140;
	color: #e5c87f;
}
.status-badge.status-success
{
	background: #6abd8715;
	border-color: #6abd873d;
	color: #9fd3ad;
}
.label.label-default
{
	display: inline-block;
	padding: 4px 10px;
	border: 1px solid var(--border);
	background: var(--surface-raised);
	color: var(--text);
	border-radius: 3px;
	font-size: 12px;
	line-height: 1.6;
}

/* Forms and account */
.application-grid
{
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 36px;
	align-items: start;
}
.form-panel
{
	border: 1px solid var(--border);
	background: var(--surface);
	padding: 32px;
}
.form-panel > h2,
.models-panel > h2
{
	font-size: 23px;
}
.form-panel > p,
.models-panel > p
{
	color: var(--muted);
	font-size: 13px;
}
.minecraft-theme label
{
	display: block;
	margin: 20px 0 9px;
	font-size: 12px;
	font-weight: 600;
	color: #d2d9cf;
}
.minecraft-theme input:not([type='hidden']):not([type='checkbox']),
.minecraft-theme select,
.minecraft-theme textarea
{
	display: block;
	width: 100%;
	min-width: 0;
	padding: 12px 14px;
	border: 1px solid #3b473d;
	border-radius: 3px;
	background: #101612;
	color: var(--text);
	line-height: 1.7;
	font-size: 13px;
	box-shadow: none;
}
.minecraft-theme input::placeholder,
.minecraft-theme textarea::placeholder
{
	color: #879486;
	opacity: 1;
}
.minecraft-theme input:focus,
.minecraft-theme select:focus,
.minecraft-theme textarea:focus
{
	border-color: var(--accent);
	outline: none;
	box-shadow: 0 0 0 3px #ed493318;
}
.minecraft-theme select
{
	color-scheme: dark;
}
.minecraft-theme textarea
{
	resize: vertical;
	min-height: 85px;
	scrollbar-width: thin;
	scrollbar-color: #4a574b #101612;
}
.minecraft-theme textarea::-webkit-scrollbar
{
	width: 7px;
}
.minecraft-theme textarea::-webkit-scrollbar-thumb
{
	background: #4a574b;
	border-radius: 4px;
}
.minecraft-theme textarea::-webkit-scrollbar-track
{
	background: #101612;
}
.minecraft-theme .application-form label
{
	margin: 22px 0 8px;
	font-size: 13px;
}
.minecraft-theme .application-form input:not([type='hidden']),
.minecraft-theme .application-form textarea
{
	font-size: 15px;
	line-height: 1.6;
}
.minecraft-theme .application-form textarea
{
	min-height: 64px;
	line-height: 1.85;
}
.captcha-wrap
{
	margin: 22px 0;
	max-width: 100%;
	overflow-x: clip;
}
.application-form-note
{
	font-size: 12px;
	color: var(--muted);
	margin: 20px 0 0 !important;
}
.minecraft-theme .application-form-note a
{
	color: var(--muted);
	text-decoration: none;
}
.minecraft-theme .application-form-note a:hover,
.minecraft-theme .application-form-note a:focus-visible
{
	color: var(--accent);
	text-decoration: none;
}
.application-model
{
	margin: 15px 0;
	padding: 0 22px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.application-model summary
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0;
	font-size: 14px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}
.application-model summary::-webkit-details-marker
{
	display: none;
}
.application-model summary i
{
	color: var(--accent);
	font-size: 11px;
}
.application-model[open] summary i
{
	transform: rotate(180deg);
}
.application-model ul
{
	margin: 0;
	padding: 0 0 24px 18px;
	color: var(--muted);
	font-size: 14px;
}
.application-model li + li
{
	margin-top: 9px;
}
.application-model summary:focus-visible
{
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}
.minecraft-theme .auth-content
{
	max-width: 620px;
	padding: 32px;
}
.wrapper > .auth-content > .auth-links
{
	padding-top: 24px;
	padding-bottom: 0;
	border-top: 1px solid var(--border);
	border-bottom: 0;
	margin-bottom: 0;
}
.password-field
{
	position: relative;
}
.minecraft-theme .password-field input
{
	padding-right: 52px;
}
.minecraft-theme .password-toggle
{
	position: absolute;
	top: 0;
	right: 0;
	width: 48px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--muted);
	cursor: pointer;
	transition: color .2s ease;
}
.minecraft-theme .password-toggle:hover,
.minecraft-theme .password-toggle:focus-visible
{
	color: var(--accent);
}
.minecraft-theme .password-toggle:focus-visible
{
	outline: 2px solid var(--accent);
	outline-offset: -4px;
}
.auth-content button[type='submit']
{
	margin-top: 25px;
}
.auth-content .auth-links button[type='submit']
{
	margin-top: 0;
}
.minecraft-theme .auth-content button[type='submit']:not(.special)
{
	background: var(--surface-raised);
	border-color: var(--border);
	color: var(--text);
	box-shadow: none;
}
.minecraft-theme .auth-content button[type='submit']:not(.special):hover
{
	background: #2a342e;
	border-color: #566459;
	color: #fff;
}
.auth-help
{
	font-size: 12px;
	color: var(--muted);
	margin-top: 9px !important;
}
.auth-content .password-field + p
{
	margin-top: 20px;
}
.auth-setup
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 24px;
	margin: 24px 0;
}
.auth-qr
{
	display: block;
	width: 240px;
	max-width: 100%;
	height: auto;
	background: #fff;
}
.auth-manual
{
	flex: 1 1 220px;
	min-width: 0;
}
.auth-manual .auth-secret
{
	margin-bottom: 0;
}
.auth-secret
{
	padding: 15px;
	border: 1px dashed var(--accent);
	font-family: monospace;
	overflow-wrap: anywhere;
}
.profile-avatar
{
	width: 112px;
	height: 112px;
	image-rendering: pixelated;
	border: 1px solid var(--border);
	padding: 8px;
	background: #101612;
	margin-bottom: 24px;
}
.profile-stats
{
	display: grid;
	grid-template-columns: minmax(100px, 1fr) minmax(0, 1fr);
	gap: 0;
	max-width: 680px;
	margin: 30px auto;
	text-align: left;
}
.profile-stats dt,
.profile-stats dd
{
	padding: 14px 16px;
	margin: 0;
	border-bottom: 1px solid var(--border);
	overflow-wrap: anywhere;
	font-size: 13px;
}
.profile-stats dt
{
	color: var(--muted);
	font-weight: 400;
}
.profile-stats dd
{
	font-weight: 700;
}
.profile-layout
{
	display: grid;
	grid-template-columns: minmax(220px, 0.75fr) minmax(0, 2fr);
	gap: 28px;
	align-items: start;
}
.profile-identity,
.profile-panel,
.record-panel
{
	padding: 32px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.profile-identity
{
	text-align: center;
	border-top: 3px solid var(--accent);
}
.profile-identity h2
{
	font-size: 25px;
	overflow-wrap: anywhere;
}
.profile-identity p
{
	margin-bottom: 0;
}
.profile-panel .profile-stats,
.record-panel .profile-stats
{
	margin: 0;
	max-width: none;
}
.record-panel
{
	max-width: 850px;
	margin: 0 auto;
}
.player-skin
{
	display: block;
	image-rendering: pixelated;
	object-fit: contain;
	margin: 25px auto 0;
}
.profile-security
{
	padding: 30px;
	border: 1px solid var(--border);
	margin-top: 28px;
}
.profile-security h2
{
	font-size: 22px;
}
.profile-security .actions
{
	margin-bottom: 0;
}
.profile-overview
{
	display: flex;
	align-items: center;
	gap: 24px;
	text-align: left;
	margin-bottom: 28px;
}
.profile-overview .profile-avatar
{
	flex-shrink: 0;
	margin: 0;
}
.profile-overview > div
{
	min-width: 0;
}
.profile-overview .eyebrow
{
	margin-bottom: 8px;
}
.profile-overview .eyebrow::before
{
	display: none;
}
.profile-flags
{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.profile-flags .status-badge
{
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
.profile-columns
{
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr);
	gap: 28px;
	align-items: start;
}
.profile-columns h2
{
	font-size: 22px;
	margin-bottom: 24px;
}
.profile-columns .profile-stats dt,
.profile-columns .profile-stats dd
{
	padding-right: 0;
	padding-left: 0;
}
.profile-columns .profile-stats dd
{
	text-align: right;
}
.profile-metrics
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
}
.profile-metric
{
	padding: 24px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.profile-metric dt
{
	color: var(--muted);
	font-size: 13px;
	font-weight: 400;
	margin-bottom: 10px;
}
.profile-metric dd
{
	margin: 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.5;
	overflow-wrap: anywhere;
}
.profile-metric-wide
{
	grid-column: 1 / -1;
	border-top: 3px solid var(--accent);
}
.profile-kicks,
.profile-moderation-notice
{
	margin-top: 36px;
}
.profile-kicks .catalogue-toolbar h2
{
	font-size: 22px;
}
.profile-kick-list
{
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--border);
	background: var(--surface);
}
.profile-kick-list > li
{
	padding: 20px 24px;
}
.profile-kick-list > li + li
{
	border-top: 1px solid var(--border);
}
.profile-kick-list > li > div
{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
}
.profile-kick-list time
{
	font-size: 12px;
	color: var(--muted);
}
.profile-kick-list p
{
	margin: 10px 0 0;
	white-space: pre-line;
	overflow-wrap: anywhere;
}
.profile-kicks-empty,
.profile-moderation-notice
{
	padding: 24px;
	border: 1px solid var(--border);
	background: var(--surface);
	color: var(--muted);
}
.profile-moderation-notice
{
	border-left: 3px solid #deb551;
}

/* Server connection dialog */
.minecraft-theme.dialog-open
{
	overflow: hidden;
}
.join-dialog
{
	width: min(820px, calc(100% - 32px));
	max-height: calc(100dvh - 40px);
	margin: auto;
	padding: 30px;
	border: 1px solid var(--border);
	border-top: 3px solid var(--accent);
	background: var(--background);
	color: var(--text);
	scrollbar-color: #4a574b var(--background);
}
.join-dialog::backdrop
{
	background: #050907cc;
	backdrop-filter: blur(5px);
}
.join-dialog[open]
{
	animation: join-dialog-enter .25s ease-out;
}
.join-dialog[open]::backdrop
{
	animation: join-backdrop-enter .25s ease-out;
}
@keyframes join-dialog-enter
{
	from
	{
		opacity: 0;
		transform: translateY(-24px);
	}
	to
	{
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes join-backdrop-enter
{
	from
	{
		opacity: 0;
	}
	to
	{
		opacity: 1;
	}
}
.join-dialog-header
{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}
.join-dialog-header h2
{
	font-size: 30px;
	margin-bottom: 14px;
}
.join-dialog-header .eyebrow
{
	margin-bottom: 12px;
}
.join-dialog-close
{
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border: 1px solid var(--border);
	background: var(--surface);
	color: var(--text);
}
.join-dialog-close:hover
{
	color: var(--accent);
	border-color: var(--accent);
}
.join-dialog > p
{
	color: var(--muted);
	font-size: 14px;
}
.join-editions
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}
.join-edition
{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.join-edition h3
{
	font-size: 19px;
	line-height: 1.5;
}
.join-edition h3 i
{
	margin-right: 12px;
	color: var(--accent);
}
.join-edition > p
{
	color: var(--muted);
	font-size: 13px;
}
.join-edition > .button,
.join-edition > .text-link
{
	font-size: 12px;
	margin-bottom: 22px;
}
.join-connection
{
	width: 100%;
	margin-top: auto;
	border-top: 1px solid var(--border);
	padding-top: 18px;
}
.join-connection dl
{
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px 15px;
	font-size: 12px;
	margin: 0 0 16px;
}
.join-connection dt
{
	color: var(--muted);
	font-weight: 400;
}
.join-connection dd
{
	margin: 0;
	text-align: right;
	font-weight: 600;
	overflow-wrap: anywhere;
}
.join-edition .join-copy-feedback
{
	min-height: 22px;
	margin: 12px 0 0;
	font-size: 12px;
	color: #9fd3ad;
}

/* Catalogues and downloads */
.download-grid
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
.download-card
{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 27px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.download-card > i
{
	font-size: 30px;
	color: var(--accent);
	margin-bottom: 32px;
}
.download-card h2
{
	font-size: 22px;
}
.download-card .button
{
	margin-top: auto;
}
.download-card .eyebrow
{
	margin-bottom: 12px;
	font-size: 9px;
}
.edition-grid
{
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 850px;
	margin: 0 auto;
}
.search-form
{
	padding: 26px;
	margin-bottom: 30px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.search-form label
{
	margin-top: 0;
}
.search-controls
{
	display: flex;
	align-items: stretch;
	gap: 12px;
}
.search-controls input
{
	flex: 1;
}
.search-controls select
{
	max-width: 230px;
}
.search-controls .button
{
	flex-shrink: 0;
}
.catalogue-toolbar
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 26px;
}
.catalogue-toolbar h2
{
	font-size: 25px;
	margin: 0;
}
.top-switcher
{
	position: relative;
	margin-left: auto;
}
.leaders-grid
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}
.leader-card
{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 30px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.leader-card h3
{
	font-size: 20px;
	margin-bottom: 24px;
}
.leader-card h3 i
{
	color: var(--accent);
	margin-right: 12px;
}
.leader-card .player-head
{
	width: 72px;
	height: 72px;
	margin-bottom: 18px;
}
.leader-name
{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 8px;
	overflow-wrap: anywhere;
}
.leader-score
{
	color: var(--accent);
	font-size: 25px;
	font-weight: 700;
}
.leader-score span
{
	color: var(--muted);
	font-size: 13px;
	font-weight: 400;
}
.leader-card .text-link
{
	margin-top: auto;
	font-size: 13px;
}
.leader-empty
{
	color: var(--muted);
}
.top-switcher summary
{
	list-style: none;
}
.top-switcher summary::-webkit-details-marker
{
	display: none;
}
.top-switcher summary i
{
	font-size: 10px;
}
.top-switcher ul
{
	position: absolute;
	z-index: 10;
	top: calc(100% + 8px);
	right: 0;
	width: 230px;
	max-width: calc(100vw - 40px);
	list-style: none;
	padding: 8px;
	margin: 0;
	border: 1px solid var(--border);
	background: var(--surface);
	box-shadow: 0 15px 35px #0005;
}
.top-switcher a
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px;
	font-size: 13px;
}
.top-switcher a:hover
{
	background: var(--surface-raised);
}
.top-switcher a[aria-current='page']
{
	color: var(--accent);
}
.table-wrapper
{
	overflow-x: auto;
	border: 1px solid var(--border);
	background: var(--surface);
	scrollbar-color: #4a574b var(--surface);
	scrollbar-width: thin;
}
.minecraft-theme table
{
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: 13px;
}
.minecraft-theme th
{
	color: var(--muted);
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 19px 20px;
	border-bottom: 1px solid var(--border);
	background: #131a15;
}
.minecraft-theme td
{
	padding: 18px 20px;
	border-bottom: 1px solid #323b3580;
	vertical-align: middle;
}
.minecraft-theme tbody tr:last-child td
{
	border-bottom: 0;
}
.minecraft-theme tbody tr:hover
{
	background: #ffffff03;
}
.minecraft-theme td a
{
	font-weight: 600;
}
.minecraft-theme td small
{
	font-size: 10px;
	color: var(--muted);
}
.leaderboard-table th:first-child,
.leaderboard-table td:first-child
{
	width: 70px;
	text-align: center;
}
.leaderboard-table th:last-child,
.leaderboard-table td:last-child
{
	text-align: right;
}
.leaderboard-table tbody tr:first-child td:first-child
{
	color: var(--accent);
	font-size: 18px;
	font-weight: 800;
}
.punishments-table
{
	min-width: 900px;
}
.punishments-table td
{
	overflow-wrap: anywhere;
	max-width: 240px;
}
.player-head
{
	width: 32px;
	height: 32px;
	image-rendering: pixelated;
	margin-right: 12px;
	vertical-align: middle;
}
.pagination
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 30px;
	color: var(--muted);
	font-size: 13px;
}

/* Rules */
.rules-layout
{
	display: grid;
	grid-template-columns: minmax(200px, 1fr) minmax(0, 3fr);
	gap: 36px;
	align-items: start;
}
.rules-index
{
	position: sticky;
	top: 112px;
	padding: 25px;
	border: 1px solid var(--border);
	background: var(--surface);
}
.rules-index h3
{
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var(--muted);
}
.rules-index ol
{
	padding-left: 17px;
	margin: 0;
}
.rules-index li
{
	padding: 9px 0 9px 5px;
	font-size: 12px;
	color: var(--muted);
}
.rules-index a
{
	color: var(--text);
}
.rule-panel
{
	padding: 30px;
	border: 1px solid var(--border);
	background: var(--surface);
	margin-bottom: 20px;
	scroll-margin-top: 112px;
}
.rule-heading
{
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin-bottom: 20px;
}
.rule-heading > span
{
	font-size: 12px;
	color: var(--accent);
	font-weight: 800;
}
.rule-heading h3
{
	margin: 0;
	font-size: 20px;
}
.rule-panel ul
{
	padding-left: 20px;
	margin: 0;
}
.rule-panel li
{
	padding-left: 8px;
	margin-bottom: 12px;
	color: #b9c4b8;
	font-size: 13px;
	line-height: 1.9;
}
.rule-panel li::marker
{
	color: var(--accent);
}
.rule-panel li:last-child
{
	margin-bottom: 0;
}

/* Footer */
.minecraft-footer
{
	padding: 65px 0 24px;
	background: #0c110e;
}
.footer-grid
{
	display: grid;
	grid-template-columns: 1.35fr 0.8fr 0.8fr 1fr;
	gap: 50px;
}
.footer-column h2
{
	font-size: 12px;
	letter-spacing: 0.06em;
	margin-bottom: 23px;
}
.footer-column .footer-brand
{
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 21px;
	letter-spacing: -0.04em;
}
.footer-brand img
{
	width: 42px;
	height: 42px;
	object-fit: contain;
	flex-shrink: 0;
}
.footer-column p,
.footer-links
{
	font-size: 12px;
	line-height: 1.9;
	color: #929f93;
}
.footer-column p
{
	overflow-wrap: anywhere;
}
.footer-column p > i,
.footer-language > i
{
	margin-right: 8px;
}
.footer-links
{
	list-style: none;
	padding: 0;
	margin: 0;
}
.footer-links li
{
	margin-bottom: 9px;
}
.footer-social
{
	list-style: none;
	display: flex;
	gap: 20px;
	padding: 0;
	margin: 25px 0 0;
}
.footer-social a
{
	color: #bdc7bd;
	font-size: 15px;
}
.footer-bottom
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 50px;
	padding-top: 22px;
	border-top: 1px solid #ffffff12;
	font-size: 12px;
	color: #7f8b80;
	text-align: left !important;
}
.footer-bottom p
{
	margin: 0;
}
.footer-language
{
	order: 2;
}
.footer-copyright
{
	order: -1;
}

/* Responsive layout */
@media (max-width: 1200px)
{
	.site-menu > ul
	{
		gap: 12px;
	}
	.site-menu a,
	.site-menu summary
	{
		font-size: 11px;
	}
	.site-header
	{
		gap: 16px;
		padding-inline: 20px;
	}
	.brand-name
	{
		font-size: 14px;
	}
	.minecraft-theme .hero-grid
	{
		gap: 40px;
	}
	.community-grid
	{
		gap: 60px;
	}
	.footer-grid
	{
		gap: 30px;
	}
}
@media (max-width: 1100px)
{
	.site-menu-toggle
	{
		display: inline-flex;
	}
	.site-menu
	{
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: 20px 28px;
		border-bottom: 1px solid var(--border);
		background: #111813;
		max-height: calc(100dvh - 82px);
		overflow-y: auto;
		scrollbar-width: thin;
		scrollbar-color: #4a574b #111813;
	}
	.site-menu.is-open
	{
		display: block;
	}
	.site-menu > ul
	{
		display: block;
	}
	.site-menu a,
	.site-menu summary
	{
		font-size: 13px;
		padding: 10px 0;
	}
	.site-dropdown ul
	{
		position: static;
		box-shadow: none;
		border: 0;
		border-left: 1px solid var(--accent);
		margin: 5px 0 12px;
		padding: 0 15px;
	}
	.download-grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 800px)
{
	.mode-directory
	{
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
	.minecraft-theme .hero-grid
	{
		grid-template-columns: 1fr;
		gap: 45px;
		padding: 60px 0 65px;
	}
	.minecraft-hero::after
	{
		background:
			linear-gradient(90deg, #101513d9, #10151365),
			linear-gradient(0deg, var(--background), #10151300 80%);
	}
	.hero-copy h1
	{
		font-size: clamp(42px, 9vw, 65px);
	}
	.server-card
	{
		max-width: 420px;
	}
	.section-heading,
	.community-grid
	{
		grid-template-columns: 1fr;
		gap: 26px;
	}
	.community-copy
	{
		position: static;
	}
	.feature-card
	{
		padding: 25px;
	}
	.feature-card h3
	{
		font-size: 17px;
	}
	.application-grid,
	.rules-layout
	{
		grid-template-columns: minmax(0, 1fr);
	}
	.profile-layout,
	.profile-columns
	{
		grid-template-columns: minmax(0, 1fr);
	}
	.home-services
	{
		grid-template-columns: minmax(0, 1fr);
	}
	.rules-index
	{
		position: static;
	}
	.rules-index ol
	{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 25px;
	}
	.footer-grid
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 35px;
	}
	.join-grid
	{
		align-items: flex-start;
		flex-direction: column;
	}
	.infrastructure-strip
	{
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}
@media (max-width: 580px)
{
	.minecraft-theme .container,
	.minecraft-theme .inner
	{
		width: calc(100% - 40px);
	}
	.site-header
	{
		min-height: 70px;
		padding: 13px 20px;
	}
	.brand-name
	{
		font-size: 18px;
	}
	.home-section
	{
		padding: 58px 0;
	}
	.home-service
	{
		padding: 28px;
	}
	.minecraft-theme .hero-grid
	{
		padding: 55px 0;
	}
	.hero-copy h1
	{
		font-size: 43px;
		letter-spacing: -0.055em;
	}
	.hero-copy > p:not(.eyebrow)
	{
		font-size: 14px;
	}
	.hero-actions
	{
		gap: 22px;
	}
	.hero-tags
	{
		font-size: 10px;
		gap: 8px 14px;
	}
	.server-card
	{
		padding: 24px;
		max-width: none;
	}
	.feature-grid
	{
		grid-template-columns: 1fr;
	}
	.feature-card
	{
		padding: 27px;
	}
	.feature-card + .feature-card
	{
		border-left: 0;
		border-top: 1px solid var(--border);
	}
	.feature-icon
	{
		margin-bottom: 22px;
	}
	.section-heading
	{
		gap: 16px;
	}
	.infrastructure-strip
	{
		gap: 14px 24px;
	}
	#main > header
	{
		padding: 42px 20px;
		min-height: 205px;
	}
	#main > header h1
	{
		font-size: 34px;
	}
	.wrapper
	{
		padding: 30px 0 48px;
	}
	.form-panel,
	.wrapper .inner.special,
	.minecraft-theme .auth-content
	{
		padding: 22px 18px;
	}
	.profile-panel,
	.profile-identity,
	.record-panel,
	.profile-security
	{
		padding: 24px 18px;
	}
	.join-editions
	{
		grid-template-columns: minmax(0, 1fr);
	}
	.join-dialog
	{
		padding: 22px 18px;
	}
	.join-edition
	{
		padding: 20px;
	}
	.application-model
	{
		padding: 0 18px;
	}
	.captcha-wrap .g-recaptcha
	{
		transform: scale(0.86);
		transform-origin: top left;
		width: 304px;
		margin-bottom: -10px;
	}
	.search-form
	{
		padding: 20px;
	}
	.search-controls
	{
		flex-wrap: wrap;
	}
	.search-controls input,
	.search-controls select
	{
		flex-basis: 100%;
		max-width: none;
	}
	.search-controls button
	{
		width: 100%;
	}
	.actions
	{
		gap: 8px;
	}
	.actions .button
	{
		padding: 10px 12px;
		font-size: 12px;
	}
	.rules-index ol
	{
		grid-template-columns: 1fr;
	}
	.rule-panel
	{
		padding: 24px 20px;
	}
	.rule-heading h3
	{
		font-size: 19px;
	}
	.download-grid
	{
		gap: 14px;
	}
	.download-card
	{
		padding: 22px 18px;
	}
	.download-card h2
	{
		font-size: 18px;
	}
	.download-card .button
	{
		width: 100%;
		padding: 10px;
		font-size: 11px;
	}
	.leaderboard-toolbar
	{
		align-items: flex-start;
		flex-direction: column;
	}
	.leaderboard-toolbar .top-switcher
	{
		margin-left: 0;
	}
	.leaderboard-toolbar .top-switcher ul
	{
		left: 0;
		right: auto;
	}
	.leaders-grid,
	.edition-grid
	{
		grid-template-columns: 1fr;
	}
	.minecraft-theme td,
	.minecraft-theme th
	{
		padding: 15px 13px;
	}
	.profile-stats dt,
	.profile-stats dd
	{
		padding: 12px 8px;
		font-size: 12px;
	}
	.footer-column h2
	{
		font-size: 14px;
	}
	.footer-column p,
	.footer-links
	{
		font-size: 13px;
	}
	.footer-grid
	{
		grid-template-columns: 1fr 1fr;
		gap: 34px 24px;
	}
	.footer-column:first-child,
	.footer-column:last-child
	{
		grid-column: 1 / -1;
	}
	.footer-bottom
	{
		gap: 14px;
		margin-top: 30px;
	}
	.footer-legal
	{
		width: 100%;
		order: 3;
	}
}
@media (prefers-reduced-motion: reduce)
{
	.join-dialog[open],
	.join-dialog[open]::backdrop
	{
		animation: none;
	}
	html
	{
		scroll-behavior: auto;
	}
	.minecraft-theme *,
	.minecraft-theme *::before,
	.minecraft-theme *::after
	{
		transition: none !important;
	}
}
