.lavalink-glow-one { top: -10rem; left: 50%; width: 50rem; height: 31.25rem; transform: translateX(-50%); background: oklch(0.6 0.22 260 / .25); }
.lavalink-glow-two { right: 0; bottom: 0; width: 37.5rem; height: 25rem; background: oklch(0.85 0.15 200 / .18); }

.status-dot { display:inline-block; width:.5rem; height:.5rem; border-radius:999px; background: oklch(0.78 0.2 150); box-shadow: 0 0 12px oklch(0.78 0.2 150 / .9); animation: pulseDot 1.6s ease-in-out infinite; vertical-align: middle; margin-right:.35rem; }
@keyframes pulseDot { 0%,100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .6; } }

/* Banner */
.node-banner { margin-top: 2.5rem; border-radius: 1.25rem; padding: 1.5rem 1.75rem; display:flex; align-items:center; justify-content:space-between; gap: 1.5rem; flex-wrap: wrap; position: relative; overflow:hidden; }
.node-banner::before { content:""; position:absolute; inset:0; background: linear-gradient(135deg, oklch(0.65 0.25 295 / .18), transparent 60%, oklch(0.85 0.15 200 / .15)); pointer-events:none; }
.banner-left { display:flex; align-items:center; gap: 1.1rem; position:relative; }
.flag-orb { display:grid; place-items:center; width:3.75rem; height:3.75rem; border-radius:1rem; font-size:2rem; background: linear-gradient(135deg, oklch(0.65 0.25 295 / .35), oklch(0.6 0.22 260 / .25)); border:1px solid oklch(1 0 0 / .08); box-shadow: 0 0 30px oklch(0.65 0.25 295 / .4); }
.banner-eyebrow { color: oklch(0.78 0.2 150); font-size:.7rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.node-banner h2 { font-size: 1.5rem; margin-top:.2rem; }
.node-banner h2 + p { color: var(--muted-foreground); font-size:.8rem; margin-top:.15rem; font-family:"JetBrains Mono", ui-monospace, monospace; }
.banner-right { display:flex; gap:.75rem; position:relative; }
.kpi { min-width: 6rem; padding:.65rem .9rem; border-radius:.85rem; background: oklch(0 0 0 / .35); border:1px solid oklch(1 0 0 / .06); }
.kpi span { display:block; font-size:.6rem; color: var(--muted-foreground); letter-spacing:.1em; text-transform:uppercase; }
.kpi strong { display:block; margin-top:.2rem; font-family:"Space Grotesk", sans-serif; font-size:1.25rem; color: var(--foreground); }
.kpi strong i { font-style:normal; font-size:.75rem; color: var(--muted-foreground); margin-left:.15rem; }

/* Stats grid */
.stats-grid { margin-top: 2rem; display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.stat-card { border-radius: 1.1rem; padding: 1.25rem; display:flex; flex-direction:column; gap:1rem; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.stat-card:hover { transform: translateY(-3px); border-color: oklch(0.65 0.25 295 / .35); box-shadow: 0 12px 40px oklch(0.65 0.25 295 / .15); }
.stat-card header { display:flex; align-items:flex-start; gap:.75rem; }
.stat-card header > div:nth-child(2) { flex:1; }
.stat-card h3 { font-size: .95rem; font-weight:600; }
.stat-card header p { color: var(--muted-foreground); font-size:.7rem; margin-top:.1rem; }
.stat-icon { display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:.7rem; flex:none; border:1px solid oklch(1 0 0 / .07); }
.stat-icon .icon { width:1.1rem; height:1.1rem; }
.icon-purple { background: linear-gradient(135deg, oklch(0.65 0.25 295 / .3), oklch(0.6 0.22 260 / .15)); color: oklch(0.85 0.1 295); }
.icon-pink   { background: linear-gradient(135deg, oklch(0.75 0.2 330 / .3),  oklch(0.65 0.25 295 / .15)); color: oklch(0.85 0.15 330); }
.icon-cyan   { background: linear-gradient(135deg, oklch(0.85 0.15 200 / .3), oklch(0.6 0.22 260 / .15));  color: oklch(0.9 0.13 200); }
.stat-pct { font-family:"JetBrains Mono", ui-monospace, monospace; font-size:.85rem; font-weight:600; color: var(--luna-cyan); white-space:nowrap; }

/* Progress bar */
.bar { position:relative; height:.6rem; border-radius:999px; background: oklch(0 0 0 / .5); border:1px solid oklch(1 0 0 / .05); overflow:hidden; }
.bar{
    position:relative;
    overflow:hidden;
}

.bar::after{
    content:"";
    position:absolute;

    top:0;
    left:-50px;

    width:50px;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.6),
        transparent
    );

    animation:trackShimmer 5s linear infinite;
}

@keyframes trackShimmer{
    from{
        left:-50px;
    }

    to{
        left:100%;
    }
}
.bar-fill{
    height:100%;
    width:0%;
    border-radius:999px;
    transition:
        width 3s cubic-bezier(.22,.9,.3,1);
    position:relative;
    box-shadow:0 0 18px currentColor;
}
@keyframes shimmer { to { transform: translateX(100%); } }
.grad-purple { background: linear-gradient(90deg, oklch(0.6 0.22 260), oklch(0.65 0.25 295)); color: oklch(0.65 0.25 295 / .6); }
.grad-pink   { background: linear-gradient(90deg, oklch(0.65 0.25 295), oklch(0.75 0.2 330));  color: oklch(0.75 0.2 330 / .6); }
.grad-cyan   { background: linear-gradient(90deg, oklch(0.6 0.22 260), oklch(0.85 0.15 200));  color: oklch(0.85 0.15 200 / .6); }

.stat-card footer { display:flex; align-items:baseline; justify-content:space-between; }
.stat-value { font-family:"Space Grotesk", sans-serif; font-size: 1.5rem; font-weight:700; color: var(--foreground); }
.stat-max { color: var(--muted-foreground); font-size:.75rem; font-family:"JetBrains Mono", ui-monospace, monospace; }
.stat-max em { font-style:normal; color: var(--foreground); }

/* Core dots */
.core-grid { display:grid; grid-template-columns: repeat(8, 1fr); gap:.25rem; padding: .15rem 0; }
.core-grid span { display:block; height:.55rem; border-radius:.2rem; background: linear-gradient(180deg, oklch(0.65 0.25 295), oklch(0.6 0.22 260)); box-shadow: 0 0 8px oklch(0.65 0.25 295 / .7); animation: corePulse 1.8s ease-in-out infinite; }
.core-grid span:nth-child(2n) { animation-delay: .2s; }
.core-grid span:nth-child(3n) { animation-delay: .45s; }
.core-grid span:nth-child(5n) { animation-delay: .7s; background: linear-gradient(180deg, oklch(0.85 0.15 200), oklch(0.6 0.22 260)); }
@keyframes corePulse { 0%,100% { opacity:.55; transform: scaleY(.8);} 50% { opacity:1; transform: scaleY(1.05); } }

/* Sparkline card */
.spark { height: 3.5rem; }
.spark svg { width:100%; height:100%; display:block; }

/* Terminal */
.terminal { margin-top: 3rem; border-radius: 1rem; overflow:hidden; }
.terminal-bar { display:flex; align-items:center; gap:1rem; border-bottom:1px solid oklch(1 0 0 / .05); padding:.6rem 1rem; }
.terminal-bar em { flex:1; color: var(--muted-foreground); font-style:normal; font-size:.75rem; font-family:"JetBrains Mono", ui-monospace, monospace; }
.window-dots { display:flex; gap:.375rem; }
.window-dots span { width:.625rem; height:.625rem; border-radius:999px; }
.window-dots span:nth-child(1) { background: rgb(239 68 68 / .7); }
.window-dots span:nth-child(2) { background: rgb(234 179 8 / .7); }
.window-dots span:nth-child(3) { background: rgb(34 197 94 / .7); }
.status-pill { display:inline-flex; align-items:center; gap:.3rem; border-radius:999px; background: oklch(0.78 0.2 150 / .12); padding:.2rem .6rem; color: oklch(0.85 0.18 150); font-size:.68rem; font-weight:600; }
#terminal-feed { margin:0; padding:1rem 1.1rem; min-height: 11rem; max-height: 15rem; overflow:hidden; font-family:"JetBrains Mono", ui-monospace, monospace; font-size:.75rem; line-height:1.65; color: oklch(0.85 0.05 200); white-space:pre-wrap; }
#terminal-feed .ln { display:block; opacity:0; animation: lnIn .25s ease forwards; }
#terminal-feed .t { color: var(--muted-foreground); }
#terminal-feed .ok { color: oklch(0.85 0.18 150); }
#terminal-feed .warn { color: oklch(0.85 0.18 80); }
#terminal-feed .info { color: var(--luna-cyan); }
#terminal-feed .acc { color: oklch(0.8 0.18 330); }
@keyframes lnIn { to { opacity: 1; } }

.last-updated { margin-top: 1.5rem; text-align:center; color: var(--muted-foreground); font-size:.75rem; font-family:"JetBrains Mono", ui-monospace, monospace; }

@media (max-width: 1100px) { .stats-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 720px) {
  .node-banner { flex-direction:column; align-items:flex-start; }
  .banner-right { width:100%; justify-content:space-between; }
  .kpi { flex:1; min-width:0; }
}
@media (max-width: 480px) {
  .stats-grid { grid-template-columns: 1fr; }
}
.lava-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:18px 28px;
}

.back-link{
    color:var(--muted-foreground);
    font-weight:600;
    text-decoration:none;

    transition:.25s;
}

.back-link:hover{
    color:white;
}

.navbar{
    position:sticky;
    top:20px;
    z-index:1000;
}