/* 108 Pranayama · Mitra, the little sun on every page */
.mitra108,.mitra108 *{box-sizing:border-box}
.mitra108{--m-saffron:#D9731F;--m-deep:#B4501A;--m-ink:#2A2320;--m-muted:#6E625A;--m-line:#E9DCCB;--m-cream:#FFF8EF;--m-teal:#1E7F80;
  font-family:"Mukta",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--m-ink);font-size:16px;line-height:1.45}

/* the floating sun */
.mitra108-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:99990;
  width:72px;height:72px;border-radius:50%;border:0;padding:0;cursor:pointer;background:radial-gradient(circle at 50% 45%,#FFF4D6,#FFE2A8 70%);
  box-shadow:0 8px 24px -8px rgba(150,70,10,.55),0 0 0 3px #fff;display:grid;place-items:center;transition:transform .2s}
.mitra108-fab:hover{transform:scale(1.06)}
.mitra108-fab svg{width:66px;height:66px;overflow:visible}
.mitra108-fab:focus-visible,.mitra108 button:focus-visible,.mitra108 input:focus-visible{outline:3px solid var(--m-teal);outline-offset:2px}
.mitra108-tip{position:fixed;right:96px;bottom:34px;z-index:99990;background:#fff;color:var(--m-ink);border:1px solid var(--m-line);border-radius:14px 14px 4px 14px;
  padding:7px 12px;font-weight:600;font-size:15px;box-shadow:0 6px 18px -10px rgba(0,0,0,.35);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap}
.mitra108-tip.show{opacity:1;transform:none}
.mitra108.open .mitra108-fab,.mitra108.open .mitra108-tip{display:none}

/* the panel */
.mitra108-panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:99991;width:380px;max-width:calc(100vw - 32px);
  height:min(720px,calc(100vh - 32px));background:var(--m-cream);border:1px solid var(--m-line);border-radius:22px;box-shadow:0 24px 60px -20px rgba(70,30,0,.45);
  display:none;flex-direction:column;overflow:hidden}
.mitra108.open .mitra108-panel{display:flex}
.mitra108-head{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 16px;background:linear-gradient(#E9742A,#D9611C);color:#fff}
.mitra108-head h2{margin:0;font:400 21px/1.1 "Yatra One","Mukta",Georgia,serif;flex:1;color:#fff}
.mitra108-head h2 small{display:block;font:600 12px/1.2 "Mukta",system-ui,sans-serif;opacity:.92;letter-spacing:.03em}
.mitra108-ic{width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;font:700 13px/1 "Mukta",sans-serif}
.mitra108-ic:hover{background:rgba(255,255,255,.3)}
.mitra108-ic svg{width:20px;height:20px}
.mitra108-stage{display:grid;justify-items:center;gap:2px;padding:10px 16px 6px;border-bottom:1px solid var(--m-line);background:radial-gradient(ellipse at 50% 40%,#FFF1D3,var(--m-cream) 70%)}
.mitra108-stage svg{width:112px;height:112px;overflow:visible}
.mitra108.chat .mitra108-stage{grid-template-columns:auto 1fr;justify-items:start;align-items:center;column-gap:10px;padding:6px 14px}
.mitra108.chat .mitra108-stage svg{width:58px;height:58px;grid-row:span 3}
.mitra108.chat .mitra108-status,.mitra108.chat .mitra108-heard{text-align:left}
.mitra108.chat .mitra108-hf{margin-top:2px}
.mitra108-status{min-height:22px;font-size:15px;color:var(--m-muted);text-align:center}
.mitra108-heard{min-height:20px;font-size:15px;color:var(--m-ink);font-style:italic;text-align:center;max-width:100%}
.mitra108-hf{margin-top:4px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--m-line);background:#fff;color:var(--m-muted);border-radius:999px;padding:5px 12px 6px;font:inherit;font-size:13.5px;cursor:pointer;max-width:100%}
.mitra108-hf i{width:10px;height:10px;border-radius:50%;background:#C9BFB4;flex:none}
.mitra108-hf.on{border-color:#1E7F80;color:#155E5F;background:#EAF6F6;font-weight:600}
.mitra108-hf.on i{background:#1E9E62;box-shadow:0 0 0 0 rgba(30,158,98,.5);animation:mitra108hf 1.8s ease-out infinite}
.mitra108-hf[hidden]{display:none}
.mitra108.hf .mitra108-fab::after{content:"";position:absolute;right:4px;top:4px;width:14px;height:14px;border-radius:50%;background:#1E9E62;border:2px solid #fff;animation:mitra108hf 1.8s ease-out infinite}
.mitra108-fab{position:fixed}
.mitra108-msg .hf-yes{border:0;cursor:pointer;font:inherit}
.mitra108-msg .hf-no{margin-top:8px}
@keyframes mitra108hf{0%{box-shadow:0 0 0 0 rgba(30,158,98,.5)}100%{box-shadow:0 0 0 8px rgba(30,158,98,0)}}
.mitra108-log{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.mitra108-msg{max-width:88%;padding:9px 13px;border-radius:16px;font-size:15.5px;white-space:pre-wrap;word-wrap:break-word}
.mitra108-msg.me{align-self:flex-end;background:#1E7F80;color:#fff;border-bottom-right-radius:4px}
.mitra108-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--m-line);border-bottom-left-radius:4px}
.mitra108-msg .more{margin-top:6px;padding-top:6px;border-top:1px dashed var(--m-line);color:#4A3F38;font-size:14.5px}
.mitra108-msg .go{display:inline-flex;margin-top:8px;align-items:center;gap:6px;background:var(--m-saffron);color:#fff;border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;text-decoration:none}
.mitra108-msg .go:hover{background:var(--m-deep);color:#fff}
.mitra108-msg.err{background:#FDECEA;border-color:#F5C2BC;color:#8A1C12}
.mitra108-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}
.mitra108-chip{border:1px solid var(--m-line);background:#fff;color:var(--m-ink);border-radius:999px;padding:6px 11px;font:inherit;font-size:14px;cursor:pointer}
.mitra108-chip:hover{border-color:var(--m-saffron)}
.mitra108-foot{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--m-line);background:#fff}
.mitra108-foot input{flex:1;min-width:0;border:1px solid var(--m-line);border-radius:999px;padding:10px 14px;font:inherit;font-size:15.5px;background:var(--m-cream);color:var(--m-ink)}
.mitra108-send{width:42px;height:42px;border-radius:50%;border:0;background:var(--m-teal);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.mitra108-send svg{width:20px;height:20px}
.mitra108-mic{width:54px;height:54px;border-radius:50%;border:0;background:var(--m-saffron);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;flex:none;box-shadow:0 6px 14px -6px rgba(180,80,26,.7)}
.mitra108-mic svg{width:26px;height:26px}
.mitra108-mic.on{background:#C62828;animation:mitra108pulse 1.1s ease-in-out infinite}
.mitra108-mic[hidden]{display:none}
.mitra108-fine{margin:0;padding:6px 14px 9px;font-size:11.5px;color:var(--m-muted);background:#fff;text-align:center}
.mitra108-fine a{color:var(--m-muted)}
@keyframes mitra108pulse{0%,100%{box-shadow:0 0 0 0 rgba(198,40,40,.45)}50%{box-shadow:0 0 0 10px rgba(198,40,40,0)}}

/* the sun's moods */
.msun .rays{transform-origin:0 0;animation:msun-spin 60s linear infinite}
.msun .face{transform-origin:0 0;animation:msun-bob 4s ease-in-out infinite}
.msun .eyes{transform-box:fill-box;transform-origin:center;animation:msun-blink 5s infinite}
.msun .pupils{transition:transform .3s}
.msun .open{opacity:0}
.msun .ring,.msun .dots{opacity:0}
.msun.listening .ring{opacity:1;animation:msun-ring 1.2s ease-out infinite;transform-origin:0 0}
.msun.listening .rays{animation:msun-spin 60s linear infinite,msun-glow 1.2s ease-in-out infinite}
.msun.thinking .rays{animation:msun-spin 6s linear infinite}
.msun.thinking .pupils{transform:translate(2px,-3px)}
.msun.thinking .dots{opacity:1}
.msun.thinking .dots circle{animation:msun-dot 1s ease-in-out infinite}
.msun.thinking .dots circle:nth-child(2){animation-delay:.15s}
.msun.thinking .dots circle:nth-child(3){animation-delay:.3s}
.msun.speaking .smile{opacity:0}
.msun.speaking .open{opacity:1;transform-box:fill-box;transform-origin:center top;animation:msun-talk .26s ease-in-out infinite alternate}
.msun.speaking .rays{animation:msun-spin 30s linear infinite}
@keyframes msun-spin{to{transform:rotate(360deg)}}
@keyframes msun-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes msun-blink{0%,93%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes msun-ring{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@keyframes msun-glow{0%,100%{filter:none}50%{filter:brightness(1.12)}}
@keyframes msun-dot{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}
@keyframes msun-talk{from{transform:scaleY(.35)}to{transform:scaleY(1)}}

@media (max-width:520px){
  .mitra108-panel{right:0;left:0;bottom:0;width:100%;max-width:none;height:88vh;border-radius:22px 22px 0 0;border-bottom:0}
  .mitra108-fab{width:62px;height:62px}.mitra108-fab svg{width:56px;height:56px}
  .mitra108-tip{right:86px;bottom:30px}
}
@media (prefers-reduced-motion:reduce){
  .msun *,.mitra108-mic.on,.mitra108-hf i,.mitra108.hf .mitra108-fab::after{animation:none!important}
  .msun.speaking .open{transform:scaleY(.7)}
}
@media print{.mitra108{display:none}}
