/* Links page */
.links-row { flex-wrap: wrap; }
.links-row .row-text { flex: 1 1 12rem; }
.links-buttons { display: flex; gap: var(--s-2); }
.links-icon { display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; padding: 0; border: 1px solid var(--line-strong); border-radius: 50%; background: none; color: var(--white); cursor: pointer; transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), scale var(--dur-fast) var(--ease-spring); }
.links-icon:hover { background: rgb(var(--fg-rgb) / 0.1); border-color: rgb(var(--fg-rgb) / 0.5); scale: 1.08; }
.links-icon:active { scale: 0.9; }
.links-icon svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.links-status { min-width: 8rem; text-align: right; }
.links-foot { display: flex; justify-content: center; margin-top: var(--s-4); }
.links-dot { display: block; flex: none; width: 0.75rem; height: 0.75rem; border-radius: 50%; background: rgb(var(--fg-rgb) / 0.3); }
.links-dot[data-state="ok"] { background: #22c55e; box-shadow: 0 0 10px #22c55e99; }
.links-dot[data-state="bad"] { background: #ef4444; box-shadow: 0 0 10px #ef444499; }
.links-dot[data-state="wait"] { animation: links-pulse 1s ease-in-out infinite alternate; }
@keyframes links-pulse { to { opacity: 0.35; } }
@media (max-width: 34rem) { .links-status { text-align: left; min-width: 0; } }
