/* Ring0Cheats operational status board. Scoped to avoid theme leakage. */
.r0-status {
	--r0-op: #43d38b;
	--r0-mnt: #51c8e8;
	--r0-deg: #f6b84a;
	--r0-dwn: #ef6a70;
	--r0-state: var(--r0-op);
	--r0-status-bg: #0b1015;
	--r0-status-panel: #101820;
	--r0-status-line: rgba(255, 255, 255, 0.11);
	--r0-status-copy: #f4f1eb;
	--r0-status-muted: #9aa6b1;
	--r0-status-mono: ui-monospace, "SFMono-Regular", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;
	max-width: 100%;
	color: var(--r0-status-copy);
}

.r0-status *, .r0-status *::before, .r0-status *::after { box-sizing: border-box; }
.r0-status.r0-lv-operational, .r0-status .r0-lv-operational { --r0-state: var(--r0-op); }
.r0-status.r0-lv-maintenance, .r0-status .r0-lv-maintenance { --r0-state: var(--r0-mnt); }
.r0-status.r0-lv-degraded, .r0-status .r0-lv-degraded { --r0-state: var(--r0-deg); }
.r0-status.r0-lv-down, .r0-status .r0-lv-down { --r0-state: var(--r0-dwn); }

.r0-status__head { max-width: 720px; margin: 0 0 28px; }
.r0-status__eyebrow { display: flex; gap: 12px; margin: 0 0 12px; color: #cbd3da; font: 650 .7rem/1 var(--r0-status-mono); letter-spacing: .14em; text-transform: uppercase; }
.r0-status__eyebrow span { color: #ef8f48; }
.r0-status__head h2 { margin: 0; color: var(--r0-status-copy); font-size: clamp(2rem, 5vw, 3.75rem); line-height: .98; letter-spacing: -.045em; }
.r0-status__head > p:last-child { margin: 15px 0 0; color: var(--r0-status-muted); font-size: 1rem; }

.r0-status-overview {
	display: grid;
	grid-template-columns: minmax(210px, 1fr) minmax(240px, 1.25fr) auto;
	align-items: center;
	gap: 24px;
	min-height: 96px;
	padding: 20px 22px;
	border: 1px solid var(--r0-status-line);
	border-left: 3px solid var(--r0-state);
	background: linear-gradient(100deg, color-mix(in srgb, var(--r0-state) 7%, transparent), transparent 35%), var(--r0-status-panel);
}
.r0-status-overview__state { display: flex; align-items: center; gap: 13px; min-width: 0; }
.r0-status-overview__state div, .r0-status-overview__time { display: flex; flex-direction: column; gap: 4px; }
.r0-status-overview__state span:not(.r0-status-light), .r0-status-overview__time span { color: #778692; font: 650 .65rem/1.2 var(--r0-status-mono); letter-spacing: .11em; text-transform: uppercase; }
.r0-status-overview__state strong { color: var(--r0-status-copy); font-size: 1rem; }
.r0-status-overview > p { margin: 0; color: var(--r0-status-muted); line-height: 1.55; }
.r0-status-overview__time { align-items: flex-end; text-align: right; }
.r0-status-overview__time time { color: #c8d0d6; font: .76rem/1.3 var(--r0-status-mono); }

.r0-status-light { display: inline-block; width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; background: var(--r0-state); box-shadow: 0 0 0 4px color-mix(in srgb, var(--r0-state) 14%, transparent); }
.r0-status-list { border-right: 1px solid var(--r0-status-line); border-left: 1px solid var(--r0-status-line); }
.r0-status-row {
	display: grid;
	grid-template-columns: 44px minmax(180px, 1.2fr) minmax(135px, .65fr) minmax(145px, .7fr) auto;
	align-items: center;
	gap: 20px;
	min-height: 108px;
	padding: 18px 22px;
	border-bottom: 1px solid var(--r0-status-line);
	background: var(--r0-status-bg);
	transition: background-color .18s ease;
}
.r0-status-row:hover { background: #0e161d; }
.r0-status-row__index { color: #667581; font: 650 .7rem/1 var(--r0-status-mono); letter-spacing: .1em; }
.r0-status-row__service { min-width: 0; }
.r0-status-row__service h3 { margin: 0; color: var(--r0-status-copy); font-size: 1rem; line-height: 1.3; }
.r0-status-row__service p { margin: 5px 0 0; color: var(--r0-status-muted); font-size: .86rem; line-height: 1.45; }
.r0-status-row__state { display: flex; align-items: center; gap: 10px; }
.r0-status-row__state strong { color: var(--r0-state); font: 650 .72rem/1.3 var(--r0-status-mono); letter-spacing: .05em; text-transform: uppercase; }
.r0-status-row__uptime { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 7px 12px; min-width: 140px; }
.r0-status-row__uptime span { color: #778692; font: 650 .6rem/1.2 var(--r0-status-mono); letter-spacing: .08em; text-transform: uppercase; }
.r0-status-row__uptime strong { color: #cbd3d9; font: 650 .72rem/1 var(--r0-status-mono); }
.r0-status-row__uptime--na { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.r0-status-progress { grid-column: 1 / -1; height: 3px; overflow: hidden; background: rgba(255,255,255,.07); }
.r0-status-progress span { display: block; height: 100%; background: var(--r0-state); }
.r0-status-row__link { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 12px; border: 1px solid rgba(255,255,255,.17); color: #f4f1eb !important; font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.r0-status-row__link:hover { border-color: #ef8f48; color: #fff !important; }
.r0-status-empty { margin: 0; padding: 32px; border: 1px solid var(--r0-status-line); border-top: 0; color: var(--r0-status-muted); }

.r0-status-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; padding: 18px 2px 0; color: var(--r0-status-muted); font: 650 .65rem/1.3 var(--r0-status-mono); letter-spacing: .07em; text-transform: uppercase; }
.r0-status-legend > span { display: inline-flex; align-items: center; gap: 8px; }
.r0-status-legend > span:first-child { margin-right: auto; color: #778692; }
.r0-status-legend .r0-status-light { width: 7px; height: 7px; flex-basis: 7px; box-shadow: none; }

@media (max-width: 860px) {
	.r0-status-overview { grid-template-columns: 1fr auto; }
	.r0-status-overview > p { grid-column: 1 / -1; grid-row: 2; }
	.r0-status-row { grid-template-columns: 34px minmax(160px, 1fr) minmax(125px, .65fr); }
	.r0-status-row__uptime { grid-column: 2 / 3; }
	.r0-status-row__link { grid-column: 3 / 4; grid-row: 2; justify-self: start; }
}

@media (max-width: 600px) {
	.r0-status-overview { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
	.r0-status-overview > p { grid-column: auto; grid-row: auto; }
	.r0-status-overview__time { align-items: flex-start; text-align: left; }
	.r0-status-row { grid-template-columns: 28px 1fr; gap: 14px; padding: 20px 17px; }
	.r0-status-row__service, .r0-status-row__state, .r0-status-row__uptime, .r0-status-row__link { grid-column: 2 / -1; }
	.r0-status-row__state { grid-row: auto; }
	.r0-status-row__link { grid-row: auto; justify-self: stretch; }
	.r0-status-legend > span:first-child { width: 100%; margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.r0-status-row { transition: none; }
}
