:root{
  --black:#0a0a0a; --dark:#111; --card:#161616; --border:#222;
  --lime:#b8ff00; --lime-soft:rgba(184,255,0,.12); --text:#e8e8e8; --muted:#888;
  --green:#22c55e; --red:#ef4444; --amber:#f59e0b;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--black);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}
body{font-family:'Inter',system-ui,sans-serif;overflow-x:hidden}
.grotesk{font-family:'Space Grotesk',sans-serif}
.gradient-text{background:linear-gradient(135deg,#b8ff00,#00ffa3,#b8ff00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 3s linear infinite}
@keyframes shimmer{0%{background-position:0% center}100%{background-position:200% center}}

.card{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:24px;position:relative;overflow:hidden}
@media(min-width:768px){.card{padding:32px}}
.glass{background:rgba(22,22,22,.6);border:1px solid rgba(184,255,0,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}

.glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}
@media(max-width:640px){.glow{filter:blur(60px);transform:scale(.7)}}

.btn-lime{background:#b8ff00;color:#0a0a0a;padding:14px 28px;border-radius:60px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .25s;border:0;cursor:pointer;font-family:'Space Grotesk',sans-serif;font-size:15px;min-height:48px}
.btn-lime:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(184,255,0,0.35)}
.btn-lime:disabled{opacity:.5;cursor:not-allowed}
.btn-ghost{background:transparent;color:#e8e8e8;border:1px solid #2a2a2a;padding:12px 24px;border-radius:60px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;cursor:pointer;font-size:14px;min-height:44px}
.btn-ghost:hover{border-color:#b8ff00;color:#b8ff00}
.btn-danger{background:#ef4444;color:white;padding:10px 20px;border-radius:60px;font-weight:600;cursor:pointer;border:0;font-size:13px;min-height:40px}

.tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(184,255,0,.12);color:var(--lime);border:1px solid rgba(184,255,0,.3)}
.tag-warn{background:rgba(245,158,11,.12);color:#f59e0b;border-color:rgba(245,158,11,.3)}
.tag-err{background:rgba(239,68,68,.12);color:#ef4444;border-color:rgba(239,68,68,.3)}
.tag-ok{background:rgba(34,197,94,.12);color:#22c55e;border-color:rgba(34,197,94,.3)}

.divider{border-top:1px solid #1f1f1f;margin:24px 0}
.metric{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:700;line-height:1}
@media(min-width:768px){.metric{font-size:48px}}
.metric-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:4px}

.up-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 12px #22c55e}
.down-dot{background:#ef4444;box-shadow:0 0 12px #ef4444}
.amber-dot{background:#f59e0b;box-shadow:0 0 12px #f59e0b}

.up-bar{display:inline-block;width:6px;height:32px;border-radius:2px;background:#22c55e;margin-right:1px;opacity:.85}
.down-bar{background:#ef4444}
.empty-bar{background:#222}

nav.topnav{padding:16px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1a1a1a;flex-wrap:wrap;gap:12px;position:sticky;top:0;background:rgba(10,10,10,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100}
@media(min-width:768px){nav.topnav{padding:20px 32px}}

.nav-links{display:flex;gap:4px;flex-wrap:wrap}
.nav-link{color:#aaa;font-size:14px;text-decoration:none;padding:10px 14px;border-radius:8px;transition:all .2s;min-height:44px;display:inline-flex;align-items:center}
.nav-link:hover,.nav-link.active{color:#b8ff00;background:rgba(184,255,0,.06)}

.toast{position:fixed;bottom:24px;right:24px;left:24px;max-width:400px;margin-left:auto;padding:14px 20px;background:#161616;border:1px solid #2a2a2a;border-radius:12px;color:#e8e8e8;font-size:14px;z-index:1000;animation:slideUp .3s ease-out}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:640px){.toast{left:auto}}

input,textarea,select{font-family:inherit;font-size:15px;-webkit-tap-highlight-color:transparent}
.input{width:100%;background:rgba(0,0,0,.4);border:1px solid #2a2a2a;border-radius:14px;padding:14px 16px;color:#e8e8e8;font-family:inherit;transition:border-color .2s;min-height:48px}
.input:focus{outline:none;border-color:var(--lime)}
.input::placeholder{color:#555}
textarea.input{min-height:120px;resize:vertical}

.label{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}

/* Mobile-friendly tables → cards */
.table-row{display:grid;gap:6px;padding:14px;border:1px solid #1a1a1a;border-radius:12px;margin-bottom:8px}
.table-row dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.table-row dd{font-size:14px;color:#e8e8e8}
@media(min-width:768px){
  .table-row{display:table-row;border:0;padding:0;margin:0}
  .table-row dt{display:none}
  .table-row dd{display:table-cell;padding:14px 16px;border-bottom:1px solid #1a1a1a}
}

/* Hide custom cursor on touch */
@media(pointer:coarse){.cursor-dot{display:none !important}}

@keyframes spin{to{transform:rotate(360deg)}}
.spinner{width:32px;height:32px;border:3px solid #2a2a2a;border-top-color:#b8ff00;border-radius:50%;animation:spin .8s linear infinite}

.fade-in{opacity:0;transform:translateY(16px)}
