/* Saathi companions (Vedant/Daksh/Shruti/Sampada) – compact (v2.2.0). Hand mark with the name below; opens into a panel of at most 320px.
   Colours follow the site's theme variables where they exist. */
.pfc{--pfc-a:#0f766e;--pfc-b:#1d4ed8;--pfc-ink:#0f172a;--pfc-bg:var(--pfe-card,#fff);--pfc-fg:var(--pfe-text,#1f2937);--pfc-mut:var(--pfe-muted,#64748b);position:fixed;left:auto;top:auto;right:16px;bottom:24px;z-index:99990;font:inherit;font-size:14px;line-height:1.4;color:var(--pfc-fg);-webkit-tap-highlight-color:transparent}
.pfc.pfc-vedant{--pfc-a:#0f766e;--pfc-b:#1d4ed8}
.pfc.pfc-daksh{--pfc-a:#0369a1;--pfc-b:#4f46e5}
.pfc.pfc-shruti{--pfc-a:#be185d;--pfc-b:#7c3aed}
.pfc.pfc-sampada{--pfc-a:#9d174d;--pfc-b:#6d28d9}
.pfc.pfc-vedika{--pfc-a:#be185d;--pfc-b:#7c3aed} /* legacy alias */
.pfc *{box-sizing:border-box}
.pfc[style*="top"]{right:auto;bottom:auto}
/* v2.2: the folded state is a round mark with two open palms and the helper's name BELOW it; a tap folds the palms into the Namaskar mudra */
.pfc-pill{display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:2px;border:0;background:transparent;cursor:pointer;color:var(--pfc-fg);font:inherit;font-weight:700;font-size:13px;touch-action:none;user-select:none;-webkit-user-select:none;white-space:nowrap;transition:transform .25s ease,opacity .3s}
.pfc-pill:hover{transform:translateY(-1px)}
.pfc-pill:focus-visible,.pfc button:focus-visible,.pfc input:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.pfc-ic{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.18)}
.pfc-pill .pfc-ic{width:58px;height:58px;color:#fff;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.28),transparent 60%),linear-gradient(135deg,var(--pfc-a),var(--pfc-b));box-shadow:0 8px 20px -8px rgba(15,23,42,.55),inset 0 0 0 2px rgba(255,255,255,.25);transition:box-shadow .6s ease,transform .6s ease}
/* Namaskar / Anjali mudra: the palms fold together, a soft light above */
.pfc-namaste .pfc-pill .pfc-ic{box-shadow:0 0 0 6px rgba(253,230,138,.18),0 0 22px 6px rgba(253,230,138,.45),inset 0 0 0 2px rgba(255,255,255,.35);animation:pfc-bow 1.4s ease-in-out .5s 1}
.pfc-pl{display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;padding:1px 10px;border-radius:999px;background:var(--pfc-bg);color:var(--pfc-a);box-shadow:0 2px 8px -3px rgba(15,23,42,.35);font-size:13px;line-height:1.5;letter-spacing:.2px}
.pfc-live{position:absolute;right:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #fff;opacity:0}
.pfc-listen .pfc-live{opacity:.95;animation:pfc-pulse 1.6s ease-in-out infinite}
.pfc-talking .pfc-pill .pfc-ic{animation:pfc-breathe 2.4s ease-in-out infinite}
/* quiet while the website plays: smaller and softer, nothing moves */
.pfc-busy .pfc-pill{opacity:.72}
.pfc-busy .pfc-pill .pfc-ic{width:46px;height:46px}
.pfc-busy .pfc-live{animation:none}
.pfc-drag .pfc-pill{cursor:grabbing;transform:scale(1.04)}
.pfc-tip{position:absolute;bottom:calc(100% + 8px);right:0;width:max-content;max-width:min(280px,80vw);padding:8px 12px;border-radius:12px;background:var(--pfc-ink);color:#fff;font-size:13px;font-weight:500;box-shadow:0 8px 20px -8px rgba(0,0,0,.4);animation:pfc-in .35s ease-out}
.pfc-left .pfc-tip{right:auto;left:0}.pfc-upper .pfc-tip{bottom:auto;top:calc(100% + 8px)}
/* the panel */
.pfc-panel{position:absolute;bottom:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 24px));max-height:min(480px,calc(100vh - 96px));display:flex;flex-direction:column;background:var(--pfc-bg);color:var(--pfc-fg);border-radius:18px;box-shadow:0 18px 40px -12px rgba(15,23,42,.45);border:1px solid rgba(100,116,139,.18);overflow:hidden;animation:pfc-in .22s ease-out}
.pfc-left .pfc-panel{right:auto;left:0}.pfc-upper .pfc-panel{bottom:auto;top:calc(100% + 8px)}
.pfc-panel[hidden]{display:none}
.pfc-hd{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 10px;color:#fff;background:linear-gradient(135deg,var(--pfc-a),var(--pfc-b))}
.pfc-hd .pfc-ic{width:28px;height:28px}
.pfc-nm{flex:1;font-size:15px}
.pfc-hd button{border:0;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font:inherit;font-size:12px;padding:5px 9px;cursor:pointer;min-height:28px}
.pfc-x{width:30px;font-size:16px!important;line-height:1}
.pfc-log{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px;min-height:60px;max-height:200px;overscroll-behavior:contain}
.pfc-m{max-width:88%;padding:7px 10px;border-radius:14px;font-size:14px;word-wrap:break-word}
.pfc-m.pfc-me{align-self:flex-start;background:rgba(15,118,110,.09);border-bottom-left-radius:4px}
.pfc-vedika .pfc-m.pfc-me,.pfc-shruti .pfc-m.pfc-me,.pfc-sampada .pfc-m.pfc-me{background:rgba(190,24,93,.08)}
.pfc-daksh .pfc-m.pfc-me{background:rgba(3,105,161,.09)}
.pfc-m.pfc-you{align-self:flex-end;background:rgba(100,116,139,.13);border-bottom-right-radius:4px}
.pfc-heard{min-height:0;padding:0 10px;color:var(--pfc-mut);font-size:12px;font-style:italic}
.pfc-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 8px}
.pfc-chip{border:1px solid rgba(100,116,139,.3);background:transparent;color:inherit;border-radius:999px;padding:5px 10px;font:inherit;font-size:13px;cursor:pointer;min-height:32px}
.pfc-chip:hover{border-color:var(--pfc-a);color:var(--pfc-a)}
.pfc-in{display:flex;gap:6px;padding:8px 10px;border-top:1px solid rgba(100,116,139,.15)}
.pfc-tx{flex:1;min-width:0;border:1px solid rgba(100,116,139,.3);border-radius:999px;padding:7px 12px;font:inherit;font-size:14px;background:transparent;color:inherit}
.pfc-mic,.pfc-go{border:0;border-radius:999px;min-width:36px;height:36px;padding:0 10px;cursor:pointer;color:#fff;background:var(--pfc-a);font:inherit;font-size:13px;font-weight:600}
.pfc-mic svg{width:18px;height:18px;vertical-align:middle}.pfc-mic[hidden]{display:none}
.pfc-listen .pfc-mic{background:#dc2626}
.pfc-ft{display:flex;align-items:center;gap:8px;padding:6px 10px 10px}
.pfc-ss{border:0;border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--pfc-a),var(--pfc-b))}
.pfc-ss.pfc-stop{background:#475569}
.pfc-st{flex:1;font-size:12px;color:var(--pfc-mut)}
.pfc-note{margin:0 10px 10px;padding:8px 10px;border-radius:12px;background:rgba(245,158,11,.12);font-size:12.5px}
.pfc-note .pfc-chip{margin-left:6px;min-height:26px;padding:2px 10px}
/* phones: a small button above the bottom edge; the panel is a bottom sheet */
.pfc-phone .pfc-pill .pfc-ic{width:52px;height:52px}
@media (max-width:639px){
 .pfc.pfc-opened .pfc-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;max-height:62vh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}
 .pfc-log{max-height:30vh}
}
/* reading aloud: the word being said, else the sentence */
.pfc-w.pfc-on{background:rgba(253,224,71,.55);border-radius:3px;box-shadow:0 0 0 2px rgba(253,224,71,.55)}
.pfc-sent{background:rgba(253,224,71,.22);border-radius:4px;transition:background .3s}
[data-theme*="dark"] .pfc-w.pfc-on,.pfe-dark .pfc-w.pfc-on{background:rgba(250,204,21,.38);color:inherit}
@keyframes pfc-pulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(.6);opacity:.5}}
@keyframes pfc-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes pfc-bow{0%{transform:none}35%{transform:translateY(2px) scale(.97)}70%{transform:translateY(-1px)}100%{transform:none}}
@keyframes pfc-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pfc *,.pfc{animation:none!important;transition:none!important}}
@media print{.pfc{display:none!important}}
/* fallback: big tap options + the type box (when hearing is unsure or impossible) */
.pfc-fb .pfc-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 10px 10px}
.pfc-fb .pfc-chip.pfc-big{font-size:16px;min-height:48px;padding:10px 12px;border-radius:14px;font-weight:600;text-align:center;border-width:2px}
.pfc-fb .pfc-in .pfc-tx{font-size:15px;min-height:40px}
@media (max-width:380px){.pfc-fb .pfc-chips{grid-template-columns:1fr}}
.pfc-hint{display:block;margin:4px auto 0;max-width:220px;padding:3px 10px;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;font-size:11.5px;line-height:1.35;font-weight:500;opacity:.85;text-align:center;pointer-events:none;white-space:normal}
.pfc-hint[hidden],.pfc-namaste .pfc-hint,.pfc-opened .pfc-hint{display:none}
@media (prefers-reduced-motion:no-preference){.pfc-hint{animation:pfcHint .6s ease}}@keyframes pfcHint{from{opacity:0;transform:translateY(4px)}to{opacity:.85}}

.pfc-novoice .pfc-vo{display:none!important} /* r156: without voice still listens – Start, the mic and the hint stay */
.pfc-pill[hidden],.pfc-vo[hidden],.pfc-ss[hidden]{display:none}

/* 2.3: illustrated hands, transparent – arms folded on the chest at rest, Namaskar (🙏) on tap: the folded arms sink and fade
   while the joined palms rise into place with a small bow (≈0.6 s) */
.pfc-pill .pfc-ic{background:transparent !important;box-shadow:none !important;width:64px;height:64px}
.pfc-namaste .pfc-pill .pfc-ic{box-shadow:none !important}
.pfc-photo{position:absolute;inset:0;pointer-events:none}
.pfc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-user-drag:none;user-select:none;pointer-events:none;
	filter:drop-shadow(0 3px 4px rgba(30,20,10,.28));transform-origin:50% 85%;
	transition:opacity .5s ease-in-out,transform .62s cubic-bezier(.3,1.35,.5,1),filter .6s ease}
.pfc-photo .pfc-hrest{opacity:1;transform:none}
.pfc-photo .pfc-hnam{opacity:0;transform:translateY(26%) scale(.55,.7)}
.pfc-namaste .pfc-photo .pfc-hrest,.pfc-joined .pfc-photo .pfc-hrest{opacity:0;transform:translateY(10%) scale(1.15,.6)}
.pfc-namaste .pfc-photo .pfc-hnam,.pfc-joined .pfc-photo .pfc-hnam{opacity:1;transform:none;transition-delay:.06s}
.pfc-namaste .pfc-photo .pfc-hnam{filter:drop-shadow(0 0 7px rgba(253,224,120,.85)) drop-shadow(0 3px 4px rgba(30,20,10,.25))}
.pfc-pill:hover .pfc-photo .pfc-hrest{transform:translateY(-3%)}
.pfc-hd .pfc-ic{width:34px;height:34px;background:transparent !important}
.pfc-phone .pfc-pill .pfc-ic{width:56px;height:56px}
@media (prefers-reduced-motion:reduce){.pfc-photo img{transition:opacity .3s linear}}

body[data-mode="dash"] .pfc:not([style*="top"]):not(.pfc-drag){right:auto;left:16px;bottom:18px}

/* r156: live caption beside the hand – what the visitor said (typed out as it is heard) and what the helper is doing */
.pfc-cap{position:absolute;bottom:calc(100% + 10px);right:0;width:max-content;min-width:170px;max-width:min(300px,82vw);padding:9px 13px 10px;border-radius:14px;background:var(--pfc-ink);color:#fff;box-shadow:0 10px 26px -10px rgba(0,0,0,.5);font-size:13.5px;line-height:1.4;display:flex;flex-direction:column;gap:3px;pointer-events:none;animation:pfc-in .25s ease-out}
.pfc-cap[hidden]{display:none}
.pfc-left .pfc-cap{right:auto;left:0}.pfc-upper .pfc-cap{bottom:auto;top:calc(100% + 10px)}
.pfc-cap-s{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
.pfc-cap-s::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.3)}
.pfc-cap-h{font-weight:600;word-break:break-word}
.pfc-cap-h:empty,.pfc-cap-a:empty{display:none}
.pfc-cap-h.pfc-typing::after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-2px;background:#fff;animation:pfc-caret 1s steps(1) infinite}
@keyframes pfc-caret{50%{opacity:0}}
.pfc-cap-a{color:#a7f3d0;font-weight:600}
.pfc-heard{font-size:13px;color:var(--pfc-fg);padding:2px 10px 4px}
.pfc-heard:not(:empty)::before{content:"🎤 ";font-style:normal}
