/* FRACAD chat bubble (v4.7c) */
.frc-b{position:fixed;right:18px;bottom:calc(18px + var(--frc-off,0px));z-index:60;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;background:linear-gradient(135deg,#FDD835,#E9B44C);color:#16120a;box-shadow:0 14px 34px -10px rgba(233,180,76,.65),0 0 0 1px rgba(0,0,0,.2);display:grid;place-items:center;transition:transform .25s,bottom .25s}
.frc-b:hover{transform:translateY(-2px) scale(1.04)}.frc-b svg{width:26px;height:26px}
.frc-b .dot{position:absolute;top:6px;right:6px;width:11px;height:11px;border-radius:50%;background:#ff6b5b;border:2px solid #16120a}
.frc-p{position:fixed;right:18px;bottom:calc(88px + var(--frc-off,0px));z-index:61;width:min(370px,calc(100vw - 24px));max-height:min(580px,calc(100svh - 120px - var(--frc-off,0px)));display:none;flex-direction:column;background:#0d1117;color:#e9edf1;border:1px solid rgba(233,180,76,.35);border-radius:20px;box-shadow:0 30px 70px -20px rgba(0,0,0,.8);overflow:hidden;font-family:var(--sans,Manrope),sans-serif;font-size:14.5px;line-height:1.5}
.frc-p.open{display:flex;animation:frcIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes frcIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.frc-p.open{animation:none}.frc-b{transition:none}}
.frc-h{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,rgba(253,216,53,.14),rgba(233,180,76,.05));border-bottom:1px solid rgba(255,255,255,.08)}
.frc-h b{font-family:var(--ser,Syne),sans-serif;font-size:16px;color:#fff;display:block}.frc-h small{color:#9aa5b0;font-size:12px}
.frc-h button{margin-left:auto;background:none;border:0;color:#cfd7df;font-size:24px;cursor:pointer;line-height:1;padding:4px 8px}
.frc-m{flex:1;overflow:auto;padding:14px 14px 4px;display:flex;flex-direction:column;gap:10px}
.frc-m .bo,.frc-m .me{max-width:88%;padding:10px 13px;border-radius:14px}
.frc-m .bo{background:#161d26;border:1px solid rgba(255,255,255,.07);align-self:flex-start;border-bottom-left-radius:4px}
.frc-m .me{background:#E9B44C;color:#16120a;align-self:flex-end;border-bottom-right-radius:4px;font-weight:600}
.frc-m a{color:#FDD835;text-decoration:underline;text-underline-offset:2px}
.frc-m .tb{display:grid;grid-template-columns:1fr auto;gap:2px 12px;margin-top:6px;font-size:13px}.frc-m .tb b{color:#fff;text-align:right}
.frc-m .act{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.frc-m .act a{display:inline-block;text-decoration:none;background:#E9B44C;color:#16120a;font-weight:700;font-size:13px;padding:7px 12px;border-radius:999px}
.frc-m .act a.alt{background:transparent;color:#FDD835;border:1px solid rgba(253,216,53,.5)}
.frc-q{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 14px;border-top:1px solid rgba(255,255,255,.06)}
.frc-q button{background:rgba(255,255,255,.04);border:1px solid rgba(233,180,76,.45);color:#FDD835;border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer;font-family:inherit}
.frc-q button:hover{background:rgba(233,180,76,.15)}
@media(max-width:520px){.frc-b{right:12px;width:52px;height:52px}.frc-p{right:12px;left:12px;width:auto;bottom:calc(76px + var(--frc-off,0px))}}
@media print{.frc-b,.frc-p{display:none!important}}
.frc-f{display:grid;gap:7px;margin-top:8px;position:relative}
.frc-f input{width:100%;background:#0d1117;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:9px 11px;color:#fff;font:inherit;font-size:14px}
.frc-f input:focus{outline:2px solid rgba(253,216,53,.55);border-color:transparent}
.frc-f button{background:#E9B44C;color:#16120a;border:0;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer;font-family:inherit}
.frc-f small{font-size:11.5px;color:#9aa5b0}.frc-f .err{color:#ff9a8f}
.frc-q{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.frc-q button{flex:0 0 auto;white-space:nowrap}
.frc-p{max-height:min(580px,calc(100svh - 180px - var(--frc-off,0px)))}
.frc-q,.frc-h{flex-shrink:0}
.frc-f select{width:100%;background:#0d1117;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:9px 11px;color:#cfd7df;font:inherit;font-size:14px}
.frc-t{display:flex;gap:6px;padding:0 14px 14px;flex-shrink:0}
.frc-t input{flex:1;min-width:0;background:#0d1117;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:9px 13px;color:#fff;font:inherit;font-size:14px}
.frc-t input:focus{outline:2px solid rgba(253,216,53,.55);border-color:transparent}
.frc-t button{background:#E9B44C;color:#16120a;border:0;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer;font-family:inherit}
.frc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:520px){.frc-t input{font-size:16px}}
/* v4.7e typing indicator */
.frc-p .frc-ty{display:inline-flex;gap:4px;align-items:center;padding:10px 14px}
.frc-p .frc-ty i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:frcTy 1s infinite}
.frc-p .frc-ty i:nth-child(2){animation-delay:.15s}.frc-p .frc-ty i:nth-child(3){animation-delay:.3s}
@keyframes frcTy{0%,60%,100%{opacity:.25;transform:none}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.frc-p .frc-ty i{animation:none}}
