/* Welon – style modułów z extras.js: asystentka, samouczek, harmonogram, winietki i tablica, zaproszenia, druk. */

/* ================= ASYSTENTKA „WELA” (prawy górny róg) ================= */
.wela{position:fixed;top:16px;right:22px;z-index:calc(var(--z-nav) + 5);display:flex;flex-direction:column;align-items:flex-end}
.wela-btn{position:relative;width:58px;height:58px;border:0;padding:0;border-radius:50%;background:#fff;box-shadow:0 6px 20px oklch(0.3 0.08 8 / .22),0 0 0 3px #fff;cursor:pointer;transition:transform .25s var(--ease)}
.wela-btn:hover{transform:translateY(-2px) rotate(-4deg)}
.wela-btn svg{width:100%;height:100%;display:block}
.wf-bg{fill:#fff5f6}
.wf-out{fill:#f3a7b7}
.wf-in{fill:var(--peony);transform-box:view-box;transform-origin:48px 48px}
.wf-face{fill:#fff1e8}
.wf-eyes circle{fill:var(--wine-900);transform-box:fill-box;transform-origin:center;animation:blink 5s infinite}
.wf-blush{fill:var(--peony);opacity:.35}
.wf-mouth{fill:none;stroke:var(--wine-900);stroke-width:2.2;stroke-linecap:round}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
.wela.talk .wela-btn{animation:nod .6s var(--ease)}
.wela.happy .wf-mouth{d:path("M42 54q6 7 12 0")}
/* gdy Wela mówi, płatki lekko się rozchylają */
.wela.talk .wf-in{animation:bloom .7s var(--ease-expo)}
@keyframes bloom{40%{transform:scale(1.08) rotate(6deg)}}
@keyframes nod{30%{transform:translateY(-4px) rotate(-6deg)}60%{transform:translateY(0) rotate(3deg)}}
.wela-badge{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--bad);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px #fff}
.wela-badge[hidden]{display:none}
.wela-bubble{position:absolute;top:6px;right:72px;width:min(340px,calc(100vw - 110px));background:var(--wine-900);color:#fff;border-radius:18px 4px 18px 18px;padding:14px 38px 14px 16px;box-shadow:var(--shadow-2);display:grid;gap:10px;animation:bubbleIn .3s var(--ease)}
.wela-bubble[hidden]{display:none}
.wela-bubble p{margin:0;font-size:14.5px;line-height:1.45}
.wela-bubble .btn{justify-self:start;background:var(--peony);color:var(--wine-900)}
.wb-x{position:absolute;top:8px;right:8px;border:0;background:none;color:oklch(0.85 0.03 10);cursor:pointer;padding:4px;border-radius:6px;display:grid}
@keyframes bubbleIn{from{opacity:0;transform:translateX(10px) scale(.96)}}
.wela-panel{position:absolute;top:70px;right:0;width:min(400px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-2);padding:16px 18px;animation:bubbleIn .25s var(--ease)}
.wela-panel[hidden]{display:none}
.wp-h{display:flex;gap:12px;align-items:center;margin-bottom:6px}
.wp-face{width:44px;height:44px;flex:none}
.wp-face svg{width:100%;height:100%}
.wp-h b{font:22px/1.1 var(--display);font-weight:400;display:block}
.wp-h small{color:var(--ink-2);font-size:13px}
.wp-calm{color:var(--ink-2);margin:10px 0}
.wp-foot{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.wela-panel .tip-item{flex-wrap:wrap}
.wela-panel .tip-item p{flex-basis:calc(100% - 60px)}
.wela-panel .tip-item .btn{margin-left:21px}
.demo-bar,.local-bar{margin-right:76px}
.main{padding-top:22px}

/* ================= SAMOUCZEK ================= */
.tour{position:fixed;inset:0;z-index:calc(var(--z-modal) + 10)}
.tour[hidden]{display:none}
.tour-hole{position:fixed;border-radius:14px;box-shadow:0 0 0 9999px oklch(0.15 0.04 8 / .62),0 0 0 3px var(--peony);transition:all .35s var(--ease);pointer-events:none}
.tour-card{position:fixed;background:#fff;color:var(--ink);border-radius:20px;padding:20px 22px;box-shadow:var(--shadow-2);width:340px;max-width:calc(100vw - 32px);transition:left .35s var(--ease),top .35s var(--ease)}
.tour-card small{color:var(--ink-2);font-weight:700}
.tour-card h3{font:26px/1.1 var(--display);font-weight:400;margin:6px 0 8px}
.tour-card p{margin:0 0 16px;color:var(--ink-2);line-height:1.55}
.tc-acts{display:flex;align-items:center;gap:8px}
.tc-acts span{flex:1}

/* ================= „WIĘCEJ” NA TELEFONIE ================= */
.more-sheet{display:none}
@media (max-width:900px){
  .more-sheet{display:grid;position:fixed;right:10px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:calc(var(--z-nav) + 1);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-2);padding:8px;min-width:240px}
  .more-sheet[hidden]{display:none!important}
  .more-sheet button{display:flex;align-items:center;gap:12px;border:0;background:none;padding:12px 14px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;text-align:left;color:var(--ink)}
  .more-sheet button:hover{background:var(--bg)}
  .more-sheet svg{width:21px;height:21px;fill:none;stroke:var(--wine);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  #moreBtn.on{color:var(--wine)}
  .wela{top:10px;right:64px}
  .wela-btn{width:44px;height:44px}
  .wela-bubble{right:-50px;top:56px;width:min(340px,calc(100vw - 32px))}
  .wela-panel{top:56px;right:-50px}
  .demo-bar,.local-bar{margin-right:0}
}
.tab[data-mod="schedule"]{--mod:oklch(0.5 0.1 230)}
.tab[data-mod="cards"]{--mod:oklch(0.52 0.12 40)}

/* ================= HARMONOGRAM ================= */
.sched-top{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-bottom:18px}
.sched-top .field{min-width:180px}
.sched-sum{display:grid;grid-template-columns:auto auto;gap:2px 14px;font-size:14px;margin-left:auto}
.sched-sum span{color:var(--ink-2)}
.sched-sum b{font-variant-numeric:tabular-nums}
.sched{list-style:none;margin:0 0 16px;padding:0;position:relative}
.sched::before{content:"";position:absolute;left:68px;top:10px;bottom:10px;width:2px;background:var(--line)}
.sch-item{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:22px;align-items:start;padding:12px 0;position:relative}
.sch-item::before{content:"";position:absolute;left:63px;top:22px;width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid var(--mod)}
.sch-item.cer::before{background:var(--mod);width:16px;height:16px;left:61px;top:20px}
.sch-item time{font:22px/1 var(--display);padding-top:12px;text-align:right;font-variant-numeric:tabular-nums}
.sch-main{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;display:grid;gap:8px}
.sch-item.cer .sch-main{border-color:var(--mod);box-shadow:0 0 0 3px oklch(0.5 0.1 230 / .12)}
.sch-title{border:0;font:700 16px var(--sans);padding:2px 0;background:none;outline:none;width:100%;color:var(--ink)}
.sch-title:focus{box-shadow:0 2px 0 var(--mod)}
.sch-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--ink-2);font-weight:600}
.sch-meta label{display:flex;align-items:center;gap:6px}
.sch-meta input{border:1.5px solid var(--line-2);border-radius:8px;padding:5px 8px;font-size:13.5px;width:auto;max-width:170px}
.sch-meta input[type=number]{width:68px}
.sch-tip{margin:0;font-size:13.5px;color:var(--ink-2);background:var(--bg);border-radius:10px;padding:8px 10px}
.sch-warn{margin:0;font-size:13.5px;font-weight:700;color:var(--bad)}
.sch-item.conflict .sch-main{border-color:var(--bad)}
.sch-acts{display:flex;flex-direction:column;gap:2px;padding-top:6px}
.sch-acts .del{font-size:14px;font-weight:800}
@media (max-width:640px){.sched::before{left:50px}.sch-item{grid-template-columns:44px minmax(0,1fr);gap:14px}.sch-item::before{left:45px}.sch-item.cer::before{left:43px}.sch-item time{font-size:17px}.sch-acts{grid-column:2;flex-direction:row}.sched-sum{margin-left:0}}

/* ================= WINIETKI I TABLICA ================= */
.th-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.th-opt{border:1.5px solid var(--line-2);background:#fff;border-radius:14px;padding:12px;text-align:left;cursor:pointer;display:grid;gap:4px;transition:border-color .15s,box-shadow .15s}
.th-opt:hover{border-color:var(--mod)}
.th-opt.on{border-color:var(--mod);box-shadow:0 0 0 3px oklch(0.69 0.155 14 / .2)}
.th-sw{display:flex;gap:4px;margin-bottom:4px}
.th-sw i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px oklch(0 0 0 / .12)}
.th-opt b{font-size:14.5px}
.th-opt small{color:var(--ink-2);font-size:12.5px;line-height:1.35}
.cards-make{margin-top:18px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}
.seg-tabs{grid-column:1/-1;display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:12px;justify-self:start;flex-wrap:wrap}
.seg-tabs button{border:0;background:none;padding:9px 14px;border-radius:9px;font-weight:700;font-size:14px;color:var(--ink-2);cursor:pointer}
.seg-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:var(--shadow-1)}
.cards-opts{display:grid;gap:12px;align-content:start}
.cards-note{margin:0;font-weight:700;font-size:14px}
.cg-row{display:grid;gap:10px}
.cards-preview{background:oklch(0.95 0.008 8);border-radius:16px;padding:20px;min-height:200px}
.pv-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.pv-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.pv-board{max-width:620px;margin:0 auto;box-shadow:var(--shadow-2)}
.pv-board .pap{width:100%;height:100%}
.cards-preview .pap{box-shadow:var(--shadow-1)}
.empty-note-box{margin-bottom:18px;color:var(--ink-2)}
@media (max-width:900px){.cards-make{grid-template-columns:minmax(0,1fr)}}

/* ================= ZAPROSZENIA ================= */
.inv-build{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.inv-steps{display:grid;gap:18px}
.inv-preview{position:sticky;top:20px}
.inv-phone-x{width:300px;max-width:100%;margin:0 auto;border-radius:44px;background:var(--ink);padding:11px;box-shadow:var(--shadow-2)}
.inv-screen{border-radius:34px;overflow:auto;max-height:600px;background:#fff;scrollbar-width:none}
.inv-screen .pap{width:100%}
.rsvp-mock{padding:16px;display:grid;gap:8px;text-align:center;font-size:13px;background:#fff}
.rsvp-mock span{border:1.5px solid var(--ink);border-radius:999px;padding:8px;font-weight:700}
.rsvp-mock .yes{background:var(--ink);color:#fff}
.inv-form{display:grid;gap:12px}
.inv-form .f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.link-row{display:flex;gap:8px;flex-wrap:wrap}
.link-row .input{flex:1;min-width:200px;font-size:13px}
.glinks{margin-top:12px}
.glinks summary{cursor:pointer;font-weight:700;color:var(--mod);padding:6px 0}
.glinks ul{list-style:none;padding:0;margin:8px 0 0;max-height:320px;overflow:auto}
.glinks li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.glinks li span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-stat{margin:14px 0 0;color:var(--ink-2)}
.inv-stat b{color:var(--ink);font-size:18px}
.inv-sell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:center;background:oklch(0.97 0.015 305);border-radius:26px;padding:clamp(22px,4vw,44px)}
.inv-sell-h{font:clamp(30px,3.6vw,44px)/1.05 var(--display);font-weight:400;margin:0}
.inv-sell-h em{font-style:normal;color:var(--c-invites)}
.inv-sell-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mini-inv{display:grid;gap:6px;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.mini-inv .pap{box-shadow:var(--shadow-1);border-radius:6px}
@media (max-width:1100px){.inv-build{grid-template-columns:minmax(0,1fr)}.inv-preview{position:static}.inv-sell{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.inv-form .f2{grid-template-columns:minmax(0,1fr)}.inv-sell-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ================= DRUK (winietki, tablica, harmonogram) ================= */
@media print{
  body.print-x .print-area{display:block!important}
  body.print-x .print-area .sheet{break-after:page;overflow:hidden;position:relative}
  body.print-x .print-area .sheet:last-child{break-after:auto}
  body.print-x .a4-cards{width:210mm;height:297mm;padding:23.5mm 15mm;display:grid;grid-template-columns:90mm 90mm;grid-auto-rows:50mm;justify-content:center}
  body.print-x .a4-cards .cut{outline:.2mm dashed #bbb;outline-offset:-.1mm}
  body.print-x .a4-cards .pap{width:90mm;height:50mm}
  body.print-x .a5{width:148mm;height:210mm}
  body.print-x .a5 .pap{width:148mm;height:210mm}
  body.print-x .board-sheet .pap{width:100%;height:100%}
  body.print-x .print-doc{font:11pt/1.45 var(--sans);color:#000}
  body.print-x .print-doc h1{font:20pt var(--display);margin:0 0 6mm}
  body.print-x .ptab{width:100%;border-collapse:collapse}
  body.print-x .ptab th,body.print-x .ptab td{border-bottom:.3mm solid #ccc;padding:2.4mm 2mm;text-align:left;vertical-align:top}
}

@media print{.wela,.tour,.more-sheet{display:none!important}}

/* ================= RUCH W APLIKACJI (krótki, informuje o zmianie) ================= */
:root{--ease-expo:cubic-bezier(.16,1,.3,1)}
.tab.on{animation:tabIn .22s var(--ease) both}
@keyframes tabIn{from{opacity:0;transform:translateY(4px)}}
/* krzesło „wskakuje”, gdy siada na nim gość */
.seat.pop circle{transform-box:fill-box;transform-origin:center;animation:seatPop .45s var(--ease-expo)}
@keyframes seatPop{0%{transform:scale(.4)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
/* przeciągany stół lub parkiet się unosi */
.tbl.dragging,.decor.dragging{filter:drop-shadow(0 14px 12px oklch(0.3 0.08 8 / .28));cursor:grabbing}
/* nowy gość na liście */
.g-list li.flash{animation:flash 1.1s var(--ease)}
@keyframes flash{0%{background:oklch(0.9 0.08 14)}100%{background:transparent}}
/* wejście na zakładkę: paski postępu rosną od zera */
.tab.entering .meter i,.tab.entering .ready .bar i,.tab.entering .bar .track i,.tab.entering .t-progress .meter i{transform-origin:left;animation:grow .8s var(--ease-expo) both}
.tab.entering .bar:nth-child(2) .track i{animation-delay:.05s}.tab.entering .bar:nth-child(3) .track i{animation-delay:.1s}.tab.entering .bar:nth-child(4) .track i{animation-delay:.15s}
@keyframes grow{from{transform:scaleX(0)}}
/* odhaczone zadanie: ptaszek się rysuje, tytuł przygasa */
.t-check:checked::after{animation:tick .28s var(--ease-expo)}
@keyframes tick{from{transform:rotate(-45deg) translate(1px,-1px) scale(.2);opacity:0}}
.t-title{transition:color .3s var(--ease)}
.spark{position:fixed;z-index:var(--z-toast);width:6px;height:6px;border-radius:50%;background:var(--c-tasks);pointer-events:none}
.spark:nth-child(odd){background:var(--peony)}
/* kroki konfiguratora przesuwają się w stronę, w którą idziesz */
.wz.fwd>*:not(.wz-progress){animation:wzFwd .35s var(--ease-expo) both}
.wz.back>*:not(.wz-progress){animation:wzBack .35s var(--ease-expo) both}
@keyframes wzFwd{from{opacity:0;transform:translateX(28px)}}
@keyframes wzBack{from{opacity:0;transform:translateX(-28px)}}
.wz-progress i{transition:background-color .4s var(--ease)}
/* okna i komunikaty */
dialog[open]{animation:dlgIn .26s var(--ease-expo)}
dialog[open]::backdrop{animation:fadeIn .26s var(--ease)}
@keyframes dlgIn{from{opacity:0;transform:translateY(10px) scale(.98)}}
@keyframes fadeIn{from{opacity:0}}
.more-sheet:not([hidden]){animation:dlgIn .22s var(--ease-expo)}
/* Wela: pojawia się z ukłonem, przy najechaniu macha */
.wela-btn{animation:welaIn .6s var(--ease-expo) .3s both}
@keyframes welaIn{from{transform:scale(.6) rotate(-20deg)}}
.dcard{transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.dcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-1)}
.th-opt,.chip-s,.tool{transition:border-color .15s,background-color .15s,transform .15s var(--ease)}
.th-opt:active,.tool:active,.chip-s:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){.spark{display:none}.wela-btn{animation:none}}

.wela-btn svg,.wp-face svg{border-radius:50%;overflow:hidden}

/* cała powierzchnia stołu i parkietu łapie kliknięcie (nie tylko obrys) */
.decor rect,.tbl .top-shape,.seat circle{pointer-events:all}

/* ================= PRZYBLIŻENIE STOŁU ================= */
.zoom-dlg{width:min(980px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:22px 24px;overflow:auto}
.z-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.z-head h2{font:30px/1.1 var(--display);font-weight:400;margin:0}
.z-head p{margin:4px 0 0}
.z-hint{margin:12px 0 14px;padding:10px 14px;border-radius:12px;background:var(--bg);color:var(--ink-2);font-size:14px}
.z-hint.on{background:var(--blush);color:var(--wine-800)}
.z-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start}
.z-stage{background:#fffdfd;border:1px solid var(--line);border-radius:18px;padding:10px;display:grid;gap:10px}
.z-svg{width:100%;height:auto;max-height:58vh;display:block}
.z-top{fill:#fff;stroke:oklch(0.8 0.03 10);stroke-width:2.5}
.z-label{font:700 22px var(--sans);fill:var(--ink-2);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.z-seat{cursor:pointer;outline:none}
.z-seat circle{fill:#fff;stroke:var(--wine-600);stroke-width:2.5;stroke-dasharray:5 4;transition:stroke-width .15s,fill .15s}
.z-seat.occ circle{stroke:#fff;stroke-dasharray:none}
.z-seat:hover circle,.z-seat:focus-visible circle{stroke:var(--peony);stroke-width:5;stroke-dasharray:none}
.z-seat.free:hover circle{fill:var(--blush)}
.z-seat.sel circle{stroke:var(--ink);stroke-width:6;stroke-dasharray:none}
.z-num{font:800 15px var(--sans);fill:var(--wine-600);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.z-seat.occ .z-num{fill:#fff}
.z-name{font:700 15px var(--sans);fill:var(--ink);pointer-events:none}
.z-seat.pop circle{transform-box:fill-box;transform-origin:center;animation:seatPop .45s cubic-bezier(.16,1,.3,1)}
.z-pool{border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;gap:8px;max-height:62vh;grid-template-rows:auto auto minmax(0,1fr)}
.z-pool-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.z-pool-h .check{font-size:12.5px;color:var(--ink-2)}
.z-pool-h .check input{width:16px;height:16px}
.z-list{list-style:none;margin:0;padding:0;overflow:auto}
.z-list button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;padding:8px;border-radius:10px;text-align:left;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink)}
.z-list button:hover{background:var(--bg)}
.z-list button.sel{background:var(--blush);box-shadow:inset 0 0 0 1.5px var(--wine-600)}
.z-list small{display:block;color:var(--ink-2);font-size:12px;font-weight:500}
.z-seatlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px}
.z-seatlist li{display:flex;align-items:center;border-radius:10px}
.z-seatlist li.sel{background:var(--blush)}
.zl-seat{flex:1;display:flex;align-items:center;gap:8px;border:0;background:none;padding:7px 8px;border-radius:10px;cursor:pointer;text-align:left;font-size:14px;color:var(--ink)}
.zl-seat:hover{background:var(--bg)}
.zl-seat b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--bg);font-size:12px;flex:none}
.zl-seat em{color:var(--ink-2);font-style:normal}
.z-more{margin-top:12px}
.z-more summary{cursor:pointer;font-weight:700;color:var(--wine);padding:6px 0}
@media (max-width:760px){.zoom-dlg{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:16px}.z-grid{grid-template-columns:minmax(0,1fr)}.z-pool{max-height:none}.z-list{max-height:40vh}}

/* przeciąganie osób między krzesłami w przybliżeniu stołu */
.z-svg{touch-action:none}
.z-seat.occ{cursor:grab}
.z-dragging,.z-dragging *{cursor:grabbing!important;user-select:none}
.z-ghost{position:fixed;left:0;top:0;z-index:5;pointer-events:none;display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:4px 12px 4px 4px;box-shadow:0 10px 26px oklch(0.3 0.08 8 / .28);font:700 13.5px var(--sans);color:var(--ink);white-space:nowrap}
.z-ghost i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:12px}
.z-seat.drop circle{stroke:var(--peony);stroke-width:7;stroke-dasharray:none}
.z-seat.free.drop circle{fill:var(--blush)}
.zl-seat.drop,.z-seatlist li:has(.drop){background:var(--blush)}
.z-pool.drop{box-shadow:inset 0 0 0 2px var(--peony);background:var(--blush)}

/* przybliżenie stołu: skrót „Zofia Z.”, pełne nazwisko po najechaniu */
.z-name .z-full{display:none}
.z-seat:hover .z-short,.z-seat:focus-visible .z-short,.z-seat.demo .z-short{display:none}
.z-seat:hover .z-full,.z-seat:focus-visible .z-full,.z-seat.demo .z-full{display:inline}
.z-seat:hover .z-name,.z-seat:focus-visible .z-name,.z-seat.demo .z-name{fill:var(--wine-900);paint-order:stroke;stroke:#fffdfd;stroke-width:6px;stroke-linejoin:round}
.z-seat.demo circle{stroke:var(--peony);stroke-width:5;stroke-dasharray:none;transform-box:fill-box;transform-origin:center;animation:zDemo 1.7s ease-in-out infinite}
@keyframes zDemo{0%,100%{transform:scale(1)}40%{transform:scale(1.12)}}
/* podpowiedź Weli w przybliżeniu stołu */
.z-stage{position:relative}
.z-wela{justify-self:start;display:flex;align-items:center;gap:10px;max-width:290px;padding:8px 14px 8px 8px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 10px 28px -12px rgba(61,18,32,.35);animation:zWelaIn .5s cubic-bezier(.16,1,.3,1) both}
.z-wela p{margin:0;font-size:13px;line-height:1.35;color:var(--ink)}
.z-wela-face{flex:none;width:40px;height:40px;animation:zWelaBob 2.4s ease-in-out infinite}
.z-wela-face svg{width:100%;height:100%;display:block;border-radius:50%;overflow:hidden}
.z-wela.bye{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
@keyframes zWelaIn{from{opacity:0;transform:translateY(12px) scale(.96)}}
@keyframes zWelaBob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-6deg)}}
@media (prefers-reduced-motion:reduce){.z-wela,.z-wela-face,.z-seat.demo circle{animation:none}}
