
:root{
  --AG_COMMON_2026_STYLE_void:#070a14;
  --AG_COMMON_2026_STYLE_panel:#0d1328;
  --AG_COMMON_2026_STYLE_panel-2:#101838;
  --AG_COMMON_2026_STYLE_cyan:#4CE0D2;
  --AG_COMMON_2026_STYLE_violet:#A366F5;
  --AG_COMMON_2026_STYLE_magenta:#F244C0;
  --AG_COMMON_2026_STYLE_ice:#EAF0FF;
  --AG_COMMON_2026_STYLE_slate:#8B93B8;
  --AG_COMMON_2026_STYLE_line:rgba(140,160,220,0.16);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  background:
    radial-gradient(ellipse 900px 500px at 50% -10%, rgba(76,224,210,0.10), transparent 60%),
    radial-gradient(ellipse 700px 500px at 85% 30%, rgba(163,102,245,0.10), transparent 60%),
    var(--AG_COMMON_2026_STYLE_void);
  color:var(--AG_COMMON_2026_STYLE_ice);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  min-height:100vh;
  position:relative;
}
body::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:url('/images/bg/banner-bg.png') no-repeat right -80px top -40px / 780px auto;
  transform:scaleX(-1);
  pointer-events:none;
}
@media (max-width:640px){
  body::before{ background-size:420px auto; background-position:right -40px top -20px; }
}
a{ color:inherit; }

.AG_COMMON_2026_STYLE_brand-font{ font-family:'Space Grotesk','Inter',system-ui,sans-serif; letter-spacing:-0.01em; }
.AG_COMMON_2026_STYLE_mono{ font-family:'JetBrains Mono','SFMono-Regular',Consolas,monospace; }

/* ---------- Header ---------- */
.AG_COMMON_2026_STYLE_hud{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(180deg, rgba(9,12,26,0.97), rgba(9,12,26,0.90));
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--AG_COMMON_2026_STYLE_line);
  padding:20px clamp(16px,4vw,48px);
  display:flex; align-items:center;
}
.AG_COMMON_2026_STYLE_hud-inner{
  width:100%; max-width:1180px; margin:0 auto; position:relative;
  display:flex; align-items:center;
}
.AG_COMMON_2026_STYLE_brand-lockup{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.AG_COMMON_2026_STYLE_brand-lockup .AG_COMMON_2026_STYLE_mark{
  width:34px; height:34px; border-radius:9px;
  background:conic-gradient(from 180deg, var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet), var(--AG_COMMON_2026_STYLE_magenta), var(--AG_COMMON_2026_STYLE_cyan));
  display:flex; align-items:center; justify-content:center; flex:none;
}
.AG_COMMON_2026_STYLE_brand-lockup .AG_COMMON_2026_STYLE_mark span{
  width:26px; height:26px; border-radius:7px; background:var(--AG_COMMON_2026_STYLE_void);
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700;
}
.AG_COMMON_2026_STYLE_brand-lockup .AG_COMMON_2026_STYLE_name{ font-size:17px; font-weight:600; color:var(--AG_COMMON_2026_STYLE_ice); }

.AG_COMMON_2026_STYLE_top-nav{ display:flex; align-items:center; gap:22px; margin-left:30px; }
.AG_COMMON_2026_STYLE_top-nav > a{ font-size:13.5px; font-weight:500; color:var(--AG_COMMON_2026_STYLE_slate); text-decoration:none; transition:color .2s ease; }
.AG_COMMON_2026_STYLE_top-nav > a:hover{ color:var(--AG_COMMON_2026_STYLE_cyan); }
.AG_COMMON_2026_STYLE_top-nav > a.AG_COMMON_2026_STYLE_current{ color:var(--AG_COMMON_2026_STYLE_ice); font-weight:600; }

/* ---------- Nav dropdowns (Features / Industries) ---------- */
.AG_COMMON_2026_STYLE_nav-drop{ position:relative; }
.AG_COMMON_2026_STYLE_nav-drop-trigger{
  display:inline-flex; align-items:center; gap:4px;
  font-size:13.5px; font-weight:500; color:var(--AG_COMMON_2026_STYLE_slate);
  text-decoration:none; background:none; border:none; cursor:pointer; font-family:inherit; padding:0;
  transition:color .2s ease;
}
.AG_COMMON_2026_STYLE_nav-drop-trigger:hover, .AG_COMMON_2026_STYLE_nav-drop.AG_COMMON_2026_STYLE_open .AG_COMMON_2026_STYLE_nav-drop-trigger{ color:var(--AG_COMMON_2026_STYLE_cyan); }
.AG_COMMON_2026_STYLE_nav-drop-trigger.AG_COMMON_2026_STYLE_current{ color:var(--AG_COMMON_2026_STYLE_ice); font-weight:600; }
.AG_COMMON_2026_STYLE_nav-drop-trigger .AG_COMMON_2026_STYLE_chev{ width:11px; height:11px; transition:transform .2s ease; }
.AG_COMMON_2026_STYLE_nav-drop.AG_COMMON_2026_STYLE_open .AG_COMMON_2026_STYLE_chev{ transform:rotate(180deg); }

.AG_COMMON_2026_STYLE_nav-drop-panel{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(6px);
  width:300px; max-height:0; opacity:0; overflow:hidden; pointer-events:none;
  background:var(--AG_COMMON_2026_STYLE_panel-2); border:1px solid var(--AG_COMMON_2026_STYLE_line);
  border-radius:14px; box-shadow:0 24px 60px -16px rgba(0,0,0,0.6);
  transition:opacity .2s ease, transform .2s ease, max-height .2s ease;
  z-index:70;
}
.AG_COMMON_2026_STYLE_nav-drop.AG_COMMON_2026_STYLE_open .AG_COMMON_2026_STYLE_nav-drop-panel{
  max-height:420px; opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.AG_COMMON_2026_STYLE_nav-drop-panel .AG_COMMON_2026_STYLE_ndp-inner{ padding:8px; max-height:420px; overflow-y:auto; }
.AG_COMMON_2026_STYLE_nav-drop-search{
  display:flex; align-items:center; gap:8px; margin:2px 2px 6px;
  padding:9px 12px; border-radius:9px;
  background:var(--AG_COMMON_2026_STYLE_panel); border:1px solid var(--AG_COMMON_2026_STYLE_line);
}
.AG_COMMON_2026_STYLE_nav-drop-search svg{ width:14px; height:14px; stroke:var(--AG_COMMON_2026_STYLE_slate); flex:none; }
.AG_COMMON_2026_STYLE_nav-drop-search input{
  flex:1; background:none; border:none; outline:none; color:var(--AG_COMMON_2026_STYLE_ice);
  font-size:13px; font-family:inherit;
}
.AG_COMMON_2026_STYLE_nav-drop-search input::placeholder{ color:var(--AG_COMMON_2026_STYLE_slate); }
.AG_COMMON_2026_STYLE_ndp-item{
  display:flex; align-items:center; gap:10px; text-decoration:none;
  padding:8px 10px; border-radius:9px; transition:background .15s ease;
}
.AG_COMMON_2026_STYLE_ndp-item:hover{ background:var(--AG_COMMON_2026_STYLE_panel); }
.AG_COMMON_2026_STYLE_ndp-item .AG_COMMON_2026_STYLE_ndp-icon{
  flex:none; width:30px; height:30px; border-radius:8px;
  background:var(--AG_COMMON_2026_STYLE_panel); display:flex; align-items:center; justify-content:center;
  font-size:14px;
}
.AG_COMMON_2026_STYLE_ndp-item .AG_COMMON_2026_STYLE_ndp-icon svg{ width:15px; height:15px; stroke:var(--ac, var(--AG_COMMON_2026_STYLE_cyan)); }
.AG_COMMON_2026_STYLE_ndp-item .AG_COMMON_2026_STYLE_ndp-icon img{ width:18px; height:18px; object-fit:contain; }
.AG_COMMON_2026_STYLE_ndp-item .AG_COMMON_2026_STYLE_ndp-text{ min-width:0; }
.AG_COMMON_2026_STYLE_ndp-item .AG_COMMON_2026_STYLE_ndp-name{ font-size:13px; font-weight:600; color:var(--AG_COMMON_2026_STYLE_ice); display:block; }
.AG_COMMON_2026_STYLE_ndp-item .AG_COMMON_2026_STYLE_ndp-tag{ font-size:11px; color:var(--AG_COMMON_2026_STYLE_slate); display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.AG_COMMON_2026_STYLE_ndp-empty{ padding:14px 10px; font-size:12.5px; color:var(--AG_COMMON_2026_STYLE_slate); text-align:center; }

.AG_COMMON_2026_STYLE_nav-toggle{
  display:none;
  flex:none; width:36px; height:36px; border-radius:9px;
  background:var(--AG_COMMON_2026_STYLE_panel); border:1px solid var(--AG_COMMON_2026_STYLE_line);
  align-items:center; justify-content:center; cursor:pointer; color:var(--AG_COMMON_2026_STYLE_ice);
  margin-left:14px;
}
.AG_COMMON_2026_STYLE_nav-toggle svg{ width:18px; height:18px; }
.AG_COMMON_2026_STYLE_nav-toggle .AG_COMMON_2026_STYLE_icon-close{ display:none; }
.AG_COMMON_2026_STYLE_nav-toggle[aria-expanded="true"] .AG_COMMON_2026_STYLE_icon-open{ display:none; }
.AG_COMMON_2026_STYLE_nav-toggle[aria-expanded="true"] .AG_COMMON_2026_STYLE_icon-close{ display:block; }

@media (max-width:760px){
  .AG_COMMON_2026_STYLE_nav-toggle{ display:flex; }
  .AG_COMMON_2026_STYLE_top-nav{
    display:none;
    position:fixed; top:70px; left:12px; right:12px; z-index:60;
    flex-direction:column; align-items:stretch; gap:2px; margin-left:0;
    background:var(--AG_COMMON_2026_STYLE_panel-2); border:1px solid var(--AG_COMMON_2026_STYLE_line);
    border-radius:14px; padding:8px;
    box-shadow:0 24px 60px -16px rgba(0,0,0,0.6);
  }
  .AG_COMMON_2026_STYLE_top-nav.AG_COMMON_2026_STYLE_open{ display:flex; }
  .AG_COMMON_2026_STYLE_top-nav > a{ padding:11px 12px; border-radius:9px; font-size:14.5px; }
  .AG_COMMON_2026_STYLE_top-nav > a:hover, .AG_COMMON_2026_STYLE_top-nav > a.AG_COMMON_2026_STYLE_current{ background:var(--AG_COMMON_2026_STYLE_panel); }

  .AG_COMMON_2026_STYLE_nav-drop{ width:100%; }
  .AG_COMMON_2026_STYLE_nav-drop-trigger{
    width:100%; justify-content:space-between; padding:11px 12px; border-radius:9px; font-size:14.5px;
  }
  .AG_COMMON_2026_STYLE_nav-drop-trigger:hover{ background:var(--AG_COMMON_2026_STYLE_panel); }
  .AG_COMMON_2026_STYLE_nav-drop-panel{
    position:static; width:100%; transform:none; max-height:0;
    border:none; box-shadow:none; border-radius:0; background:transparent;
  }
  .AG_COMMON_2026_STYLE_nav-drop.AG_COMMON_2026_STYLE_open .AG_COMMON_2026_STYLE_nav-drop-panel{ max-height:340px; transform:none; }
  .AG_COMMON_2026_STYLE_nav-drop-panel .AG_COMMON_2026_STYLE_ndp-inner{ max-height:340px; padding:4px 4px 4px 14px; }
}

.AG_COMMON_2026_STYLE_auth-actions{ position:absolute; right:0; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:10px; }
.AG_COMMON_2026_STYLE_login-link{
  font-size:13px; font-weight:600; color:var(--AG_COMMON_2026_STYLE_ice); text-decoration:none;
  padding:8px 16px; border-radius:999px; border:1px solid var(--AG_COMMON_2026_STYLE_line);
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.AG_COMMON_2026_STYLE_login-link:hover, .AG_COMMON_2026_STYLE_login-link:focus-visible{
  border-color:var(--AG_COMMON_2026_STYLE_cyan);
  background:rgba(76,224,210,0.08);
  box-shadow:0 0 20px -6px rgba(76,224,210,0.5);
  outline:none;
}
.AG_COMMON_2026_STYLE_signup-cta{
  position:relative;
  font-family:inherit; font-size:13px; font-weight:700; color:var(--AG_COMMON_2026_STYLE_void);
  padding:9px 18px; border-radius:999px; border:none; cursor:pointer; text-decoration:none;
  background:linear-gradient(90deg, var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet));
  display:inline-flex; align-items:center;
  transition:filter .2s ease, transform .2s ease, box-shadow .2s ease;
}
.AG_COMMON_2026_STYLE_signup-cta::after{
  content:'';
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet));
  filter:blur(11px);
  opacity:.4;
  z-index:-1;
  pointer-events:none;
  animation:AG_COMMON_2026_STYLE_cta-pulse 2.4s ease-in-out infinite;
}
@keyframes AG_COMMON_2026_STYLE_cta-pulse{
  0%,100%{ opacity:.32; transform:scale(0.94); }
  50%{ opacity:.68; transform:scale(1.08); }
}
.AG_COMMON_2026_STYLE_signup-cta:hover, .AG_COMMON_2026_STYLE_signup-cta:focus-visible{
  filter:brightness(1.08); transform:translateY(-1px);
  box-shadow:0 6px 22px -6px rgba(76,224,210,0.5);
  outline:none;
}
@media (prefers-reduced-motion: reduce){
  .AG_COMMON_2026_STYLE_signup-cta::after{ animation:none; opacity:.45; }
}
@media (max-width:640px){
  .AG_COMMON_2026_STYLE_auth-actions{ gap:8px; }
  .AG_COMMON_2026_STYLE_login-link{ font-size:12px; padding:6px 12px; }
  .AG_COMMON_2026_STYLE_signup-cta{ font-size:12px; padding:7px 14px; }
}

/* ---------- Shared content primitives ---------- */
.AG_COMMON_2026_STYLE_eyebrow{ font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--AG_COMMON_2026_STYLE_violet); margin:0 0 12px; font-weight:600; }
.AG_COMMON_2026_STYLE_lede{ color:var(--AG_COMMON_2026_STYLE_slate); font-size:16px; line-height:1.7; margin:0 0 8px; max-width:680px; }
.AG_COMMON_2026_STYLE_sample-flag{
  display:inline-flex; align-items:center; gap:8px; font-size:12px; color:var(--AG_COMMON_2026_STYLE_cyan);
  background:rgba(76,224,210,0.08); border:1px solid rgba(76,224,210,0.25);
  padding:8px 14px; border-radius:10px; margin:0 0 32px;
}
.AG_COMMON_2026_STYLE_card{ background:var(--AG_COMMON_2026_STYLE_panel); border:1px solid var(--AG_COMMON_2026_STYLE_line); border-radius:14px; padding:22px; }
.AG_COMMON_2026_STYLE_cta-band{
  margin-top:56px; padding:32px; border-radius:18px; text-align:center;
  background:linear-gradient(180deg, var(--AG_COMMON_2026_STYLE_panel-2), var(--AG_COMMON_2026_STYLE_panel)); border:1px solid var(--AG_COMMON_2026_STYLE_line);
}
.AG_COMMON_2026_STYLE_cta-band h2{ margin:0 0 8px; }
.AG_COMMON_2026_STYLE_cta-band p{ margin:0 0 20px; }
.AG_COMMON_2026_STYLE_grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:20px 0 8px; }
.AG_COMMON_2026_STYLE_stat-row{ display:flex; flex-wrap:wrap; gap:28px; margin:28px 0 8px; }
.AG_COMMON_2026_STYLE_stat{ min-width:120px; }
.AG_COMMON_2026_STYLE_stat .AG_COMMON_2026_STYLE_num{ font-size:32px; font-weight:700; background:linear-gradient(90deg,var(--AG_COMMON_2026_STYLE_cyan),var(--AG_COMMON_2026_STYLE_violet)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.AG_COMMON_2026_STYLE_stat .AG_COMMON_2026_STYLE_label{ font-size:12.5px; color:var(--AG_COMMON_2026_STYLE_slate); margin-top:4px; }

@media (max-width:640px){ .AG_COMMON_2026_STYLE_grid-3{ grid-template-columns:1fr; } }

/* ---------- Footer ---------- */
.AG_COMMON_2026_STYLE_site-footer{ margin-top:64px; border-top:1px solid var(--AG_COMMON_2026_STYLE_line); padding:32px 24px 40px; }
.AG_COMMON_2026_STYLE_footer-inner{ max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.AG_COMMON_2026_STYLE_footer-brand{ display:flex; align-items:center; gap:10px; font-weight:600; font-size:15px; text-decoration:none; }
.AG_COMMON_2026_STYLE_footer-brand .AG_COMMON_2026_STYLE_mark{
  width:26px; height:26px; border-radius:7px;
  background:conic-gradient(from 180deg, var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet), var(--AG_COMMON_2026_STYLE_magenta), var(--AG_COMMON_2026_STYLE_cyan));
  display:flex; align-items:center; justify-content:center; flex:none;
}
.AG_COMMON_2026_STYLE_footer-brand .AG_COMMON_2026_STYLE_mark span{
  width:20px; height:20px; border-radius:5px; background:var(--AG_COMMON_2026_STYLE_void);
  display:flex; align-items:center; justify-content:center; font-size:10.5px; font-weight:700;
}
.AG_COMMON_2026_STYLE_footer-links{ display:flex; flex-wrap:wrap; gap:22px; }
.AG_COMMON_2026_STYLE_footer-links a{ font-size:13px; color:var(--AG_COMMON_2026_STYLE_slate); text-decoration:none; transition:color .2s ease; }
.AG_COMMON_2026_STYLE_footer-links a:hover{ color:var(--AG_COMMON_2026_STYLE_cyan); }
.AG_COMMON_2026_STYLE_footer-links a.AG_COMMON_2026_STYLE_current{ color:var(--AG_COMMON_2026_STYLE_ice); }
.AG_COMMON_2026_STYLE_footer-copy{ font-size:12px; color:var(--AG_COMMON_2026_STYLE_slate); opacity:.7; margin:0; width:100%; text-align:center; }
@media (min-width:700px){ .AG_COMMON_2026_STYLE_footer-copy{ width:auto; text-align:right; margin-left:auto; } }

/* Real logo image, replacing the placeholder mark badge. Height-locked so
   it matches the previous badge's footprint; width follows naturally from
   the source image's own aspect ratio. */
.AG_COMMON_2026_STYLE_logo-img{ height:46px; width:auto; max-width:none; object-fit:contain; display:block; }
.AG_COMMON_2026_STYLE_logo-img--footer{ height:34px; }

.AG_COMMON_2026_STYLE_footer-meta{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  width:100%;
}
@media (min-width:700px){
  .AG_COMMON_2026_STYLE_footer-meta{ width:auto; align-items:flex-end; margin-left:auto; }
}
.AG_COMMON_2026_STYLE_footer-social{ display:flex; align-items:center; gap:12px; }
.AG_COMMON_2026_STYLE_footer-social a{
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  border:1px solid var(--AG_COMMON_2026_STYLE_line); color:var(--AG_COMMON_2026_STYLE_slate);
  transition:color .2s ease, border-color .2s ease, transform .15s ease;
}
.AG_COMMON_2026_STYLE_footer-social a:hover{
  color:var(--AG_COMMON_2026_STYLE_cyan); border-color:var(--AG_COMMON_2026_STYLE_cyan);
  transform:translateY(-1px);
}
.AG_COMMON_2026_STYLE_footer-social svg{ width:15px; height:15px; }
.AG_COMMON_2026_STYLE_footer-meta .AG_COMMON_2026_STYLE_footer-copy{ width:auto; margin-left:0; text-align:center; }
@media (min-width:700px){ .AG_COMMON_2026_STYLE_footer-meta .AG_COMMON_2026_STYLE_footer-copy{ text-align:right; } }

/* ---------- Typewriter effect ---------- */
.AG_COMMON_2026_STYLE_typing::after,
.AG_COMMON_2026_STYLE_typed-done::after{
  content:'';
  display:inline-block;
  width:2px;
  height:0.9em;
  margin-left:2px;
  vertical-align:-0.12em;
  background:var(--AG_COMMON_2026_STYLE_cyan);
  animation:AG_COMMON_2026_STYLE_caret-blink 0.9s steps(1) infinite;
}
.AG_COMMON_2026_STYLE_typed-done::after{
  animation-duration:1.1s;
  opacity:.6;
}
@keyframes AG_COMMON_2026_STYLE_caret-blink{ 50%{ opacity:0; } }

@media (prefers-reduced-motion: reduce){
  .AG_COMMON_2026_STYLE_typing::after,
  .AG_COMMON_2026_STYLE_typed-done::after{ animation:none; }
}

/* ---------- Idle nudge widget ---------- */
.AG_COMMON_2026_STYLE_idle-nudge{
  position:fixed;
  left:20px; bottom:20px;
  z-index:70;
  max-width:340px;
  display:flex; align-items:flex-start; gap:12px;
  padding:14px 16px;
  border-radius:16px;
  background:linear-gradient(180deg, var(--AG_COMMON_2026_STYLE_panel-2), var(--AG_COMMON_2026_STYLE_panel));
  border:1px solid var(--AG_COMMON_2026_STYLE_line);
  box-shadow:0 20px 50px -16px rgba(0,0,0,0.6), 0 0 30px -10px var(--nc, rgba(76,224,210,0.35));
  cursor:pointer;
  opacity:0;
  transform:translateY(14px) scale(0.97);
  pointer-events:none;
  transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1);
}
.AG_COMMON_2026_STYLE_idle-nudge.AG_COMMON_2026_STYLE_show{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.AG_COMMON_2026_STYLE_idle-nudge.AG_COMMON_2026_STYLE_idle-glow{
  border-color:var(--nc, var(--AG_COMMON_2026_STYLE_cyan));
  animation:AG_COMMON_2026_STYLE_idle-glow-pulse 1.8s ease-in-out infinite;
}
@keyframes AG_COMMON_2026_STYLE_idle-glow-pulse{
  0%,100%{ box-shadow:0 20px 50px -16px rgba(0,0,0,0.6), 0 0 28px -10px var(--nc, rgba(76,224,210,0.4)); }
  50%{ box-shadow:0 20px 50px -16px rgba(0,0,0,0.6), 0 0 46px -6px var(--nc, rgba(76,224,210,0.7)); }
}
@media (prefers-reduced-motion: reduce){
  .AG_COMMON_2026_STYLE_idle-nudge.AG_COMMON_2026_STYLE_idle-glow{ animation:none; box-shadow:0 20px 50px -16px rgba(0,0,0,0.6), 0 0 36px -8px var(--nc, rgba(76,224,210,0.55)); }
}
.AG_COMMON_2026_STYLE_idle-nudge:hover{
  border-color:var(--nc, var(--AG_COMMON_2026_STYLE_cyan));
  transform:translateY(-2px) scale(1.01);
}
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-icon{
  flex:none;
  width:34px; height:34px; border-radius:10px;
  background:var(--AG_COMMON_2026_STYLE_panel);
  border:1px solid var(--AG_COMMON_2026_STYLE_line);
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
}
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-icon img{ width:19px; height:19px; object-fit:contain; }
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-body{ min-width:0; }
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-text{
  font-size:13px; line-height:1.5; color:var(--AG_COMMON_2026_STYLE_ice); margin:0 0 8px;
}
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-footer{
  display:flex; align-items:center; gap:10px;
}
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-cta{
  font-size:11.5px; font-weight:700; color:var(--nc, var(--AG_COMMON_2026_STYLE_cyan));
  display:inline-flex; align-items:center; gap:4px;
}
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-close{
  flex:none; width:20px; height:20px; border-radius:50%;
  border:1px solid var(--AG_COMMON_2026_STYLE_line); background:var(--AG_COMMON_2026_STYLE_panel);
  color:var(--AG_COMMON_2026_STYLE_slate); font-size:10px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:color .2s ease, border-color .2s ease;
}
.AG_COMMON_2026_STYLE_idle-nudge .AG_COMMON_2026_STYLE_in-close:hover{ color:var(--AG_COMMON_2026_STYLE_ice); border-color:var(--AG_COMMON_2026_STYLE_cyan); }

/* Shared speaker mute/unmute button — used by the idle-nudge widget AND
   the feature tooltip. Sized larger than the small close button since
   it's a primary, clickable affordance, not an incidental dismiss action. */
.AG_COMMON_2026_STYLE_speaker-btn{
  flex:none; width:30px; height:30px; border-radius:50%;
  border:1px solid var(--AG_COMMON_2026_STYLE_line); background:var(--AG_COMMON_2026_STYLE_panel);
  color:var(--AG_COMMON_2026_STYLE_slate); font-size:15px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; padding:0;
  transition:color .2s ease, border-color .2s ease, transform .15s ease, background .2s ease;
}
.AG_COMMON_2026_STYLE_speaker-btn:hover{ border-color:var(--nc, var(--AG_COMMON_2026_STYLE_cyan)); transform:scale(1.08); }
.AG_COMMON_2026_STYLE_speaker-btn[aria-pressed="true"]{
  color:var(--AG_COMMON_2026_STYLE_void);
  background:var(--nc, var(--AG_COMMON_2026_STYLE_cyan));
  border-color:transparent;
  animation:AG_COMMON_2026_STYLE_speaker-pulse 1.6s ease-in-out infinite;
}
@keyframes AG_COMMON_2026_STYLE_speaker-pulse{
  0%,100%{ box-shadow:0 0 0 0 var(--nc, rgba(76,224,210,0.45)); }
  50%{ box-shadow:0 0 0 6px transparent; }
}
@media (prefers-reduced-motion: reduce){
  .AG_COMMON_2026_STYLE_speaker-btn[aria-pressed="true"]{ animation:none; }
}

@media (max-width:640px){
  .AG_COMMON_2026_STYLE_idle-nudge{ left:12px; right:12px; bottom:12px; max-width:none; }
}

/* ---------- Shared signup overlay (iframe-based) ----------
   Embeds AstralGen's real registration page in an iframe, so this site
   doesn't need to duplicate that form/logic — it just frames the real
   flow. Swap AG_COMMON_2026_STYLE_SIGNUP_URL in ag-common-2026.js once
   the real registration page's URL is confirmed. */
.AG_COMMON_2026_STYLE_signup-overlay{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  background:rgba(5,7,16,0.72);
  backdrop-filter:blur(6px);
  opacity:0; pointer-events:none;
  transition:opacity .28s ease;
}
.AG_COMMON_2026_STYLE_signup-overlay.AG_COMMON_2026_STYLE_show{ opacity:1; pointer-events:auto; }

.AG_COMMON_2026_STYLE_signup-card {
    position: relative;
    width: 100%;
    max-width: 480px;
    height: min(420px, 92vh);
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    overflow: hidden;
    background: var(--AG_COMMON_2026_STYLE_panel);
    border: 1px solid var(--AG_COMMON_2026_STYLE_line);
    box-shadow: 0 30px 80px -20px rgba(0,0,0,0.6), 0 0 50px -12px rgba(163,102,245,0.35);
    transform: translateY(14px) scale(0.97);
    transition: transform .3s cubic-bezier(.2,.8,.2,1), height .25s ease;
}
.AG_COMMON_2026_STYLE_signup-overlay.AG_COMMON_2026_STYLE_show .AG_COMMON_2026_STYLE_signup-card{ transform:translateY(0) scale(1); }

.AG_COMMON_2026_STYLE_signup-head {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 50px 16px 18px;
}
.AG_COMMON_2026_STYLE_signup-head .AG_COMMON_2026_STYLE_mark{
  width:28px; height:28px; border-radius:8px; flex:none;
  background:conic-gradient(from 180deg, var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet), var(--AG_COMMON_2026_STYLE_magenta), var(--AG_COMMON_2026_STYLE_cyan));
  display:flex; align-items:center; justify-content:center;
}
.AG_COMMON_2026_STYLE_signup-head .AG_COMMON_2026_STYLE_mark span{
  width:21px; height:21px; border-radius:6px; background:var(--AG_COMMON_2026_STYLE_void);
  display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700;
}
.AG_COMMON_2026_STYLE_signup-head h2{ margin:0; font-size:15px; font-weight:600; color:var(--AG_COMMON_2026_STYLE_ice); }

.AG_COMMON_2026_STYLE_signup-close{
  position:absolute; top:12px; right:12px;
  width:30px; height:30px; border-radius:50%;
  background:var(--AG_COMMON_2026_STYLE_panel); border:1px solid var(--AG_COMMON_2026_STYLE_line);
  color:var(--AG_COMMON_2026_STYLE_slate); font-size:13px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:color .2s ease, border-color .2s ease;
}
.AG_COMMON_2026_STYLE_signup-close:hover, .AG_COMMON_2026_STYLE_signup-close:focus-visible{
  color:var(--AG_COMMON_2026_STYLE_ice); border-color:var(--AG_COMMON_2026_STYLE_cyan); outline:none;
}

.AG_COMMON_2026_STYLE_signup-frame-wrap {
    flex: 1;
    position: relative;
    background: var(--AG_COMMON_2026_STYLE_panel);
    overflow-y: hidden;
}
    .AG_COMMON_2026_STYLE_signup-frame-wrap iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: none;
        overflow: hidden;
    }
.AG_COMMON_2026_STYLE_signup-loading{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:10px; color:var(--AG_COMMON_2026_STYLE_slate); font-size:12.5px;
  transition:opacity .2s ease;
}
.AG_COMMON_2026_STYLE_signup-loading .AG_COMMON_2026_STYLE_spin{
  width:22px; height:22px; border-radius:50%;
  border:2px solid var(--AG_COMMON_2026_STYLE_line); border-top-color:var(--AG_COMMON_2026_STYLE_cyan);
  animation:AG_COMMON_2026_STYLE_spin 0.8s linear infinite;
}
@keyframes AG_COMMON_2026_STYLE_spin{ to{ transform:rotate(360deg); } }
.AG_COMMON_2026_STYLE_signup-loading.AG_COMMON_2026_STYLE_hide{ opacity:0; pointer-events:none; }

@media (max-width:520px){
  .AG_COMMON_2026_STYLE_signup-card{ height:min(680px, 88vh); border-radius:16px; }
}

/* ---------- Shared rotating glow border ----------
   Apply .AG_COMMON_2026_STYLE_glow-border to any card, image wrapper, or
   panel to give it a slowly rotating cyan/violet/magenta gradient ring,
   consistent with the effect used on the Help page images. Uses the
   padding-box/border-box double-background technique so it works on an
   element's EXISTING box (no extra wrapper markup needed) — the
   !important rules exist only to reliably win over each page's own
   card border styles regardless of CSS load order. */
@property --ag-border-angle{
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
.AG_COMMON_2026_STYLE_glow-border{
  border:2px solid transparent !important;
  background:
    linear-gradient(var(--AG_COMMON_2026_STYLE_panel), var(--AG_COMMON_2026_STYLE_panel)) padding-box,
    conic-gradient(from var(--ag-border-angle),
      var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet),
      var(--AG_COMMON_2026_STYLE_magenta), var(--AG_COMMON_2026_STYLE_cyan)) border-box !important;
  animation:AG_COMMON_2026_STYLE_borderSpin 7s linear infinite;
}
@keyframes AG_COMMON_2026_STYLE_borderSpin{
  to{ --ag-border-angle: 360deg; }
}
/* For elements (like table wrappers) that shouldn't have their own fill
   swapped — keeps the rotating ring but lets the element's own
   background/contents show through normally. */
.AG_COMMON_2026_STYLE_glow-border--outline{
  background:
    var(--AG_COMMON_2026_STYLE_void) padding-box,
    conic-gradient(from var(--ag-border-angle),
      var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet),
      var(--AG_COMMON_2026_STYLE_magenta), var(--AG_COMMON_2026_STYLE_cyan)) border-box !important;
}

/* ---------- Login placeholder overlay ----------
   Reveals an existing hidden div already present in the page markup
   (id="AG_COMMON_2026_STYLE_loginModal") rather than building anything
   dynamically — a stand-in the team will swap for the real AstralGen
   login component later. */
.AG_COMMON_2026_STYLE_login-overlay{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  background:rgba(5,7,16,0.72);
  backdrop-filter:blur(6px);
  opacity:0; pointer-events:none;
  transition:opacity .28s ease;
}
.AG_COMMON_2026_STYLE_login-overlay.AG_COMMON_2026_STYLE_show{ opacity:1; pointer-events:auto; }

    /*.AG_COMMON_2026_STYLE_login-card{
  position:relative;
  width:100%; max-width:400px;
  padding:36px 32px 28px;
  border-radius:20px;
  text-align:center;
  background:linear-gradient(180deg, var(--AG_COMMON_2026_STYLE_panel-2), var(--AG_COMMON_2026_STYLE_panel));
  border:1px solid var(--AG_COMMON_2026_STYLE_line);
  box-shadow:0 30px 80px -20px rgba(0,0,0,0.6), 0 0 50px -12px rgba(76,224,210,0.3);
  transform:translateY(14px) scale(0.97);
  transition:transform .3s cubic-bezier(.2,.8,.2,1);
}*/
.AG_COMMON_2026_STYLE_login-card {
    position: relative;
    width: 100%;
    max-width: 400px;
    padding: 36px 32px 28px;
    border-radius: 20px;
    text-align: center;
    background-color: var(--AG_COMMON_2026_STYLE_panel);
    background-image: url('/images/bg/banner-bg.png');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    border: 1px solid var(--AG_COMMON_2026_STYLE_line);
    box-shadow: 0 30px 80px -20px rgba(0,0,0,0.6), 0 0 50px -12px rgba(76,224,210,0.3);
    transform: translateY(14px) scale(0.97);
    transition: transform .3s cubic-bezier(.2,.8,.2,1);
    overflow: hidden;
}
.AG_COMMON_2026_STYLE_login-overlay.AG_COMMON_2026_STYLE_show .AG_COMMON_2026_STYLE_login-card{ transform:translateY(0) scale(1); }

.AG_COMMON_2026_STYLE_login-close{
  position:absolute; top:14px; right:14px;
  width:30px; height:30px; border-radius:50%;
  background:var(--AG_COMMON_2026_STYLE_panel); border:1px solid var(--AG_COMMON_2026_STYLE_line);
  color:var(--AG_COMMON_2026_STYLE_slate); font-size:13px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:color .2s ease, border-color .2s ease;
}
.AG_COMMON_2026_STYLE_login-close:hover, .AG_COMMON_2026_STYLE_login-close:focus-visible{
  color:var(--AG_COMMON_2026_STYLE_ice); border-color:var(--AG_COMMON_2026_STYLE_cyan); outline:none;
}

.AG_COMMON_2026_STYLE_login-mark{
  width:46px; height:46px; margin:0 auto 16px; border-radius:12px;
  background:conic-gradient(from 180deg, var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet), var(--AG_COMMON_2026_STYLE_magenta), var(--AG_COMMON_2026_STYLE_cyan));
  display:flex; align-items:center; justify-content:center;
}
.AG_COMMON_2026_STYLE_login-mark span{
  width:38px; height:38px; border-radius:9px; background:var(--AG_COMMON_2026_STYLE_void);
  display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:700;
}
.AG_COMMON_2026_STYLE_login-card h2{ font-size:22px; margin:8px 0 8px; }
.AG_COMMON_2026_STYLE_login-card .AG_COMMON_2026_STYLE_login-sub{ font-size:13.5px; color:var(--AG_COMMON_2026_STYLE_slate); margin:0 0 22px; line-height:1.5; }
.AG_COMMON_2026_STYLE_login-card .AG_COMMON_2026_STYLE_login-placeholder-note{
  margin-top:18px; padding:12px 14px; border-radius:10px; text-align:left;
  background:rgba(163,102,245,0.08); border:1px dashed rgba(163,102,245,0.3);
  font-size:11.5px; color:var(--AG_COMMON_2026_STYLE_slate); line-height:1.6;
}
.AG_COMMON_2026_STYLE_login-fields{ display:flex; flex-direction:column; gap:10px; }
.AG_COMMON_2026_STYLE_login-fields input{
  width:100%; padding:13px 15px; border-radius:10px;
  background:var(--AG_COMMON_2026_STYLE_void); border:1px solid var(--AG_COMMON_2026_STYLE_line); color:var(--AG_COMMON_2026_STYLE_ice);
  font-size:14px; font-family:inherit; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.AG_COMMON_2026_STYLE_login-fields input:focus{ border-color:var(--AG_COMMON_2026_STYLE_cyan); box-shadow:0 0 0 3px rgba(76,224,210,0.15); }
.AG_COMMON_2026_STYLE_login-fields input::placeholder{ color:var(--AG_COMMON_2026_STYLE_slate); }
.AG_COMMON_2026_STYLE_login-submit{
  padding:13px 15px; border-radius:10px; border:none; cursor:pointer;
  font-size:14px; font-weight:600; font-family:inherit; color:var(--AG_COMMON_2026_STYLE_void);
  background:linear-gradient(90deg, var(--AG_COMMON_2026_STYLE_cyan), var(--AG_COMMON_2026_STYLE_violet));
  transition:filter .2s ease, transform .2s ease;
}
.AG_COMMON_2026_STYLE_login-submit:hover{ filter:brightness(1.08); transform:translateY(-1px); }

/* ---------- ALTCHA widget theming ---------- */
altcha-widget {
    display: block;
    width: 100%;
    --altcha-color-base: var(--AG_COMMON_2026_STYLE_panel);
    --altcha-color-border: var(--AG_COMMON_2026_STYLE_line);
    --altcha-color-border-focus: var(--AG_COMMON_2026_STYLE_cyan);
    --altcha-color-text: var(--AG_COMMON_2026_STYLE_ice);
    --altcha-color-text-secondary: var(--AG_COMMON_2026_STYLE_slate);
    --altcha-color-primary: var(--AG_COMMON_2026_STYLE_cyan);
    --altcha-color-primary-content: var(--AG_COMMON_2026_STYLE_void);
    --altcha-color-error: var(--AG_COMMON_2026_STYLE_magenta);
    --altcha-color-error-content: #ffffff;
    --altcha-border-radius: 12px;
    --altcha-border-width: 1px;
    --altcha-max-width: 100%;
    font-family: inherit;
    background: var(--AG_COMMON_2026_STYLE_panel-2);
    border: 1px solid var(--AG_COMMON_2026_STYLE_line);
    border-radius: 12px;
    padding: 4px;
    margin: 0 0 14px;
}

    altcha-widget::part(footer),
    altcha-widget::part(footer-link) {
        color: var(--AG_COMMON_2026_STYLE_slate) !important;
    }

.altcha-security-label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    color: #9ca3af; /* subtle, matches a typical dark-theme secondary-text tone — adjust to your palette */
    font-size: 0.8rem;
}

.AG_COMMON_2026_STYLE_hover-tip {
    position: relative;
    cursor: help;
}

    .AG_COMMON_2026_STYLE_hover-tip::after {
        content: attr(data-tooltip);
        position: absolute;
        bottom: calc(100% + 10px);
        left: 50%;
        transform: translateX(-50%) translateY(4px);
        width: 230px;
        max-width: 70vw;
        padding: 10px 13px;
        border-radius: 10px;
        background: var(--AG_COMMON_2026_STYLE_panel-2);
        border: 1px solid var(--AG_COMMON_2026_STYLE_line);
        color: var(--AG_COMMON_2026_STYLE_ice);
        font-size: 12px;
        line-height: 1.55;
        text-align: left;
        font-weight: 400;
        text-transform: none;
        letter-spacing: normal;
        box-shadow: 0 14px 34px -10px rgba(0,0,0,0.55);
        opacity: 0;
        pointer-events: none;
        z-index: 30;
        transition: opacity .18s ease, transform .18s ease;
    }

    .AG_COMMON_2026_STYLE_hover-tip::before {
        content: '';
        position: absolute;
        bottom: calc(100% + 4px);
        left: 50%;
        transform: translateX(-50%);
        border: 6px solid transparent;
        border-top-color: var(--AG_COMMON_2026_STYLE_panel-2);
        opacity: 0;
        pointer-events: none;
        z-index: 30;
        transition: opacity .18s ease;
    }

    .AG_COMMON_2026_STYLE_hover-tip:hover::after,
    .AG_COMMON_2026_STYLE_hover-tip:focus-within::after,
    .AG_COMMON_2026_STYLE_hover-tip:hover::before,
    .AG_COMMON_2026_STYLE_hover-tip:focus-within::before {
        opacity: 1;
    }

    .AG_COMMON_2026_STYLE_hover-tip:hover::after,
    .AG_COMMON_2026_STYLE_hover-tip:focus-within::after {
        transform: translateX(-50%) translateY(0);
    }

/* Flips the tooltip below the element instead of above, for cases
   where the element sits near the top of the viewport (e.g. a header).
   Just add this second class alongside AG_COMMON_2026_STYLE_hover-tip. */
.AG_COMMON_2026_STYLE_hover-tip--below::after {
    bottom: auto;
    top: calc(100% + 10px);
    transform: translateX(-50%) translateY(-4px);
}

.AG_COMMON_2026_STYLE_hover-tip--below::before {
    bottom: auto;
    top: calc(100% + 4px);
    border-top-color: transparent;
    border-bottom-color: var(--AG_COMMON_2026_STYLE_panel-2);
}

.AG_COMMON_2026_STYLE_hover-tip--below:hover::after,
.AG_COMMON_2026_STYLE_hover-tip--below:focus-within::after {
    transform: translateX(-50%) translateY(0);
}

.AG_COMMON_2026_STYLE_manual-toggle-btn {
    display: block;
    width: 100%;
    margin: 14px 0;
    text-align: center;
    background: var(--AG_COMMON_2026_STYLE_panel-2);
    border: 1px solid var(--AG_COMMON_2026_STYLE_line);
    border-radius: 10px;
    padding: 11px 16px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    color: var(--AG_COMMON_2026_STYLE_ice);
    transition: border-color .2s ease, background .2s ease;
}

    .AG_COMMON_2026_STYLE_manual-toggle-btn:hover,
    .AG_COMMON_2026_STYLE_manual-toggle-btn:focus-visible {
        border-color: var(--AG_COMMON_2026_STYLE_cyan);
        background: var(--AG_COMMON_2026_STYLE_panel);
    }

.AG_COMMON_2026_STYLE_manual-toggle-chevron {
    display: inline-block;
    margin-left: 6px;
    font-size: 11px;
    transition: transform .2s ease;
}

.AG_COMMON_2026_STYLE_manual-toggle-btn[aria-expanded="true"] .AG_COMMON_2026_STYLE_manual-toggle-chevron {
    transform: rotate(180deg);
}

.AG_COMMON_2026_STYLE_manual-fields {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .3s ease, opacity .25s ease;
}

    .AG_COMMON_2026_STYLE_manual-fields.AG_COMMON_2026_STYLE_open {
        max-height: 900px;
        opacity: 1;
    }