Files
peya-nodejs-pool/website_example/themes/custom.css
Codex Bot 3e1da47340
Some checks failed
CodeQL / Analyze (javascript) (push) Failing after 27s
Bust pool asset cache and center stats shell
2026-03-24 14:14:05 +01:00

1031 lines
18 KiB
CSS

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap");
:root {
--bg-main: #081118;
--bg-panel: rgba(12, 24, 36, 0.84);
--bg-panel-strong: rgba(15, 28, 43, 0.96);
--line: rgba(136, 255, 225, 0.12);
--line-strong: rgba(76, 200, 255, 0.22);
--text-main: #effaf8;
--text-soft: #9db7b2;
--text-dim: #59727a;
--accent-mint: #42f5c8;
--accent-cyan: #4cc8ff;
--accent-gold: #d4ff69;
--accent-red: #ff6d8e;
--shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
--radius-lg: 26px;
--radius-md: 20px;
--content-max-width: 1380px;
--font-display: "Space Grotesk", "Segoe UI", sans-serif;
--font-body: "Manrope", "Segoe UI", sans-serif;
}
html {
min-height: 100%;
background:
radial-gradient(circle at top left, rgba(76, 200, 255, 0.18), transparent 28%),
radial-gradient(circle at top right, rgba(66, 245, 200, 0.16), transparent 22%),
linear-gradient(160deg, #04090d, #09131c 55%, #060d14);
}
body {
min-height: 100%;
background: transparent;
color: var(--text-main);
font-family: var(--font-body);
margin-bottom: 72px;
}
.lucide {
width: 1em;
height: 1em;
stroke: currentColor;
fill: none;
stroke-linecap: round;
stroke-linejoin: round;
vertical-align: -0.18em;
}
.animate-spin {
animation: peya-spin 1s linear infinite;
}
@keyframes peya-spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
a {
color: var(--accent-cyan);
transition: color 180ms ease;
}
a:hover,
a:focus {
color: var(--accent-mint);
text-decoration: none;
}
strong,
b,
.stats > div:not(#addressError) > span:not(.input-group-btn):first-of-type {
font-weight: 700;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
color: var(--text-main);
font-family: var(--font-display);
font-weight: 700;
letter-spacing: -0.03em;
}
h3,
.h3 {
font-size: 34px;
}
h4,
.h4 {
font-size: 24px;
}
code {
color: var(--accent-cyan);
background: rgba(76, 200, 255, 0.12);
border: 1px solid rgba(76, 200, 255, 0.12);
border-radius: 999px;
padding: 3px 10px;
}
hr {
border-top: 1px solid var(--line);
}
footer {
background: rgba(7, 15, 23, 0.94);
border-top: 1px solid var(--line);
backdrop-filter: blur(18px);
}
footer > div,
footer .text-muted {
color: var(--text-soft) !important;
}
footer a {
color: var(--accent-mint);
}
#page-wrapper {
padding: 24px 20px 0;
}
#page {
width: 100%;
}
@media (min-width: 992px) {
#page-wrapper {
margin: 0 0 0 250px;
padding: 86px 34px 0;
}
}
#loading {
color: var(--accent-cyan);
}
.page-hero {
display: grid;
grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
gap: 20px;
margin-bottom: 28px;
}
.page-hero-compact {
grid-template-columns: minmax(0, 1.3fr) minmax(240px, 0.7fr);
}
.page-hero-single {
grid-template-columns: minmax(0, 1fr);
}
.page-hero-copy,
.page-hero-panel,
.lookup-panel,
.section-block {
background: var(--bg-panel);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
box-shadow: var(--shadow);
backdrop-filter: blur(18px);
}
.page-hero-copy,
.lookup-panel,
.section-block {
padding: 24px;
}
.page-hero-panel {
padding: 18px;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
align-content: start;
}
.hero-copy-text,
.lookup-panel p {
color: var(--text-soft);
font-size: 15px;
line-height: 1.7;
}
.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 20px;
}
.hero-lookup-group {
margin-top: 18px;
margin-bottom: 6px;
}
.hero-lookup-group .form-control,
.hero-lookup-group .btn {
height: 54px;
}
.hero-kpi {
padding: 18px;
border-radius: var(--radius-md);
background:
linear-gradient(135deg, rgba(66, 245, 200, 0.1), rgba(76, 200, 255, 0.08)),
rgba(255, 255, 255, 0.02);
border: 1px solid rgba(255, 255, 255, 0.06);
}
.hero-kpi span {
display: block;
color: var(--text-dim);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.hero-kpi strong {
display: block;
margin-top: 12px;
color: var(--text-main);
font-family: var(--font-display);
font-size: 28px;
letter-spacing: -0.04em;
}
.section-block {
margin-bottom: 24px;
}
.page-hero,
.page-hero-compact,
.section-block,
.dashboard-shell {
max-width: var(--content-max-width);
margin-left: auto;
margin-right: auto;
}
#poolStats > div,
#networkStats > div,
#poolDetails {
width: 100%;
}
#poolStats > div::before,
#poolStats > div::after,
#networkStats > div::before,
#networkStats > div::after,
#poolDetails::before,
#poolDetails::after {
content: " ";
display: table;
}
#poolStats > div::after,
#networkStats > div::after,
#poolDetails::after {
clear: both;
}
.section-head {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 16px;
margin-bottom: 18px;
}
.section-head h4 {
margin: 8px 0 0;
}
.dashboard-shell {
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
gap: 24px;
}
.preview-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24px;
}
.dashboard-main,
.dashboard-side {
min-width: 0;
}
.dashboard-side-stack > div {
width: 100%;
}
.lookup-panel-copy {
margin-bottom: 18px;
}
.getting-started-card,
.faq-card {
height: 100%;
}
.settings-card label {
display: block;
margin-bottom: 8px;
color: var(--text-dim);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.settings-card #action_update_message {
margin-bottom: 14px;
}
.getting-started-inner {
padding: 22px;
}
.getting-started-inner p {
color: var(--text-soft);
line-height: 1.7;
}
.faq-grid .faq-card h4,
.getting-started-inner h4 {
margin-top: 0;
}
.lookup-group .form-control {
height: 52px;
font-size: 15px;
}
.lookup-group .btn {
height: 52px;
padding-left: 20px;
padding-right: 20px;
}
.nav-side-menu {
background:
linear-gradient(180deg, rgba(8, 17, 24, 0.98), rgba(6, 13, 20, 0.98)),
linear-gradient(135deg, rgba(76, 200, 255, 0.08), rgba(66, 245, 200, 0.08));
border-right: 1px solid var(--line);
box-shadow: var(--shadow);
color: var(--text-main);
}
.nav-shell,
.top-bar-shell {
width: fit-content;
max-width: calc(100% - 68px);
margin: 0 auto;
}
.nav-side-menu .brand {
background:
linear-gradient(135deg, rgba(66, 245, 200, 0.14), rgba(76, 200, 255, 0.12)),
rgba(15, 28, 43, 0.96);
border-bottom: 1px solid var(--line);
color: var(--text-main);
font-family: var(--font-display);
font-size: 21px;
font-weight: 700;
letter-spacing: -0.03em;
line-height: 72px;
}
.nav-side-menu .brand a {
color: inherit;
}
.nav-side-menu .toggle-btn {
background: rgba(255, 255, 255, 0.96);
border-radius: 12px;
}
.nav-side-menu li {
border-left: 3px solid transparent;
border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.nav-side-menu li a {
color: var(--text-soft);
font-weight: 600;
padding: 7px 0;
}
.nav-side-menu li a i,
.nav-side-menu li a .lucide {
color: currentColor;
}
.nav-side-menu li:hover,
.nav-side-menu ul .active,
.nav-side-menu li .active,
.nav-side-menu li.active {
border-left-color: var(--accent-mint);
background: transparent;
}
.nav-side-menu li:hover a,
.nav-side-menu ul .active a,
.nav-side-menu li .active a,
.nav-side-menu li.active a {
color: var(--text-main);
}
.nav-side-menu ul .sub-menu li,
.nav-side-menu li .sub-menu li {
background: rgba(255, 255, 255, 0.02);
border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.nav-side-menu ul .sub-menu li:hover,
.nav-side-menu li .sub-menu li:hover {
background: rgba(76, 200, 255, 0.08);
}
#top-bar {
background:
linear-gradient(135deg, rgba(66, 245, 200, 0.1), rgba(76, 200, 255, 0.08)),
rgba(7, 15, 23, 0.9);
border-bottom: 1px solid var(--line);
color: var(--text-soft);
backdrop-filter: blur(18px);
line-height: 58px;
font-size: 14px;
}
#top-bar > .top-bar-shell > div {
padding: 0 12px;
}
#top-bar > .top-bar-shell > div strong,
#top-bar #statsUpdated {
color: var(--text-main);
}
@media (min-width: 992px) {
#top-bar {
left: 250px;
padding: 0 22px;
}
}
.btn,
.btn-default,
.btn-primary {
border-radius: 999px;
font-family: var(--font-body);
font-weight: 700;
letter-spacing: 0.03em;
transition:
transform 180ms ease,
box-shadow 180ms ease,
background 180ms ease,
border-color 180ms ease;
}
.btn:hover,
.btn:focus {
transform: translateY(-1px);
}
.btn-default {
color: #071117;
background: linear-gradient(135deg, var(--accent-mint), #8dfbe0);
border-color: transparent;
box-shadow: 0 16px 32px rgba(66, 245, 200, 0.18);
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
color: #071117;
background: linear-gradient(135deg, #62ffd5, #b2ffe8);
border-color: transparent;
}
.btn-primary {
color: var(--text-main);
background: linear-gradient(135deg, rgba(76, 200, 255, 0.22), rgba(66, 245, 200, 0.16));
border-color: var(--line-strong);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: var(--text-main);
background: linear-gradient(135deg, rgba(76, 200, 255, 0.32), rgba(66, 245, 200, 0.2));
border-color: rgba(76, 200, 255, 0.34);
}
.form-control,
.input-group-addon,
select,
textarea,
input[type="text"],
input[type="number"],
input[type="password"] {
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
color: var(--text-main);
border-radius: 18px;
box-shadow: none;
}
.form-control:focus,
input:focus,
select:focus,
textarea:focus {
border-color: rgba(76, 200, 255, 0.4);
box-shadow: 0 0 0 3px rgba(76, 200, 255, 0.12);
}
.input-group-addon {
color: var(--accent-cyan);
}
.card,
.hashInfo,
.slushInfo,
.table-responsive {
background: var(--bg-panel);
border: 1px solid var(--line);
border-radius: var(--radius-lg);
box-shadow: var(--shadow);
color: var(--text-main);
}
.card {
padding: 0;
}
.card table,
.card .table {
background: transparent;
}
.infoBox {
background:
linear-gradient(135deg, rgba(66, 245, 200, 0.16), rgba(76, 200, 255, 0.12)),
var(--bg-panel-strong);
border: 1px solid var(--line);
box-shadow: var(--shadow);
border-radius: var(--radius-lg);
height: 112px;
}
.infoBox .icon {
right: 16px;
top: 16px;
width: 86px;
font-size: 62px;
line-height: 62px;
color: rgba(255, 255, 255, 0.12);
}
.infoBox .icon .lucide {
width: 42px;
height: 42px;
color: rgba(76, 200, 255, 0.22);
}
.infoBox .content {
padding: 12px 18px;
}
.infoBox .content .text,
.hashInfo .text,
.slushInfo .text {
color: var(--text-dim);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.16em;
}
.infoBox .content .value {
margin-top: 2px;
color: var(--text-main);
font-family: var(--font-display);
font-size: 24px;
line-height: 1.15;
text-shadow: none;
}
.infoBox .content .value .smallText {
font-size: 15px;
color: var(--text-soft);
}
.hashInfo,
.slushInfo {
background:
linear-gradient(135deg, rgba(76, 200, 255, 0.14), rgba(66, 245, 200, 0.08)),
rgba(15, 28, 43, 0.96);
padding: 18px 20px;
}
.hashInfo .content .value,
.hashInfo .content .value a,
.slushInfo .content .value,
.slushInfo .content .value a {
color: var(--text-main);
}
.hashInfo .content .time {
color: var(--text-soft);
}
.stats > div:not(#addressError) {
color: var(--text-soft);
}
.stats > div:not(#addressError) > i.fa,
.stats > div:not(#addressError) > .lucide {
color: var(--accent-cyan);
}
.btn .lucide,
.panel-link .lucide,
.hero-actions .lucide,
.hero-lookup-group .lucide,
.lookup-group .btn .lucide,
footer a .lucide,
.section-head .lucide,
.input-group-addon .lucide {
color: currentColor;
}
.btn .lucide,
.hero-actions .lucide,
.lookup-group .btn .lucide,
.hero-lookup-group .lucide,
.panel-link .lucide {
margin-right: 0.5em;
display: inline-block;
flex-shrink: 0;
}
.btn > span,
.btn > span > span {
display: inline-flex;
align-items: center;
}
.btn .lucide,
.hero-actions .lucide,
.lookup-group .btn .lucide,
.hero-lookup-group .lucide,
.panel-link .lucide {
width: 18px;
height: 18px;
stroke-width: 2.2;
opacity: 1;
visibility: visible;
}
.poolChart h4,
.marketChart h4,
.userChart h4 {
margin-bottom: 14px;
color: var(--text-main);
font-family: var(--font-display);
}
.chart a.chart-style {
background-color: rgba(76, 200, 255, 0.24);
border-color: var(--accent-cyan);
}
.nav-tabs {
border-bottom: 1px solid var(--line);
margin-bottom: 18px;
}
.nav-tabs > li > a {
border: 1px solid transparent;
border-radius: 999px;
color: var(--text-soft);
font-weight: 700;
margin-right: 8px;
}
.nav-tabs > li > a:hover {
background: rgba(255, 255, 255, 0.03);
border-color: transparent;
color: var(--text-main);
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
background: rgba(76, 200, 255, 0.12);
border-color: rgba(76, 200, 255, 0.18);
color: var(--accent-cyan);
}
.table {
color: var(--text-main);
}
.table > thead > tr > th {
color: var(--text-dim);
border-bottom: 1px solid var(--line-strong);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.16em;
text-transform: uppercase;
}
.table > tbody > tr > td {
border-top: 1px solid rgba(255, 255, 255, 0.05);
}
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
background: rgba(255, 255, 255, 0.02);
}
.table > tbody > tr:hover td,
.table > tbody > tr:hover th,
.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
background: rgba(255, 255, 255, 0.04);
}
#blocksReport .pending td {
background: rgba(76, 200, 255, 0.07);
}
#blocksReport .unlocked td {
background: rgba(66, 245, 200, 0.08);
}
#blocksReport .orphaned td {
background: rgba(255, 109, 142, 0.08);
}
#blocksStats .luckGood,
#blocksReport .luckGood,
#blocksReport .unlocked .col7,
#workersReport .status-ok {
color: var(--accent-mint);
}
#blocksStats .luckMid,
#blocksReport .luckMid {
color: var(--accent-gold);
}
#blocksStats .luckBad,
#blocksReport .luckBad,
#blocksReport .orphaned .col7,
#workersReport .status-error,
#addressError {
color: var(--accent-red);
}
#yourAddressDisplay,
#yourAddressDisplay > span,
#calcHashRate,
#calcHashAmount,
#calcHashPeriod,
#workerPayments td,
#blocksReport tr > td,
#paymentsReport td,
.hashInfo .content .value {
font-family: "Inconsolata", monospace;
}
#marketInfos .infoBox,
#blocksStats .infoBox,
#paymentsStats .infoBox {
margin-bottom: 18px;
}
.table-responsive {
overflow: hidden;
}
.badge-mm-inline {
display: inline-flex;
align-items: center;
padding: 6px 10px;
border-radius: 999px;
background: rgba(76, 200, 255, 0.14);
color: var(--accent-cyan);
font-size: 11px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
}
.badge-status-pending {
background: rgba(76, 200, 255, 0.14);
color: var(--accent-cyan);
}
.badge-status-unlocked {
background: rgba(66, 245, 200, 0.14);
color: var(--accent-mint);
}
.badge-status-orphaned {
background: rgba(255, 109, 142, 0.14);
color: var(--accent-red);
}
.panel-link {
color: var(--accent-cyan);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
@media (min-width: 992px) {
body {
margin-bottom: 64px;
}
.nav-side-menu {
position: sticky;
top: 0;
width: 100%;
height: auto;
border-right: none;
border-bottom: 1px solid var(--line);
z-index: 1100;
}
.nav-shell {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
padding: 0 34px;
}
.nav-side-menu .brand {
flex: 0 0 auto;
background: transparent;
border-bottom: none;
line-height: 72px;
padding: 0;
}
.nav-side-menu .menu-list {
flex: 1 1 auto;
}
.nav-side-menu .menu-list .menu-content {
display: flex !important;
align-items: center;
justify-content: flex-end;
flex-wrap: wrap;
gap: 8px;
padding: 14px 0;
}
.nav-side-menu li {
border: none;
background: transparent;
}
.nav-side-menu li a {
width: auto;
padding: 10px 14px;
border-radius: 999px;
}
.nav-side-menu li a i {
padding-left: 0;
padding-right: 10px;
}
.nav-side-menu li a .lucide {
margin-right: 10px;
}
.nav-side-menu li:hover,
.nav-side-menu ul .active,
.nav-side-menu li .active,
.nav-side-menu li.active {
border-left-color: transparent;
}
#top-bar {
position: sticky;
top: 73px;
left: 0;
right: 0;
overflow: auto;
z-index: 1000;
}
.top-bar-shell {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 0;
padding: 0 34px;
}
#page-wrapper {
margin: 0;
padding: 34px 34px 0;
}
}
@media (max-width: 991px) {
body {
margin-bottom: 86px;
}
.nav-side-menu {
width: 100%;
height: auto;
border-right: none;
border-bottom: 1px solid var(--line);
}
.nav-side-menu .brand {
line-height: 60px;
}
#page-wrapper {
padding: 20px 16px 0;
}
.page-hero,
.page-hero-compact,
.dashboard-shell,
.preview-grid {
grid-template-columns: 1fr;
}
.page-hero-copy,
.lookup-panel,
.section-block {
padding: 20px;
}
.infoBox {
height: auto;
min-height: 112px;
}
}
@media (max-width: 767px) {
h3,
.h3 {
font-size: 28px;
}
.card,
.hashInfo,
.slushInfo,
.table-responsive,
.infoBox {
border-radius: 20px;
}
.page-hero-panel {
grid-template-columns: 1fr;
}
.hero-lookup-group {
display: table;
width: 100%;
}
.hero-lookup-group .input-group-btn {
width: 1%;
white-space: nowrap;
vertical-align: top;
}
.hero-lookup-group .btn {
width: 54px;
min-width: 54px;
padding-left: 0;
padding-right: 0;
}
.hero-lookup-group .btn .lucide {
margin-right: 0;
}
.hero-lookup-group .hero-lookup-label {
display: none;
}
#mainPoolStats > div,
#networkStats > div > div,
#poolDetails > div {
float: none;
width: 100%;
}
.infoBox .icon {
font-size: 48px;
line-height: 48px;
width: 64px;
}
}