/* Server information: facts, community numbers, class chart, features -------- */

.fy-si { display: grid; gap: clamp(2.75rem, 2rem + 2.5vw, 4.25rem); }
.fy-si-head { margin-bottom: var(--sp-5); }
.fy-si-head .fy-eyebrow { margin-bottom: var(--sp-2); }
.fy-page .fy-si-head h2 { margin: 0; font-size: clamp(1.45rem, 1.15rem + 1.1vw, 2rem); }

/* At a glance: one framed card holding the six facts */
.fy-si-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5) var(--sp-4); margin: 0; --card-pad: clamp(1.25rem, .9rem + 1.5vw, 2rem); }
.fy-si-fact { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .8rem; align-items: center; }
.fy-si-fact__icon { grid-row: span 2; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: rgba(255, 196, 63, .13); color: var(--gold-300); }
.fy-si-fact dt { color: var(--text-3); font: 800 .68rem/1.3 var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
.fy-si-fact dd { margin: 0; color: var(--text); font: 600 1.08rem/1.25 var(--font-display); }
@media (min-width: 760px) {
	.fy-si-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--sp-6); }
}
@media (max-width: 419.98px) {
	.fy-si-fact { grid-template-columns: minmax(0, 1fr); }
	.fy-si-fact__icon { display: none; }
	.fy-si-fact dd { font-size: 1rem; }
}

/* Community numbers: big figures separated by hairlines, no boxes */
.fy-si-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--r-xl);
	background: var(--line);
}
.fy-si-stat { display: grid; align-content: start; gap: .35rem; padding: var(--sp-5) var(--sp-5) var(--sp-6); background: var(--bg); }
.fy-si-stat:last-child:nth-child(odd) { grid-column: 1 / -1; }
.fy-si-stat dt { display: flex; align-items: center; gap: .45rem; color: var(--text-3); font: 800 .7rem/1.3 var(--font-body); letter-spacing: .12em; text-transform: uppercase; }
.fy-si-stat dt .fy-i { width: 1.1em; height: 1.1em; color: var(--violet-300); }
.fy-si-stat dd { margin: 0; color: var(--text); font: 600 clamp(1.8rem, 1.45rem + 1.4vw, 2.6rem)/1.05 var(--font-display); }
.fy-si-stat abbr { text-decoration: none; cursor: help; }
@media (min-width: 760px) {
	/* five figures: three on the first row, two on the second */
	.fy-si-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.fy-si-stat { grid-column: span 2; }
	.fy-si-stat:nth-child(n+4), .fy-si-stat:last-child:nth-child(odd) { grid-column: span 3; }
}
@media (min-width: 1100px) {
	.fy-si-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.fy-si-stat, .fy-si-stat:nth-child(n+4), .fy-si-stat:last-child:nth-child(odd) { grid-column: auto; }
}
.fy-si-note { margin: var(--sp-3) 0 0; color: var(--text-4); font-size: .84rem; }
/* Wide screens: the note lies straight on the site background art (freya.css), where --text-4 drops just under 4.5:1
   at the column edge (4.43:1 at 1280 px); --text-3 keeps it readable there. */
@media (min-width: 1100px) {
	.fy-si-note { color: var(--text-3); }
}

/* Class chart: one series, one hue; value at the bar tip */
.fy-si-classes { --card-pad: clamp(1.25rem, .9rem + 1.5vw, 2rem); }
.fy-si-classes__sub { margin: 0 0 var(--sp-5); color: var(--text-3); font-size: .92rem; font-weight: 700; }
.fy-si-bars { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.fy-si-bar { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 1fr); align-items: center; gap: .9rem; margin: 0; }
.fy-si-bar__name { overflow: hidden; color: var(--text); font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.fy-si-bar__track { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.fy-si-bar__fill {
	flex: none;
	width: calc((100% - 7.5rem) * var(--w, 0));
	min-width: 3px;
	height: 14px;
	border-radius: 0 4px 4px 0;
	background: var(--violet-400);
}
.fy-si-bar__value { flex: none; color: var(--text-2); font-size: .9rem; white-space: nowrap; }
.fy-si-bar__value strong { color: var(--text); font-weight: 800; }
.fy-si-bar__value span { color: var(--text-4); font-weight: 700; }
.fy-si-bar:hover .fy-si-bar__fill { background: var(--violet-300); }
@media (max-width: 559.98px) {
	.fy-si-bar { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
	.fy-si-bars { gap: .9rem; }
}

.fy-si-all { margin-top: var(--sp-6); border-top: 1px solid var(--line); }
.fy-si-all > summary {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 44px;
	margin-top: var(--sp-4);
	padding: 0 1rem;
	border: 1px solid var(--line-3);
	border-radius: var(--r-pill);
	color: var(--text);
	font: 600 .95rem/1 var(--font-display);
	list-style: none;
	cursor: pointer;
}
.fy-si-all > summary::-webkit-details-marker { display: none; }
.fy-si-all > summary:hover { border-color: var(--violet-300); background: rgba(140, 87, 248, .14); }
.fy-si-all__chev { transition: transform var(--t-med) var(--ease); }
.fy-si-all[open] .fy-si-all__chev { transform: rotate(180deg); }
.fy-si-all__list { margin: var(--sp-5) 0 0; padding: 0; list-style: none; columns: 3 220px; column-gap: var(--sp-8); }
.fy-si-all__list li { display: flex; justify-content: space-between; gap: var(--sp-3); margin: 0; padding: .4rem .1rem; border-bottom: 1px solid var(--line); break-inside: avoid; font-size: .92rem; }
.fy-si-all__list li span { color: var(--text-2); }
.fy-si-all__list li strong { color: var(--text); font-weight: 800; }

/* Features */
.fy-si-features { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-6) var(--sp-10); margin: 0; padding: 0; list-style: none; }
@media (min-width: 860px) {
	.fy-si-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.fy-si-features li { display: flex; align-items: flex-start; gap: var(--sp-4); margin: 0; }
.fy-si-features__icon { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 16px; background: rgba(140, 87, 248, .16); color: var(--violet-300); }
.fy-si-features__icon .fy-i { width: 24px; height: 24px; }
.fy-si-features__icon--gold { background: rgba(255, 196, 63, .14); color: var(--gold-300); }
.fy-si-features__icon--pink { background: rgba(243, 90, 169, .15); color: var(--petal-300); }
.fy-si-features__icon--sky { background: rgba(63, 140, 255, .15); color: var(--sky-300); }
.fy-si-features__icon--mint { background: rgba(82, 221, 156, .14); color: var(--mint-300); }
.fy-page .fy-si-features h3 { margin: .2rem 0 .35rem; font-size: 1.15rem; }
.fy-si-features p { margin: 0; color: var(--text-3); }
.fy-si-features .fy-link-arrow { margin-top: var(--sp-2); }

/* Closing call to action */
.fy-si-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-5) var(--sp-8);
	padding: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	border: 1px solid var(--line-2);
	border-radius: var(--r-xl);
	background:
		radial-gradient(600px 240px at 0% 0%, rgba(140, 87, 248, .22), transparent 70%),
		radial-gradient(500px 220px at 100% 100%, rgba(255, 196, 63, .1), transparent 70%),
		var(--surface);
}
.fy-page .fy-si-cta h2 { margin: 0 0 .35rem; font-size: clamp(1.4rem, 1.15rem + 1vw, 1.9rem); }
.fy-si-cta p { margin: 0; color: var(--text-2); }
.fy-si-cta__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
@media (max-width: 559.98px) {
	.fy-si-cta__actions, .fy-si-cta__actions .fy-btn { width: 100%; }
}
