/* Superwiertnik w prezentacji: postać w rogu + okno kalkulatorów HDD.
   Paleta zgodna z deckiem (granat, papier, złoto, czerwień AGH). */
:root{--sw-navy:#152732;--sw-navy2:#1c3342;--sw-navy3:#24404f;--sw-paper:#f3f2ec;--sw-ink:#182b36;--sw-gold:#e3b87e;--sw-red:#a71930;--sw-ok:#3f8f5a;--sw-warn:#d08a2b;--sw-bad:#c2364a;--sw-muted:#8ea1ab;--sw-line:#38525f}

/* ── POSTAĆ ─────────────────────────────────────────────── */
#sw-fig{position:fixed;right:1.2vw;bottom:0;height:min(40vh,470px);aspect-ratio:512/1000;z-index:15;cursor:pointer;display:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));-webkit-tap-highlight-color:transparent}
#sw-fig.on{display:block;animation:sw-wejscie 1.1s cubic-bezier(.2,.9,.25,1.15) both}
#sw-fig.off-anim{animation:sw-wyjscie .45s ease-in both}
@keyframes sw-wejscie{0%{transform:translateX(130%) rotate(4deg);opacity:0}60%{opacity:1}80%{transform:translateX(-4%) rotate(-1.5deg)}100%{transform:none}}
@keyframes sw-wyjscie{to{transform:translateX(130%);opacity:0}}
#sw-fig:focus-visible{outline:3px solid var(--sw-gold);outline-offset:4px;border-radius:12px}

.swf{position:relative;width:100%;height:100%}
.swf img{position:absolute;left:0;width:100%;user-select:none;-webkit-user-drag:none;pointer-events:none}
.swf .swf-legs{top:0;height:100%}
/* górna połowa (awatar 512×512) — oddycha i kołysze się wokół pasa */
.swf .swf-gora{position:absolute;left:0;top:0;width:100%;aspect-ratio:1;transform-origin:50% 100%;animation:sw-oddech 4.2s ease-in-out infinite}
.swf .swf-gora img{top:0;height:100%}
@keyframes sw-oddech{0%,100%{transform:scale(1,1) rotate(0)}30%{transform:scale(1.006,1.014) rotate(-.6deg)}65%{transform:scale(1.003,1.006) rotate(.55deg)}}
.swf .ava-lamp{animation:sw-lampa 2.6s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,230,120,.85))}
@keyframes sw-lampa{0%,100%{opacity:1}50%{opacity:.72}}
.swf.mysli .ava-lamp{animation-duration:.7s}
.swf.mysli .swf-gora{animation:sw-mysli 2.4s ease-in-out infinite}
@keyframes sw-mysli{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.8deg) translateY(-.4%)}}
.swf.mowi .swf-gora{animation:sw-mowi 1.6s ease-in-out infinite}
@keyframes sw-mowi{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(.8deg) scale(1.004)}75%{transform:rotate(-.8deg) scale(1.006)}}
#sw-fig:hover .swf .swf-gora{animation:sw-hej .9s ease-in-out infinite}
@keyframes sw-hej{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(-2deg) translateY(-1.2%)}}

/* dymek nad głową */
.sw-dymek{position:absolute;right:30%;bottom:97%;min-width:220px;max-width:280px;background:var(--sw-paper);color:var(--sw-ink);font:600 16px/1.35 Manrope,Arial,sans-serif;padding:12px 15px;border-radius:14px 14px 4px 14px;box-shadow:0 10px 26px rgba(0,0,0,.35);opacity:0;transform:translateY(8px) scale(.96);transition:opacity .35s,transform .35s;pointer-events:none}
.sw-dymek b{color:var(--sw-red)}
#sw-fig.dymek .sw-dymek,#sw-fig:hover .sw-dymek{opacity:1;transform:none}
/* pożegnanie na ostatnim slajdzie */
.sw-dymek-koniec{position:absolute;right:62%;bottom:58%;width:min(46vw,640px);background:var(--sw-paper);color:var(--sw-ink);font:750 clamp(30px,3.6vw,58px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.02em;padding:.6em .75em;border-radius:28px 28px 6px 28px;box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:0;transform:translateY(14px) scale(.9);transform-origin:100% 100%;transition:opacity .5s,transform .6s cubic-bezier(.2,.9,.25,1.2);pointer-events:none;text-align:center}
#sw-fig.koniec .sw-dymek-koniec{opacity:1;transform:none;transition-delay:2s}
/* na pożegnanie postać powoli (4 s) rośnie o 100% (skala 2), zakotwiczona w prawym dolnym rogu; dymek skaluje się razem z nią */
#sw-fig{transform-origin:100% 100%;transition:scale 4s cubic-bezier(.45,0,.25,1)}
#sw-fig.koniec{scale:2}
#sw-fig.koniec .sw-dymek-koniec{width:min(23vw,320px);font-size:clamp(15px,1.8vw,29px);border-radius:14px 14px 3px 14px}
#sw-fig.koniec .sw-dymek{opacity:0!important}

/* ── OKNO ───────────────────────────────────────────────── */
#sw-modal{width:min(94vw,1680px);height:min(90vh,1000px);max-width:none;max-height:none;padding:0;border:1px solid var(--sw-line);border-radius:18px;background:var(--sw-navy);color:#e8eef0;font-family:Manrope,Arial,sans-serif;box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:hidden}
#sw-modal::backdrop{background:rgba(6,12,17,.72);backdrop-filter:blur(3px)}
#sw-modal[open]{animation:sw-okno .35s cubic-bezier(.2,.9,.3,1) both}
@keyframes sw-okno{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.sw-szkielet{display:grid;grid-template-columns:250px minmax(0,1fr) minmax(360px,30%);grid-template-rows:auto minmax(0,1fr);height:100%}
.sw-naglowek{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--sw-line);background:linear-gradient(90deg,#10202a,var(--sw-navy))}
.sw-naglowek .sw-mini{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#0f1d26;border:2px solid var(--sw-gold);flex:none;position:relative}
.sw-naglowek .sw-mini img{position:absolute;width:150%;left:-25%;top:-6%}
.sw-naglowek h2{margin:0;font-size:22px;font-weight:800;letter-spacing:.01em}
.sw-naglowek p{margin:2px 0 0;color:var(--sw-muted);font-size:14px}
.sw-zamknij{margin-left:auto;background:none;border:1px solid var(--sw-line);color:#e8eef0;width:42px;height:42px;border-radius:10px;font-size:24px;cursor:pointer}
.sw-zamknij:hover{background:var(--sw-navy3)}

.sw-lista{border-right:1px solid var(--sw-line);padding:14px 12px;overflow:auto;display:flex;flex-direction:column;gap:6px}
.sw-lista h3{margin:6px 8px 4px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sw-gold);font-weight:700}
.sw-lista button{display:flex;gap:11px;align-items:center;text-align:left;background:none;border:1px solid transparent;color:#dfe7ea;padding:10px 11px;border-radius:10px;font:600 15px/1.25 Manrope,Arial,sans-serif;cursor:pointer}
.sw-lista button span.ik{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--sw-navy3);font-size:15px}
.sw-lista button small{display:block;color:var(--sw-muted);font-weight:500;font-size:12px;margin-top:2px}
.sw-lista button:hover{background:var(--sw-navy2)}
.sw-lista button.akt{background:var(--sw-navy3);border-color:var(--sw-gold)}

.sw-kalk{overflow:auto;padding:20px 26px 26px;min-width:0}
.sw-kalk h3{margin:0;font-size:26px;font-weight:800}
.sw-kalk .opis{color:#b8c7cd;margin:6px 0 16px;font-size:15px;line-height:1.5;max-width:75ch}
.sw-pola{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px 14px;margin-bottom:18px}
.sw-pola label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#b8c7cd;font-weight:600}
.sw-pola input,.sw-pola select{background:#0f1d26;border:1px solid var(--sw-line);color:#fff;border-radius:8px;padding:9px 10px;font:600 17px Manrope,Arial,sans-serif;font-variant-numeric:tabular-nums;width:100%;box-sizing:border-box}
.sw-pola input:focus{outline:2px solid var(--sw-gold);border-color:transparent}
.sw-pola .chk{flex-direction:row;align-items:center;gap:8px;padding-top:22px}
.sw-pola .chk input{width:18px;height:18px}
.sw-wzory{background:var(--sw-paper);color:var(--sw-ink);border-radius:12px;padding:12px 18px;margin-bottom:16px;overflow-x:auto}
.sw-wzory .katex-display{margin:.55em 0}
.sw-wzory .katex{font-size:1.18em}
.sw-wyniki{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:14px}
.sw-kafel{background:var(--sw-navy2);border:1px solid var(--sw-line);border-radius:12px;padding:11px 14px}
.sw-kafel .et{font-size:12px;color:var(--sw-muted);font-weight:700;letter-spacing:.04em}
.sw-kafel .wa{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:3px}
.sw-kafel .wa small{font-size:14px;color:#b8c7cd;font-weight:600;margin-left:4px}
.sw-kafel.ok{border-color:var(--sw-ok);background:#1d3a2c}
.sw-kafel.warn{border-color:var(--sw-warn);background:#3d3020}
.sw-kafel.bad{border-color:var(--sw-bad);background:#3f1f27}
.sw-werdykt{padding:11px 15px;border-radius:10px;font-weight:700;margin-bottom:14px;font-size:15px}
.sw-werdykt.ok{background:#1d3a2c;color:#bfe8cb}.sw-werdykt.warn{background:#3d3020;color:#f5d6a6}.sw-werdykt.bad{background:#3f1f27;color:#f6c2ca}
.sw-wynikowe.z-rys{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:14px;align-items:start}
.sw-wynikowe.z-rys .sw-wyniki{grid-template-columns:repeat(2,minmax(0,1fr))}
.sw-kafel.maly .wa{font-size:19px}
.sw-kafel .et sub{font-size:.8em}
.sw-uwaga{color:var(--sw-muted);font-size:13px;line-height:1.45;margin:8px 0 0;max-width:90ch}
.sw-rys{background:#0f1d26;border:1px solid var(--sw-line);border-radius:12px;padding:8px;margin-bottom:14px}
.sw-rys svg{display:block;width:100%;height:auto}
.sw-pytaj{display:inline-flex;align-items:center;gap:9px;background:var(--sw-gold);color:#1a1a1a;border:0;border-radius:10px;padding:11px 16px;font:800 15px Manrope,Arial,sans-serif;cursor:pointer}
.sw-pytaj:hover{filter:brightness(1.07)}
.sw-pytaj:disabled{opacity:.5;cursor:wait}

/* ── CZAT ───────────────────────────────────────────────── */
.sw-czat{border-left:1px solid var(--sw-line);display:flex;flex-direction:column;min-width:0;background:#11212b}
.sw-czat-gora{flex:none;display:flex;align-items:flex-end;gap:12px;padding:10px 16px 0;border-bottom:1px solid var(--sw-line);height:150px;overflow:hidden}
.sw-czat-gora .swf{width:78px;height:152px;flex:none;margin-bottom:-2px}
.sw-czat-gora .stan{padding-bottom:16px}
.sw-czat-gora .stan b{display:block;font-size:17px}
.sw-czat-gora .stan span{color:var(--sw-muted);font-size:13px}
.sw-czat-gora .stan span.online{color:#9fd8b0}
.sw-czat-gora .stan span.offline{color:#f1a9b3}
.sw-wiad{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.sw-w{max-width:94%;padding:10px 13px;border-radius:12px;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.sw-w.ja{align-self:flex-end;background:var(--sw-navy3);border-bottom-right-radius:4px;white-space:pre-wrap}
.sw-w.on{align-self:flex-start;background:var(--sw-paper);color:var(--sw-ink);border-bottom-left-radius:4px}
.sw-w p,.sw-w li,.sw-w ul,.sw-w ol{font-size:inherit;line-height:inherit}
.sw-w.on p{margin:.35em 0}.sw-w.on ul,.sw-w.on ol{margin:.35em 0;padding-left:1.25em}
.sw-w.on code{background:#e3e1d6;padding:0 4px;border-radius:4px}
.sw-w.on .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}
.sw-w.on .katex{font-size:1.08em}
.sw-w.blad{background:#3f1f27;color:#f6c2ca}
.sw-w.myslenie{align-self:flex-start;background:var(--sw-navy2);color:#b8c7cd;font-style:italic}
.sw-kropki span{display:inline-block;animation:sw-kropka 1.2s infinite}
.sw-kropki span:nth-child(2){animation-delay:.2s}.sw-kropki span:nth-child(3){animation-delay:.4s}
@keyframes sw-kropka{0%,100%{opacity:.2}50%{opacity:1}}
.sw-chipy{display:flex;flex-wrap:wrap;gap:6px;padding:4px 16px 8px}
.sw-haslo{padding:12px 16px;border-bottom:1px solid var(--sw-line);background:#16303d}
.sw-haslo label{display:flex;flex-direction:column;gap:7px;font:700 14px Manrope,Arial,sans-serif;color:var(--sw-gold)}
.sw-haslo span{display:flex;gap:8px}
.sw-haslo input{flex:1;min-width:0;background:#0f1d26;border:1px solid var(--sw-line);color:#fff;border-radius:8px;padding:9px 10px;font:600 16px Manrope,Arial,sans-serif}
.sw-haslo button{background:var(--sw-gold);border:0;border-radius:8px;padding:0 14px;font:800 14px Manrope,Arial,sans-serif;cursor:pointer}
.sw-haslo small{color:#f1a9b3;font-size:13px;min-height:1em;margin-top:5px;display:block}
.sw-chipy.zwiniete{display:none}
.sw-chipy-przel{align-self:flex-start;margin:6px 16px 0;background:none;border:0;color:var(--sw-gold);font:700 13px Manrope,Arial,sans-serif;cursor:pointer;padding:2px 0}
.sw-chipy button{background:none;border:1px solid var(--sw-line);color:#cfdbe0;border-radius:999px;padding:6px 11px;font:600 13px Manrope,Arial,sans-serif;cursor:pointer;text-align:left}
.sw-chipy button:hover{border-color:var(--sw-gold);color:#fff}
.sw-form{display:flex;gap:8px;padding:10px 16px 16px;border-top:1px solid var(--sw-line)}
.sw-form textarea{flex:1;min-width:0;resize:none;height:54px;background:#0f1d26;border:1px solid var(--sw-line);color:#fff;border-radius:10px;padding:9px 11px;font:500 15px/1.35 Manrope,Arial,sans-serif}
.sw-form textarea:focus{outline:2px solid var(--sw-gold);border-color:transparent}
.sw-form button{background:var(--sw-gold);border:0;border-radius:10px;padding:0 16px;font:800 15px Manrope,Arial,sans-serif;cursor:pointer;color:#1a1a1a}
.sw-form button:disabled{opacity:.5;cursor:wait}

/* czat poszerzony na miejsce kalkulatora */
.sw-poszerz{margin-left:auto;align-self:center;margin-bottom:6px;background:var(--sw-navy3);color:#dfe7ea;border:1px solid var(--sw-line);border-radius:9px;padding:7px 12px;font:600 13px/1 Manrope,Arial,sans-serif;cursor:pointer;white-space:nowrap}
.sw-poszerz:hover{border-color:var(--sw-gold)}
.sw-poszerz[aria-pressed="true"]{border-color:var(--sw-gold);color:var(--sw-gold)}
.sw-szkielet.szeroki{grid-template-columns:250px 0 minmax(0,1fr)}
.sw-szkielet.szeroki .sw-kalk{display:none}
.sw-szkielet.szeroki .sw-czat{grid-column:2/4}
.sw-szkielet.szeroki .sw-wiad{padding-inline:clamp(16px,4vw,64px)}
.sw-szkielet.szeroki .sw-w{font-size:19px;max-width:min(1100px,92%)}
.sw-szkielet.szeroki .sw-form{padding-inline:clamp(16px,4vw,64px)}
@media (max-height:820px){.sw-czat-gora{height:112px}.sw-czat-gora .swf{width:58px;height:113px}.sw-chipy button{font-size:12px;padding:5px 9px}.sw-w{font-size:14px}.sw-kalk h3{font-size:22px}}
@media (max-width:1100px){.sw-szkielet.szeroki{grid-template-columns:200px minmax(0,1fr)}.sw-szkielet.szeroki .sw-czat{grid-column:1/-1}.sw-szkielet{grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 46%}.sw-czat{grid-column:1/-1;border-left:0;border-top:1px solid var(--sw-line)}.sw-czat-gora{height:90px}.sw-czat-gora .swf{width:46px;height:90px}}
body.is-print #sw-fig{display:none!important}
