/* Luna Centrum: widżet czatu na stronach sieci korkizmatmy.online (SPEC rozdz. 4). Wstrzykuje go moduł Widzet przed </body>.
   Wszystko w jednym kontenerze #lcw z klasami lcw-* (API.md rozdz. 7): bez stylów elementów globalnych, bez stylów w linii (CSP strony
   style-src 'self'), położenie i podniesienie przez zmienne CSS ustawiane z widzet.js (CSSOM). Selektory zaczynają się od #lcw,
   żeby reguły strony (przyciski, linki, :hover, :focus) nie zmieniały wyglądu widżetu.
   Marka: granat #002972, pudrowy pomarańcz #F69A4F, zielona kropka #22C55E = dostępny (jak w logo), Nunito/Quicksand + Poppins
   z własnej domeny (czcionki ładuje strona: Poppins 400 i 600, Nunito 700-900, Quicksand 700; dlatego Poppins tu najwyżej 600),
   przejścia 450 ms ease-in-out (design.md 4.5).
   Warstwy: zamknięty widżet z-index 46 (nad paskiem panelu 30, zakładką „Uwagi” 45, pod oknami aplikacji 50+, nagłówkiem strony
   głównej 60 i jej paskiem telefonu 55); otwarte okienko 2147481000 (pod narzędziem „Uwagi” testerów 2147482990+). */

#lcw{
  --lcw-granat:#002972;--lcw-granat-900:#00123A;--lcw-granat-700:#0B3A8C;--lcw-niebieski:#007ED3;
  --lcw-pomarancz:#F69A4F;--lcw-pomarancz-jasny:#FAB98A;--lcw-zielony:#22C55E;
  --lcw-tekst:#091934;--lcw-tekst-2:#44516B;--lcw-tekst-3:#56637C;
  --lcw-tlo:#F1F5FA;--lcw-tlo-2:#E4EAF2;--lcw-linia:#D5DBE5;--lcw-karta:#fff;--lcw-pole:#fff;
  --lcw-gosc-tlo:#002972;--lcw-gosc-tekst:#fff;--lcw-gosc-link:#FAB98A;
  --lcw-czlowiek-tlo:#fff;--lcw-czlowiek-linia:#DFE6EF;
  --lcw-ai-tlo:#E6F2FC;--lcw-ai-linia:#C9E2F6;--lcw-ai-etykieta:#005A9C;
  --lcw-system-tlo:#E4EAF2;--lcw-blad:#B42318;--lcw-blad-tlo:#FDECEA;
  --lcw-pierscien:#fff;--lcw-fokus:rgba(0,126,211,.55);
  --lcw-cien:0 10px 30px rgba(0,41,114,.24),0 2px 8px rgba(0,41,114,.14);
  --lcw-cien-okna:0 24px 64px rgba(0,41,114,.30),0 4px 14px rgba(0,41,114,.14);
  --lcw-font:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --lcw-font-n:Nunito,Quicksand,Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;
  /* położenie wyrzutni (zmienia się wg miejsca i szerokości), podniesienie nad przeszkody (widzet.js) */
  --lcw-prawo:24px;--lcw-dol:24px;--lcw-rozmiar:60px;--lcw-podnies:0px;
  display:block;position:static;width:0;height:0;margin:0;padding:0;border:0;
  font:400 15px/1.45 var(--lcw-font);color:var(--lcw-tekst);text-align:left;letter-spacing:normal;text-transform:none;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;
  color-scheme:light;
}
/* ciemny tylko, gdy strona sama ma ciemny motyw (panel korepetytora: html[data-motyw="nocny"]), nigdy z samego motywu systemu */
#lcw[data-motyw="ciemny"]{
  --lcw-tekst:#E7EDF7;--lcw-tekst-2:#B6C3D8;--lcw-tekst-3:#9AA9C2;
  --lcw-tlo:#0B1426;--lcw-tlo-2:#18253F;--lcw-linia:#26344F;--lcw-karta:#111C33;--lcw-pole:#0E1830;
  --lcw-gosc-tlo:#2C61C2;--lcw-gosc-tekst:#fff;--lcw-gosc-link:#FFD2B0;
  --lcw-czlowiek-tlo:#17243E;--lcw-czlowiek-linia:#26344F;
  --lcw-ai-tlo:#0E2A48;--lcw-ai-linia:#1D4672;--lcw-ai-etykieta:#8FCBF5;
  --lcw-system-tlo:#18253F;--lcw-blad:#FF9C92;--lcw-blad-tlo:#3A1A1A;
  --lcw-fokus:rgba(110,180,255,.7);
  --lcw-cien:0 10px 30px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.3);
  --lcw-cien-okna:0 24px 64px rgba(0,0,0,.6),0 4px 14px rgba(0,0,0,.35);
  color-scheme:dark;
}

/* ---------- reset w obrębie widżetu (strona może stylować button, a, img, p...) ---------- */
#lcw *,#lcw *::before,#lcw *::after{box-sizing:border-box}
#lcw :where(div,span,p,h2,ol,ul,li,button,a,img,svg,textarea,input,form,label,section,header,footer,time,strong,small,figure){
  margin:0;padding:0;border:0;font:inherit;color:inherit;background:none;letter-spacing:inherit;text-transform:none;
  text-decoration:none;text-shadow:none;box-shadow:none;float:none;max-width:none;min-width:0;min-height:0;outline:0;
  -webkit-tap-highlight-color:transparent;transition:none;animation:none;vertical-align:baseline;opacity:1;
}
#lcw :where(ol,ul){list-style:none}
#lcw :where(button){-webkit-appearance:none;appearance:none;cursor:pointer;text-align:center;line-height:1;user-select:none;-webkit-user-select:none}
#lcw :where(button:disabled){cursor:default}
#lcw :where(img){display:block;border-radius:0;width:auto;height:auto}
#lcw :where(textarea,input){-webkit-appearance:none;appearance:none;border-radius:0}
#lcw :where([hidden]){display:none !important}
#lcw .lcw-ikona{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#lcw :where(button,a,textarea,[tabindex]):focus-visible{outline:3px solid var(--lcw-fokus);outline-offset:2px}
/* cele dotyku 44 px: małe przyciski mają niewidoczny, większy obszar kliknięcia */
#lcw .lcw-wiad__ponow,#lcw .lcw-wczesniejsze{position:relative}
#lcw .lcw-wiad__ponow::after,#lcw .lcw-wczesniejsze::after,#lcw .lcw-nowe::after{content:"";position:absolute;left:50%;top:50%;
  width:max(100%,44px);height:44px;transform:translate(-50%,-50%)}
#lcw .lcw-sr{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---------- położenie wg miejsca (strona główna, konfigurator, tablica pokazowa, panel korepetytora) ---------- */
@media (max-width:899px){#lcw{--lcw-prawo:16px;--lcw-dol:16px;--lcw-rozmiar:56px}}
/* panel na telefonie: nad dolnym menu panelu (64 px, tokeny --n-pasek-dolny) */
@media (max-width:899px){#lcw[data-miejsce="panel"]{--lcw-dol:calc(var(--n-pasek-dolny,64px) + 12px);--lcw-rozmiar:52px}}
/* tablica pokazowa: komputer w dolnym pasie między paskiem narzędzi a pomocą tablicy; węższy ekran nad pomocą, obok zakładki „Uwagi”;
   telefon nad dolnym paskiem tablicy (Excalidraw mobile + „Narzędzia”, ok. 62 px od dołu) */
#lcw[data-miejsce="tablica"]{--lcw-prawo:64px;--lcw-dol:18px;--lcw-rozmiar:48px}
@media (max-width:999px){#lcw[data-miejsce="tablica"]{--lcw-prawo:64px;--lcw-dol:72px}}
@media (max-width:730px){#lcw[data-miejsce="tablica"]{--lcw-prawo:14px;--lcw-dol:76px;--lcw-rozmiar:48px}}

/* ---------- wyrzutnia: przycisk ze zdjęciem, kropka, licznik, dymek ---------- */
#lcw .lcw-wyrzutnia{
  position:fixed;z-index:46;right:var(--lcw-prawo);bottom:calc(var(--lcw-dol) + env(safe-area-inset-bottom,0px));
  width:var(--lcw-rozmiar);height:var(--lcw-rozmiar);transform:translate3d(0,calc(-1 * var(--lcw-podnies)),0);
  transition:transform .45s ease-in-out,opacity .3s ease-in-out;
}
#lcw .lcw-wyrzutnia--wejscie{animation:lcw-pojaw .5s cubic-bezier(.2,.9,.25,1.2) both}
/* strona ma otwarte własne okno modalne (widzet.js: data-pod-oknem): przycisk i dymek ustępują */
#lcw[data-pod-oknem] .lcw-wyrzutnia{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s}
#lcw .lcw-przycisk{
  position:relative;display:block;width:100%;height:100%;padding:0;border-radius:50%;
  border:3px solid var(--lcw-pierscien);background:var(--lcw-granat);box-shadow:var(--lcw-cien);
  transition:transform .3s ease,box-shadow .45s ease-in-out,border-color .45s ease-in-out;
}
@media (hover:hover) and (pointer:fine){
  #lcw .lcw-przycisk:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 36px rgba(0,41,114,.3),0 3px 10px rgba(0,41,114,.16)}
}
#lcw .lcw-przycisk:active{transform:scale(.96)}
#lcw .lcw-przycisk .lcw-awatar{position:absolute;inset:0;width:100%;height:100%;transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
#lcw .lcw-przycisk__x{
  position:absolute;inset:0;display:grid;place-items:center;color:#fff;border-radius:50%;
  background:radial-gradient(120% 120% at 20% 10%,var(--lcw-granat-700),var(--lcw-granat) 55%,var(--lcw-granat-900));
  opacity:0;transform:rotate(-60deg) scale(.6);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1);
}
#lcw .lcw-przycisk__x .lcw-ikona{width:26px;height:26px;stroke-width:2.4}
#lcw[data-stan="otwarte"] .lcw-przycisk .lcw-awatar{opacity:0;transform:rotate(60deg) scale(.6)}
#lcw[data-stan="otwarte"] .lcw-przycisk__x{opacity:1;transform:none}
#lcw .lcw-kropka{
  position:absolute;right:-2px;bottom:-2px;width:17px;height:17px;border-radius:50%;
  background:var(--lcw-zielony);border:3px solid var(--lcw-pierscien);transition:opacity .3s ease,transform .3s ease;
}
#lcw .lcw-kropka--brak{opacity:0;transform:scale(.4)}
#lcw[data-stan="otwarte"] .lcw-przycisk .lcw-kropka{opacity:0;transform:scale(.4)}
#lcw .lcw-licznik{
  position:absolute;top:-7px;right:-7px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;
  background:var(--lcw-pomarancz);color:var(--lcw-granat-900);border:2px solid var(--lcw-pierscien);
  font:600 12px/20px var(--lcw-font);text-align:center;animation:lcw-pojaw .4s cubic-bezier(.2,.9,.25,1.2) both;
}
#lcw[data-stan="otwarte"] .lcw-licznik{display:none}

/* awatar: zdjęcie albo inicjał na kolorowym kole */
#lcw .lcw-awatar{display:block;position:relative;flex:none;width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--lcw-tlo-2)}
#lcw .lcw-awatar img{width:100%;height:100%;object-fit:cover;object-position:center 30%;border-radius:50%}
#lcw .lcw-awatar__inicjal{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;color:#fff;font:800 15px/1 var(--lcw-font-n)}
#lcw .lcw-przycisk .lcw-awatar__inicjal{font-size:24px}
#lcw .lcw-awatar--ai{display:grid;place-items:center;color:#fff;background:radial-gradient(120% 120% at 20% 10%,#1A5FD0,var(--lcw-granat) 60%,var(--lcw-granat-900))}
#lcw .lcw-awatar--ai .lcw-ikona{width:58%;height:58%;stroke-width:1.9}

/* dymek: powitanie albo początek nowej wiadomości (przy zamkniętym okienku) */
#lcw .lcw-dymek{
  position:absolute;right:-4px;bottom:calc(100% + 14px);width:max-content;max-width:min(300px,calc(100vw - 32px));
  background:var(--lcw-karta);color:var(--lcw-tekst);border-radius:18px 18px 6px 18px;box-shadow:var(--lcw-cien);
  animation:lcw-wjazd .45s cubic-bezier(.2,.8,.2,1) both;transform-origin:100% 100%;
}
#lcw .lcw-dymek::after{
  content:"";position:absolute;right:22px;bottom:-6px;width:14px;height:14px;background:var(--lcw-karta);
  transform:rotate(45deg);border-radius:0 0 4px 0;
}
#lcw .lcw-dymek--wyjscie{animation:lcw-wyjazd .35s ease-in both}
#lcw .lcw-dymek--pomiar{visibility:hidden;animation:none}
#lcw .lcw-dymek__tresc{
  display:flex;flex-direction:column;gap:3px;width:100%;padding:12px 46px 13px 15px;border-radius:inherit;
  text-align:left;line-height:1.45;cursor:pointer;user-select:text;-webkit-user-select:text;
}
#lcw .lcw-dymek__kto{display:flex;align-items:center;gap:7px;font:600 13px/1.3 var(--lcw-font);color:var(--lcw-granat)}
#lcw[data-motyw="ciemny"] .lcw-dymek__kto{color:#9CC7FF}
#lcw .lcw-dymek__kto .lcw-awatar{width:22px;height:22px}
#lcw .lcw-dymek__tekst{font-size:14.5px;line-height:1.45;color:var(--lcw-tekst);overflow-wrap:anywhere;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
#lcw .lcw-machanie{display:inline-block;font-size:16px;line-height:1;transform-origin:70% 75%;animation:lcw-machanie 1.6s ease-in-out .35s 1 both}
#lcw .lcw-dymek__zamknij{
  position:absolute;top:0;right:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--lcw-tekst-3);
  transition:background-color .45s ease-in-out,color .45s ease-in-out;
}
#lcw .lcw-dymek__zamknij .lcw-ikona{width:16px;height:16px;stroke-width:2.4}
#lcw .lcw-dymek__zamknij:hover{background:var(--lcw-tlo);color:var(--lcw-tekst)}
#lcw .lcw-wyrzutnia--machanie .lcw-przycisk{animation:lcw-kolysanie 1.1s ease-in-out .2s 1 both}

/* ---------- okienko rozmowy ---------- */
#lcw .lcw-tlo{display:none}
#lcw .lcw-okno{
  position:fixed;z-index:2147481000;right:var(--lcw-prawo);
  bottom:calc(var(--lcw-dol) + var(--lcw-podnies) + var(--lcw-rozmiar) + 14px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;width:384px;max-width:calc(100vw - 32px);height:min(640px,calc(100vh - 140px));
  max-height:calc(100vh - var(--lcw-dol) - var(--lcw-podnies) - var(--lcw-rozmiar) - 38px - env(safe-area-inset-bottom,0px));
  background:var(--lcw-tlo);border-radius:20px;box-shadow:var(--lcw-cien-okna);overflow:hidden;isolation:isolate;
  transform-origin:100% 100%;animation:lcw-okno .38s cubic-bezier(.2,.8,.2,1) both;
}
@supports (height:100dvh){
  #lcw .lcw-okno{height:min(640px,calc(100dvh - 140px));
    max-height:calc(100dvh - var(--lcw-dol) - var(--lcw-podnies) - var(--lcw-rozmiar) - 38px - env(safe-area-inset-bottom,0px))}
}
#lcw .lcw-okno.lcw-okno--bez-animacji{animation:none}
/* niska wyrzutnia na wąskim, niskim ekranie: okienko od dołu ekranu (zasłania wyrzutnię, zamyka się krzyżykiem w nagłówku) */
#lcw .lcw-okno--nisko{bottom:calc(12px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 24px)}

#lcw .lcw-naglowek{
  position:relative;display:flex;align-items:center;gap:12px;flex:none;padding:14px 8px 14px 16px;color:#fff;
  background:radial-gradient(130% 170% at 0% 0%,var(--lcw-granat-700) 0%,var(--lcw-granat) 48%,var(--lcw-granat-900) 100%);
}
#lcw .lcw-naglowek::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--lcw-pomarancz)}
#lcw .lcw-naglowek .lcw-awatar{width:46px;height:46px;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
#lcw .lcw-naglowek__awatar{position:relative;flex:none}
#lcw .lcw-naglowek__awatar .lcw-kropka{width:14px;height:14px;right:-3px;bottom:-1px;border-width:2.5px;border-color:var(--lcw-granat)}
#lcw .lcw-naglowek__tekst{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
#lcw .lcw-marka{font:600 10.5px/1.3 var(--lcw-font);letter-spacing:.08em;text-transform:uppercase;color:var(--lcw-pomarancz-jasny)}
#lcw .lcw-tytul{font:800 18px/1.2 var(--lcw-font-n);letter-spacing:-.005em;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#lcw .lcw-status{display:flex;align-items:center;gap:6px;font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.86)}
#lcw .lcw-status__kropka{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lcw-zielony);box-shadow:0 0 0 3px rgba(34,197,94,.22)}
#lcw .lcw-status--ai .lcw-status__kropka{background:#7CC4FA;box-shadow:0 0 0 3px rgba(124,196,250,.22)}
#lcw .lcw-status--brak .lcw-status__kropka{display:none}
#lcw .lcw-zamknij{
  flex:none;align-self:flex-start;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;
  transition:background-color .45s ease-in-out;
}
#lcw .lcw-zamknij:hover{background:rgba(255,255,255,.14)}
#lcw .lcw-zamknij .lcw-ikona{width:22px;height:22px}

/* wiadomości */
#lcw .lcw-wiadomosci{
  position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  padding:16px 14px 10px;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:var(--lcw-linia) transparent;
}
#lcw .lcw-lista{display:flex;flex-direction:column}
#lcw .lcw-wczesniejsze{display:block;margin:0 auto 12px;padding:8px 14px;min-height:36px;border-radius:999px;
  font:600 12.5px/1.2 var(--lcw-font);color:var(--lcw-granat);background:var(--lcw-tlo-2)}
#lcw[data-motyw="ciemny"] .lcw-wczesniejsze{color:var(--lcw-tekst)}
#lcw .lcw-dzien{align-self:center;margin:14px 0 8px;font-size:11.5px;font-weight:600;color:var(--lcw-tekst-3);letter-spacing:.02em}
#lcw .lcw-wiad{display:flex;flex-direction:column;max-width:100%;margin-top:2px}
#lcw .lcw-wiad--nowa-grupa{margin-top:14px}
#lcw .lcw-wiad:first-child{margin-top:0}
#lcw .lcw-wiad__kto{display:flex;align-items:center;gap:8px;margin:0 0 5px;font-size:12px;line-height:1.3;color:var(--lcw-tekst-2)}
#lcw .lcw-wiad__kto strong{font-weight:600;color:var(--lcw-tekst)}
#lcw .lcw-wiad__kto .lcw-awatar{width:26px;height:26px}
#lcw .lcw-wiad__kto time{color:var(--lcw-tekst-3)}
#lcw .lcw-wiad__ai-etykieta{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:999px;
  font-weight:600;color:var(--lcw-ai-etykieta);background:var(--lcw-ai-tlo);border:1px solid var(--lcw-ai-linia)}
#lcw .lcw-wiad__ai-etykieta .lcw-ikona{width:13px;height:13px}
#lcw .lcw-bable{display:flex;flex-direction:column;gap:6px;max-width:86%;padding:9px 13px 10px;border-radius:16px 16px 16px 5px;
  font-size:14.5px;line-height:1.48;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
#lcw .lcw-wiad--czlowiek .lcw-bable,#lcw .lcw-wiad--powitanie .lcw-bable{margin-left:34px;background:var(--lcw-czlowiek-tlo);
  border:1px solid var(--lcw-czlowiek-linia);color:var(--lcw-tekst);box-shadow:0 1px 2px rgba(0,41,114,.06)}
#lcw .lcw-wiad--ai .lcw-bable{margin-left:34px;background:var(--lcw-ai-tlo);border:1px solid var(--lcw-ai-linia);color:var(--lcw-tekst)}
#lcw .lcw-wiad--gosc{align-items:flex-end}
#lcw .lcw-wiad--gosc .lcw-bable{background:var(--lcw-gosc-tlo);color:var(--lcw-gosc-tekst);border-radius:16px 16px 5px 16px}
#lcw .lcw-wiad--system{align-items:center;margin:12px 0 6px}
#lcw .lcw-wiad--system .lcw-bable{max-width:92%;padding:6px 12px;border-radius:12px;background:var(--lcw-system-tlo);
  color:var(--lcw-tekst-2);font-size:12.5px;line-height:1.4;text-align:center}
#lcw .lcw-bable a{color:inherit;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;font-weight:600}
#lcw .lcw-wiad--czlowiek .lcw-bable a,#lcw .lcw-wiad--ai .lcw-bable a{color:var(--lcw-granat)}
#lcw[data-motyw="ciemny"] .lcw-wiad--czlowiek .lcw-bable a,#lcw[data-motyw="ciemny"] .lcw-wiad--ai .lcw-bable a{color:#9CC7FF}
#lcw .lcw-wiad--gosc .lcw-bable a{color:var(--lcw-gosc-link)}
#lcw .lcw-wiad__czas{margin-top:4px;font-size:11px;line-height:1.3;color:var(--lcw-tekst-3)}
#lcw .lcw-wiad--gosc .lcw-wiad__czas{text-align:right}
#lcw .lcw-wiad__stan{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 8px;margin-top:4px;font-size:11.5px;line-height:1.35;color:var(--lcw-tekst-3)}
#lcw .lcw-wiad__stan--blad{flex-direction:column;align-items:flex-end;gap:6px;color:var(--lcw-blad)}
#lcw .lcw-wiad__stan-tekst{display:flex;align-items:flex-start;gap:6px;max-width:86%;text-align:right}
#lcw .lcw-wiad__stan-tekst .lcw-ikona{width:15px;height:15px;margin-top:1px}
#lcw .lcw-wiad--wysylanie .lcw-bable{opacity:.78}
#lcw .lcw-wiad__ponow{min-height:32px;padding:4px 12px;border-radius:999px;font:600 12px/1.2 var(--lcw-font);color:var(--lcw-granat);background:var(--lcw-tlo-2)}
#lcw[data-motyw="ciemny"] .lcw-wiad__ponow{color:var(--lcw-tekst)}
/* „Asystent AI pisze…” pod ostatnią wiadomością */
#lcw .lcw-pisze{display:flex;align-items:center;gap:8px;margin-top:12px}
#lcw .lcw-pisze .lcw-awatar{width:26px;height:26px}
#lcw .lcw-pisze__kropki{display:inline-flex;align-items:center;gap:4px;padding:11px 13px;border-radius:16px 16px 16px 5px;
  background:var(--lcw-ai-tlo);border:1px solid var(--lcw-ai-linia)}
#lcw .lcw-pisze__kropki span{display:block;width:7px;height:7px;border-radius:50%;background:var(--lcw-ai-etykieta);opacity:.35;
  animation:lcw-kropki 1.2s ease-in-out infinite}
#lcw .lcw-pisze__kropki span:nth-child(2){animation-delay:.15s}
#lcw .lcw-pisze__kropki span:nth-child(3){animation-delay:.3s}
#lcw .lcw-podpowiedz{align-self:center;margin:14px 6px 2px;max-width:290px;font-size:12.5px;line-height:1.45;color:var(--lcw-tekst-3);text-align:center}
#lcw .lcw-info{align-self:stretch;margin:12px 0 4px;padding:9px 12px;border-radius:12px;font-size:12.5px;line-height:1.45;color:var(--lcw-tekst-2);
  background:var(--lcw-karta);border:1px dashed var(--lcw-linia);text-align:center}

/* załączniki w wiadomościach */
/* obraz na całą szerokość dymka (dymek sam ma najwyżej 86% okienka), wysokość z limitem; pełny obraz po kliknięciu */
#lcw .lcw-zal-obraz{display:block;position:relative;align-self:stretch;width:100%;min-width:180px;border-radius:11px;overflow:hidden;cursor:zoom-in;
  background:var(--lcw-tlo-2)}
#lcw .lcw-zal-obraz img{display:block;width:100%;height:auto;max-height:260px;object-fit:cover;object-position:center top}
#lcw .lcw-zal-plik{display:flex;align-items:center;gap:10px;min-height:44px;max-width:250px;padding:7px 12px 7px 9px;border-radius:12px;
  background:rgba(0,41,114,.06);color:inherit;text-align:left}
#lcw .lcw-wiad--gosc .lcw-zal-plik{background:rgba(255,255,255,.14)}
#lcw .lcw-zal-plik .lcw-ikona{width:22px;height:22px}
#lcw .lcw-zal-plik__tekst{display:flex;flex-direction:column;min-width:0}
#lcw .lcw-zal-plik__nazwa{font-weight:600;font-size:13px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#lcw .lcw-zal-plik__rozmiar{font-size:11.5px;opacity:.8}
#lcw .lcw-zal-postep{height:4px;border-radius:2px;background:rgba(255,255,255,.25);overflow:hidden}
#lcw .lcw-zal-postep span{display:block;height:100%;width:0;background:var(--lcw-pomarancz);transition:width .2s linear}

/* pastylka „Nowe wiadomości” nad polem */
#lcw .lcw-nowe{position:absolute;left:0;right:0;bottom:8px;width:max-content;margin:0 auto;display:flex;align-items:center;gap:6px;min-height:34px;
  padding:6px 14px 6px 12px;border-radius:999px;background:var(--lcw-granat);color:#fff;font:600 12.5px/1 var(--lcw-font);box-shadow:var(--lcw-cien);
  animation:lcw-wjazd .3s ease both;z-index:2}
#lcw .lcw-nowe .lcw-ikona{width:16px;height:16px}
#lcw .lcw-srodek{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}

/* pole odpowiedzi */
#lcw .lcw-formularz{flex:none;position:relative;padding:10px 12px;background:var(--lcw-karta);border-top:1px solid var(--lcw-linia)}
#lcw .lcw-blad{display:flex;align-items:flex-start;gap:8px;margin:0 2px 8px;padding:8px 10px;border-radius:10px;font-size:12.5px;line-height:1.4;
  color:var(--lcw-blad);background:var(--lcw-blad-tlo)}
#lcw .lcw-blad .lcw-ikona{width:16px;height:16px;margin-top:1px}
#lcw .lcw-pliki{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin}
#lcw .lcw-plik{position:relative;flex:none;width:64px;height:64px;border-radius:12px;background:var(--lcw-tlo);border:1px solid var(--lcw-linia);
  display:grid;place-items:center;overflow:hidden;color:var(--lcw-tekst-2)}
#lcw .lcw-plik img{width:100%;height:100%;object-fit:cover}
#lcw .lcw-plik__nazwa{position:absolute;left:0;right:0;bottom:0;padding:2px 4px;font-size:9.5px;line-height:1.25;text-align:center;
  background:rgba(255,255,255,.88);color:var(--lcw-tekst);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#lcw[data-motyw="ciemny"] .lcw-plik__nazwa{background:rgba(11,20,38,.85)}
#lcw .lcw-plik .lcw-ikona{width:24px;height:24px;margin-bottom:12px}
#lcw .lcw-plik__usun{position:absolute;top:2px;right:2px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:rgba(9,25,52,.72);color:#fff}
#lcw .lcw-plik__usun .lcw-ikona{width:14px;height:14px;margin:0;stroke-width:2.6}
#lcw .lcw-pole{display:flex;align-items:flex-end;gap:4px;padding:4px;border-radius:26px;background:var(--lcw-pole);border:1.5px solid var(--lcw-linia);
  transition:border-color .45s ease-in-out,box-shadow .45s ease-in-out}
#lcw .lcw-pole:focus-within{border-color:var(--lcw-niebieski);box-shadow:0 0 0 3px rgba(0,126,211,.18)}
#lcw .lcw-tekst{flex:1 1 auto;display:block;min-width:0;height:44px;min-height:44px;max-height:132px;padding:11px 4px 11px 2px;resize:none;overflow-y:auto;
  font:400 15px/1.45 var(--lcw-font);color:var(--lcw-tekst);background:transparent;cursor:text;user-select:text;-webkit-user-select:text}
#lcw .lcw-tekst::placeholder{color:var(--lcw-tekst-3);opacity:1}
#lcw .lcw-tekst:focus-visible{outline:0}
#lcw .lcw-zalacz{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--lcw-tekst-2);
  transition:background-color .45s ease-in-out,color .45s ease-in-out}
#lcw .lcw-zalacz:hover{background:var(--lcw-tlo);color:var(--lcw-granat)}
#lcw[data-motyw="ciemny"] .lcw-zalacz:hover{color:var(--lcw-tekst)}
#lcw .lcw-wyslij{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--lcw-pomarancz);color:var(--lcw-granat);
  transition:background-color .45s ease-in-out,color .45s ease-in-out,transform .2s ease}
#lcw .lcw-wyslij .lcw-ikona{width:21px;height:21px;stroke-width:2.4}
#lcw .lcw-wyslij:hover:not(:disabled){background:#F48A37}
#lcw .lcw-wyslij:active:not(:disabled){transform:scale(.94)}
#lcw .lcw-wyslij:disabled{background:var(--lcw-tlo-2);color:var(--lcw-tekst-3)}
#lcw .lcw-licznik-znakow{position:absolute;right:20px;top:-22px;padding:1px 8px;border-radius:999px;font-size:11px;line-height:18px;
  color:var(--lcw-tekst-2);background:var(--lcw-karta);border:1px solid var(--lcw-linia)}
#lcw .lcw-licznik-znakow--za-dlugo{color:var(--lcw-blad);border-color:var(--lcw-blad)}
#lcw .lcw-pulapka{position:absolute !important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0}

/* przeciąganie plików nad okienko */
#lcw .lcw-upusc{position:absolute;inset:8px;z-index:5;display:grid;place-items:center;align-content:center;gap:10px;padding:24px;border-radius:16px;
  border:2px dashed var(--lcw-niebieski);background:rgba(230,242,252,.95);color:var(--lcw-granat);font-weight:600;text-align:center;pointer-events:none}
#lcw[data-motyw="ciemny"] .lcw-upusc{background:rgba(14,42,72,.95);color:var(--lcw-tekst)}
#lcw .lcw-upusc .lcw-ikona{width:34px;height:34px}

/* podgląd obrazu (cały ekran) */
#lcw .lcw-podglad{position:fixed;inset:0;z-index:2147481002;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  padding:60px 16px 24px;background:rgba(5,13,30,.88);animation:lcw-pojaw-tlo .25s ease both}
#lcw .lcw-podglad img{max-width:min(1200px,100%);max-height:calc(100vh - 140px);object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#lcw .lcw-podglad__opis{max-width:min(800px,100%);font-size:13px;color:rgba(255,255,255,.85);text-align:center;overflow-wrap:anywhere}
#lcw .lcw-podglad__zamknij{position:absolute;top:12px;right:12px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.14)}
#lcw .lcw-podglad__zamknij:hover{background:rgba(255,255,255,.24)}

/* ---------- telefon: okienko jako arkusz na prawie cały ekran ---------- */
@media (max-width:599px){
  #lcw .lcw-tlo{position:fixed;inset:0;z-index:2147480999;background:rgba(9,25,52,.5);animation:lcw-pojaw-tlo .3s ease both}
  #lcw[data-stan="otwarte"] .lcw-tlo{display:block}
  #lcw .lcw-okno{
    left:0;right:0;bottom:auto;width:auto;max-width:none;border-radius:20px 20px 0 0;
    top:calc(var(--lcw-vv-gora,0px) + 10px + env(safe-area-inset-top,0px));
    height:calc(var(--lcw-vv-wys,100vh) - 10px - env(safe-area-inset-top,0px));max-height:none;
    transform-origin:50% 100%;animation-name:lcw-arkusz;animation-duration:.4s;
  }
  @supports (height:100dvh){#lcw .lcw-okno{height:calc(var(--lcw-vv-wys,100dvh) - 10px - env(safe-area-inset-top,0px))}}
  #lcw .lcw-okno--nisko{bottom:auto}
  #lcw[data-stan="otwarte"] .lcw-wyrzutnia{visibility:hidden}
  #lcw .lcw-naglowek{padding-top:16px;touch-action:none}
  #lcw .lcw-tekst{font-size:16px}
  #lcw .lcw-formularz{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  /* dymek obok przycisku (na lewo, wyrównany do jego dołu), a nie nad nim: zasłania tylko pas przy dole ekranu */
  #lcw .lcw-dymek{right:calc(100% + 12px);bottom:0;max-width:min(290px,calc(100vw - var(--lcw-prawo) - var(--lcw-rozmiar) - 28px));
    border-radius:16px 16px 6px 16px;transform-origin:100% 80%}
  #lcw .lcw-dymek::after{right:-6px;bottom:calc(var(--lcw-rozmiar) / 2 - 7px);border-radius:0 4px 0 0}
  #lcw .lcw-dymek__tresc{padding:10px 42px 11px 13px;gap:2px}
  #lcw .lcw-dymek__tekst{font-size:14px;line-height:1.4;-webkit-line-clamp:3}
  #lcw .lcw-dymek__zamknij{width:40px;height:40px;top:1px;right:1px}
  #lcw .lcw-dymek__zamknij::after{content:"";position:absolute;inset:-2px}
}

/* ---------- animacje ---------- */
@keyframes lcw-pojaw{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@keyframes lcw-pojaw-tlo{from{opacity:0}to{opacity:1}}
@keyframes lcw-wjazd{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes lcw-wyjazd{from{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.97)}}
@keyframes lcw-okno{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes lcw-arkusz{from{transform:translateY(100%)}to{transform:none}}
@keyframes lcw-machanie{0%,100%{transform:rotate(0)}12%{transform:rotate(18deg)}26%{transform:rotate(-9deg)}40%{transform:rotate(16deg)}54%{transform:rotate(-5deg)}68%{transform:rotate(10deg)}82%{transform:rotate(0)}}
@keyframes lcw-kropki{0%,80%,100%{opacity:.35;transform:none}40%{opacity:1;transform:translateY(-3px)}}
@keyframes lcw-kolysanie{0%,100%{transform:rotate(0)}18%{transform:rotate(-8deg)}36%{transform:rotate(7deg)}54%{transform:rotate(-4deg)}72%{transform:rotate(2deg)}}

@media (prefers-reduced-motion:reduce){
  #lcw *,#lcw *::before,#lcw *::after{animation:none !important;transition:none !important}
}
@media print{#lcw{display:none !important}}
