/* ===== Pomoc RAG — „Dziadek” w prawym dolnym rogu ===== */
.rag{position:fixed;right:18px;bottom:14px;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}
.rag>*{pointer-events:auto}
.rag-fab{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;display:block;position:relative;width:92px;height:132px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.28));transition:transform .18s}
.rag-fab:hover{transform:translateY(-3px) rotate(-1.5deg)}
.rag-fab:focus-visible{outline:3px solid rgba(34,104,196,.35);outline-offset:3px;border-radius:14px}
.rag-fab img,.rag-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:bottom;transition:opacity .15s}
.rag-fab .is-talk,.rag-avatar .is-talk{opacity:0}
.rag[data-pose="talk"] .is-talk{opacity:1}
.rag[data-pose="talk"] .is-listen{opacity:0}
.rag[data-pose="talk"] .rag-fab,.rag[data-pose="talk"] .rag-avatar{animation:rag-bob .5s ease-in-out infinite alternate}
@keyframes rag-bob{from{transform:translateY(0)}to{transform:translateY(-3px)}}

.rag-bubble{max-width:236px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px 14px 4px 14px;padding:10px 12px;font-size:13px;line-height:1.4;box-shadow:0 8px 24px rgba(16,16,20,.18);cursor:pointer;position:relative}
.rag-bubble b{color:var(--brand-dark)}
.rag-bubble-x{position:absolute;top:-8px;left:-8px;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;line-height:1;cursor:pointer;padding:0}
.rag.is-open .rag-bubble,.rag.no-bubble .rag-bubble{display:none}

.rag-panel{width:min(392px,calc(100vw - 28px));height:min(560px,calc(100vh - 120px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(16,16,20,.28);display:none;flex-direction:column;overflow:hidden}
.rag.is-open .rag-panel{display:flex}
.rag.is-open .rag-fab{display:none}
.rag-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--bg)}
.rag-avatar{position:relative;width:42px;height:58px;flex:0 0 42px;margin-top:-4px}
.rag-head-text{flex:1;min-width:0;line-height:1.25}
.rag-head-text strong{display:block;font-size:14px}
.rag-head-text small{color:var(--muted);font-size:12px}
.rag-msgs{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.rag-msg{max-width:88%;padding:9px 12px;border-radius:12px;font-size:13.5px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}
.rag-msg.bot{align-self:flex-start;background:var(--brand-soft);border-bottom-left-radius:4px}
.rag-msg.user{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.rag-msg a{color:var(--brand);font-weight:600}
.rag-msg.user a{color:#fff}
.rag-msg ul{margin:.3em 0;padding-left:1.2em}
.rag-src{align-self:flex-start;color:var(--muted);font-size:11.5px;margin:-4px 0 0 4px;max-width:92%}
.rag-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px}
.rag-chip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:12.5px;cursor:pointer}
.rag-chip:hover{background:var(--brand-soft);color:var(--brand-dark);border-color:var(--brand)}
.rag-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.rag-form input{flex:1;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:0 12px;font-size:14px}
.rag-form input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(34,104,196,.25)}
.rag-send{appearance:none;border:0;border-radius:10px;background:var(--brand);color:#fff;padding:0 14px;font-weight:600;font-size:13.5px;cursor:pointer}
.rag-send:disabled{opacity:.5;cursor:default}
.rag-dots span{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:var(--muted);animation:rag-dot 1s infinite}
.rag-dots span:nth-child(2){animation-delay:.15s}.rag-dots span:nth-child(3){animation-delay:.3s}
@keyframes rag-dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
@media (max-width:600px){.rag{right:10px;bottom:8px}.rag-fab{width:72px;height:104px}.rag-panel{height:min(520px,calc(100vh - 90px))}}
@media print{.rag{display:none}}
@media (prefers-reduced-motion:reduce){.rag *{animation:none!important;transition:none!important}}

.rag-close{appearance:none;border:0;background:transparent;color:var(--muted);width:30px;height:30px;border-radius:8px;font-size:22px;line-height:1;cursor:pointer}
.rag-close:hover{background:var(--line);color:var(--ink)}
.rag-form input{font-family:inherit;width:auto}
body:has(#app.hidden) .rag{display:none}
