:root{
  --bg:#0c0a12; --bg-glow:rgba(124,92,255,.16); --panel:#141019; --panel2:#1b1626;
  --ink:#f4f1f9; --mist:#ada4be; --faint:#938aa6; --line:#241f30; --line2:#322b42;
  --acc:#7c5cff; --acc-soft:#9b82ff; --acc-dim:#5a3fd6; --acc-ink:#0c0814; --acc-wash:rgba(124,92,255,.12);
  --ok:#52c993; --ok-wash:rgba(82,201,147,.13); --warn:#e0a23f; --red:#e85c4f;
  --serif:"Fraunces",Georgia,serif; --sans:"Figtree",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --r-sm:9px;--r-md:13px;--r-lg:17px;
  --e1:0 1px 0 rgba(255,255,255,.03), 0 8px 22px -14px rgba(0,0,0,.7);
  --e2:0 24px 50px -22px rgba(0,0,0,.75); --glow:0 0 0 1px var(--acc-wash), 0 14px 40px -14px rgba(124,92,255,.5);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1200px 720px at 80% -12%,var(--bg-glow),transparent 60%),
    radial-gradient(900px 600px at -5% 110%,rgba(58,160,180,.08),transparent 55%),var(--bg);
  color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--acc-soft);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
/* nav */
.topbar{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;
  padding:11px 22px;background:rgba(12,10,18,.78);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo img{border-radius:8px;display:block}
.logo span{font:600 1.12rem/1 var(--serif);letter-spacing:.02em}
.logo:hover{text-decoration:none}
.nav{display:flex;flex-wrap:wrap;gap:2px;align-items:center}
.nav a{font-size:.85rem;color:var(--mist);text-decoration:none;padding:6px 11px;border-radius:999px;white-space:nowrap}
.nav a:hover{color:var(--ink);background:rgba(255,255,255,.04);text-decoration:none}
.nav a.active{color:var(--ink);background:var(--acc-wash);box-shadow:inset 0 0 0 1px var(--line2)}
.mark{font-weight:600;letter-spacing:.34em;font-size:.72rem;color:var(--mist);text-transform:uppercase}
h1{font:600 clamp(2.2rem,6.4vw,4rem)/1.05 var(--serif);letter-spacing:-.02em;margin:.32em 0 .34em}
h1 .on{color:var(--acc-soft)}
h2{font:600 clamp(1.45rem,3.3vw,2.15rem)/1.13 var(--serif);letter-spacing:-.015em;margin:0 0 .5em}
h3{font:600 1.04rem/1.3 var(--sans);margin:0 0 .3em}
.lede{font-size:clamp(1.04rem,2.3vw,1.22rem);color:#d8d1e6;max-width:48ch}
section{padding:64px 0;border-top:1px solid var(--line)}
.pagehead{padding:60px 0 6px}
.pagehead h1{font:600 clamp(1.9rem,5.2vw,3.1rem)/1.06 var(--serif);letter-spacing:-.02em;margin:0 0 .35em}
.pagehead+section{border-top:none}
.muted{color:var(--mist)} .faint{color:var(--faint)}
.morelinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.morelinks a{font-size:.9rem;color:var(--acc-soft);border:1px solid var(--line2);border-radius:999px;padding:7px 14px;text-decoration:none}
.morelinks a:hover{border-color:var(--acc);color:#fff;text-decoration:none}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;color:var(--mist);
  border:1px solid var(--line2);border-radius:999px;padding:5px 13px;margin-bottom:18px;background:rgba(255,255,255,.015)}
.livedot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(82,201,147,.6);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(82,201,147,.5)}70%{box-shadow:0 0 0 9px rgba(82,201,147,0)}100%{box-shadow:0 0 0 0 rgba(82,201,147,0)}}
.cta{display:inline-flex;align-items:center;gap:8px;margin-top:10px;border:0;cursor:pointer;
  background:linear-gradient(180deg,var(--acc-soft),var(--acc-dim));color:#fff;border-radius:var(--r-md);
  padding:12px 20px;font:600 .98rem var(--sans);box-shadow:var(--glow);transition:transform .18s,box-shadow .18s}
.cta:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 0 0 1px var(--acc-wash),0 18px 48px -12px rgba(124,92,255,.7)}
/* hero */
.hero{position:relative;overflow:hidden;border-top:none;padding:60px 0 34px}
.hero-art{position:absolute;inset:0;z-index:0;opacity:.82}
.hero-art canvas,.playart canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(11,9,18,.92) 0%,rgba(11,9,18,.66) 36%,rgba(11,9,18,.16) 64%,transparent 84%),
    linear-gradient(0deg,var(--bg) 1%,transparent 26%)}
.hero .wrap{position:relative;z-index:2}
@media(max-width:640px){
  .hero{padding:66px 0 38px}
  .hero-art{opacity:.58}
  .navcta{display:none}
  .nav{gap:1px}.nav a{padding:5px 9px;font-size:.82rem}
  .has-ga::after{display:none}        /* drop the sheen repaint on mobile; keep the GPU drift */
  /* mobile text is full-width — darken more evenly (top+bottom) instead of left-weighted */
  .hero::after{background:linear-gradient(180deg,rgba(11,9,18,.5) 0%,rgba(11,9,18,.3) 38%,rgba(11,9,18,.62) 78%,var(--bg) 100%)}
}
@keyframes heroDrift{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.12) translate(-1.5%,-2%)}}
@keyframes gaFlow{to{transform:rotate(360deg)}}
.reshuffle{margin-left:12px;font:inherit;font-size:.82rem;color:var(--mist);background:none;border:1px solid var(--line2);
  border-radius:999px;padding:5px 12px;cursor:pointer;vertical-align:middle}.reshuffle:hover{border-color:var(--acc);color:#fff}
/* cards */
.grid{display:grid;gap:16px}
@media(min-width:760px){.cols2{grid-template-columns:1fr 1fr}.cols3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;
  box-shadow:var(--e1);transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-2px);border-color:var(--line2)}
.card p{margin:.3em 0 0;color:#cdc4dd;font-size:.95rem}
.k{color:var(--acc-soft);font-weight:600;font-family:var(--mono);font-size:.84em}
/* assistant */
.assistant{display:grid;gap:18px}
@media(min-width:900px){.assistant{grid-template-columns:1.4fr 1fr}}
.chat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;
  flex-direction:column;min-height:460px;overflow:hidden;box-shadow:var(--e2)}
.chat .head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--panel2)}
.chat .head img{width:30px;height:30px;border-radius:50%}
.chat .head b{font-size:.92rem}.chat .head span{font-size:.76rem;color:var(--mist)}
.log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:13px}
.msg{max-width:88%;padding:10px 13px;border-radius:13px;font-size:.95rem;animation:msgin .32s ease both}
@keyframes msgin{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.msg.user{align-self:flex-end;background:linear-gradient(180deg,#2c2440,#251e36);border:1px solid #38304e}
.msg.bot{align-self:flex-start;background:var(--panel2);border:1px solid var(--line)}
.msg.bot ul,.msg.bot ol{margin:.4em 0;padding-left:1.25em}.msg.bot li{margin:.15em 0}
.msg.bot strong{color:#fff}.msg.bot p{margin:.35em 0}
.msg.bot .mh{margin:.55em 0 .15em;font-size:.96rem}
.msg.bot code{font-family:var(--mono);font-size:.85em;background:#0f0c16;border:1px solid var(--line2);border-radius:5px;padding:1px 5px}
.msg.bot a{color:var(--acc-soft)}
/* fluid streaming — each word materialises (fade + rise + de-blur), a caret trails the live edge */
.msg.bot.streaming{min-height:1.15em}
.msg.bot .w{display:inline-block;opacity:0;transform:translateY(.34em);filter:blur(2.6px);
  transition:opacity .42s ease,transform .42s cubic-bezier(.2,.75,.2,1),filter .42s ease}
.msg.bot .w.in{opacity:1;transform:none;filter:blur(0)}
.caret{display:inline-block;width:.42em;height:1em;vertical-align:text-bottom;border-radius:2px;margin:0 1px -1px;
  background:linear-gradient(180deg,var(--acc-soft),var(--acc));box-shadow:0 0 8px rgba(124,92,255,.6);animation:caretPulse 1.05s ease-in-out infinite}
@keyframes caretPulse{0%,100%{opacity:.2}50%{opacity:.95}}
@media (prefers-reduced-motion: reduce){.msg.bot .w{transition:none;opacity:1;filter:none;transform:none}.caret{animation:none}}
.msg.sys{align-self:center;color:var(--mist);font-size:.82rem;border:1px dashed var(--line2);background:none;padding:6px 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.chip{font-size:.82rem;color:#d2cadf;background:#221c30;border:1px solid var(--line2);border-radius:999px;padding:6px 11px;cursor:pointer;transition:.15s}
.chip:hover{border-color:var(--acc);color:#fff}
.composer{display:flex;gap:8px;border-top:1px solid var(--line);padding:12px;background:var(--panel2)}
.composer input{flex:1;background:#0f0c16;border:1px solid var(--line2);border-radius:10px;color:var(--ink);padding:11px 13px;font:inherit;font-size:.95rem}
.composer input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-wash)}
.composer button{background:linear-gradient(180deg,var(--acc-soft),var(--acc-dim));color:#fff;border:0;border-radius:10px;padding:0 16px;font:600 .95rem var(--sans);cursor:pointer}
.composer button:disabled{opacity:.5;cursor:default}
/* trace */
.trace{background:linear-gradient(180deg,#16111f,#110d1a);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 18px 9px;box-shadow:var(--e1)}
.trace h3{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);margin-bottom:2px}
.trace .sub{font-size:.81rem;color:var(--faint);margin:0 0 10px}
.govcanvas{width:100%;height:104px;display:block;margin:0 0 12px;border-radius:10px;
  background:radial-gradient(120% 140% at 50% 0%,rgba(124,92,255,.07),transparent 70%),#100c18;border:1px solid var(--line)}
.row{display:flex;gap:11px;align-items:flex-start;padding:11px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:none}
.dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:#39334c;transition:.3s}
.row.on .dot,.row.ok .dot{background:var(--ok);box-shadow:0 0 9px rgba(82,201,147,.7);animation:ping .5s ease}
.row.amber .dot{background:var(--warn);box-shadow:0 0 9px rgba(224,162,63,.75);animation:ping .5s ease}
.row.red .dot{background:var(--red);box-shadow:0 0 10px rgba(232,92,79,.85);animation:ping .5s ease}
.row.red .val{color:#ffd9d2}.row.amber .val{color:#ffe6bd}
.tracefoot{font-family:var(--mono);font-size:.71rem;color:var(--faint);padding:11px 0 4px;border-top:1px solid var(--line);margin-top:7px;word-break:break-all}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(82,201,147,.6)}100%{box-shadow:0 0 0 7px rgba(82,201,147,0)}}
.row .lab{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}
.row .val{font-size:.92rem;color:var(--ink);font-family:var(--mono);font-variant-numeric:tabular-nums}
.row .val .m{color:var(--mist);font-size:.82rem;font-family:var(--sans)}
.breach{margin-top:20px;display:grid;gap:12px}
.bcard{border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;background:var(--panel)}
.bcard.ok{border-color:rgba(82,201,147,.4)}.bcard.red{border-color:rgba(232,92,79,.5);background:linear-gradient(180deg,#1c1320,var(--panel))}
.bcard.amber{border-color:rgba(224,162,63,.5);background:linear-gradient(180deg,#1d1810,var(--panel))}
.govctl{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:18px}
.ksw{font-size:.85rem;color:var(--mist);display:inline-flex;align-items:center;gap:8px}
.kstoggle{font:600 .8rem var(--mono);color:var(--mist);background:#1b1626;border:1px solid var(--line2);border-radius:999px;padding:5px 14px;cursor:pointer;min-width:54px}
.kstoggle.on{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 0 12px rgba(232,92,79,.5)}
.gbtns{display:flex;gap:10px;margin-top:12px}
.gbtn{font:600 .9rem var(--sans);border:0;border-radius:9px;padding:9px 16px;cursor:pointer}
.gbtn.ok{background:var(--ok);color:#04130c}.gbtn.no{background:#2a2230;color:#e7dff5;border:1px solid var(--line2)}
.bcard .bh{font-weight:600;font-size:.95rem;margin-bottom:6px}
.bcard .bm{font-family:var(--mono);font-size:.78rem;color:var(--mist);margin-bottom:8px;word-break:break-word}
.bcard .bm code{color:var(--acc-soft)}
.bcard .bv{font-family:var(--mono);font-size:.88rem;color:#e7dff5}
.bcard .blocked{color:var(--red);font-weight:600}
.envelope{font-size:.85rem;font-family:var(--mono)}
.envelope .cap{display:inline-block;background:var(--acc-wash);border:1px solid var(--line2);border-radius:999px;padding:2px 9px;margin:1px 2px;color:#d6cfe6;font-size:.78rem}
.envelope .none{color:var(--ok)}
/* capability envelope, folded into the trace panel */
.trace .envelope{margin:2px 0 12px;border-top:1px solid var(--line);padding-top:13px}
.envtitle{font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-bottom:9px}
.envrow{display:flex;align-items:center;gap:8px;margin:5px 0;flex-wrap:wrap}
.envk{color:var(--faint);width:58px;flex:none}
.envnote{font-family:var(--sans);font-size:.8rem;color:var(--mist);margin-top:10px}
.scores{display:grid;gap:14px;margin-top:22px;grid-template-columns:1fr}
@media(min-width:680px){.scores{grid-template-columns:repeat(5,1fr)}}
.score{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 14px;box-shadow:var(--e1)}
.score b{display:block;font:600 1.7rem/1 var(--serif);color:var(--acc-soft);letter-spacing:-.01em}
.score span{display:block;font-size:.82rem;color:#cdc4dd;margin-top:6px}
.score i{display:block;font-size:.76rem;color:var(--faint);margin-top:8px;font-style:normal;border-top:1px dashed var(--line2);padding-top:7px}
.play{margin-top:20px}
.play input{width:100%;max-width:420px;background:#0f0c16;border:1px solid var(--line2);border-radius:10px;color:var(--ink);padding:12px 14px;font:inherit;font-size:1rem}
.play input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-wash)}
.playctrls{display:flex;flex-wrap:wrap;gap:9px 16px;align-items:center;margin-top:14px}
.ctlgrp{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.ctlgrp b{font:600 .68rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin-right:1px}
.ctl{font:600 .8rem var(--sans);color:var(--mist);background:#1b1626;border:1px solid var(--line2);border-radius:999px;padding:6px 12px;cursor:pointer;transition:.15s}
.ctl:hover{border-color:var(--acc);color:#fff}
.ctl.on{background:var(--acc-wash);color:#fff;border-color:var(--acc)}
.ctl.resh{margin-left:auto}
.playgrid{display:grid;gap:16px;margin-top:18px;align-items:center}
@media(min-width:680px){.playgrid{grid-template-columns:1.6fr auto}}
.playart{position:relative;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#15123a;aspect-ratio:3/1}
.playart svg{position:static!important;inset:auto!important;width:100%!important;height:100%!important;display:block;animation:none!important}
.playmeta{display:flex;align-items:center;gap:12px}
.playmeta img{border-radius:10px;background:#15123a;border:1px solid var(--line)}
.camp{margin-top:18px;display:grid;gap:12px}
.camp input{width:100%;max-width:560px;background:#0f0c16;border:1px solid var(--line2);border-radius:10px;color:var(--ink);padding:12px 14px;font:inherit;font-size:1rem}
.camp input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-wash)}
.campout{display:grid;gap:16px;margin-top:8px;grid-template-columns:1fr}
@media(min-width:760px){.campout{grid-template-columns:repeat(3,1fr)}}
.casset{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--panel);box-shadow:var(--e1)}
.casset .art{height:280px;display:flex;align-items:center;justify-content:center;background:#0e0a16;overflow:hidden}
.casset .art svg{height:100%;width:auto;max-width:100%;display:block}
.cfoot{display:flex;justify-content:space-between;align-items:center;padding:9px 13px;font-size:.78rem;color:var(--mist)}
.cfoot a{color:var(--acc-soft);text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:3px 10px}
.cfoot a:hover{border-color:var(--acc);color:#fff;text-decoration:none}
.gallery{display:grid;gap:16px;margin-top:22px;grid-template-columns:1fr}
@media(min-width:680px){.gallery{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.gallery{grid-template-columns:1fr 1fr 1fr}}
.gcard{display:block;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--panel);text-decoration:none;color:var(--ink);box-shadow:var(--e1);transition:transform .2s,border-color .2s}
.gcard:hover{transform:translateY(-3px);border-color:var(--acc);text-decoration:none}
.gcard img{width:100%;aspect-ratio:1200/630;object-fit:cover;display:block;background:#15123a}
.gmeta{padding:12px 14px}.gmeta b{display:block;font-size:.98rem}
.gmeta span{display:block;font-size:.8rem;color:var(--mist);margin-top:3px;text-transform:capitalize}
.evalout{margin-top:18px;display:grid;gap:10px}
.escore{font:600 1.35rem var(--serif);color:var(--acc-soft)}
.ecase{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;background:var(--panel)}
.ecase.ok{border-color:rgba(82,201,147,.35)}.ecase.no{border-color:rgba(232,92,79,.5)}
.ecase .eh{font-size:.95rem}
.ecase .ecat{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);border:1px solid var(--line2);border-radius:999px;padding:1px 8px;margin-left:6px}
.ecase .ec{font-size:.8rem;color:var(--mist);margin-top:5px}
.ecase .ed{font-family:var(--mono);font-size:.79rem;color:#cdc4dd;margin-top:5px;word-break:break-word}
footer{padding:50px 0 72px;border-top:1px solid var(--line);color:var(--mist);font-size:.92rem}
footer a{color:#d2cadf}
/* nav CTA */
.navcta{margin-left:8px;background:linear-gradient(180deg,var(--acc-soft),var(--acc-dim));color:#fff!important;
  border-radius:999px;padding:7px 15px;font-weight:600;box-shadow:var(--glow);white-space:nowrap}
.navcta:hover{color:#fff;text-decoration:none;transform:translateY(-1px)}
/* two-column section: narrative left, a visual / live panel right */
.split{display:grid;gap:26px;align-items:start}
@media(min-width:900px){.split{grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}.split.top{align-items:start}}
.vizpanel{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:
  radial-gradient(120% 120% at 80% 0%,rgba(124,92,255,.08),transparent 60%),var(--panel);
  box-shadow:var(--e1);padding:18px;min-height:230px;display:flex;flex-direction:column;justify-content:center}
.vizpanel .vhint{color:var(--mist);font-size:.86rem;text-align:center;line-height:1.55;padding:6px}
.vhint .vrow{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:14px;flex-wrap:wrap}
.vhint .vnode{border:1px solid var(--line2);border-radius:8px;padding:6px 11px;font-family:var(--mono);font-size:.76rem;color:#cdc4dd;background:#1b1626}
.vhint .vnode.b{border-color:var(--acc-dim);color:#fff;box-shadow:inset 0 0 0 1px var(--acc-wash)}
.vhint .vlink{color:var(--faint);font-family:var(--mono);font-size:.72rem;white-space:nowrap}
.vhint b{color:var(--acc-soft)}
/* the demo output, once it renders, shouldn't keep the centred placeholder layout */
.vizpanel .breach:not(:has(.vhint)),.vizpanel .evalout:not(:has(.vhint)){align-self:stretch}
/* scroll reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
/* secondary / ghost CTA + button rows */
.cta.ghost{background:transparent;color:var(--acc-soft);box-shadow:inset 0 0 0 1px var(--line2)}
.cta.ghost:hover{box-shadow:inset 0 0 0 1px var(--acc);color:#fff}
.ctarow{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
/* closing CTA */
.closer{border-top:1px solid var(--line);background:radial-gradient(900px 400px at 50% 120%,rgba(124,92,255,.12),transparent 70%)}
.closer h2{max-width:18ch}
/* generative backdrops — every card/panel gets its own bespoke flow-field art, seeded from its content,
   slowly animated like liquid gold: a viscous drift of the still + a slow golden sheen sweeping across */
.has-ga{position:relative;isolation:isolate;overflow:hidden}
.has-ga::before{content:"";position:absolute;inset:-14%;z-index:-2;
  background:var(--ga) center/cover no-repeat;opacity:.24;mix-blend-mode:screen;pointer-events:none;
  will-change:transform;animation:gaDrift 34s ease-in-out infinite alternate}
.has-ga::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(116deg,transparent 38%,rgba(255,226,150,.13) 50%,transparent 62%);
  background-size:260% 100%;animation:gaSheen 17s linear infinite}
.chat.has-ga::before,.trace.has-ga::before{opacity:.14}
.closer.has-ga::before{opacity:.6}
.has-ga>*{position:relative}
@keyframes gaDrift{from{transform:translate3d(-2.4%,-1.6%,0) scale(1.06)}to{transform:translate3d(2.6%,2.4%,0) scale(1.14)}}
@keyframes gaSheen{from{background-position:165% 0}to{background-position:-65% 0}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
