/* Ubyo — SVÁTEČNÍ MOTIVY přihlášení (20. 10. 2026). GENEROVÁNO web/tools/svatky/build_svatky.py — ručně neupravovat.
   Logika a popis: assets/svatky.js. Třídy motivu (m-hal, m-van, m-van m-mik, m-sil, m-vel, m-car, m-car m-maj) nese .lg scény
   i .px-intro úvodní animace, osobní okamžik o-jm / o-vyr jen .px-intro. */
/* --- SVÁTEČNÍ MOTIVY (návrh 20. 10. 2026): jen dekorace navíc, scéna beze změny ===== */
.dz,.sz,.iz{display:none}
.m-hal .dz-hal,.m-van .dz-van,.m-sil .dz-sil,.m-vel .dz-vel,.m-van .dz-snow,.m-sil .dz-snow{display:inline}
.m-hal .sz-hal,.m-van .sz-van,.m-sil .sz-sil,.m-vel .sz-vel,.m-hal .iz-hal,.m-van .iz-van,.m-sil .iz-sil,.m-vel .iz-vel{display:block}
.m-van .lg-street .t1{display:none}
.sz{position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;overflow:hidden}
.lg-going .sz{opacity:0;transition:opacity .6s}
@keyframes dzTw{0%,100%{opacity:1}50%{opacity:.3}}

/* sníh */
.lg-street .sn{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.lg-street .sn.w5{stroke-width:5}.lg-street .sn.thin{stroke-width:3}
.lg-street .snd{fill:#fff}
.lg-street .snb{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.78}
.lg-rano .lg-street .sn,.lg-rano .lg-street .snb{stroke:#f7f5ff}.lg-rano .lg-street .snd{fill:#f7f5ff}
.lg-vecer .lg-street .sn,.lg-vecer .lg-street .snb{stroke:#cbc4ea}.lg-vecer .lg-street .snd{fill:#cbc4ea}
.lg-noc .lg-street .sn,.lg-noc .lg-street .snb{stroke:#93a2d6}.lg-noc .lg-street .snd{fill:#93a2d6}
.lg-noc .lg-street .snb{opacity:.55}
/* vločky = .sv-fl (ne .fl — to je štítek pole v celé aplikaci; kolize 20. 10. 2026 vynesla štítek „Rok“ nad kartu Poplatků) */
.sv-fl{position:absolute;top:-3%;border-radius:50%;background:#fff;animation-name:flY,flX;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite;animation-direction:normal,alternate}
.sv-fl.fr{filter:blur(.6px)}
.lg-den .sv-fl,.lg-rano .sv-fl{box-shadow:0 0 3px rgba(60,90,160,.5)}
@keyframes flY{from{top:-3%}to{top:103%}}
@keyframes flX{from{transform:translateX(-9px)}to{transform:translateX(9px)}}

/* Vánoce: světýlka, strom, věnec */
.lg-street .lc{fill:#fff3cf}
.lg-vecer .lg-street .lc,.lg-noc .lg-street .lc{fill:#ffd98a}
.lg-vecer .lg-street .lcg,.lg-noc .lg-street .lcg{filter:drop-shadow(0 0 2.5px rgba(255,205,120,.95))}
.lg-street .tw{animation:dzTw 2.6s ease-in-out infinite}.lg-street .tw2{animation-delay:-1.3s}
.lg-street .lw{fill:none;stroke:rgba(30,40,80,.35);stroke-width:.7}
.lg-vecer .lg-street .lw,.lg-noc .lg-street .lw{stroke:rgba(0,0,0,.45)}
.lg-street .hl{opacity:.22;transition:opacity .35s}
.lg-ready .lg-street .hl{opacity:1}
.lg-street .ct{fill:#5d88b6}.lg-rano .lg-street .ct{fill:#8a9fcb}.lg-vecer .lg-street .ct{fill:#1d2f4f}.lg-noc .lg-street .ct{fill:#0c2134}
.lg-street .cst{fill:#ffd36b}
.lg-street .cgl{opacity:0}.lg-vecer .lg-street .cgl,.lg-noc .lg-street .cgl{opacity:1}
.lg-street .tl{animation:dzTw 2.2s ease-in-out infinite}
.lg-street .tl:nth-of-type(3n){animation-delay:-.7s}.lg-street .tl:nth-of-type(3n+1){animation-delay:-1.5s}
.lg-street .wr{fill:none;stroke:#3f7a52;stroke-width:3.4}
.lg-vecer .lg-street .wr,.lg-noc .lg-street .wr{stroke:#2a5a40}
.lg-street .wrb,.lg-street .wbw{fill:#d64545}
.lg-noc .lg-street .wrb,.lg-noc .lg-street .wbw{fill:#a8333b}

/* Silvestr: zlatá a stříbrná světýlka, girlanda s letopočtem, ohňostroj */
.lg-street .gc{fill:#e9b84a}.lg-street .sc{fill:#f3f6fb}
.lg-vecer .lg-street .gc,.lg-noc .lg-street .gc{fill:#ffd36b}
.lg-street .bnt{fill:none;stroke:#6f7db0;stroke-width:1}
.lg-vecer .lg-street .bnt,.lg-noc .lg-street .bnt{stroke:#8a92c0}
.lg-street .flg-g{fill:#f2c45a}.lg-street .flg-s{fill:#e4e9f2}
.lg-vecer .lg-street .flg-g{fill:#e0b14b}.lg-vecer .lg-street .flg-s{fill:#c6ccdc}
.lg-noc .lg-street .flg-g{fill:#d8a943}.lg-noc .lg-street .flg-s{fill:#aab3c9}
.lg-street .flt{font:700 9px 'Albert Sans',-apple-system,sans-serif;fill:#2a2440;text-anchor:middle}
.lg-street .flg{transform-box:fill-box;transform-origin:50% 0;animation:flgS 2.8s ease-in-out infinite alternate}
@keyframes flgS{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
.fw{position:absolute;width:0;height:0}
.fw span{position:absolute;left:0;top:0;width:0;height:0}
.fw i{position:absolute;left:-1.5px;top:-5px;width:3px;height:10px;border-radius:2px;background:currentColor;opacity:0;animation:fwP 5s cubic-bezier(.12,.6,.3,1) infinite}
.fw span.gl i{left:-1px;width:2px;height:6px;background:#fff6dc;animation-name:fwG}
.fw b{position:absolute;left:-1.5px;top:0;width:3px;height:16px;border-radius:2px;background:linear-gradient(currentColor,rgba(255,255,255,0));opacity:0;animation:fwR 5s ease-out infinite}
@keyframes fwR{0%{opacity:0;transform:translateY(190px)}2%{opacity:1}20%{opacity:1;transform:translateY(0)}22%,100%{opacity:0;transform:translateY(0)}}
@keyframes fwP{0%,20%{opacity:0;transform:translateY(0) scaleY(.3)}22%{opacity:1;transform:translateY(-10px) scaleY(1)}50%{opacity:.9}72%,100%{opacity:0;transform:translateY(-66px) scaleY(.4)}}
@keyframes fwG{0%,24%{opacity:0;transform:translateY(0)}28%{opacity:1}42%{opacity:.1}50%{opacity:1}64%,100%{opacity:0;transform:translateY(-38px)}}
.lg-den .fw,.lg-rano .fw{filter:saturate(2.2) brightness(.62) contrast(1.15)}
.lg-den .fw i,.lg-rano .fw i{width:3.6px;height:12px}
.fw.n0 i,.fw.n0 b{animation-duration:5.2s;animation-delay:-.6s}
.fw.n1 i,.fw.n1 b{animation-duration:6s;animation-delay:-3.1s}
.fw.n2 i,.fw.n2 b{animation-duration:5.6s;animation-delay:-1.9s}
.fw.n3 i,.fw.n3 b{animation-duration:6.4s;animation-delay:-4.4s}
.fw.n4 i,.fw.n4 b{animation-duration:5s;animation-delay:-2.6s}
.fw .r0{transform:rotate(0deg)}.fw .r1{transform:rotate(25.71deg)}.fw .r2{transform:rotate(51.43deg)}.fw .r3{transform:rotate(77.14deg)}.fw .r4{transform:rotate(102.86deg)}.fw .r5{transform:rotate(128.57deg)}.fw .r6{transform:rotate(154.29deg)}.fw .r7{transform:rotate(180deg)}.fw .r8{transform:rotate(205.71deg)}.fw .r9{transform:rotate(231.43deg)}.fw .r10{transform:rotate(257.14deg)}.fw .r11{transform:rotate(282.86deg)}.fw .r12{transform:rotate(308.57deg)}.fw .r13{transform:rotate(334.29deg)}.fw .g0{transform:rotate(22.5deg)}.fw .g1{transform:rotate(67.5deg)}.fw .g2{transform:rotate(112.5deg)}.fw .g3{transform:rotate(157.5deg)}.fw .g4{transform:rotate(202.5deg)}.fw .g5{transform:rotate(247.5deg)}.fw .g6{transform:rotate(292.5deg)}.fw .g7{transform:rotate(337.5deg)}

/* Halloween: dýně, netopýři, pavučiny, duch, kočka, oranžový úplněk */
.lg-street .pk{fill:#e8782a}.lg-street .pk2{fill:#f59a45}.lg-street .pks{fill:#5c7a3a}
.lg-street .pf{fill:#6b2c0e;transition:fill .8s}
.lg-street .pg{opacity:0;transition:opacity .8s}
.lg-vecer .lg-street .pk{fill:#c8601e}.lg-vecer .lg-street .pk2{fill:#df7a2e}
.lg-noc .lg-street .pk{fill:#a24c18}.lg-noc .lg-street .pk2{fill:#bf6220}.lg-noc .lg-street .pks{fill:#2c3d22}
.lg-vecer .lg-street .pf,.lg-noc .lg-street .pf,.lg-ready .lg-street .pk-me .pf{fill:#ffd36b}
.lg-vecer .lg-street .pg{opacity:.75}.lg-noc .lg-street .pg,.lg-ready .lg-street .pk-me .pg{opacity:1}
.lg-street .web{fill:none;stroke:rgba(255,255,255,.9);stroke-width:.8}
.lg-vecer .lg-street .web,.lg-noc .lg-street .web{stroke:rgba(205,215,255,.5)}
.lg-street .spt{stroke:rgba(255,255,255,.8);stroke-width:.6}
.lg-street .spd{fill:#2a2340}.lg-street .spl{fill:none;stroke:#2a2340;stroke-width:.8}
.lg-noc .lg-street .spd,.lg-vecer .lg-street .spd{fill:#a39dc9}.lg-noc .lg-street .spl,.lg-vecer .lg-street .spl{stroke:#a39dc9}
.lg-street .sp{animation:spB 3.4s ease-in-out infinite}
@keyframes spB{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.lg-street .gw{fill:#2c3558}.lg-vecer .lg-street .gw,.lg-noc .lg-street .gw{fill:#ffb45a}
.lg-street .gh{fill:#fff}.lg-noc .lg-street .gh{fill:#fff6e6}
.lg-street .ghe{fill:#2c3558}
.lg-street .ghg{animation:ghF 2.8s ease-in-out infinite}
@keyframes ghF{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.lg-street .cat{fill:#1f1830}.lg-vecer .lg-street .cat{fill:#0e0c1f}.lg-noc .lg-street .cat{fill:#03050f}
.lg-street .ctt{fill:none;stroke:#1f1830;stroke-width:2.2;stroke-linecap:round;transform-box:fill-box;transform-origin:0% 100%;animation:ctT 3.2s ease-in-out infinite}
.lg-vecer .lg-street .ctt{stroke:#0e0c1f}.lg-noc .lg-street .ctt{stroke:#03050f}
@keyframes ctT{0%,100%{transform:rotate(0)}50%{transform:rotate(-14deg)}}
.lg-street .cte{fill:#ffd36b}
.lg.m-hal.lg-ready .lg-street .hw{fill:#ffb45a}
.lg.m-hal.lg-moon .lg-orb{width:78px;height:78px;box-shadow:none;background:radial-gradient(circle at 42% 40%,#fff3d6 0%,#ffd99a 45%,#f2a85a 85%,#e8954a 100%);filter:drop-shadow(0 0 28px rgba(255,170,90,.55))}
.bat,.brd{position:absolute;left:-6%;animation:batX 26s linear infinite}
.bat.rv,.brd.rv{animation-name:batXr}
.bat svg,.brd svg,.ibat svg{display:block;width:100%;height:auto;overflow:visible}
.bat svg{animation:batB 2.6s ease-in-out infinite}
.bat path,.ibat path{fill:#3b2f5c;transform-box:fill-box;transform-origin:50% 40%;animation:batW .3s ease-in-out infinite alternate}
.lg-den .bat path,.lg-rano .bat path{opacity:.82}
.lg-vecer .bat path{fill:#1c1533}.lg-noc .bat path{fill:#5a4a8e}
@keyframes batX{from{left:-6%}to{left:106%}}
@keyframes batXr{from{left:106%}to{left:-6%}}
@keyframes batB{0%,100%{transform:translateY(0)}50%{transform:translateY(16px)}}
@keyframes batW{from{transform:scaleY(1)}to{transform:scaleY(.3)}}

/* Velikonoce: rozkvetlé stromy s kraslicemi, záhony, truhlíky, pomlázka, vlaštovky */
.lg-street .blf{fill:#a9dc8c}
.lg-vecer .lg-street .bls{opacity:.82}.lg-noc .lg-street .bls{opacity:.62}
.lg-street .eg{transform-box:fill-box;transform-origin:50% 0;animation:egS 3.2s ease-in-out infinite alternate}
.lg-street .eg:nth-of-type(2n){animation-delay:-1.6s}
@keyframes egS{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
.lg-street .egt{stroke:rgba(70,80,120,.55);stroke-width:.7}
.lg-vecer .lg-street .egt,.lg-noc .lg-street .egt{stroke:rgba(220,225,255,.45)}
.lg-street .egb{fill:none;stroke:#fff;stroke-width:1;opacity:.9}
.lg-noc .lg-street .eg,.lg-noc .lg-street .flw{opacity:.72}
.lg-street .stm{fill:none;stroke:#5f9a4a;stroke-width:1.5;stroke-linecap:round}
.lg-street .lf{fill:#6aa653}
.lg-vecer .lg-street .stm{stroke:#34503f}.lg-vecer .lg-street .lf{fill:#34503f}
.lg-noc .lg-street .stm{stroke:#25402f}.lg-noc .lg-street .lf{fill:#25402f}
.lg-street .bed{fill:#8cc276}.lg-rano .lg-street .bed{fill:#9cc98a}.lg-vecer .lg-street .bed{fill:#2e4a3e}.lg-noc .lg-street .bed{fill:#17302a}
.lg-street .wbx{fill:#b98552}.lg-vecer .lg-street .wbx{fill:#5a3f2e}.lg-noc .lg-street .wbx{fill:#3b2a20}
.lg-street .wbf{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.12);opacity:.4;transition:transform .9s cubic-bezier(.3,1.4,.5,1),opacity .4s}
.lg-ready .lg-street .wbf{transform:scaleY(1);opacity:1}
.lg-street .pom{fill:none;stroke:#c39a5e;stroke-width:2.8;stroke-linecap:round}
.lg-street .pomb{fill:none;stroke:#8a5f2e;stroke-width:.9}
.lg-noc .lg-street .pom{stroke:#6d5434}
.lg-street .rib{fill:none;stroke-width:1.8;stroke-linecap:round;transform-box:fill-box;transform-origin:0 0;animation:ribF 1.7s ease-in-out infinite alternate}
@keyframes ribF{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}
.lg-street .bfm{animation:bfM 7s ease-in-out infinite}
.lg-street .bfw{transform-box:fill-box;transform-origin:50% 50%;animation:bfW .2s ease-in-out infinite alternate}
@keyframes bfM{0%,100%{transform:translate(0,0)}25%{transform:translate(11px,-7px)}50%{transform:translate(24px,-2px)}75%{transform:translate(11px,4px)}}
@keyframes bfW{from{transform:scaleX(1)}to{transform:scaleX(.3)}}
.lg-noc .lg-street .bfy{display:none}
.brd svg{animation:batB 3.4s ease-in-out infinite}
.brd path{fill:none;stroke:#2f3d6b;stroke-width:1.8;stroke-linecap:round;transform-box:fill-box;transform-origin:50% 100%;animation:brW .5s ease-in-out infinite alternate}
.lg-vecer .brd path{stroke:#1d1838}.lg-noc .sz-vel{display:none}
@keyframes brW{to{transform:scaleY(.4)}}
.ptl{position:absolute;top:-4%;width:9px;height:6px;border-radius:70% 0 70% 0;animation-name:flY,ptR;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite;animation-direction:normal,alternate}
@keyframes ptR{from{transform:translateX(-14px) rotate(-30deg)}to{transform:translateX(14px) rotate(60deg)}}

/* Rozsvícení po přihlášení: jen barva jisker a jeden prvek motivu, logo beze změny */
.iz{position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;overflow:hidden;opacity:0;animation:svFade .6s ease 1.1s forwards}
.m-hal .pxi-sp{fill:#ffb45c}.m-van .pxi-sp{fill:#eaf3ff}.m-sil .pxi-sp{fill:#ffd36b}.m-vel .pxi-sp{fill:#ffc4d8}
.ibat{position:absolute;left:50%;top:46%;width:46px;margin:-11px 0 0 -23px;opacity:0;animation:ib1 1.8s cubic-bezier(.25,.55,.35,1) 2.5s both}
.ibat path{fill:#bfaeea}
.ibat.b2{animation-name:ib2;animation-delay:2.62s}
.ibat.b3{animation-name:ib3;animation-delay:2.74s}
.iz .fw i,.iz .fw b{animation-iteration-count:1;animation-fill-mode:both;animation-duration:3.2s}
.iz .fw.o1 i,.iz .fw.o1 b{animation-delay:1.85s}
.iz .fw.o2 i,.iz .fw.o2 b{animation-delay:2.15s}
.iz .fw.o3 i,.iz .fw.o3 b{animation-delay:2.45s}
.cfw{position:absolute;left:0;top:0;right:0;bottom:0}
.cf{position:absolute;top:-4%;width:6px;height:10px;border-radius:1.5px;opacity:0;animation:cfF 3s cubic-bezier(.3,.55,.5,1) 2.45s both}
.cf:nth-child(3n){animation-duration:3.7s}
.cf:nth-child(4n+1){animation-delay:2.6s}
.cf:nth-child(5n+2){animation-duration:2.6s;width:5px;height:8px}
@keyframes cfF{0%{opacity:1;top:-4%;transform:rotate(0) scaleX(1)}50%{transform:rotate(300deg) scaleX(.3)}100%{opacity:.85;top:104%;transform:rotate(620deg) scaleX(1)}}
@media (prefers-reduced-motion: reduce){.sz *,.iz *,.lg-street .dz *{animation:none!important}}

/* --- nová období (Mikuláš, pálení čarodějnic, 1. máj) a osobní okamžiky po přihlášení ===== */
.m-mik .dz-mik,.m-car .dz-car,.m-car .dz-fire,.m-maj .dz-maj{display:inline}
.m-maj .dz-fire,.m-maj .dz-brm{display:none}
.m-car .sz-car,.m-car .iz-car,.m-maj .iz-maj,.o-jm .iz-osb,.o-vyr .iz-osb{display:block}
.m-maj .sz-car,.m-maj .iz-car{display:none}
.m-car .lg-street{overflow:visible}

/* Mikuláš, anděl a čert dojdou k vašim dveřím; když se dům rozsvítí, dveře se otevřou */
.lg-street .mdr{fill:#ffd38a;opacity:0;transition:opacity .9s}
.lg-ready .lg-street .mdr{opacity:.95}
.lg-street ellipse.mdr{fill:#ffcf7a}
.lg-ready .lg-street ellipse.mdr{opacity:.55}
.lg-street .mkg{animation:mkIn 4.6s cubic-bezier(.25,.6,.35,1) both}
@keyframes mkIn{from{transform:translateX(150px)}to{transform:translateX(0)}}
.lg-street .mkb,.lg-street .ctb{animation:mkStep .42s ease-in-out 10 alternate}
@keyframes mkStep{to{transform:translateY(-1.2px)}}
.lg-street .mka{animation:mkFl 2.6s ease-in-out infinite}
@keyframes mkFl{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.4px)}}
.lg-street .mk-w{fill:#f6f3ec}.lg-street .mk-r{fill:#c8323c}.lg-street .mk-g{fill:#e3bd54}.lg-street .mk-s{fill:#f2cfae}
.lg-street .mk-st{fill:none;stroke:#d9b24a;stroke-width:1.6;stroke-linecap:round}
.lg-street .an-w{fill:#fff}.lg-street .an-wg{fill:#dfe8fb}.lg-street .an-h{fill:#f2c25a}
.lg-street .an-ha{fill:none;stroke:#ffd36b;stroke-width:1.1}
.lg-ready .lg-street .an-ha{filter:drop-shadow(0 0 2.5px #ffd36b)}
.lg-street .ct-f{fill:#2b2026}.lg-street .ct-fc{fill:#a8392e}.lg-street .ct-e{fill:#fff}.lg-street .ct-tg{fill:#e0505a}
.lg-street .ct-hr{fill:#e8dcc0}.lg-street .ct-sk{fill:#8a6a42}
.lg-street .ct-tl{fill:none;stroke:#2b2026;stroke-width:1.5;stroke-linecap:round;transform-box:fill-box;transform-origin:0% 100%;animation:ctT 2.4s ease-in-out infinite}
.lg-street .ct-ch{fill:none;stroke:#9aa0b4;stroke-width:1.1;stroke-linecap:round}
.lg-vecer .lg-street .mkg,.lg-noc .lg-street .mkg{filter:brightness(.8)}
.lg-ready .lg-street .mkg{filter:none}

/* pálení čarodějnic: májka, koště u dveří (vzlétne, když se dům rozsvítí), večer a v noci vatra s čarodějnicí za domy */
.lg-street .mj-p{fill:#c8a06a}.lg-vecer .lg-street .mj-p,.lg-noc .lg-street .mj-p{fill:#6d5434}
.lg-street .mj-c{fill:#4f8a4a}.lg-vecer .lg-street .mj-c,.lg-noc .lg-street .mj-c{fill:#23402a}
.lg-street .mj-w{fill:none;stroke:#4f8a4a;stroke-width:3}.lg-vecer .lg-street .mj-w,.lg-noc .lg-street .mj-w{stroke:#2f5a36}
.lg-street .mj-r{fill:none;stroke-width:1.6;stroke-linecap:round;transform-box:fill-box;transform-origin:50% 0;animation:ribF 1.9s ease-in-out infinite alternate}
.lg-noc .lg-street .mj-r{opacity:.75}
.lg-street .brs{fill:none;stroke:#8a6238;stroke-width:1.8;stroke-linecap:round}.lg-street .brb{fill:#c9a25e}
.lg-noc .lg-street .brs{stroke:#4a3420}.lg-noc .lg-street .brb{fill:#6d5634}
.lg-street .brm{transform-box:fill-box;transform-origin:50% 100%;transition:transform 1.8s cubic-bezier(.5,0,.3,1),opacity 1.6s ease-in .2s}
.lg-ready .lg-street .brm{transform:translate(170px,-240px) rotate(-62deg);opacity:0}
.lg-street .fire{opacity:0;transition:opacity 1s}
.lg-vecer .lg-street .fire,.lg-noc .lg-street .fire{opacity:1}
.lg-street .fl-o{fill:#ff5a1f}.lg-street .fl-m{fill:#ff9a2e}.lg-street .fl-i{fill:#ffd36b}
.lg-street .flk{transform-box:fill-box;transform-origin:50% 100%;animation:flk .5s ease-in-out infinite alternate}
.lg-street .flk.f2{animation-duration:.37s;animation-delay:-.2s}.lg-street .flk.f3{animation-duration:.29s}
@keyframes flk{from{transform:scale(1,1) skewX(0)}to{transform:scale(.94,1.1) skewX(-3deg)}}
.lg-street .eff path,.lg-street .eff circle{fill:#2a1810}
.lg-street .eff .effp{fill:none;stroke:#3a2416;stroke-width:1.6}
.lg-street .spk circle{fill:#ffcf6b;animation:spkA 2.2s ease-out infinite}
.lg-street .spk .sb{animation-name:spkB}
@keyframes spkA{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}100%{opacity:0;transform:translate(-14px,-120px)}}
@keyframes spkB{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}100%{opacity:0;transform:translate(12px,-135px)}}
.wit{position:absolute;left:-8%;animation:witX 30s linear infinite}
@keyframes witX{from{left:-8%}to{left:108%}}
.wit svg,.iwit svg{display:block;width:100%;height:auto;overflow:visible}
.wit svg{animation:batB 3.2s ease-in-out infinite}
.wit path{fill:#2a1f3a}.wit .wb{fill:none;stroke:#5a3a22;stroke-width:2.2;stroke-linecap:round}
.lg-vecer .wit path{fill:#140f22}.lg-vecer .wit .wb{stroke:#140f22}
.lg-noc .wit path{fill:#56478a}.lg-noc .wit .wb{stroke:#56478a}

/* 1. máj: dohořelá vatra (kouř), rozkvetlá třešeň, zamilovaní; srdíčko, když se dům rozsvítí */
.lg-street .smk path{fill:none;stroke:rgba(110,118,150,.5);stroke-width:5;stroke-linecap:round;animation:smk 7s ease-in-out infinite}
.lg-street .smk .s2{stroke-width:3;animation-delay:-3.5s}
.lg-vecer .lg-street .smk path,.lg-noc .lg-street .smk path{stroke:rgba(140,145,180,.5)}
@keyframes smk{0%{opacity:0;transform:translateY(8px)}30%{opacity:.9}100%{opacity:0;transform:translateY(-18px)}}
.lg-street .cpl{fill:#45507a}.lg-vecer .lg-street .cpl{fill:#1c1838}.lg-noc .lg-street .cpl{fill:#0a0f22}
.lg-street .hrt{fill:#ff5c8a;transform-box:fill-box;transform-origin:50% 100%;transform:scale(0);transition:transform .7s cubic-bezier(.3,1.6,.5,1) .3s}
.lg-ready .lg-street .hrt{transform:scale(1)}

/* Rozsvícení: čarodějnice proletí za logem a stoupají jiskry; osobní okamžiky = zlaté konfety a oslovení */
.m-car .pxi-sp{fill:#ff9a3c}.m-maj .pxi-sp{fill:#ffc4d8}
.iwit{position:absolute;left:-15%;top:28%;width:76px;opacity:0;animation:iwit 2.6s linear 1.5s both}
.iwit path{fill:#f2b277}.iwit .wb{fill:none;stroke:#f2b277;stroke-width:2.2;stroke-linecap:round}
@keyframes iwit{0%{left:-15%;opacity:0}8%{opacity:1}90%{opacity:1}100%{left:112%;opacity:0}}
.emb{position:absolute;top:103%;width:3px;height:3px;border-radius:50%;background:#ffb04a;box-shadow:0 0 5px #ff8a2a;animation-name:emY,flX;animation-timing-function:ease-out,ease-in-out;animation-iteration-count:infinite;animation-direction:normal,alternate}
@keyframes emY{from{top:103%;opacity:1}to{top:25%;opacity:0}}
.pxi-pill{display:none;position:relative;margin:-18px 0 0;padding:4px 14px;border:1px solid rgba(232,196,106,.75);border-radius:999px;font:600 14px/1.4 'Albert Sans',-apple-system,sans-serif;color:#f3dfa6;letter-spacing:.02em;opacity:0;transform:translateY(8px);animation:svPill .6s ease 2.3s forwards}
.o-vyr .pxi-pill{display:block}
/* ostrá scéna */
@keyframes svFade{from{opacity:0}to{opacity:1}}
@keyframes svPill{to{opacity:1;transform:none}}
.px-intro > svg.pxi-lg,.px-intro > .pxi-cap,.px-intro > .pxi-pill{position:relative}   /* nad výzdobou .iz i bez příletu loga */
.dash-sub .dash-nd.sv-me{color:var(--acc);font-weight:600}   /* Přehled: vlastní jmeniny nebo výročí účtu (svDashDay) */
@keyframes ib1{0%{opacity:0;transform:translate(0,0) scale(.25)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(-300px,-190px) scale(1)}}
@keyframes ib2{0%{opacity:0;transform:translate(0,0) scale(.25)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(280px,-230px) scale(1)}}
@keyframes ib3{0%{opacity:0;transform:translate(0,0) scale(.25)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(360px,-40px) scale(1)}}
@keyframes ibp1{0%{opacity:0;transform:translate(0,0) scale(.25)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(-120px,-230px) scale(1)}}
@keyframes ibp2{0%{opacity:0;transform:translate(0,0) scale(.25)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(120px,-260px) scale(1)}}
@keyframes ibp3{0%{opacity:0;transform:translate(0,0) scale(.25)}12%{opacity:1}75%{opacity:.9}100%{opacity:0;transform:translate(150px,-150px) scale(1)}}
@media (max-width: 600px){.ibat{animation-name:ibp1}.ibat.b2{animation-name:ibp2}.ibat.b3{animation-name:ibp3}.lg.m-hal.lg-moon .lg-orb{width:60px;height:60px}.px-intro .pxi-pill{font-size:13px}}
