:root { --border-radius: .35rem; --title-color: #fff; --text-color: #fff9; --bg-color: #0f121a; --card-bg-color: #23273191; --card-border-color: #21242d; --green-color: 16, 185, 129; --red-color: 248, 113, 113; --yellow-color: 255, 187, 109; } body { color: var(--text-color); background-color: var(--bg-color); font-family: Cantarell, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin: 0; line-height: 1.15; } * { box-sizing: border-box; } :is(header, section) > .inner { max-width: 750px; margin: auto; padding: 0 10px; } h1, h2, h3, h4 { color: var(--title-color); } h3, h4 { margin: 0; } /* HEADER */ header { text-align: center; } header .inner { margin: 5rem auto; } header::after { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 450px; background-image: radial-gradient(circle at 50% 0, rgb(var(--color), .2) 0, transparent 400px); z-index: -1; } header.all { --color: var(--green-color); } header.some { --color: var(--yellow-color); } header.none { --color: var(--red-color); } header .icon { color: rgb(var(--color)); border-radius: 50%; max-width: 50px; padding: 5px; margin: auto; position: relative; display: flex; background-image: linear-gradient(-45deg, rgb(var(--color), .1) 0%, rgb(var(--color), .5) 100%); } header .icon svg { filter: drop-shadow(0 0 10px var(--bg-color)); } header p { font-size: .9rem; } /* GROUP */ .group { background: var(--card-bg-color); border: 1px solid var(--card-border-color); margin: 10px 0; padding: 10px; border-radius: var(--border-radius); } .group .item { overflow: hidden; border-radius: var(--border-radius); } .group .item > .inner { margin: 10px; } .group .item:hover { background-color: #fff1; } .group > .header > .inner { display: flex; align-items: center; justify-content: space-between; } .group > .header .status { opacity: .7; } /* MONITOR */ .monitor { --color: 150, 150, 150; } .monitor > .inner { display: flex; gap: 7px; flex-direction: column; } .monitor .header { display: grid; align-items: center; gap: 10px; grid-template-columns: 22px 1fr max-content; } .monitor .icon { color: rgb(var(--color)); display: flex; } .monitor .uptime { font-size: .9rem; color: rgb(var(--color)); } /* HEARTBEATS */ .heartbeats { display: flex; gap: 5px; flex-direction: column; } .heartbeats .items { display: flex; gap: 2px; border-radius: var(--border-radius); overflow: hidden; height: 5px; transition: all .3s .5s; opacity: .4; } .heartbeats .items > * { flex: 1; background-color: rgb(var(--color)); border-radius: var(--border-radius); } .heartbeats .time { display: flex; justify-content: space-between; font-size: .9rem; opacity: .7; line-height: 1; } .monitor:hover .heartbeats .items { height: 25px; opacity: 1; } /* STATUS COLORS */ .monitor.status-1, .monitor .heartbeats .status-1 { --color: var(--green-color); } .monitor.status-0, .monitor .heartbeats .status-0 { --color: var(--red-color); } .monitor.status-2, .monitor .heartbeats .status-2 { --color: var(--yellow-color); }