/* ===== PROJECT ZENIT – panel, podania, gracze, postacie (ładowany po style.css) ===== */
[hidden]{display:none!important}
.allowsel,.allowsel *{-webkit-user-select:text;user-select:text}
.muted{color:var(--mu);font-size:14px}
.mono{font:13.5px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.grow{flex:1 1 auto}
i.soon{margin-left:6px;padding:1px 8px;border:1px solid var(--line2);border-radius:99px;color:var(--mu);font-size:12px;font-style:normal;white-space:nowrap}
.plogin{max-width:520px}
.plogin .cta{margin-top:18px}
.perr{margin-top:14px;padding:10px 14px;border:1px solid rgba(255,90,110,.4);border-radius:12px;background:rgba(255,90,110,.1);color:#ffc9d0;font-size:14.5px}

/* ---------- użytkownik ---------- */
.ucard{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.ucard .av{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;border-radius:50%;background:var(--brand);box-shadow:0 0 0 2px rgba(183,156,255,.35);font:700 18px var(--font)}
.ucard .av img{width:100%;height:100%;object-fit:cover;display:block}
.ucard .un{min-width:0;flex:1}
.ucard .un b{display:block;overflow:hidden;font-weight:700;font-size:15.5px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.ucard .un small{display:block;overflow:hidden;color:var(--mu);font-size:12.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ucard>.tag{flex-shrink:0}
.mini{flex-shrink:0;padding:6px 12px;border:1px solid var(--line2);border-radius:10px;background:rgba(255,255,255,.05);color:#fff;text-decoration:none;font:600 13px var(--font);transition:background-color .2s,border-color .2s}
.mini:hover{background:rgba(183,156,255,.16);border-color:rgba(183,156,255,.5)}
.mini:active{background:rgba(99,64,230,.32)}
button.mini{margin-left:8px;padding:2px 8px;background:none;cursor:pointer;font-size:12.5px}

/* ---------- plakietki, chipy, liczniki ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{display:inline-block;padding:3px 12px;border:1px solid var(--line);border-radius:99px;background:var(--card);color:var(--tx);font:500 13.5px var(--font)}
.tag{display:inline-block;padding:1px 10px;border-radius:99px;color:var(--t,var(--accent));font:600 12.5px var(--font);white-space:nowrap;
  border:1px solid color-mix(in srgb,var(--t,var(--accent)) 45%,transparent);background:color-mix(in srgb,var(--t,var(--accent)) 11%,transparent)}
.t-warn{--t:var(--amber)}.t-ban{--t:var(--coral)}.t-kick{--t:var(--teal)}.t-inne{--t:var(--mu)}.t-ok{--t:var(--mint)}
.cnt{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:8px;padding:0 6px;border-radius:99px;background:rgba(255,255,255,.9);color:#1e1a6e;font:800 12px var(--font)}
.btn.ghost .cnt{background:var(--brand);color:#fff}
.pnotice{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:18px;padding:12px 16px;border:1px solid color-mix(in srgb,var(--amber) 40%,transparent);border-radius:14px;background:color-mix(in srgb,var(--amber) 9%,transparent);color:var(--tx);text-decoration:none;transition:background-color .2s}
.pnotice:hover{background:color-mix(in srgb,var(--amber) 16%,transparent)}
.pnotice b,.nb{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 8px;border-radius:99px;background:var(--amber);color:#1a1100;font:700 14px var(--font)}
.pnotice span{flex:1 1 auto;font-weight:600}
.pnotice i{color:var(--amber);font:600 14px var(--font);font-style:normal}
.nb{min-width:20px;height:20px;margin-left:8px;padding:0 6px;box-sizing:border-box;font-size:12px;font-style:normal}
.dotb{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border:2px solid var(--bg);border-radius:99px;background:var(--amber);color:#1a1100;font:700 12px var(--font);font-style:normal}

/* ---------- formularze ---------- */
.pin{width:100%;padding:11px 13px;background:rgba(8,10,20,.8);border:1px solid var(--line2);border-radius:12px;color:#fff;font:400 15px var(--font);outline:0;transition:border-color .2s,box-shadow .2s}
.pin:hover:not(:focus):not([readonly]){border-color:rgba(200,185,255,.32)}
.pin:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,64,230,.24)}
.pin[readonly]{opacity:.7;cursor:not-allowed}
textarea.pin{min-height:84px;resize:vertical;line-height:1.5}
select.pin{appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;background-repeat:no-repeat;background-position:right 12px center;background-size:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a29cbd' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
select.pin option{background:#0e1020;color:#fff}
select.pin.grow{width:auto;min-width:200px}
.pf{display:flex;flex-direction:column;gap:6px;min-width:0}
.pf label{color:var(--mu);font:600 13px var(--font)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.frow{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
.frow .search{flex:1 1 240px;width:auto;margin:0}
.pcard{margin-bottom:16px;padding:20px;background:linear-gradient(180deg,rgba(183,156,255,.05),transparent 55%),var(--card);border:1px solid var(--line);border-radius:20px}
.pcard>.frow:first-child{margin-bottom:14px}
.tw td .pin{min-width:120px;padding:8px 10px}
.fcard{display:flex;flex-direction:column}
.fcard .cta{margin-top:auto;padding-top:16px}
.icoedit{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.icoedit .pi{width:72px;height:72px;flex-shrink:0}
.icoctl{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:8px}

/* przełącznik */
.sw{display:flex;align-items:center;gap:12px;cursor:pointer;color:var(--tx);font-size:15px}
.sw input{appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:42px;height:24px;border:1px solid var(--line2);border-radius:99px;background:rgba(255,255,255,.1);cursor:pointer;transition:background-color .2s}
.sw input::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#d2dcf2;transition:transform .2s,background-color .2s}
.sw input:checked{background:var(--grad);border-color:transparent;box-shadow:0 0 12px rgba(99,64,230,.5)}
.sw input:checked::after{transform:translateX(18px);background:#fff}

/* pasek zapisu i pytania w edytorze */
.savebar{position:sticky;bottom:12px;z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;background:rgba(12,10,22,.94);border:1px solid var(--line2);border-radius:18px;box-shadow:0 -14px 50px -14px rgba(0,0,0,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.dirty{color:var(--amber);font:600 14px var(--font)}
.pq{margin-bottom:12px;padding:16px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:16px;transition:border-color .2s}
.pq:hover{border-color:var(--line2)}
.pqn{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid rgba(183,156,255,.35);border-radius:50%;background:rgba(99,64,230,.12);color:var(--accent);font:700 13px var(--font)}

/* zakładki modułu */
.ptabs{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin-bottom:22px;padding:4px;background:rgba(17,13,36,.7);border:1px solid var(--line2);border-radius:14px}
.ptabs button{padding:8px 16px;border:0;border-radius:10px;background:none;color:rgba(232,237,250,.65);cursor:pointer;font:600 14.5px var(--font);transition:color .2s,background-color .2s}
.ptabs button:hover:not(.on){color:#fff;background:rgba(255,255,255,.07)}
.ptabs button:active{transform:scale(.97)}
.ptabs button.on{color:#fff;background:linear-gradient(135deg,rgba(99,64,230,.42),rgba(70,30,180,.34));box-shadow:inset 0 0 0 1px rgba(183,156,255,.45)}
.ptabs.sub button{padding:5px 12px;font-size:13.5px}

/* ---------- listy ---------- */
tr.clk{cursor:pointer}
tr.clk:hover td{background:rgba(99,64,230,.08)}
td small.muted{font-size:12px}
.pitem,.rr{background:linear-gradient(90deg,color-mix(in srgb,var(--a,transparent) 9%,transparent),transparent 45%),var(--card);border:1px solid var(--line);border-left:3px solid var(--a,var(--line2))}
.pitem{margin-bottom:10px;padding:12px 16px;border-radius:14px}
.pitem b{display:block;color:#fff;font-weight:700;font-size:16px}
.pitem small{display:block;color:var(--mu);font-size:13px}
.pitem p{margin:6px 0 0;white-space:pre-wrap;word-break:break-word}
.rl{display:flex;flex-direction:column;gap:8px}
.rr{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:center;gap:10px 22px;padding:14px 20px;border-radius:16px;transition:background-color .2s,box-shadow .25s,translate .25s var(--ease)}
.rr.clk{cursor:pointer}
.rr.clk:hover,#podania-content .rr:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--a,var(--accent)) 14%,transparent),transparent 55%),var(--card2)}
.rc{min-width:0;display:flex;flex-direction:column;gap:3px}
.rc small{color:var(--mu);font:500 12.5px var(--font)}
.rc b{color:#fff;font-weight:700;font-size:16px;word-break:break-word}
.rc>span{word-break:break-word}
.rc.w2{grid-column:span 2}
.rc.end{align-items:flex-end;justify-content:center}
#podania-content .btn:disabled{cursor:not-allowed;pointer-events:auto}

/* ---------- gracze: karty i profil ---------- */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.mcard{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .25s}
.mcard:hover{background:var(--card2);border-color:rgba(183,156,255,.4);box-shadow:0 14px 30px -20px rgba(99,64,230,.6)}
.mcard img{width:48px;height:48px;flex-shrink:0;border-radius:50%;object-fit:cover;background:#080a14;box-shadow:0 0 0 2px var(--line2)}
.mcard .mi{min-width:0;display:flex;flex-direction:column;gap:2px}
.mcard b{overflow:hidden;font-weight:700;font-size:16px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.mcard small{overflow:hidden;color:var(--mu);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.rchip{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;max-width:100%;padding:1px 9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.06);color:var(--tx);font:500 12px var(--font);white-space:nowrap}
.rchip i{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--rc,#99aab5)}
.rchip .x{margin-left:4px;padding:0 2px;border:0;background:none;color:var(--mu);cursor:pointer;font-size:15px;line-height:1}
.rchip .x:hover{color:var(--coral)}
.prof{max-width:820px;margin-bottom:16px;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:22px}
.prof .ban{position:relative;height:140px;background:var(--bc,#161a3a) center/cover no-repeat}
.prof .ban::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(17,13,36,.75))}
.prof .pb{padding:0 20px 20px}
.prof .pav{position:relative;z-index:2;display:block;width:104px;height:104px;margin-top:-54px;border:5px solid var(--card);border-radius:50%;object-fit:cover;background:#080a14;box-shadow:0 8px 24px -6px rgba(0,0,0,.6)}
.prof h3{margin:10px 0 0;font-size:28px;word-break:break-word}
.prof .sec,.chsec{margin-top:16px;padding:14px 16px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:14px}
.prof .sec h4,.chsec h4{margin:0 0 10px;color:var(--mu);font:600 13px var(--font)}
.prof dl,.chsec dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 18px;margin:0}
.prof dt,.chsec dt{color:var(--mu);font:500 12.5px var(--font)}
.prof dd,.chsec dd{margin:2px 0 0;word-break:break-word}

/* ---------- podania (widok gracza) ---------- */
.ptool{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:32px 0 16px}
.ptool .psearch{flex:1 1 260px}
.psearch{position:relative;display:block}
.psearch .svg{position:absolute;left:18px;top:50%;translate:0 -50%;width:19px;height:19px;color:var(--mu);pointer-events:none}
.psearch .pin{height:56px;padding:0 18px 0 48px;border-radius:16px;font-size:16px}
.plist{padding:10px;background:rgba(12,14,28,.82);border:1px solid var(--line2);border-radius:26px;box-shadow:0 30px 80px -40px #000}
.prow{position:relative;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:20px;width:100%;padding:16px 20px;border:0;border-radius:18px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .2s}
.prow+.prow::before{content:"";position:absolute;left:20px;right:20px;top:0;height:1px;background:var(--line)}
.prow:hover:not(:disabled){background:rgba(99,64,230,.1)}
.prow:hover:not(:disabled)::before,.prow:hover:not(:disabled)+.prow::before{opacity:0}
.prow:disabled{cursor:default}
.prow:disabled .pbody,.prow:disabled .pi{opacity:.5}
.pi{display:grid;place-items:center;width:64px;height:64px;overflow:hidden;border-radius:18px;color:var(--accent);background:linear-gradient(135deg,rgba(99,64,230,.22),rgba(99,64,230,.05));border:1px solid rgba(183,156,255,.3)}
.pi img{width:100%;height:100%;object-fit:cover;display:block}
.pi .svg{width:28px;height:28px}
.pbody{min-width:0;display:flex;flex-direction:column;gap:3px}
.pbody b{color:#fff;font-weight:700;font-size:19px;letter-spacing:-.01em}
.pbody small{color:var(--mu);font-size:15px}
.go{display:inline-flex;align-items:center;gap:4px;padding:7px 14px;border:1px solid rgba(183,156,255,.35);border-radius:99px;background:rgba(99,64,230,.14);color:#d6e2ff;font-weight:700;white-space:nowrap}
.go .svg.ar{margin:0 0 0 2px;color:inherit}
.prow:hover:not(:disabled) .go .svg.ar{transform:translateX(4px)}
.prow:disabled .go{border-color:var(--line);background:rgba(255,255,255,.04);color:var(--mu);font-weight:500}
.lnotice{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:30px;padding:18px 22px;border:1px solid rgba(183,156,255,.38);border-radius:22px;background:linear-gradient(110deg,rgba(99,64,230,.2),rgba(12,14,28,.7) 60%);box-shadow:0 24px 60px -36px rgba(99,64,230,.7)}
.lnotice .li{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border:1px solid rgba(183,156,255,.38);border-radius:14px;background:rgba(99,64,230,.16);color:var(--accent)}
.lnotice .li .svg{width:22px;height:22px}
.lnotice .lt{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px}
.lnotice .lt b{color:#fff;font-size:18px;font-weight:700}
.lnotice .lt span{color:var(--mu);font-size:14.5px}
.lnotice .lt em{margin-top:6px;color:#ffc9d0;font-size:14px;font-style:normal}
.lnotice .btn .svg{width:18px;height:18px}

/* ---------- PANEL: nawigacja modułów ---------- */
.pdash{display:grid;grid-template-columns:276px minmax(0,1fr);align-items:start;gap:30px;margin-top:30px}
.pnav{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px}
.pnav .ucard{flex-wrap:wrap;gap:14px;padding:16px;border-radius:20px;background:linear-gradient(140deg,rgba(99,64,230,.22),rgba(17,13,36,.7) 65%)}
.pnav .ucard .av{width:52px;height:52px;font-size:21px;box-shadow:0 0 0 2px rgba(183,156,255,.6),0 8px 22px -6px rgba(99,64,230,.7)}
.pnav .ucard .un b{font-size:17px}
.pnav .ucard .un small{display:-webkit-box;white-space:normal;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pnav .ucard .mini{flex:1 0 100%;padding:8px;text-align:center}
.pmwrap{display:contents}
.pcatbar{display:none}
.pmods{display:flex;flex-direction:column;gap:4px;padding:8px;background:rgba(12,14,28,.82);border:1px solid var(--line2);border-radius:22px;box-shadow:0 24px 50px -32px #000}
.pmods button{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px 9px 9px;border:1px solid transparent;border-radius:15px;background:none;color:rgba(232,237,250,.68);text-align:left;cursor:pointer;font:600 15px var(--font);transition:background-color .2s,color .2s,border-color .2s,transform .12s}
.pmods button:hover{background:rgba(255,255,255,.06);color:#fff}
.pmods button:active{transform:scale(.98)}
.pmods .mi,.phead .mi,.pcatbar .mi{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:11px;color:var(--a,var(--accent));background:color-mix(in srgb,var(--a,var(--accent)) 13%,transparent);border:1px solid color-mix(in srgb,var(--a,var(--accent)) 30%,transparent);transition:background-color .2s,color .2s,box-shadow .2s}
.pmods .mi .svg,.pcatbar .mi .svg{width:18px;height:18px}
.pmods .ml{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmods button.on{color:#fff;font-weight:700;background:linear-gradient(90deg,color-mix(in srgb,var(--a,var(--accent)) 22%,transparent),rgba(255,255,255,.03));border-color:color-mix(in srgb,var(--a,var(--accent)) 40%,transparent)}
.pmods button.on .mi{background:var(--a,var(--accent));color:#12082b;box-shadow:0 6px 18px -6px var(--a,var(--accent))}
.pmods .nb{margin-left:0}

/* rozgałęzienie: podzakładki pod modułem */
.pgrp{display:flex;flex-direction:column}
.pmods .sch{width:14px;height:14px;flex-shrink:0;margin-left:auto;color:var(--mu);transition:transform .2s ease,color .2s}
.pmods button:hover .sch{color:#fff}
.pgrp.open>button .sch{transform:rotate(90deg);color:var(--a,var(--accent))}
.psub{--bl:rgba(183,156,255,.34);display:flex;flex-direction:column;gap:6px;margin:6px 0 6px 26px;padding-left:18px;animation:psIn .2s ease-out}
.pmods .psb{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 16px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.025);color:rgba(232,237,250,.72);font:600 14.5px var(--font);text-align:left;white-space:nowrap}
.pmods .psb:hover{background:rgba(99,64,230,.16);border-color:rgba(183,156,255,.3);color:#fff}
.pmods .psb.on{color:#fff;background:linear-gradient(135deg,rgba(99,64,230,.42),rgba(70,30,180,.34));border-color:rgba(183,156,255,.5);box-shadow:inset 0 0 0 1px rgba(183,156,255,.25),0 8px 20px -12px rgba(99,64,230,.8)}
.psb .sl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.psb .nb{margin:0}
/* łączniki gałęzi (├ / └) */
.psb::before{content:"";position:absolute;left:-18px;top:-6px;width:16px;height:calc(50% + 6px);border-left:2px solid var(--bl);border-bottom:2px solid var(--bl);border-bottom-left-radius:10px;pointer-events:none}
.psb:not(:last-child)::after{content:"";position:absolute;left:-18px;top:50%;bottom:-6px;border-left:2px solid var(--bl);pointer-events:none}
.psb.on::before{border-color:var(--a,var(--accent))}
.pcatbar .bc{color:var(--mu);font-weight:400}
.pcatbar .bcs{color:#d6e2ff;font-weight:600}
@keyframes psIn{from{opacity:0;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.psub{animation:none}.pmods .sch{transition:none}}
.blay{margin-top:0}.blay .bcol{margin-top:0}
#pbody{min-width:0}
#pbody .cat>h2{display:none}
.phead{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.phead .mi{width:52px;height:52px;border-radius:16px}
.phead .mi .svg{width:24px;height:24px}
.phead h2{margin:0;font-size:clamp(34px,4.4vw,52px)}
.phead h2::before{display:none}
.phead p{margin-top:4px}
.pstat{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.pstat .card{overflow:hidden;padding:20px 22px}
.pstat .card:hover{border-color:var(--line)}
.pstat .card::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--a,var(--accent)) 28%,transparent),transparent 70%)}
#pbody th{padding:13px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
#pbody td{padding:13px 16px}
#pbody tbody tr:nth-child(even) td{background:rgba(255,255,255,.015)}
#pbody .empty{border:1px dashed var(--line2);border-radius:18px;background:rgba(255,255,255,.015)}

/* ---------- okienko potwierdzenia ---------- */
.umodal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(4,3,10,.74);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:umf .15s ease-out}
.umbox{width:min(440px,100%);padding:22px 22px 18px;background:#110e1f;border:1px solid var(--line2);border-radius:20px;box-shadow:0 40px 90px rgba(0,0,0,.7),0 0 0 1px rgba(99,64,230,.1);animation:umu .18s ease-out}
.umbox h3{margin:0 0 8px;font-size:20px}
.umbox p{margin:0 0 20px;color:var(--mu);white-space:pre-line;word-break:break-word}
.uma{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
@keyframes umf{from{opacity:0}}
@keyframes umu{from{opacity:0;transform:translateY(8px)}}

/* =====================================================================
   POSTACIE
   ===================================================================== */
.chgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.chcard{display:flex;align-items:center;gap:14px;width:100%;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .25s}
.chcard:hover{background:var(--card2);border-color:rgba(183,156,255,.4);box-shadow:0 14px 30px -20px rgba(99,64,230,.6)}
.chph,.chbig{flex-shrink:0;display:grid;place-items:center;overflow:hidden;background:var(--card2);border:1px solid var(--line);font:700 26px var(--font)}
.chph{width:72px;height:88px;border-radius:12px}
.chbig{width:132px;height:160px;border-radius:16px;font-size:44px}
.chph img,.chbig img{width:100%;height:100%;object-fit:cover;display:block}
.chb{min-width:0;display:flex;flex-direction:column;gap:3px}
.chb b{overflow:hidden;font-weight:700;font-size:16px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.chb small{color:var(--mu);font-size:13px}
.chown{display:flex;align-items:center;gap:6px;min-width:0;margin-top:4px}
.chown img{width:18px;height:18px;flex-shrink:0;border-radius:50%}
.chown i{overflow:hidden;color:var(--tx);font-size:13px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.chhead{display:flex;align-items:center;gap:20px;margin-top:6px}
.chhead h2{margin-bottom:4px;word-break:break-word}
.chsec{margin-top:14px}
.chsec dl{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.chsec dl.ctr{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 48px;text-align:center}
.chacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* kafelki statystyk (wejście kaskadą tylko przy pierwszym wyświetleniu) */
.chstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:28px}
.chs{position:relative;overflow:hidden;min-width:0;display:flex;flex-direction:column;gap:6px;padding:16px 18px;animation:chsIn .55s var(--ease) both;animation-delay:calc(var(--i,0)*70ms)}
.chs::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--a,var(--accent))}
.chs::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.07) 50%,transparent 65%);transform:translateX(-120%);animation:chsShine 1.3s ease-out both;animation-delay:calc(var(--i,0)*70ms + .5s)}
.chs .chi{position:absolute;right:14px;top:14px;width:22px;height:22px;color:var(--a,var(--accent));opacity:.55;transition:transform .3s,opacity .3s}
.chs:hover .chi{transform:scale(1.15) rotate(-6deg);opacity:.9}
.chs small{display:flex;align-items:center;gap:7px;padding-right:30px;color:var(--mu);font:500 12.5px var(--font)}
.chs b{color:#fff;font:italic 800 30px/1.1 var(--display);letter-spacing:.02em;word-break:break-word;font-variant-numeric:tabular-nums}
.chs em{color:var(--mu);font:400 12.5px var(--font);font-style:normal;word-break:break-word;font-variant-numeric:tabular-nums;animation:chsFade .6s ease 1.5s both}
.chstats.still .chs,.chstats.still .chs::after,.chstats.still .chs em{animation:none}
.chlive{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(79,214,160,.6);animation:chsPulse 1.8s ease-out infinite}
.chstats+.ptool{margin-top:16px}
@keyframes chsIn{from{opacity:0;transform:translateY(14px) scale(.97)}}
@keyframes chsShine{to{transform:translateX(120%)}}
@keyframes chsFade{from{opacity:0}}
@keyframes chsPulse{70%{box-shadow:0 0 0 8px rgba(79,214,160,0)}100%{box-shadow:0 0 0 0 rgba(79,214,160,0)}}

/* pojazdy w karcie postaci */
.chvg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.chveh{min-width:0;display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:14px}
.chveh .vh{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.chveh .vt{min-width:0}
.chveh .vt b{display:block;font-weight:700;font-size:16px;word-break:break-word}
.chveh .vt small{color:var(--mu);font-size:12.5px}
.chveh .chip{flex-shrink:0;padding:2px 10px;font-size:12.5px;letter-spacing:.04em}
.chveh .chips{margin:0}
.chveh .vm{display:grid;grid-template-columns:1fr;gap:8px}
.chveh .vm span{display:flex;flex-direction:column;min-width:0;font-size:14px;word-break:break-word}
.chveh .vm small,.vbar small{color:var(--mu);font:500 12px var(--font)}
.vbars{display:flex;flex-direction:column;gap:6px}
.vbar{display:grid;grid-template-columns:70px 1fr 38px;align-items:center;gap:8px}
.vbar i{display:block;height:6px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}
.vbar u{display:block;height:100%;border-radius:99px;background:var(--mint);transition:width .6s var(--ease)}
.vbar u.mid{background:var(--amber)}
.vbar u.lo{background:var(--coral)}
.vbar em{color:var(--tx);font:600 12px var(--font);font-style:normal;text-align:right}

/* =====================================================================
   RESPONSYWNOŚĆ
   ===================================================================== */
@media(max-width:860px){
  .pin,.search,select.pin,textarea.pin{font-size:16px}
  .pin{padding:12px 14px}
  .mini,button.mini{min-height:36px;padding:8px 12px}
  .ptabs{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ptabs::-webkit-scrollbar{display:none}
  .ptabs button{flex:0 0 auto;min-height:42px;padding:9px 16px;white-space:nowrap}
  .savebar{bottom:calc(12px + env(safe-area-inset-bottom));padding:12px;border-radius:16px;gap:8px}
  .savebar .btn{flex:1 1 140px}
  .frow{gap:10px}
  .frow .search{flex-basis:100%}
  .frow .btn{flex:1 1 auto}
  select.pin.grow{width:100%}
  .fgrid{grid-template-columns:1fr}
  .pq{padding:14px}
  .pq .frow{flex-wrap:nowrap}
  .prof dl{grid-template-columns:1fr}
  .rr .pin{min-height:46px}
  .rr{grid-template-columns:1fr 1fr;gap:10px 14px}
  .rc.w2,.rc.end{grid-column:1/-1}
  .rc.end{align-items:stretch}
  .rc.end .btn{width:100%}
  .ucard{flex-wrap:wrap}
  .ucard .un small{white-space:normal}
  .umodal{align-items:end;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
  .umbox{width:100%;border-radius:22px;animation:umu .22s var(--ease)}
  .umbox .uma{flex-direction:column-reverse}
  .umbox .uma .btn{width:100%;padding:13px;min-height:50px}

  /* podania */
  .ptool{margin:22px 0 12px}
  .psearch .pin{height:52px}
  .plist{padding:6px;border-radius:22px}
  .prow{min-height:72px;padding:12px 10px}
  .prow:active:not(:disabled){background:rgba(99,64,230,.16)}
  .lnotice{margin-top:20px;border-radius:18px}
  .pmeta{margin-top:14px;line-height:1.7}
  .pmeta a{display:inline-block;padding:6px 0}
  .pacts{width:100%;justify-content:stretch}
  .pacts .btn{flex:1 1 0;padding:12px 10px;font-size:15px}
  .card.nohover[style*="max-width:800px"]{margin-top:14px!important;padding:18px}
  .card.nohover[style*="max-width:800px"] h2{font-size:clamp(30px,9vw,40px)}
  #pform .cta{flex-direction:column;align-items:stretch;gap:10px}
  #pform .cta .btn{width:100%}
  #pform .cta .muted{align-self:flex-start!important;font-size:13px}
  #pform .pin{min-height:48px}
  #pform textarea.pin{min-height:120px}

  /* panel: moduły jak kategorie w regulaminie (przycisk „Moduł” + rozwijana lista) */
  .pdash{display:block;margin-top:14px}
  .pnav{display:contents}
  .pnav .ucard{margin-bottom:12px;flex-wrap:nowrap;padding:12px 14px;border-radius:16px}
  .pnav .ucard .av{width:42px;height:42px;font-size:18px}
  .pnav .ucard .un small{display:none}
  .pnav .ucard .mini{flex:0 0 auto}
  .pmwrap{display:block;position:sticky;top:calc(62px + env(safe-area-inset-top));z-index:20;margin:0 -14px 16px;padding:10px 14px 12px;background:rgba(7,5,16,.94);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .pcatbar{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 14px 8px 10px;border:1px solid var(--line2);border-radius:14px;background:var(--card);color:#fff;text-align:left;cursor:pointer;font:700 16px var(--font)}
  .pcatbar:active{background:var(--card2)}
  .pcatbar .pct{flex:1;min-width:0;line-height:1.25}
  .pcatbar .pct small{display:block;color:var(--mu);font:400 12px/1.2 var(--font)}
  .pcatbar .nb{margin:0}
  .pcatbar .chev{width:16px;height:16px;flex-shrink:0;color:var(--mu);transform:rotate(90deg);transition:transform .2s}
  .pmwrap.open .pcatbar .chev{transform:rotate(-90deg)}
  .pmods{display:none;flex-direction:column;gap:2px;max-height:min(60dvh,440px);margin:8px 0 0;padding:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border-radius:16px}
  .pmwrap.open .pmods{display:flex}
  .pmods button{flex:0 0 auto;width:100%;min-height:52px;padding:8px 12px 8px 8px;white-space:nowrap}
  .pmods .psb{min-height:48px;padding:10px 14px}
  .psub{margin-left:22px;padding-left:16px}
  .psb::before{left:-16px;width:14px}
  .psb:not(:last-child)::after{left:-16px}
  .pcatbar .pct{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pcatbar .pct small{display:block}
  .phead{gap:12px;margin-bottom:16px;padding-bottom:14px}
  .phead .mi{width:44px;height:44px;border-radius:14px}
  .phead h2{font-size:clamp(30px,9vw,40px)}
  #pbody .pcard{padding:16px;border-radius:18px}
  .pstat .card{padding:16px 18px}
}
@media(max-width:600px){
  .pcard{padding:14px}
  .rr{grid-template-columns:1fr;padding:12px 14px}
  .rr .rc.w2,.rr .rc.end{grid-column:auto}
  .mcard{padding:10px}
  .prow{grid-template-columns:48px 1fr;gap:14px;padding:14px 10px}
  .prow .go{grid-column:2;justify-self:start}
  .pi{width:48px;height:48px;border-radius:14px}
  .pi .svg{width:22px;height:22px}
  .pbody b{font-size:17px}
  .lnotice{padding:16px;gap:14px}
  .lnotice .btn{width:100%}
  .prof .ban{height:104px}
  .prof .pb{padding:0 16px 16px}
  .prof .pav{width:84px;height:84px;margin-top:-44px;border-width:4px}
  .prof h3{font-size:24px}
  .uma .btn{flex:1 1 auto}
  .chstats{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
  .chs{padding:13px 14px;gap:4px}
  .chs.wide{grid-column:1/-1}
  .chs b{font-size:26px}
  .chs small{padding-right:26px;font-size:12px}
  .chs .chi{top:12px;right:12px;width:20px;height:20px}
  .chhead{flex-direction:column;align-items:flex-start}
  .chbig{width:100%;height:220px}
  .chvg{grid-template-columns:1fr}
}
@media(max-width:380px){.rr{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.chs,.chs::after,.chs em,.chlive{animation:none!important}}