/* MAIA orb docked bottom-right on every /v4/ subpage (same look as the home) */
#talk.talk{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:55;padding:0;border:0;background:none;border-radius:50%;cursor:pointer;transition:opacity .35s ease}
#talk.talk .to{position:relative;display:block;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff6ff 0,#d8c6ff 22%,#8b6df0 62%,#4a2f9c 100%);animation:obreath 4.2s ease-in-out infinite;box-shadow:0 0 22px 3px rgba(160,125,255,.5)}
#talk.talk .r1,#talk.talk .r2{position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(184,157,255,.55);animation:oring 3.4s ease-out infinite}
#talk.talk .r2{animation-delay:1.7s}
#talk.talk .ey{position:absolute;top:17px;width:6px;height:12px;border-radius:99px;background:#fff;box-shadow:0 0 6px 2px rgba(255,255,255,.95),0 0 12px 3px rgba(184,157,255,.8);animation:oblink 5s infinite}
#talk.talk .e1{left:14px}#talk.talk .e2{right:14px}
#talk.talk:focus-visible{outline:2px solid #b89dff;outline-offset:6px}
body.voice-on #talk.talk{opacity:0;pointer-events:none}
@keyframes obreath{0%,100%{transform:scale(.94)}50%{transform:scale(1.07)}}
@keyframes oring{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.9);opacity:0}}
@keyframes oblink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@media (prefers-reduced-motion:reduce){#talk.talk .to,#talk.talk .r1,#talk.talk .r2,#talk.talk .ey{animation:none}}
.voice-status{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:56;font:12px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:#b89dff;background:rgba(14,10,19,.9);border:1px solid rgba(184,157,255,.35);padding:10px 16px;max-width:90vw;text-align:center}
.voice-status a{color:#f3ebde}
body{padding-bottom:max(76px,calc(60px + env(safe-area-inset-bottom)))} /* the last footer line stays clear of the docked orb */
.cv .for,span.for{font-size:12px!important}

.vgate{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(8,5,14,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vg-card{max-width:460px;width:100%;max-height:calc(100dvh - 32px);overflow:auto;background:#150f20;border:1px solid rgba(184,157,255,.55);border-radius:16px;padding:22px 20px;color:#f3ebde;font:400 15px/1.55 'Geist',system-ui,sans-serif}
.vg-k{font:500 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:#b89dff}
.vg-card h2{font:350 24px/1.18 'Fraunces',Georgia,serif;margin:8px 0 12px;color:#f3ebde}
.vg-card p{margin:0 0 10px;color:#d8cfc1;font-size:15px}
.vg-card a{color:#b89dff}
.vg-b{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.vg-b button{min-height:46px;padding:0 20px;border-radius:99px;border:1px solid rgba(184,157,255,.6);background:transparent;color:#f3ebde;font:500 14px 'Geist',system-ui,sans-serif;cursor:pointer}
.vg-b .vg-ok{background:#b89dff;color:#0e0a13;border-color:#b89dff}
.vg-b button:focus-visible,.vg-card a:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* decorative scene canvases never intercept touch or hit-testing and never sit over copy */
canvas[aria-hidden="true"]{pointer-events:none}
