/* ═══ HAL / VyroNyx — Shared Styles ═══════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --mint:#A8E6CF;--mint-mid:#3D9970;--mint-deep:#1A5C3A;
  --mint-glow:rgba(168,230,207,0.12);
  --bg:#030810;--navy:#060D1A;--panel:rgba(6,13,26,0.92);
  --border:rgba(168,230,207,0.12);--border-bright:rgba(168,230,207,0.3);
  --amber:#F5A623;--amber-dim:rgba(245,166,35,0.15);
  --white:#EDF8F4;--mid:#4A7060;--dim:#1A2E24;
  --red:#FF4455;--green:#00C896;
  --mono:'JetBrains Mono',monospace;
  --serif:'Cormorant Garamond',serif;
  --sans:'Space Grotesk',sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--white);font-family:var(--sans);overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.015) 2px,rgba(0,0,0,0.015) 4px)}

/* NAV */
.hal-nav{position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.2rem 2.5rem;transition:all 0.4s}
.hal-nav.scrolled{background:rgba(3,8,16,0.95);border-bottom:1px solid var(--border);backdrop-filter:blur(20px)}
.nav-brand{display:flex;align-items:center;gap:0.8rem;text-decoration:none}
.nav-orb{width:26px;height:26px;border:1px solid var(--mint-mid);border-radius:50%;display:flex;align-items:center;justify-content:center}
.nav-orb-inner{width:7px;height:7px;background:var(--mint);border-radius:50%;animation:orbPulse 3s ease-in-out infinite}
@keyframes orbPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.3;transform:scale(0.6)}}
.nav-name{font-family:var(--serif);font-size:1rem;font-weight:300;letter-spacing:0.18em;color:var(--mint);text-transform:uppercase}
.nav-links{display:flex;gap:2rem;align-items:center}
.nav-links a{color:var(--mid);text-decoration:none;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;transition:color 0.3s}
.nav-links a:hover,.nav-links a.active{color:var(--mint)}
.nav-cta{padding:0.5rem 1.2rem;border:1px solid var(--mint-deep);color:var(--mint);font-family:var(--mono);font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:all 0.3s}
.nav-cta:hover{background:var(--mint-glow);border-color:var(--mint)}

/* MONO UTILITIES */
.mono{font-family:var(--mono)}
.mint{color:var(--mint)} .amber{color:var(--amber)} .mid{color:var(--mid)}
.ok{color:var(--green)} .warn{color:var(--amber)} .err{color:var(--red)}

/* LIVE DOT */
.live-dot{width:5px;height:5px;border-radius:50%;background:var(--mint);display:inline-block;animation:orbPulse 2s ease-in-out infinite}
.live-dot.amber{background:var(--amber)}
.live-dot.active{animation:orbPulse 0.5s ease-in-out infinite}

/* TAG */
.tag{font-family:var(--mono);font-size:0.58rem;color:var(--mint-mid);letter-spacing:0.18em;text-transform:uppercase;display:flex;align-items:center;gap:0.8rem;margin-bottom:1.2rem}
.tag::before{content:'';width:28px;height:1px;background:var(--mint-mid)}

/* PANEL */
.panel{background:var(--panel);border:1px solid var(--border)}
.panel-bar{display:flex;align-items:center;justify-content:space-between;padding:0.7rem 1rem;border-bottom:1px solid var(--border)}
.panel-bar-label{font-family:var(--mono);font-size:0.55rem;color:var(--dim);letter-spacing:0.1em;text-transform:uppercase}
.panel-body{padding:1rem}

/* BTN */
.btn{padding:0.7rem 1.6rem;border:none;cursor:pointer;font-family:var(--sans);font-weight:500;font-size:0.82rem;transition:all 0.2s}
.btn-primary{background:var(--mint);color:var(--bg)} .btn-primary:hover{opacity:0.85}
.btn-ghost{background:transparent;color:var(--mint);border:1px solid var(--mint-deep)} .btn-ghost:hover{background:var(--mint-glow)}

/* FOOTER */
.hal-footer{padding:1.5rem 2.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.hal-footer p{font-size:0.65rem;color:var(--dim)}
@media(max-width:768px){.hal-nav{padding:1rem 1.5rem}.nav-links{display:none}}
