:root {
    --bg:#07090d;
    --panel:#0d1219;
    --panel2:#111821;
    --panel3:#151e28;
    --border:#202a36;
    --border2:#2a3745;
    --text:#f2f5f8;
    --muted:#8a97a6;
    --muted2:#5e6b79;
    --orange:#f4a915;
    --orange2:#ffc84a;
    --green:#54d88a;
    --red:#ee6c72;
    --blue:#6ba8ff;
    --max:1320px;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(
            circle at 50% -250px,
            #17212d 0,
            #090d12 43%,
            var(--bg) 75%
        );
    color:var(--text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

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

button,
input {
    font:inherit;
}

.topbar {
    height:70px;
    position:sticky;
    top:0;
    z-index:50;

    display:grid;
    grid-template-columns:260px 1fr 260px;
    align-items:center;

    padding:
        0 max(
            20px,
            calc((100vw - var(--max)) / 2)
        );

    background:rgba(7,9,13,.94);
    border-bottom:1px solid var(--border);
    backdrop-filter:blur(18px);
}

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

.brand-logo {
    width:39px;
    height:39px;

    display:grid;
    place-items:center;

    border-radius:9px;
    border:1px solid rgba(244,169,21,.45);

    background:rgba(244,169,21,.07);

    color:var(--orange);
    font-size:14px;
    font-weight:900;
}

.brand strong {
    display:block;
    font-size:14px;
}

.brand small {
    display:block;
    margin-top:2px;

    color:var(--muted);
    font-size:8px;
    letter-spacing:.13em;
}

nav {
    display:flex;
    justify-content:center;
    gap:4px;
}

nav a {
    padding:9px 13px;
    border-radius:7px;

    color:#97a4b2;

    font-size:12px;
    font-weight:700;
}

nav a:hover,
nav a.active {
    background:var(--panel2);
    color:#fff;
}

.network-pill {
    justify-self:end;

    padding:8px 11px;

    border:1px solid var(--border);
    border-radius:7px;

    color:var(--muted);

    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.live-dot {
    display:inline-block;

    width:7px;
    height:7px;

    margin-right:6px;

    border-radius:50%;
    background:var(--green);

    box-shadow:
        0 0 10px
        rgba(84,216,138,.7);
}

.shell {
    max-width:var(--max);
    margin:auto;
    padding:40px 22px 70px;
}

.hero {
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
    align-items:end;

    margin-bottom:24px;
}

.eyebrow {
    margin-bottom:8px;

    color:var(--orange);

    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.hero h1,
.page-title h1 {
    margin:0;

    font-size:clamp(30px,4vw,47px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.hero p,
.page-title p {
    max-width:720px;

    margin:12px 0 0;

    color:var(--muted);
    font-size:13px;
    line-height:1.7;
}

.mode-switch {
    display:flex;
    gap:5px;

    padding:5px;

    border:1px solid var(--border);
    border-radius:9px;

    background:var(--panel);
}

.mode-switch button {
    min-width:85px;

    padding:9px 16px;

    border:0;
    border-radius:6px;

    background:transparent;
    color:var(--muted);

    font-size:11px;
    font-weight:900;

    cursor:pointer;
}

.mode-switch button.active {
    background:var(--orange);
    color:#171109;
}

.status {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;

    margin-bottom:17px;
    padding:12px 15px;

    border:1px solid rgba(84,216,138,.23);
    border-radius:8px;

    background:rgba(84,216,138,.045);

    color:#b7c2cd;
    font-size:11px;
}

.status strong {
    color:var(--green);
}

.stats {
    display:grid;
    grid-template-columns:repeat(6,1fr);

    margin-bottom:17px;

    border:1px solid var(--border);
    border-radius:9px;

    overflow:hidden;

    background:var(--panel);
}

.stat {
    min-height:91px;
    padding:17px;

    border-right:1px solid var(--border);
}

.stat:last-child {
    border-right:0;
}

.stat small {
    display:block;

    margin-bottom:8px;

    color:var(--muted);

    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.stat strong {
    display:block;

    font-size:19px;
    letter-spacing:-.025em;
}

.stat span {
    display:block;

    margin-top:5px;

    color:var(--muted2);
    font-size:9px;
}

.grid {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:17px;
}

.panel {
    border:1px solid var(--border);
    border-radius:9px;

    overflow:hidden;

    background:var(--panel);
}

.panel + .panel {
    margin-top:17px;
}

.grid .panel + .panel {
    margin-top:0;
}

.panel-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    padding:14px 16px;

    border-bottom:1px solid var(--border);
}

.panel-head h2 {
    margin:0;

    font-size:12px;
}

.panel-head span {
    color:var(--muted);
    font-size:9px;
}

.panel-body {
    padding:16px;
}

.cards {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:9px;
}

.card {
    padding:13px;

    border:1px solid var(--border);
    border-radius:7px;

    background:var(--panel2);
}

.card small {
    display:block;

    margin-bottom:6px;

    color:var(--muted);

    font-size:8px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.card b {
    font-size:11px;
}

.endpoint {
    margin-top:11px;
    padding:12px;

    border:1px solid var(--border);
    border-radius:6px;

    background:#070b10;

    color:#dce5ee;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Consolas,
        monospace;

    font-size:11px;

    word-break:break-all;
}

.progress {
    height:7px;

    margin-top:13px;

    border-radius:20px;

    overflow:hidden;

    background:#070a0e;
}

.progress div {
    height:100%;

    background:
        linear-gradient(
            90deg,
            var(--orange),
            var(--orange2)
        );
}

.lookup {
    display:flex;
    gap:8px;
}

.lookup input {
    width:100%;

    padding:11px 12px;

    border:1px solid var(--border2);
    border-radius:7px;

    outline:none;

    background:#080c11;
    color:#fff;
}

.lookup input:focus {
    border-color:var(--orange);
}

.btn {
    padding:10px 14px;

    border:1px solid var(--border2);
    border-radius:7px;

    background:var(--panel2);
    color:#fff;

    font-size:10px;
    font-weight:900;

    cursor:pointer;

    white-space:nowrap;
}

.btn.primary {
    border-color:var(--orange);

    background:var(--orange);
    color:#181108;
}

.section {
    margin-top:17px;
}

.table-wrap {
    overflow:auto;
}

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

    font-size:11px;
}

th {
    padding:11px 14px;

    text-align:left;

    background:var(--panel2);
    color:var(--muted);

    font-size:8px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

td {
    padding:12px 14px;

    border-top:1px solid var(--border);
}

.good {
    color:var(--green);
}

.orange {
    color:var(--orange);
}

.bad {
    color:var(--red);
}

.muted {
    color:var(--muted);
}

.mono {
    font-family:
        ui-monospace,
        SFMono-Regular,
        Consolas,
        monospace;
}

.page-title {
    margin-bottom:22px;
}

.connect-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:17px;
}

.connect-card {
    padding:21px;

    border:1px solid var(--border);
    border-radius:10px;

    background:var(--panel);
}

.connect-card.pplns {
    border-color:rgba(244,169,21,.35);
}

.connect-card h2 {
    margin:7px 0 8px;

    font-size:25px;
}

.connect-card p {
    min-height:40px;

    color:var(--muted);

    font-size:11px;
    line-height:1.6;
}

.badge {
    display:inline-flex;

    padding:4px 7px;

    border-radius:5px;

    background:rgba(84,216,138,.08);
    color:var(--green);

    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
}

.badge.orange {
    background:rgba(244,169,21,.08);
    color:var(--orange);
}

.loading,
.error {
    max-width:var(--max);

    margin:70px auto;
    padding:30px;

    color:var(--muted);
}

footer {
    max-width:var(--max);

    display:flex;
    justify-content:space-between;

    margin:auto;
    padding:24px 22px 38px;

    border-top:1px solid var(--border);

    color:var(--muted2);

    font-size:9px;
}

footer strong {
    margin-right:8px;

    color:var(--muted);
}

@media(max-width:1000px) {

    .topbar {
        grid-template-columns:1fr auto;
    }

    .network-pill {
        display:none;
    }

    nav {
        position:fixed;
        right:0;
        bottom:0;
        left:0;
        z-index:100;

        padding:7px;

        border-top:1px solid var(--border);

        background:#080b0f;
    }

    body {
        padding-bottom:55px;
    }

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

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

    .grid .panel + .panel {
        margin-top:17px;
    }
}

@media(max-width:650px) {

    .shell {
        padding:28px 14px 60px;
    }

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

    .mode-switch {
        width:100%;
    }

    .mode-switch button {
        flex:1;
    }

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

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

    .lookup {
        flex-direction:column;
    }

    nav a {
        padding:8px;
        font-size:9px;
    }
}
