/* The sign-in scene continues the cosmic landing page. */
#gate.cosmic-gate{background:radial-gradient(ellipse at 20% 45%,#1c294344,transparent 65%),#080d18;color:#f4f0e8}
.gate-galaxy{position:fixed;inset:0;width:100%;height:100%;opacity:.65;pointer-events:none}#gate.cosmic-gate #mandala{opacity:.05}
#gate.cosmic-gate .gate-in{column-gap:70px;position:relative}
#gate.cosmic-gate .welcome-story{padding:0}
#gate.cosmic-gate .gname{color:#f4f0e8;font-size:2.6rem}#gate.cosmic-gate .gname small{-webkit-text-fill-color:#abb5c7}
#gate.cosmic-gate .welcome-story>.gnote{color:#bbaa8c}#gate.cosmic-gate .welcome-story>.welcome-eyebrow{color:#d8bd85}
#gate.cosmic-gate .welcome-story>.om{display:none}#gate.cosmic-gate .welcome-caption{display:none}#gate.cosmic-gate .welcome-features{color:#9ba8b9;margin-top:20px}
#gate.cosmic-gate .gcard{background:linear-gradient(145deg,#222a3aea,#111a2bea);border-color:#c6a46b55;box-shadow:0 30px 90px #0005;backdrop-filter:blur(24px)}
#gate.cosmic-gate .langs{background:#ffffff05;border-color:#d8bd8525}#gate.cosmic-gate .langs button{color:#aeb8c8}#gate.cosmic-gate .langs button[aria-pressed="true"]{color:#e4cca3;background:#d8bd8514}
#gate.cosmic-gate .gate-in>p.gnote{color:#96a2b5}
.devotional-earth{position:relative;width:min(100%,410px);aspect-ratio:1;margin:0 auto 6px;isolation:isolate}
.devotional-globe{width:100%;height:100%;display:block;position:relative;z-index:1}
.devotional-halo{position:absolute;inset:1%;border-radius:50%;box-shadow:0 0 25px #77b8e02b,0 0 95px #365b8b35}
.devotional-couple{position:absolute;left:43%;top:-13%;width:14%;height:18%;z-index:2;filter:drop-shadow(0 0 6px #d5b16c55)}.devotional-couple svg{width:100%;height:100%;overflow:visible}
.krishna-dance{transform-origin:60px 81px;animation:krishna-step 5s ease-in-out infinite}.radha-dance{transform-origin:35px 83px;animation:radha-step 5s ease-in-out infinite}.radha-veil{transform-origin:35px 30px;animation:veil-flow 5s ease-in-out infinite}
@keyframes krishna-step{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-2px)}}@keyframes radha-step{0%,100%{transform:rotate(4deg) translateX(-1px)}50%{transform:rotate(-4deg) translateX(2px)}}@keyframes veil-flow{50%{transform:skewX(5deg)}}
.radhe-greeting{font:italic 1.2rem/1.5 Georgia,serif;color:#e5c795;margin:10px 0 22px;text-align:center}.radhe-greeting small{display:flex;justify-content:center;gap:16px;font:400 .9rem/1.7 var(--f-body);margin-top:7px;color:#b7a887}.radhe-greeting i{font-style:normal;opacity:.5}
.arrival-controls{position:absolute;left:36px;top:38px;display:flex;gap:8px;flex-wrap:wrap;max-width:60%;z-index:3}.arrival-controls button{border:1px solid #d8bd8530;border-radius:999px;background:#121c2cbb;color:#cdbd9e;padding:8px 12px;font-size:.7rem;cursor:pointer;min-height:36px}.arrival-controls button[aria-pressed="true"]{background:#d8bd8520;color:#f0ddb8}
#gate.arrival-zoom .devotional-earth{animation:devotional-arrival 1.8s cubic-bezier(.16,1,.3,1) both;transform-origin:50% 5%}
#gate.arrival-zoom .gcard{animation:signin-arrival 1.2s .15s both}
@keyframes devotional-arrival{from{transform:scale(.96);opacity:.65}to{transform:scale(1);opacity:1}}@keyframes signin-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#gate.arrival-soft .gcard{animation:signin-fade .25s both}@keyframes signin-fade{from{opacity:0}to{opacity:1}}
#gate.still .devotional-couple *,#gate.still .devotional-earth,#gate.still .gcard{animation:none!important}
.devotional-earth.globe-fallback{border-radius:50%;background:radial-gradient(circle at 30% 25%,#638fa3,#112541 65%)}
@media(max-width:760px){#gate.cosmic-gate .gate-in{gap:24px;padding-top:16px}.arrival-controls{position:relative;left:auto;top:auto;max-width:100%;order:-1;align-self:center;justify-content:center}.arrival-controls button{font-size:.65rem;padding:7px 10px}.devotional-earth{width:240px;margin-top:25px}.radhe-greeting{margin:6px 0 14px;font-size:1rem}#gate.cosmic-gate .gname{font-size:2.15rem}#gate.cosmic-gate .langs{align-self:center}#gate.cosmic-gate .gcard{width:100%}}
@media(prefers-reduced-motion:reduce){.devotional-couple *,#gate.arrival-zoom .devotional-earth,#gate.arrival-zoom .gcard{animation:none!important}}

/* Quiet, precise details keep the scene and sign-in legible in motion. */
#gate.cosmic-gate .gcard{background:linear-gradient(145deg,#202a3b,#101827);border-color:#c6a46b70;backdrop-filter:none;box-shadow:0 28px 80px #0006,inset 0 1px 0 #f4deaf16}
#gate.cosmic-gate .gcard::after{border-color:#d8b77b22}
#gate.cosmic-gate .auth-heading p{color:#bdc6d4;line-height:1.65}
#gate.cosmic-gate .sso{box-shadow:0 2px 4px #0003,inset 0 1px 0 #ffffff12;font-weight:600}
#gate.cosmic-gate .sso.google{background:#151e2d;border-color:#8893a4;color:#f5f3ee}
#gate.cosmic-gate .sso.google:hover{background:#233148;border-color:#c3b18d}
#gate.cosmic-gate .sso.apple{background:linear-gradient(#fff,#eeede8);border-color:#fff}
#gate.cosmic-gate :is(button,a,input,summary):focus-visible{outline:2px solid #ead09b;outline-offset:4px}
#gate.cosmic-gate .radhe-greeting small{color:#d1bf9d}
#gate.cosmic-gate .welcome-features{color:#bdc6d4;letter-spacing:.05em}
.devotional-halo{box-shadow:0 0 14px #77b8e025,0 0 65px #365b8b25}
.devotional-couple{filter:drop-shadow(0 0 3px #d5b16c40)}

/* Enter through the devotional scene, then reveal the already-loaded app. */
#gate.devotional-entry{animation:devotional-reveal 6s both;pointer-events:none}
#gate.devotional-entry .devotional-earth{animation:none!important;transform:none!important;z-index:5}
#gate.devotional-entry .welcome-story>:not(.devotional-earth),#gate.devotional-entry .arrival-controls,#gate.devotional-entry .gate-in>p{opacity:0;transition:opacity .6s}
#gate.devotional-entry .devotional-couple{filter:none}
#gate.devotional-entry-soft{animation:signin-fade .25s reverse both;pointer-events:none}
@keyframes flute-pan{0%{transform:translate(0,0) scale(1)}65%,100%{transform:translate(var(--pan-x),var(--pan-y)) scale(2.4)}}
@keyframes devotional-reveal{0%,86%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#gate.devotional-entry .devotional-earth{animation:none}#gate.devotional-entry{animation:signin-fade .25s reverse both}}

.devotional-couple{left:38%;top:-21%;width:24%;height:24%;filter:none;transform-origin:50% 100%}
.devotional-couple img{display:block;width:100%;height:100%;object-fit:contain;animation:devotional-breathe 6s ease-in-out infinite;transform-origin:50% 95%}
@keyframes devotional-breathe{0%,100%{transform:rotate(-.7deg)}50%{transform:rotate(.7deg) translateY(-1px)}}
#gate.devotional-entry .devotional-couple{animation:none!important;transform:none!important}
@keyframes couple-closeup{0%{transform:scale(1)}65%,100%{transform:scale(1.5)}}
.app-flute{position:fixed;right:18px;bottom:calc(90px + env(safe-area-inset-bottom,0px));z-index:150;border:1px solid #c9b48466;border-radius:30px;background:#142034;color:#f4dfb7;padding:11px 16px;font:500 12px system-ui;box-shadow:0 4px 20px #0003;cursor:pointer}
.app-flute[hidden]{display:none}.app-flute:focus-visible{outline:2px solid #e8c98a;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.devotional-couple img,#gate.devotional-entry .devotional-couple{animation:none!important}}

#gate.cosmic-gate .soundpick .sounds,#gate.cosmic-gate .soundpick #customWords{display:none}

/* Dedicated Full-HD artwork surface stays crisp during the camera move. */
.devotional-couple img,.radha-krishna img{display:block;width:100%;height:100%;object-fit:contain;animation:none!important}
.devotional-detail{display:block;position:absolute;inset:0;width:100%;height:100%;filter:none;animation:none!important}
.devotional-source{visibility:hidden}.radha-krishna{animation:none!important}

.abhi-welcome{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid #dbc59926;text-align:left}
.abhi-welcome-label{font:500 9px/1.5 system-ui;letter-spacing:.12em;color:#d4bb87}
.abhi-welcome p{font:400 16px/1.55 Georgia,serif;color:#f1e8d6;margin:6px 0 0}

.abhi-welcome{gap:12px;padding-bottom:14px}.abhi-welcome p{font-size:15px}
.abhi-celestial{position:relative;display:block;width:44px;height:44px;flex-shrink:0;border-radius:50%;box-shadow:0 0 14px #7196bb15}
.abhi-celestial canvas{display:block;width:100%;height:100%;border-radius:50%}
#abhiOrb{width:64px;height:64px;background:transparent;box-shadow:none;isolation:isolate}
#abhiOrb canvas{display:block;width:58px;height:58px;border-radius:50%}
#abhiOrb::after{inset:-3px;border:1px solid #87abc83b;animation:none}
#abhiOrb.think::after{border-color:#d9bc82;box-shadow:0 0 14px #d9bc8230}
#abhiOrb.listen::after{border:2px solid #96c8de;animation:none}
#abhiOrb.talk::after{border-color:#c8d9b1}
#abhiOrb:focus-visible{outline:2px solid #d8bd85;outline-offset:6px}
.abhi-celestial.orb-fallback,#abhiOrb.orb-fallback{background:radial-gradient(circle at 30% 30%,#86adc2,#1a4158 55%,#080f20 80%)}

/* Abhi is the first stop inside the app. */
nav.tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
#v-home #abhiCard{padding:24px}
#v-home .abhihead{align-items:center;gap:20px}
#v-home #abhiOrb{width:88px;height:88px;flex-shrink:0}
#v-home #abhiOrb canvas{width:82px;height:82px}
#v-home #abhiTalk{min-height:44px;margin-top:12px}
#v-home #abhiAsk{font-size:16px}
#v-home #abhiStarters .chip{min-height:44px;white-space:normal;text-align:left}
@media(max-width:480px){#v-home #abhiCard{padding:18px}nav.tabs button{font-size:12px;min-width:0}#v-home .abhihead{gap:14px}}

/* A bounded, quiet conversation rather than a growing page of cards. */
body.abhi-home{height:100dvh;overflow:hidden}
body.abhi-home>header,body.abhi-home>nav{flex-shrink:0}
body.abhi-home main{min-height:0;overflow:hidden;padding-block:12px}
body.abhi-home main>.wrap,#v-home,#v-home>.wrap{height:100%;min-height:0}
body.abhi-home main>.wrap>.foot,body.abhi-home main>.wrap>.srcnote{display:none}
#v-home #abhiCard{height:100%;min-height:0;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:12px;padding:20px;background:#171d2b;border:1px solid #b6c4d31c;box-shadow:none;border-radius:20px;animation:none}
#v-home .abhihead{grid-column:1;gap:14px;min-width:0}
#v-home .abhihead b{font-size:24px;color:#eee8dd}
#v-home #abhiState{display:block;font-size:14px;line-height:1.45;max-height:62px;overflow:auto}
#v-home #abhiOrb{width:62px;height:62px}#v-home #abhiOrb canvas{width:58px;height:58px}
#v-home #abhiTalk{grid-column:2;grid-row:1;align-self:center;margin:0;padding:8px 12px;font-size:13px;max-width:112px;background:#222d3c;border-color:#b6c4d32b}
#v-home #abhiChat{display:flex;grid-column:1/-1;grid-row:2;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 2px;scrollbar-width:thin}
#v-home #abhiChat:empty::before{content:"A quiet space to talk.\A What’s on your mind?";white-space:pre-line;margin:auto;text-align:center;color:#aab5c4;font:400 20px/1.8 Georgia,serif}
#v-home #abhiStarters{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:6px}
#v-home #abhiStarters[hidden]{display:none}
#v-home #abhiStarters .chip{font-size:13px;min-height:40px;padding:8px 10px;border-radius:10px;background:transparent;box-shadow:none;border-color:#b6c4d322}
#v-home .compose{grid-column:1/-1;grid-row:4;align-items:center}
#v-home #abhiAsk{resize:none;min-height:48px;max-height:96px;line-height:1.5;padding:12px;border-radius:14px;background:#101623}
#v-home #abhiGo{min-height:48px;padding:10px 18px;border-radius:14px}
#v-home #abhiCard>.row:last-child{grid-column:1/-1;grid-row:5;min-height:0}
#v-home #abhiStatus:empty{display:none}
#v-home .msg{flex-shrink:0;max-width:92%;font-size:16px;line-height:1.65;box-shadow:none}
#v-home .msg.me{background:#2b3b4e;color:#f1f0ea}
#v-home .msg.guru{background:transparent;border-color:transparent;padding-left:4px}
@media(max-width:480px){#v-home #abhiCard{padding:14px;gap:10px}#v-home .abhihead{gap:10px}#v-home #abhiTalk{max-width:88px}#v-home #abhiOrb{width:54px;height:54px}#v-home #abhiOrb canvas{width:50px;height:50px}}
@media(max-height:600px){#v-home #abhiStarters{display:none}#v-home #abhiCard{padding:10px;gap:6px}#v-home #abhiState{max-height:40px}#v-home #abhiChat:empty::before{font-size:16px}}

/* A quiet signature: the name reveals; OM and maker remain steady. */
.title-reveal{animation:akshara-name-reveal 3.2s cubic-bezier(.22,.61,.36,1) both;animation-delay:.25s}
@keyframes akshara-name-reveal{from{clip-path:inset(0 100% 0 0);opacity:.3}to{clip-path:inset(0 0 0 0);opacity:1}}
.mindcoda-corner{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));z-index:5;display:block;width:48px;height:48px}
.mindcoda-corner img,.mindcoda-header img{display:block;object-fit:contain;width:100%;height:100%}
.mindcoda-header{display:block;width:34px;height:34px;flex:0 0 34px}
@media(max-width:420px){.hrow{gap:7px}.hrow .brand b{font-size:16px}.mindcoda-header{width:28px;height:28px;flex-basis:28px}.mindcoda-corner{width:36px;height:36px;top:10px;left:10px}}
@media(prefers-reduced-motion:reduce){.title-reveal{animation:none;clip-path:none;opacity:1}}

/* Reserve conversational controls so live captions never shift the page. */
#v-home #abhiCard{grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:88px minmax(0,1fr) auto auto auto}
#v-home #abhiState{height:42px;max-height:42px;overflow:auto;overscroll-behavior:contain}
#v-home #abhiTalk{width:112px;min-height:54px;box-sizing:border-box}
#v-home #abhiChat{scrollbar-gutter:stable;overflow-anchor:none}
#v-home #abhiOrb{contain:layout paint;overflow:visible}
#v-home #abhiOrb::after{transition:border-color .65s ease,box-shadow .65s ease}
#v-home #abhiCard>.row:last-child{height:24px;overflow:auto;overscroll-behavior:contain}
@media(max-width:480px){#v-home #abhiCard{grid-template-columns:minmax(0,1fr) 88px}#v-home #abhiTalk{width:88px}}
@media(max-height:600px){#v-home #abhiCard{grid-template-rows:68px minmax(0,1fr) auto auto auto}#v-home #abhiState{height:40px}}
@media(prefers-reduced-motion:reduce){#v-home #abhiOrb::after{transition:none}}
