.rules-policy {
	--rules-ink: #3b2a1d;
	--rules-muted: #705b47;
	--rules-paper: #f5e8cf;
	--rules-paper-deep: #e4cfaa;
	--rules-border: #9c7b50;
	--rules-navy: #132e35;
	--rules-teal: #1f5556;
	--rules-gold: #d6a743;
	color: var(--rules-ink);
	font-family: Verdana, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.55;
}

.rules-policy *,
.rules-policy *::before,
.rules-policy *::after {
	box-sizing: border-box;
}

.rules-hero {
	position: relative;
	overflow: hidden;
	padding: 24px 22px 21px;
	border: 1px solid #0c2429;
	border-radius: 5px;
	background:
		radial-gradient(circle at 92% 12%, rgba(214, 167, 67, .24), transparent 31%),
		linear-gradient(135deg, #10272e 0%, #1d4c4f 66%, #17363d 100%);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 3px 9px rgba(38, 22, 9, .26);
	color: #f8edda;
}

.rules-hero::after {
	position: absolute;
	right: -42px;
	bottom: -76px;
	width: 210px;
	height: 210px;
	border: 1px solid rgba(214, 167, 67, .25);
	border-radius: 50%;
	box-shadow: 0 0 0 24px rgba(214, 167, 67, .05), 0 0 0 49px rgba(214, 167, 67, .035);
	content: "";
}

.rules-eyebrow {
	margin: 0 0 5px;
	color: var(--rules-gold);
	font-size: 10px;
	font-weight: bold;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.rules-hero h2,
.rules-block-heading h2 {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-weight: bold;
}

.rules-hero h2 {
	position: relative;
	z-index: 1;
	color: #fff8ec;
	font-size: 25px;
	line-height: 1.2;
	text-shadow: 1px 2px #08191d;
}

.rules-lead {
	position: relative;
	z-index: 1;
	max-width: 690px;
	margin: 10px 0 16px;
	color: #e8dcc9;
	font-size: 12px;
}

.rules-meta {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.rules-meta span {
	padding: 4px 8px;
	border: 1px solid rgba(230, 202, 145, .35);
	border-radius: 999px;
	background: rgba(3, 17, 20, .26);
	color: #f2e6d0;
	font-size: 10px;
}

.rules-nav {
	display: flex;
	gap: 6px;
	margin: 11px 0;
	padding: 9px;
	overflow-x: auto;
	border: 1px solid #b49a73;
	border-radius: 4px;
	background: rgba(255, 250, 237, .55);
	scrollbar-color: #86613c #ead8b7;
}

.rules-nav a {
	flex: 0 0 auto;
	padding: 6px 9px;
	border: 1px solid #af9168;
	border-radius: 3px;
	background: #ead7b5;
	box-shadow: inset 0 1px rgba(255, 255, 255, .7);
	color: #4f321c;
	font-size: 10px;
	font-weight: bold;
	text-decoration: none;
}

.rules-nav a:hover,
.rules-nav a:focus-visible {
	border-color: #315b58;
	background: #315b58;
	color: #fff7e7;
}

.rules-nav a:focus-visible,
.rules-section summary:focus-visible,
.rules-table-scroll:focus-visible,
.rules-action:focus-visible {
	outline: 2px solid #1b6e8a;
	outline-offset: 2px;
}

.rules-principles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 11px;
}

.rules-principles article {
	min-height: 96px;
	padding: 12px;
	border: 1px solid var(--rules-border);
	border-top: 3px solid var(--rules-teal);
	border-radius: 4px;
	background: rgba(247, 235, 212, .86);
	box-shadow: 0 2px 5px rgba(69, 44, 22, .11);
}

.rules-principles strong,
.rules-principles span {
	display: block;
}

.rules-principles strong {
	margin-bottom: 5px;
	color: #264b49;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
}

.rules-principles span {
	color: var(--rules-muted);
	font-size: 10px;
	line-height: 1.45;
}

.rules-alert {
	display: grid;
	grid-template-columns: minmax(170px, .7fr) minmax(280px, 1.3fr);
	gap: 14px;
	align-items: center;
	margin: 0 0 11px;
	padding: 11px 13px;
	border-radius: 4px;
}

.rules-alert-security {
	border: 1px solid #856225;
	background: linear-gradient(90deg, #3b2e18, #5b441e);
	color: #f4e8d0;
}

.rules-alert strong {
	color: #ffd984;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
}

.rules-alert a {
	color: #ffe2a0;
	font-weight: bold;
}

.rules-sections {
	display: grid;
	gap: 8px;
}

.rules-section {
	border: 1px solid #866744;
	border-radius: 4px;
	background: rgba(246, 232, 204, .86);
	box-shadow: 0 2px 5px rgba(62, 38, 18, .12);
	scroll-margin-top: 12px;
}

.rules-section summary {
	display: grid;
	grid-template-columns: 43px minmax(0, 1fr) 22px;
	gap: 10px;
	align-items: center;
	min-height: 60px;
	padding: 9px 12px;
	background: linear-gradient(#f1dfbf, #ddc49e);
	cursor: pointer;
	list-style: none;
}

.rules-section summary::-webkit-details-marker {
	display: none;
}

.rules-section[open] summary {
	border-bottom: 1px solid #9a7951;
	background: linear-gradient(#284f4e, #173b3d);
	color: #fff6e5;
}

.rules-section-number {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 1px solid #96713a;
	border-radius: 50%;
	background: #543c25;
	color: #f6d98a;
	font: bold 14px Georgia, "Times New Roman", serif;
}

.rules-section summary strong,
.rules-section summary small {
	display: block;
}

.rules-section summary strong {
	font: bold 16px Georgia, "Times New Roman", serif;
}

.rules-section summary small {
	margin-top: 2px;
	color: #735b43;
	font-size: 10px;
	font-weight: normal;
	line-height: 1.35;
}

.rules-section[open] summary small {
	color: #d9cdb8;
}

.rules-chevron {
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-3px);
	transition: transform .18s ease;
}

.rules-section[open] .rules-chevron {
	transform: rotate(225deg) translate(-2px, -2px);
}

.rules-section-body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding: 10px;
}

.rules-item {
	padding: 11px;
	border: 1px solid #c3a77f;
	border-radius: 3px;
	background: rgba(255, 250, 239, .66);
}

.rules-item-heading {
	display: flex;
	gap: 7px;
	align-items: center;
	margin-bottom: 6px;
}

.rules-item h3 {
	flex: 1;
	margin: 0;
	color: #4a2e1b;
	font: bold 13px Georgia, "Times New Roman", serif;
}

.rules-item p {
	margin: 0;
	color: #5e4a38;
	font-size: 10px;
}

.rules-code,
.rules-severity,
.rules-level {
	display: inline-block;
	border-radius: 999px;
	font-size: 9px;
	font-weight: bold;
	line-height: 1;
	white-space: nowrap;
}

.rules-code {
	padding: 5px 6px;
	background: #4e3824;
	color: #f4ddb1;
}

.rules-severity,
.rules-level {
	padding: 5px 7px;
}

.rules-severity-info,
.rules-level-info {
	background: #d8e7e4;
	color: #245b58;
}

.rules-severity-minor,
.rules-level-minor {
	background: #dae7ce;
	color: #385929;
}

.rules-severity-moderate,
.rules-level-moderate {
	background: #f1dda8;
	color: #6b4a08;
}

.rules-severity-serious,
.rules-level-serious {
	background: #e8c096;
	color: #7b360e;
}

.rules-severity-critical,
.rules-level-critical {
	background: #8b2e2b;
	color: #fff0e4;
}

.rules-block {
	margin-top: 12px;
	padding: 14px;
	border: 1px solid #8f704b;
	border-radius: 4px;
	background: rgba(246, 233, 208, .88);
	box-shadow: 0 2px 6px rgba(62, 39, 20, .13);
	scroll-margin-top: 12px;
}

.rules-block-heading {
	margin-bottom: 10px;
}

.rules-block-heading h2 {
	color: #3e2a1a;
	font-size: 19px;
}

.rules-block-heading > p:last-child {
	margin: 5px 0 0;
	color: var(--rules-muted);
}

.rules-table-scroll {
	max-width: 100%;
	overflow-x: auto;
}

.rules-table {
	width: 100%;
	min-width: 670px;
	border: 1px solid #9f8058;
	border-collapse: collapse;
	background: #f9edda;
}

.rules-table th,
.rules-table td {
	padding: 8px;
	border: 1px solid #c3aa83;
	text-align: left;
	vertical-align: top;
}

.rules-table thead th {
	background: #263f3e;
	color: #f9ead1;
	font-size: 10px;
}

.rules-table tbody tr:nth-child(even) {
	background: #ead7b7;
}

.rules-note {
	margin: 9px 0 0;
	padding: 9px 11px;
	border-left: 3px solid #9c6228;
	background: #ead5b1;
	color: #5b3c22;
	font-size: 10px;
}

.rules-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rules-steps li {
	display: grid;
	grid-template-columns: 34px 1fr;
	gap: 9px;
	padding: 10px;
	border: 1px solid #bea078;
	border-radius: 3px;
	background: rgba(255, 250, 239, .62);
}

.rules-steps li > span {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 50%;
	background: var(--rules-teal);
	color: #fff1d8;
	font: bold 14px Georgia, "Times New Roman", serif;
}

.rules-steps strong {
	color: #3e3022;
	font: bold 13px Georgia, "Times New Roman", serif;
}

.rules-steps p {
	margin: 3px 0 0;
	color: #68533e;
	font-size: 10px;
}

.rules-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 10px;
}

.rules-action {
	padding: 7px 11px;
	border: 1px solid #163c3d;
	border-radius: 3px;
	background: linear-gradient(#356361, #214846);
	color: #fff8e8;
	font-weight: bold;
	text-decoration: none;
}

.rules-action:hover {
	background: #173b3d;
	color: #fff;
}

.rules-action-secondary {
	border-color: #806139;
	background: linear-gradient(#a17b46, #79552e);
}

.rules-footer {
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid #6f573a;
	border-radius: 4px;
	background: #3d3429;
	color: #e9dcc6;
}

.rules-footer p {
	margin: 0;
}

.rules-footer p + p {
	margin-top: 7px;
}

.rules-footer strong {
	color: #f6d88f;
}

@media (max-width: 820px) {
	.rules-principles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.rules-hero {
		padding: 19px 15px;
	}

	.rules-hero h2 {
		font-size: 21px;
	}

	.rules-principles,
	.rules-section-body,
	.rules-steps {
		grid-template-columns: 1fr;
	}

	.rules-alert {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.rules-section summary {
		grid-template-columns: 38px minmax(0, 1fr) 18px;
		gap: 8px;
		padding: 8px;
	}

	.rules-section-number {
		width: 36px;
		height: 36px;
	}

	.rules-section summary strong {
		font-size: 14px;
	}

	.rules-item-heading {
		flex-wrap: wrap;
	}

	.rules-item h3 {
		min-width: 130px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rules-chevron {
		transition: none;
	}
}
