/* AstroMind · your guide (video-call chat). Scoped to #gd. */
.gdx{--c1:#f0abfc;--c2:#8b5cf6}
.gdx .ic{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:currentColor}
.gdx .avsvg{display:block;width:100%;height:100%;overflow:visible;animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-7px)}}
.gdx .avsvg .blink{transform-box:fill-box;transform-origin:center;animation:blink 5.5s infinite}
@keyframes blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.08)}}
.gdx .avsvg .sway{transform-box:fill-box;transform-origin:50% 0;animation:sway 7s ease-in-out infinite}
.gdx .avsvg .sway2{transform-box:fill-box;transform-origin:50% 10%;animation:sway 5s ease-in-out infinite reverse}
@keyframes sway{50%{transform:rotate(1.6deg)}}
.gdx .avsvg .tw{animation:tw 2.6s ease-in-out infinite}
@keyframes tw{50%{opacity:.25}}
.gdx .avsvg .aura{transform-box:fill-box;transform-origin:center;animation:aura 4s ease-in-out infinite}
@keyframes aura{50%{transform:scale(1.06);opacity:.8}}
.gdx .avsvg .mouth{transform-box:fill-box;transform-origin:center}
.gdx .talking .avsvg .mouth{animation:talk .22s ease-in-out infinite alternate}
@keyframes talk{from{transform:scaleY(1)}to{transform:scaleY(2.1) scaleX(.92)}}
.gdx .choose{text-align:center}
.gdx .guides{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:34px 0 30px;align-items:stretch}
.gdx .gc{all:unset;display:block;box-sizing:border-box;cursor:pointer;position:relative;border-radius:190px 190px 30px 30px;padding:26px 20px 26px;text-align:center;
 background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--g2) 45%,transparent),transparent 65%),linear-gradient(180deg,rgba(40,28,95,.85),rgba(14,10,36,.92));
 border:1.5px solid color-mix(in srgb,var(--g1) 55%,transparent);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.gdx .gc:hover{transform:translateY(-6px)}
.gdx .gc.on{transform:translateY(-8px) scale(1.03);box-shadow:0 0 0 2px var(--g1),0 0 50px color-mix(in srgb,var(--g1) 70%,transparent),0 30px 60px rgba(0,0,0,.4)}
.gdx .gc .port{position:relative;width:210px;height:250px;margin:0 auto}
.gdx .gc .port::before{content:"";position:absolute;inset:-6px -14px 0;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--g1) 60%,transparent);opacity:0;transition:opacity .4s;animation:spin 22s linear infinite}
.gdx .gc.on .port::before{opacity:1}
@keyframes spin{to{transform:rotate(360deg)}}
.gdx .gc .gt{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--g1);margin-top:10px}
.gdx .gc .gn{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:2.1rem;line-height:1.1;margin-top:4px}
.gdx .gc .gq{font-style:italic;font-weight:700;color:#e9e3ff;margin-top:12px;font-size:1.02rem;line-height:1.5;min-height:3em}
.gdx .traits{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.gdx .traits span{display:inline-flex;align-items:center;gap:7px;font-size:.92rem;font-weight:800;letter-spacing:.04em;padding:6px 14px;border-radius:99px;
 background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid color-mix(in srgb,var(--g1) 45%,transparent)}
.gdx .traits .ic{color:var(--g1);filter:drop-shadow(0 0 4px var(--g1));font-size:.85rem}
.gdx .check{position:absolute;top:18px;right:22px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--g1);color:#1a0f3a;transform:scale(0);transition:transform .3s}
.gdx .gc.on .check{transform:scale(1)}
.gdx .note{margin-top:18px;color:var(--soft);font-size:.92rem}
@media(max-width:860px){.gdx .guides{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px 8% 20px;margin:16px -14px 18px;scrollbar-width:none}.gdx .gc{scroll-snap-align:center}}
.gdx .call{display:none;position:fixed;inset:0;z-index:5;padding:18px;gap:16px;grid-template-columns:1.25fr 1fr}
body.gd-calling .gdx .call{display:grid}
.gdx .gstage{position:relative;border-radius:30px;overflow:hidden;min-height:0;
 background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--c1) 40%,transparent),transparent 55%),radial-gradient(circle at 20% 90%,color-mix(in srgb,var(--c2) 50%,transparent),transparent 50%),linear-gradient(180deg,#1a1040,#07051a);
 border:1px solid color-mix(in srgb,var(--c1) 40%,transparent);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.gdx .gstage::before{content:"";position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 80% 70%,#fde68a,transparent),radial-gradient(1px 1px at 35% 80%,#fff,transparent),radial-gradient(1px 1px at 55% 50%,#c4b5fd,transparent),radial-gradient(1.2px 1.2px at 12% 60%,#fff,transparent);opacity:.8;animation:tw 4s ease-in-out infinite}
.gdx .bigav{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:88%;aspect-ratio:200/240;opacity:0;transition:opacity 1s,filter 1s;filter:blur(18px)}
.gdx .gstage.live .bigav{opacity:1;filter:none}
.gdx .topbar{position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;gap:10px;z-index:3}
.gdx .pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;background:rgba(5,4,15,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-weight:800;font-size:.9rem}
.gdx .pill .dot{width:8px;height:8px;border-radius:50%;background:#fb7185;box-shadow:0 0 10px #fb7185;animation:tw 1.4s infinite}
.gdx .pill .nm{font-family:"Cinzel Decorative",serif;font-size:1.05rem}
.gdx .signal{margin-left:auto;color:var(--soft)}
.gdx .signal .gbars{display:inline-flex;gap:2px;align-items:flex-end;height:12px;margin-right:4px}
.gdx .signal .gbars i{width:3px;background:#5eead4;border-radius:2px}
.gdx .pip{position:absolute;top:66px;right:16px;width:118px;height:150px;border-radius:20px;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
 background:linear-gradient(160deg,rgba(60,40,130,.9),rgba(20,14,50,.95));border:1.5px solid rgba(255,255,255,.25);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.gdx .pip .me{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-family:Cinzel,serif;font-weight:700;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,#fb923c,#e11d48);box-shadow:0 0 18px #e11d48}
.gdx .pip b{font-size:.85rem}
.gdx .pip small{font-size:.72rem;color:var(--soft);font-weight:700;letter-spacing:.06em}
.gdx .wave{position:absolute;left:50%;bottom:104px;transform:translateX(-50%);display:flex;gap:4px;align-items:center;height:26px;z-index:3;opacity:0;transition:opacity .3s}
.gdx .talking .wave{opacity:1}
.gdx .wave i{width:4px;border-radius:3px;background:linear-gradient(180deg,#fff,var(--c1));animation:wv .5s ease-in-out infinite alternate}
.gdx .wave i:nth-child(2){animation-delay:.1s}
.gdx .wave i:nth-child(3){animation-delay:.2s}
.gdx .wave i:nth-child(4){animation-delay:.15s}
.gdx .wave i:nth-child(5){animation-delay:.05s}
@keyframes wv{from{height:5px}to{height:24px}}
.gdx .controls{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:12px;z-index:3;padding:10px 14px;border-radius:99px;background:rgba(5,4,15,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.gdx .cb{all:unset;cursor:pointer;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:1.35rem;background:rgba(255,255,255,.14);transition:transform .2s,background .2s;position:relative}
.gdx .cb:hover{transform:scale(1.08);background:rgba(255,255,255,.24)}
.gdx .cb.end{background:#ef4444}
.gdx .cb.end:hover{background:#dc2626}
.gdx .cb .tipx{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:.8rem;font-weight:800;padding:6px 12px;border-radius:12px;background:rgba(5,4,15,.85);opacity:0;pointer-events:none;transition:opacity .2s}
.gdx .cb:hover .tipx,.gdx .cb.show .tipx{opacity:1}
.gdx .connecting{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--c2) 35%,transparent),rgba(5,4,15,.85) 70%);transition:opacity .6s}
.gdx .gstage.live .connecting{opacity:0;pointer-events:none}
.gdx .ringwrap{position:relative;width:150px;height:150px}
.gdx .ringwrap .r{position:absolute;inset:0;border-radius:50%;border:2px solid var(--c1);animation:ring 2s ease-out infinite;opacity:0}
.gdx .ringwrap .r:nth-child(2){animation-delay:.66s}
.gdx .ringwrap .r:nth-child(3){animation-delay:1.33s}
@keyframes ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.8);opacity:0}}
.gdx .ringwrap .fc{position:absolute;inset:10px;border-radius:50%;overflow:hidden;border:2px solid var(--c1);background:rgba(14,10,36,.9);box-shadow:0 0 30px var(--c1)}
.gdx .ringwrap .fc .avsvg{animation:none}
.gdx .ctxt{font-family:"Cinzel Decorative",serif;font-size:1.6rem}
.gdx .cstep{color:var(--soft);font-weight:700;font-size:1.05rem;min-height:1.6em}
.gdx .cdots{display:flex;gap:8px}
.gdx .cdots .ic{color:var(--c1);animation:tw2 1.2s infinite}
.gdx .cdots .ic:nth-child(2){animation-delay:.2s}
.gdx .cdots .ic:nth-child(3){animation-delay:.4s}
@keyframes tw2{50%{opacity:.2;transform:scale(.6)}}
.gdx .panel{display:flex;flex-direction:column;min-height:0;border-radius:30px;background:rgba(20,14,50,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid color-mix(in srgb,var(--c1) 35%,transparent);overflow:hidden}
.gdx .gph{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}
.gdx .gph b{font-family:Cinzel,serif;font-size:1.1rem}
.gdx .gph span{margin-left:auto;font-size:.85rem;color:var(--soft);font-weight:700}
.gdx .feed{flex:1;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}
.gdx .whisper{padding:16px 18px;border-radius:22px;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--c2) 40%,transparent),color-mix(in srgb,var(--c1) 22%,transparent));border:1px solid color-mix(in srgb,var(--gold) 45%,transparent)}
.gdx .whisper .wt{display:inline-flex;gap:8px;align-items:center;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--gold)}
.gdx .whisper p{font-size:1.06rem;font-weight:700;margin-top:6px;line-height:1.5}
.gdx .m{display:flex;gap:10px;align-items:flex-end;animation:rise .45s ease both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}}
.gdx .m .mini{width:36px;height:36px;border-radius:50%;overflow:hidden;flex:none;border:1.5px solid var(--c1);background:rgba(14,10,36,.9)}
.gdx .m .mini .avsvg{animation:none}
.gdx .bub{max-width:84%;padding:13px 17px;font-size:1.06rem;line-height:1.55;border-radius:22px 22px 22px 7px;background:rgba(48,36,104,.9);border:1px solid color-mix(in srgb,var(--c1) 35%,transparent)}
.gdx .m.mine{flex-direction:row-reverse}
.gdx .m.mine .bub{border-radius:22px 22px 7px 22px;background:linear-gradient(135deg,#f6d38b,#fbcfe8);color:#2a1660;font-weight:700;border:none}
.gdx .skynote{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:.86rem;font-weight:800;color:var(--gold);padding:5px 12px;border-radius:99px;background:rgba(246,211,139,.1);border:1px solid rgba(246,211,139,.3)}
.gdx .typing .ic{color:var(--c1);animation:tw2 1.2s infinite;margin-right:4px}
.gdx .typing .ic:nth-child(2){animation-delay:.2s}
.gdx .typing .ic:nth-child(3){animation-delay:.4s}
.gdx .tc{display:flex;gap:14px;align-items:center;margin:10px 0 4px}
.gdx .gtcard{width:84px;height:136px;flex:none;border-radius:12px;border:2px solid var(--gold);background:radial-gradient(circle at 50% 40%,#fff8ee,#f5d9ff 55%,#c7f7ee);color:#2a1660;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:9px 5px;animation:flip .8s ease both;box-shadow:0 0 24px rgba(246,211,139,.5)}
.gdx .gtcard .s{font-size:2rem;color:#8b5cf6}
.gdx .gtcard .n{font-family:Cinzel,serif;font-weight:700;font-size:.72rem;text-align:center;line-height:1.15}
.gdx .gtcard .k{font-family:Cinzel,serif;font-weight:700;font-size:.9rem}
@keyframes flip{from{transform:rotateY(90deg)}}
.gdx .gchips{display:flex;gap:8px;overflow-x:auto;padding:4px 18px 10px;scrollbar-width:none}
.gdx .gchip{all:unset;flex:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.96rem;padding:10px 16px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid color-mix(in srgb,var(--c1) 45%,transparent);transition:transform .2s,background .2s}
.gdx .gchip .ic{color:var(--c1)}
.gdx .gchip:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--c2) 40%,transparent)}
.gdx .ask{display:flex;gap:10px;margin:0 14px 14px;padding:7px;border-radius:99px;background:rgba(5,4,15,.55);border:1px solid color-mix(in srgb,var(--c1) 40%,transparent)}
.gdx .ask input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font:600 1.05rem Nunito;padding:10px 14px}
.gdx .ask button{all:unset;cursor:pointer;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;color:#fff;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 0 20px color-mix(in srgb,var(--c1) 60%,transparent)}
.gdx .waitline{margin:auto;text-align:center;color:var(--soft);font-weight:700;display:flex;gap:8px;align-items:center}
.gdx .waitline .ic{color:var(--c1)}
.gdx .ended{position:fixed;left:50%;top:24px;transform:translateX(-50%);z-index:60;padding:12px 22px;border-radius:99px;background:rgba(5,4,15,.85);border:1px solid var(--line);font-weight:800;display:none}
@media(max-width:860px){.gdx .call{grid-template-columns:1fr;grid-template-rows:47% 1fr;padding:0;gap:0}.gdx .gstage{border-radius:0 0 30px 30px;border-top:none}.gdx .bigav{height:92%}.gdx .topbar{top:calc(12px + env(safe-area-inset-top));left:12px;right:12px}.gdx .signal{display:none}.gdx .pip{top:calc(58px + env(safe-area-inset-top));right:12px;width:84px;height:108px;border-radius:18px}.gdx .pip small{display:none}.gdx .pip .me{width:42px;height:42px;font-size:1.2rem}.gdx .controls{bottom:14px;gap:10px;padding:8px 10px}.gdx .cb{width:48px;height:48px;font-size:1.2rem}.gdx .wave{bottom:84px}.gdx .panel{border-radius:0;border:none;background:rgba(10,7,28,.92)}.gdx .gph{display:none}.gdx .bub{font-size:1.02rem}.gdx .ask{margin-bottom:calc(12px + env(safe-area-inset-bottom))}}
/* instant-message bubbles: one sender's messages stack as a group, the face shows only on the last one */
.gdx .m.cont{margin-bottom:-6px}
.gdx .m.cont .mini{visibility:hidden}
.gdx .m:not(.mine) .bub{padding:10px 15px;font-size:1.04rem;line-height:1.45;width:fit-content}
.gdx .m.cont:not(.mine) .bub{border-radius:22px 22px 22px 10px}
.gdx .bub.cardbub{background:none;border:none;padding:0}
