/* Psychology for Everyone – Saathi companion: a big, warm, glowing “talk to me” button and a simple chat card.
   Old-browser safe: no color-mix, :has, :is, inset or gap-only flex layouts. */
.pfc-fab { position: fixed; right: 14px; bottom: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 2147483100; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; min-height: 66px; padding: 6px 20px 6px 6px; border: 0; border-radius: 40px; background: #e8590c; background: -webkit-linear-gradient(315deg, #ff9f1c, #e8590c 55%, #c2410c); background: linear-gradient(135deg, #ff9f1c, #e8590c 55%, #c2410c); color: #fff; font: 700 18px/1.15 "Noto Sans Devanagari", "Poppins", system-ui, sans-serif; box-shadow: 0 8px 22px rgba(194, 65, 12, .45), 0 0 0 3px rgba(255, 255, 255, .9); cursor: pointer; -webkit-tap-highlight-color: transparent; -webkit-transition: -webkit-transform .2s; transition: transform .2s; }
.pfc-fab:hover, .pfc-fab:focus { -webkit-transform: scale(1.05); transform: scale(1.05); outline: none; }
.pfc-fab:focus { box-shadow: 0 8px 22px rgba(194, 65, 12, .45), 0 0 0 4px #1d4ed8; }
.pfc-fab .pfc-ic { position: relative; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: rgba(255, 255, 255, .22); margin-right: 10px; }
.pfc-fab .pfc-lb { position: relative; white-space: nowrap; text-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.pfc-glow { position: absolute; left: 0; top: 0; right: 0; bottom: 0; border-radius: 40px; box-shadow: 0 0 0 0 rgba(255, 159, 28, .7); -webkit-animation: pfc-pulse 2.2s ease-out infinite; animation: pfc-pulse 2.2s ease-out infinite; pointer-events: none; }
@-webkit-keyframes pfc-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 159, 28, .7); } 70% { box-shadow: 0 0 0 18px rgba(255, 159, 28, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 159, 28, 0); } }
@keyframes pfc-pulse { 0% { box-shadow: 0 0 0 0 rgba(255, 159, 28, .7); } 70% { box-shadow: 0 0 0 18px rgba(255, 159, 28, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 159, 28, 0); } }
.pfc-fab .pfc-w1, .pfc-fab .pfc-w2 { -webkit-animation: pfc-wave 1.6s ease-in-out infinite; animation: pfc-wave 1.6s ease-in-out infinite; }
.pfc-fab .pfc-w2 { -webkit-animation-delay: .3s; animation-delay: .3s; }
@-webkit-keyframes pfc-wave { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes pfc-wave { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
.pfc-fab.pfc-on .pfc-glow { -webkit-animation: none; animation: none; }
/* while the full-screen player is open the button gets small, so it never hides the controls */
html.pfm-open .pfc-fab { top: 70px; bottom: auto; right: 10px; min-height: 52px; padding: 4px; }
html.pfm-open .pfc-fab .pfc-lb { display: none; }
html.pfm-open .pfc-fab .pfc-ic { width: 44px; height: 44px; margin: 0; }
.pfc-box { position: fixed; right: 12px; bottom: 96px; bottom: calc(96px + env(safe-area-inset-bottom)); z-index: 2147483100; width: 400px; max-width: calc(100vw - 24px); max-height: 72vh; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-orient: vertical; -webkit-flex-direction: column; flex-direction: column; background: #fffaf3; color: #2b1b10; border-radius: 22px; box-shadow: 0 18px 50px rgba(0, 0, 0, .35); overflow: hidden; font: 400 18px/1.45 "Noto Sans Devanagari", "Poppins", system-ui, sans-serif; border: 2px solid #fed7aa; }
.pfc-box[hidden] { display: none; }
html.pfm-open .pfc-box { top: 130px; bottom: auto; max-height: calc(100vh - 150px); }
.pfc-head { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-align: center; -webkit-align-items: center; align-items: center; padding: 10px 10px 10px 12px; background: #e8590c; background: linear-gradient(135deg, #ff9f1c, #e8590c); color: #fff; }
.pfc-head b { -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; font-size: 21px; margin-left: 8px; }
.pfc-av { display: -webkit-box; display: -webkit-flex; display: flex; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .25); -webkit-box-align: center; -webkit-align-items: center; align-items: center; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center; }
.pfc-av svg { width: 30px; height: 30px; }
.pfc-vo, .pfc-x { min-height: 44px; min-width: 44px; margin-left: 6px; border: 0; border-radius: 22px; background: rgba(255, 255, 255, .22); color: #fff; font: inherit; font-size: 15px; padding: 0 12px; cursor: pointer; }
.pfc-x { font-size: 20px; padding: 0; }
.pfc-log { -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 12px; min-height: 90px; }
.pfc-m { max-width: 88%; margin: 0 0 10px; padding: 10px 14px; border-radius: 18px; word-wrap: break-word; }
.pfc-bot { background: #fff; border: 1px solid #fde3c8; border-bottom-left-radius: 6px; }
.pfc-me { margin-left: auto; background: #ffedd5; border-bottom-right-radius: 6px; text-align: right; }
.pfc-chips { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 4px 8px 8px; max-height: 40vh; overflow-y: auto; }
.pfc-chip { margin: 4px; min-height: 52px; padding: 8px 16px; border-radius: 26px; border: 2px solid #f97316; background: #fff; color: #9a3412; font: 600 17px/1.2 "Noto Sans Devanagari", "Poppins", system-ui, sans-serif; cursor: pointer; text-align: left; }
.pfc-chip:hover, .pfc-chip:focus { background: #fff1e6; outline: none; box-shadow: 0 0 0 3px #fdba74; }
.pfc-in { display: -webkit-box; display: -webkit-flex; display: flex; padding: 8px; border-top: 1px solid #fde3c8; background: #fff; }
.pfc-in input { -webkit-box-flex: 1; -webkit-flex: 1; flex: 1; min-width: 0; min-height: 52px; margin: 0 6px; padding: 0 12px; border: 2px solid #e5d3c2; border-radius: 26px; font: inherit; font-size: 18px; background: #fffdf9; color: inherit; }
.pfc-mic, .pfc-go { min-height: 52px; min-width: 52px; border: 0; border-radius: 26px; font: 700 16px/1 "Noto Sans Devanagari", system-ui, sans-serif; cursor: pointer; }
.pfc-mic { background: #c2410c; color: #fff; padding: 0 12px; font-size: 20px; }
.pfc-mic span { font-size: 15px; margin-left: 4px; }
.pfc-mic[hidden] { display: none; }
.pfc-go { background: #1f2937; color: #fff; padding: 0 16px; }
.pfc-listening .pfc-mic { background: #dc2626; -webkit-animation: pfc-pulse 1.2s ease-out infinite; animation: pfc-pulse 1.2s ease-out infinite; }
@media (max-width: 480px) {
	.pfc-fab { right: 10px; font-size: 16px; padding-right: 16px; }
	.pfc-box { left: 6px; right: 6px; width: auto; max-width: none; bottom: 88px; max-height: 70vh; }
}
@media (max-width: 340px) { .pfc-fab { font-size: 15px; padding-right: 12px; min-height: 58px; } .pfc-fab .pfc-ic { width: 46px; height: 46px; margin-right: 6px; } }
@media (prefers-reduced-motion: reduce) { .pfc-glow, .pfc-fab .pfc-w1, .pfc-fab .pfc-w2, .pfc-listening .pfc-mic { -webkit-animation: none; animation: none; } }
@media print { .pfc-fab, .pfc-box { display: none !important; } }
