* {
    box-sizing: border-box;
}

:root {
    --bg: #07101b;
    --panel: #0c1624;
    --panel-2: #101c2d;
    --line: #1b2c42;
    --text: #f7fafc;
    --muted: #8293ac;

    --cyan: #64d8ef;
    --blue: #668cff;
    --green: #67d585;
    --orange: #f59a39;
    --purple: #9778ff;
}

html {
    background: var(--bg);
}

body {
    margin: 0;
    min-height: 100vh;
    font-family:
        Inter,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    color: var(--text);
    background:
        radial-gradient(
            circle at 75% 10%,
            rgba(45, 118, 158, .18),
            transparent 34%
        ),
        radial-gradient(
            circle at 15% 0%,
            rgba(245, 154, 57, .06),
            transparent 30%
        ),
        var(--bg);
}

a {
    color: inherit;
    text-decoration: none;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 40px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 15px;
}

.brand-icon {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    color: white;
    background:
        linear-gradient(
            145deg,
            #f6aa4d,
            #e56c28
        );
    font-size: 31px;
    font-weight: 800;
    box-shadow:
        0 15px 35px
        rgba(240, 123, 37, .18);
}

.brand strong,
.brand small {
    display: block;
}

.brand strong {
    letter-spacing: 4px;
    font-size: 17px;
}

.brand small {
    margin-top: 6px;
    color: var(--muted);
    font-size: 10px;
    letter-spacing: 2px;
}

.top-nav {
    display: flex;
    align-items: center;
    gap: 22px;
    color: #a6b4c8;
    font-size: 13px;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid
        rgba(103, 213, 133, .28);
    border-radius: 999px;
    color: #8be7a4;
    background:
        rgba(39, 125, 65, .12);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
}

main {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 40px 70px;
}

.hero {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(0, .95fr)
        minmax(420px, .8fr);
    align-items: center;
    overflow: hidden;
    min-height: 520px;
    margin-top: 12px;
    padding: 56px;
    border: 1px solid var(--line);
    border-radius: 25px;
    background:
        linear-gradient(
            135deg,
            rgba(13, 27, 44, .98),
            rgba(8, 17, 29, .96)
        );
}

.hero-copy {
    position: relative;
    z-index: 3;
}

.eyebrow {
    margin-bottom: 18px;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.hero h1 {
    max-width: 680px;
    margin: 0;
    font-size: clamp(
        48px,
        5vw,
        84px
    );
    line-height: .98;
    letter-spacing: -4px;
}

.hero h1 span {
    color: #bfefff;
}

.hero-copy > p {
    max-width: 650px;
    margin: 28px 0;
    color: #91a1b8;
    font-size: 17px;
    line-height: 1.7;
}

.search-form {
    display: flex;
    gap: 10px;
    max-width: 720px;
    padding: 7px;
    border: 1px solid #243750;
    border-radius: 14px;
    background: #08121f;
}

.search-form input {
    flex: 1;
    min-width: 0;
    padding: 15px 16px;
    border: 0;
    outline: none;
    color: white;
    background: transparent;
    font-size: 14px;
}

.search-form button {
    padding: 0 25px;
    border: 0;
    border-radius: 10px;
    color: #06111c;
    background:
        linear-gradient(
            135deg,
            #7be4f6,
            #69aafa
        );
    font-weight: 800;
    cursor: pointer;
}

.hero-visual {
    position: relative;
    min-height: 390px;
}

.network-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    place-items: center;
    width: 340px;
    height: 340px;
    border:
        1px solid
        rgba(100, 216, 239, .22);
    border-radius: 50%;
    transform:
        translate(-50%, -50%);
    box-shadow:
        inset 0 0 80px
        rgba(42, 120, 160, .07);
}

.network-ring::before,
.network-ring::after {
    position: absolute;
    content: "";
    border-radius: 50%;
}

.network-ring::before {
    inset: 45px;
    border:
        1px dashed
        rgba(100, 216, 239, .16);
}

.network-ring::after {
    inset: 95px;
    border:
        1px solid
        rgba(100, 216, 239, .18);
}

.ring-center {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 155px;
    height: 155px;
    border:
        1px solid
        rgba(100,216,239,.35);
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            #122a3e,
            #07111c 70%
        );
    box-shadow:
        0 0 55px
        rgba(57, 159, 207, .25);
}

.ring-center small,
.ring-center span {
    color: #7ca2ba;
    font-size: 9px;
    letter-spacing: 1px;
}

.ring-center strong {
    font-size: 31px;
}

.ring-dot {
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--green);
    box-shadow:
        0 0 0 8px
        rgba(103, 213, 133, .08),
        0 0 15px
        rgba(103, 213, 133, .7);
}

.r1 {
    top: 5px;
    left: 50%;
}

.r2 {
    top: 25%;
    right: 8px;
}

.r3 {
    bottom: 20px;
    left: 20%;
}

.r4 {
    top: 52%;
    left: -6px;
}

.stats-grid {
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.metric-card {
    position: relative;
    overflow: hidden;
    min-height: 170px;
    padding: 25px;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: var(--panel);
}

.metric-card::after {
    position: absolute;
    top: -45px;
    right: -45px;
    width: 125px;
    height: 125px;
    border-radius: 50%;
    content: "";
    opacity: .11;
}

.metric-card.cyan::after {
    background: var(--cyan);
}

.metric-card.blue::after {
    background: var(--blue);
}

.metric-card.green::after {
    background: var(--green);
}

.metric-card.orange::after {
    background: var(--orange);
}

.metric-card span {
    color: #9aabc1;
    font-size: 13px;
}

.metric-card strong {
    display: block;
    margin-top: 22px;
    font-size: 34px;
}

.metric-card small {
    display: block;
    margin-top: 8px;
    color: #687b97;
}

.miner-section,
.connect-section,
.not-found,
.disabled-panel {
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--panel);
}

.miner-section {
    padding: 30px;
}

.section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.section-heading h2 {
    overflow-wrap: anywhere;
    margin: 0;
    font-size: 23px;
    color: #9de8f3;
}

.hashrate-grid {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    margin-top: 26px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--line);
}

.hashrate-grid > div {
    padding: 22px;
    background: #091320;
}

.hashrate-grid span,
.miner-metrics span {
    display: block;
    color: #71839c;
    font-size: 12px;
}

.hashrate-grid strong {
    display: block;
    margin-top: 10px;
    font-size: 23px;
}

.miner-metrics {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-top: 15px;
}

.miner-metrics article {
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #0a1421;
}

.miner-metrics strong {
    display: block;
    margin-top: 9px;
    font-size: 18px;
}

.workers-card {
    overflow: hidden;
    margin-top: 18px;
    border: 1px solid var(--line);
    border-radius: 15px;
}

.workers-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
}

.workers-header h3 {
    margin: 0;
}

.workers-header p {
    margin: 5px 0 0;
    color: #73859e;
    font-size: 12px;
}

.mini-badge {
    padding: 7px 10px;
    border-radius: 999px;
    color: #a8c9ff;
    background:
        rgba(83, 112, 221, .18);
    font-size: 11px;
    font-weight: 800;
}

.table-scroll {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 16px 18px;
    border-top: 1px solid #18273a;
    text-align: left;
    white-space: nowrap;
}

th {
    color: #71839c;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

td {
    font-size: 13px;
}

.worker-name {
    color: #82c6ff;
    font-family: monospace;
}

.worker-active {
    color: #78dd8c;
    font-weight: 800;
}

.not-found,
.disabled-panel {
    padding: 35px;
    text-align: center;
}

.not-found strong,
.disabled-panel h2 {
    font-size: 24px;
}

.not-found p,
.disabled-panel p {
    color: var(--muted);
}

.connect-section {
    display: grid;
    grid-template-columns:
        .75fr 1.25fr;
    gap: 30px;
    padding: 32px;
}

.connect-section h2 {
    margin: 0;
    font-size: 30px;
}

.connect-section p {
    color: var(--muted);
    line-height: 1.6;
}

.connection-card {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 13px;
}

.connection-card > div {
    padding: 18px;
    border:
        1px solid
        rgba(27, 44, 66, .65);
    background: #08121f;
}

.connection-card span,
.connection-card strong {
    display: block;
}

.connection-card span {
    color: #6f8199;
    font-size: 11px;
}

.connection-card strong {
    margin-top: 6px;
    overflow-wrap: anywhere;
}

.hidden {
    display: none !important;
}

footer {
    display: flex;
    justify-content: space-between;
    max-width: 1600px;
    margin: 0 auto;
    padding: 28px 40px 45px;
    border-top: 1px solid #15243a;
    color: #667990;
    font-size: 12px;
}

footer div {
    color: white;
    font-weight: 800;
    letter-spacing: 2px;
}

@media (max-width: 1050px) {

    .hero {
        grid-template-columns: 1fr;
    }

    .hero-visual {
        min-height: 360px;
    }

    .stats-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .hashrate-grid,
    .miner-metrics {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .connect-section {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {

    .site-header,
    main,
    footer {
        padding-left: 18px;
        padding-right: 18px;
    }

    .top-nav a {
        display: none;
    }

    .hero {
        min-height: auto;
        padding: 30px 22px;
    }

    .hero h1 {
        letter-spacing: -2px;
    }

    .hero-visual {
        min-height: 310px;
    }

    .network-ring {
        width: 280px;
        height: 280px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .miner-section {
        padding: 20px;
    }

    .hashrate-grid,
    .miner-metrics,
    .connection-card {
        grid-template-columns: 1fr;
    }

    .search-form {
        display: grid;
    }

    .search-form button {
        padding: 14px;
    }
}

/* =========================================================
   UnlockPool Public Solo Lottery
========================================================= */

.public-lottery-section {
    position: relative;
    overflow: hidden;
    margin-top: 18px;
    padding: 34px;
    border: 1px solid rgba(245, 158, 11, .25);
    border-radius: 20px;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(245, 158, 11, .12),
            transparent 32%
        ),
        radial-gradient(
            circle at 5% 100%,
            rgba(100, 216, 239, .06),
            transparent 25%
        ),
        #0c1624;
}

.public-lottery-glow {
    position: absolute;
    top: -130px;
    right: -110px;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    background:
        rgba(245, 158, 11, .05);
    filter: blur(12px);
    pointer-events: none;
}

.public-lottery-heading {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
}

.public-lottery-heading h2 {
    margin: 0;
    font-size: 34px;
}

.public-lottery-heading p {
    max-width: 650px;
    margin: 10px 0 0;
    color: #8293ac;
    line-height: 1.6;
}

.public-lottery-status {
    padding: 9px 13px;
    border: 1px solid rgba(245, 158, 11, .28);
    border-radius: 999px;
    color: #fbbf24;
    background: rgba(245, 158, 11, .11);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
}

.public-lottery-status.found {
    color: #86efac;
    border-color: rgba(34, 197, 94, .4);
    background: rgba(34, 197, 94, .13);
}

.public-lottery-number-row {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-top: 28px;
}

.public-lottery-number-row article {
    padding: 20px;
    border: 1px solid #1b2c42;
    border-radius: 13px;
    background: rgba(8, 18, 31, .7);
}

.public-lottery-number-row span {
    color: #8495ad;
    font-size: 11px;
}

.public-lottery-number-row strong {
    display: block;
    margin-top: 11px;
    font-size: 23px;
}

.public-lottery-number-row small {
    display: block;
    margin-top: 7px;
    color: #52647d;
}

.public-lottery-progress-box {
    position: relative;
    z-index: 2;
    margin-top: 14px;
    padding: 22px;
    border: 1px solid #1b2c42;
    border-radius: 13px;
    background: rgba(8, 18, 31, .72);
}

.public-lottery-progress-top {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.public-lottery-progress-top span {
    color: #687d99;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.public-lottery-progress-top strong {
    display: block;
    margin-top: 6px;
    color: #fbbf24;
    font-size: 18px;
}

.public-lottery-chance {
    text-align: right;
}

.public-lottery-track {
    overflow: hidden;
    height: 13px;
    margin-top: 17px;
    border-radius: 999px;
    background: #172438;
}

.public-lottery-bar {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background:
        linear-gradient(
            90deg,
            #64d8ef,
            #668cff,
            #f59a39,
            #fbbf24
        );
    box-shadow:
        0 0 22px
        rgba(245, 158, 11, .35);
    transition: width .7s ease;
}

.public-lottery-track-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    color: #4f6078;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .8px;
}

.public-lottery-bottom {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 13px;
}

.public-lottery-bottom > div {
    padding: 17px 19px;
    border: 1px solid #1b2c42;
    border-radius: 12px;
    background: rgba(8, 18, 31, .5);
}

.public-lottery-bottom span,
.public-lottery-bottom strong {
    display: block;
}

.public-lottery-bottom span {
    color: #687d99;
    font-size: 10px;
}

.public-lottery-bottom strong {
    margin-top: 7px;
}

@media (max-width: 900px) {

    .public-lottery-number-row {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {

    .public-lottery-section {
        padding: 22px;
    }

    .public-lottery-heading {
        display: block;
    }

    .public-lottery-status {
        display: inline-block;
        margin-top: 16px;
    }

    .public-lottery-number-row,
    .public-lottery-bottom {
        grid-template-columns: 1fr;
    }

    .public-lottery-progress-top {
        align-items: flex-start;
        flex-direction: column;
    }

    .public-lottery-chance {
        text-align: left;
    }
}

