:root{
  --neon:#39FF14;--neon-hover:#2CDD0F;
  --bg:#0F1115;--bg-elev:#141924;--border:#2A3242;
  --text:#E6EAF2;--muted:#A7B0C0;
  --info:#3B82F6;--success:#22C55E;--warn:#F59E0B;--danger:#EF4444
}

body{font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}
.bg-ambient-test{}
. 
. 
. 
. 
. 
. 
. 
. 
. 
. 
.font-exo{font-family:'Exo 2',Segoe UI,Roboto,system-ui,sans-serif}
.font-inter{font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}

.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:.5rem;color:#0F1115;background:linear-gradient(90deg,var(--neon),var(--neon-hover));font-weight:600;box-shadow:0 0 24px rgba(57,255,20,.25)}
.btn-primary:hover{filter:brightness(.98)}
.btn-primary:focus-visible{outline:2px solid var(--neon);outline-offset:2px}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:.5rem;border:1px solid var(--border);color:var(--text);background:transparent}

.input{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:.625rem .75rem;border-radius:.5rem;width:100%}
.input:focus{outline:2px solid var(--neon);outline-offset:2px}

.navlink{padding:.5rem .25rem;transition:color .15s ease}
.navlink:hover{color:var(--text)}
.navlink.is-active{color:var(--text);border-bottom:2px solid var(--neon)}
@media (min-width:1536px){.max-w-screen-xl{max-width:1280px}}

.drop-shadow-neon{filter:drop-shadow(0 0 12px rgba(57,255,20,.25))}

.cta-bottom-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:.75rem 1rem;color:var(--text)}
.cta-bottom-btn:hover{background-color:rgba(42,50,66,.4)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Cards */
.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:.75rem;transition:border-color .2s ease, box-shadow .2s ease}
.card:hover{border-color:var(--neon);box-shadow:0 0 0 1px rgba(57,255,20,.15) inset,0 8px 24px rgba(0,0,0,.25)}

/* Stepper */
.step-dot{width:2rem;height:2rem;border-radius:999px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--muted)}
.step-dot.active{background:var(--neon);color:#0F1115;border-color:var(--neon)}
.step-dot.complete{background:var(--neon);color:#0F1115;border-color:var(--neon)}
.step-line{flex:1;height:2px;background:var(--border)}
.step-panel.hidden{display:none}
.field-error{color:#ff6b6b;font-size:.85rem;margin-top:.25rem}

/* Forms */
.form-row{display:grid;grid-template-columns:200px 1fr;gap:12px;align-items:center}

/* Toasts */
#toast-root{position:fixed;bottom:80px;right:16px;z-index:2100;display:flex;flex-direction:column;gap:.5rem}
.toast{background:var(--bg-elev);border:1px solid var(--border);color:var(--text);padding:.75rem 1rem;border-radius:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.35);min-width:240px;max-width:92vw}
.toast.info{border-color:var(--info)}
.toast.success{border-color:var(--success)}
.toast.warn{border-color:var(--warn)}
.toast.danger{border-color:var(--danger)}

/* Icon links */
.icon-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);transition:color .2s ease, transform .2s ease, text-shadow .2s ease}
.icon-link:hover{color:var(--neon);text-shadow:0 0 8px rgba(57,255,20,.35);transform:translateY(-1px)}

/* Skeletons */
.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.12), rgba(255,255,255,.06));background-size:200% 100%;animation:skeleton-shimmer 1.2s infinite}
@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
/* Contrast tweaks */
.text-contrast-muted{color:#bdc6d6}
/* Focus styles */
 a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--neon);outline-offset:2px;border-radius:.25rem}

/* Ambient gradient background */
body{position:relative}
#bg-ambient{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;transition:opacity .3s ease}
#bg-ambient::before{content:"";position:absolute;inset:0;background:
  radial-gradient(600px circle at var(--mx,50%) var(--my,40%), rgba(57,255,20,.06), transparent 60%),
  radial-gradient(800px circle at calc(100% - var(--mx,50%)) calc(100% - var(--my,60%)), rgba(59,130,246,.05), transparent 70%),
  radial-gradient(500px circle at 10% 90%, rgba(34,197,94,.04), transparent 60%);
animation:ambient-drift 24s ease-in-out infinite alternate}
@keyframes ambient-drift{0%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(5deg)}100%{filter:hue-rotate(0deg)}}

/* Force solid drawer background */
#menu-panel{background-color:var(--bg-elev)!important}

