:root{--bg:#020910;--panel:#07121c;--panel2:#0a1722;--line:#1f3140;--text:#f4f7fa;--muted:#8f9eab;--purple:#6f35ff;--green:#21b65b;--red:#ef3139;--yellow:#ffb000;--blue:#2876ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 76% -15%,rgba(80,42,180,.12),transparent 28%),var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.collection-app{min-height:100vh;display:grid;grid-template-columns:205px minmax(0,1fr)}.side-nav{position:sticky;top:0;height:100vh;padding:25px 12px 22px;border-right:1px solid #172733;background:#020b13;display:flex;flex-direction:column}.side-logo{padding:2px 9px 26px;font-size:22px;font-weight:900;letter-spacing:-.8px}.side-logo span{color:#fff}.side-logo{color:#7e45ff}.side-nav nav{display:grid;gap:5px}.side-nav nav a{display:flex;align-items:center;gap:11px;padding:12px 11px;border-radius:7px;color:#d6dde3;font-size:13px}.side-nav nav a i{width:20px;text-align:center;color:#aeb8c0;font-style:normal}.side-nav nav a:hover,.side-nav nav a.active{background:#111a2c;color:#8e5cff}.side-nav nav a.active i{color:#7c4cff}.side-back{margin-top:auto;padding:12px 10px;color:#b4bec7;font-size:12px}.collection-main{min-width:0;padding:27px 26px 38px}.collection-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px}.eyebrow{margin:0 0 5px;color:#8e5cff;font-size:10px;font-weight:800;letter-spacing:1.4px}.collection-header h1{margin:0;font-size:25px;letter-spacing:-.5px}.add-card{padding:11px 15px;border-radius:6px;background:#5522dc;font-size:12px;font-weight:800}.collection-path{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:17px}.collection-path a{min-width:108px;display:flex;justify-content:space-between;gap:15px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:#06111a;color:#e5e9ed;font-size:12px}.collection-path a:first-child{border-color:#33459d}.collection-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px}.summary-card{position:relative;min-height:182px;padding:19px 19px 40px;display:grid;grid-template-columns:105px minmax(0,1fr);gap:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,#08151f,#050e16)}.pack-art{height:116px;padding:10px 8px;display:flex;flex-direction:column;justify-content:center;border:2px solid rgba(255,255,255,.16);box-shadow:0 9px 20px #000;transform:rotate(-5deg);background:linear-gradient(140deg,#0f4588,#e4bd18 37%,#df1d3c 70%,#17266a);text-align:center}.pack-art b{font-size:13px}.pack-art span{font-size:7px}.pack-art strong{margin-top:7px;font-size:19px}.summary-copy h2{margin:7px 0 21px;font-size:22px}.stat-row{display:flex;gap:48px}.stat-row div{min-width:94px}.stat-row span{display:block;margin-bottom:7px;color:#c4ccd2;font-size:11px}.stat-row strong{font-size:24px}.stat-row small{color:#f3f5f7;font-size:12px}.green{color:var(--green)}.red{color:var(--red)}.yellow{color:var(--yellow)}.progress-track{position:absolute;left:18px;right:18px;bottom:18px;height:12px;overflow:hidden;border-radius:999px;background:var(--red)}.progress-owned{position:absolute;inset:0 auto 0 0;width:69%;background:var(--green)}.progress-missing{position:absolute;inset:0 0 0 69%;background:var(--red)}.progress-extra{position:absolute;right:0;bottom:0;width:9.6%;height:50%;background:var(--yellow)}.toolbar{margin:13px 0 17px;padding:8px 7px;display:flex;justify-content:space-between;gap:14px;border:1px solid #132431;border-radius:7px;background:#040d15}.tabs{display:flex;gap:6px}.tabs a{padding:10px 14px;border:1px solid #1b2b39;border-radius:5px;font-size:11px}.tabs a.active{border-color:#5731c9;background:#351895}.search{width:min(320px,42%);display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #1d2d3a;border-radius:5px}.search span{font-size:20px}.search input{width:100%;border:0;outline:0;color:#fff;background:transparent;font-size:10px}.section-heading-row{display:flex;justify-content:space-between;align-items:center;margin:21px 2px 9px}.section-heading-row h2{margin:0;color:#8254ff;font-size:16px}.golden-section .section-heading-row h2{color:#ffc400}.section-heading-row span{color:#8254ff;font-size:10px}.club-row,.special-row{overflow:hidden;border:1px solid #1c2d3a;border-radius:6px;background:#06111a}.club-row+ .club-row{border-top:0;border-radius:0}.club-row>summary,.special-row>summary{min-height:44px;padding:0 14px;display:grid;grid-template-columns:78px minmax(0,1fr) 70px;align-items:center;gap:10px;cursor:pointer;list-style:none}.club-row>summary::-webkit-details-marker,.special-row>summary::-webkit-details-marker{display:none}.club-row>summary::after{content:none}.club-row[open]>summary::after{content:none}.range{color:#c4ced6;font-size:11px;letter-spacing:.4px}.club-row>summary strong{font-size:13px}.club-row>summary em{color:#1bd36b;font-size:11px;font-style:normal}.player-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #1b2b38}.player-row{min-height:38px;display:grid;grid-template-columns:42px 29px minmax(0,1fr) 74px;align-items:center;padding:0 10px;border-bottom:1px solid #12232f;font-size:11px}.player-row:nth-child(n+10){grid-column:2}.player-row.split-start{grid-row:1}.player-grid{grid-auto-flow:column;grid-template-rows:repeat(9,auto)}.player-no{color:#eff2f5}.position{font-weight:900;text-align:center}.position--g{color:#8b4dff}.position--d{color:#3b85ff}.position--m{color:#ffae00}.position--f{color:#ff3b42}.position--none{color:#8b98a3}.player-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{justify-self:end;min-width:65px;padding:5px 7px;border-radius:4px;text-align:center;font-size:9px}.status--owned{color:#24d769;background:rgba(23,128,59,.15)}.status--missing{color:#ff4b50;background:rgba(145,34,38,.15)}.status--extra{color:#ffc10d;background:rgba(178,127,0,.15)}.position-legend{padding:10px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;border-top:1px solid #152633;color:#9eabb5;font-size:9px}.position-legend b{width:14px;height:14px;display:inline-grid;place-items:center;border-radius:2px;color:#fff;font-size:8px}.position-legend .g{background:#7040e8}.position-legend .d{background:#2674eb}.position-legend .m{background:#f2a000}.position-legend .f{background:#e9343a}.collapsed-note,.placeholder-grid{padding:12px 14px;border-top:1px solid #1a2b38;color:#8695a0;font-size:10px}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.special-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.special-row>summary{grid-template-columns:74px minmax(0,1fr) 18px;min-height:52px}.special-row>summary strong{font-size:11px}.special-arrow{justify-self:end;color:#fff;font-size:19px}.collection-aside{display:grid;align-content:start;gap:14px}.aside-card{padding:15px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,#08151f,#050e16)}.aside-card h2{margin:0;font-size:15px}.completion-ring{position:relative;width:134px;height:134px;margin:17px auto 9px;border-radius:50%;background:conic-gradient(from 0deg,var(--green) 0 69%,var(--red) 69% 100%)}.completion-ring::before{content:'';position:absolute;inset:17px;border-radius:50%;background:#07121b}.completion-ring::after{content:'';position:absolute;top:0;left:50%;width:19px;height:9.6%;transform:translateX(-50%);transform-origin:50% 67px;background:var(--yellow);border-radius:3px}.completion-ring span{position:absolute;z-index:2;inset:0;display:grid;place-items:center;font-size:31px;font-weight:800}.completion-card>p{text-align:center;color:#c2cad0;font-size:11px}.completion-card dl{margin:15px 0}.completion-card dl div{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #1c2d39;font-size:11px}.completion-card dl div.total{border-bottom:0}.completion-card dt{display:flex;align-items:center;gap:8px}.completion-card dd{margin:0;font-weight:800}.dot{width:9px;height:9px}.green-bg{background:var(--green)}.red-bg{background:var(--red)}.yellow-bg{background:var(--yellow)}.completion-card>a,.aside-button{display:block;padding:11px;border:1px solid #263845;border-radius:5px;text-align:center;font-size:10px}.aside-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.aside-title a{color:#4388ff;font-size:9px}.need-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.need-grid div{min-height:93px;padding:12px 8px;border:1px solid #1d2f3c;border-radius:5px;text-align:center}.need-grid span,.need-grid small{display:block;color:#aeb8c0;font-size:9px}.need-grid strong{display:block;margin:9px 0 4px;font-size:22px}.offer{margin-top:13px;padding:11px;display:flex;gap:10px;border:1px solid #1c2d39;border-radius:6px}.offer-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#6241ef,#e12b42);font-weight:900}.offer div{min-width:0}.offer strong{font-size:11px}.offer small{display:block;margin-top:3px;color:#93a1ac;font-size:9px}.offer p{margin:9px 0 0;color:#aeb8c0;font-size:9px;line-height:1.4}
@media(max-width:1050px){.collection-app{grid-template-columns:74px minmax(0,1fr)}.side-nav{padding-inline:8px}.side-logo{overflow:hidden;font-size:0;padding:4px 8px 24px}.side-logo::after{content:'CC';font-size:18px;font-weight:900;color:#7e45ff}.side-nav nav a{justify-content:center;padding-inline:5px;font-size:0}.side-nav nav a i{font-size:17px}.side-back{font-size:0;text-align:center}.side-back::after{content:'←';font-size:18px}.collection-layout{grid-template-columns:minmax(0,1fr) 220px}.stat-row{gap:24px}.special-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.club-title{display:flex;align-items:center;gap:9px;min-width:0}.club-title strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-logo{width:24px;height:24px;object-fit:contain;flex:0 0 24px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
@media(max-width:790px){.collection-main{padding:18px 12px 28px}.collection-layout{grid-template-columns:1fr}.collection-aside{grid-template-columns:1fr 1fr}.completion-card{grid-row:span 2}.summary-card{grid-template-columns:80px 1fr}.pack-art{height:94px}.summary-copy h2{font-size:17px}.stat-row{gap:12px}.stat-row strong{font-size:19px}.toolbar{flex-direction:column}.search{width:100%;min-height:38px}.player-grid{display:block}.player-row:nth-child(n+10){grid-column:auto}.special-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.collection-app{grid-template-columns:1fr}.side-nav{position:relative;width:100%;height:auto;padding:12px;border-right:0;border-bottom:1px solid #1b2b38}.side-logo{font-size:0;padding:3px 6px 10px}.side-nav nav{grid-template-columns:repeat(4,1fr)}.side-nav nav a{font-size:8px;flex-direction:column;gap:4px}.side-back{display:none}.collection-header{align-items:flex-start}.collection-header h1{font-size:20px}.add-card{font-size:10px}.collection-path{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.collection-path a{min-width:max-content}.summary-card{grid-template-columns:1fr;padding-top:15px}.pack-art{display:none}.stat-row{justify-content:space-between}.stat-row div{min-width:0}.stat-row span{font-size:9px}.stat-row strong{font-size:18px}.toolbar{margin-top:10px}.tabs{overflow-x:auto}.section-heading-row span{display:none}.club-row>summary{grid-template-columns:65px minmax(0,1fr) 48px;padding-inline:9px}.player-row{grid-template-columns:38px 22px minmax(0,1fr) 66px;padding-inline:7px;font-size:10px}.status{min-width:60px;font-size:8px}.position-legend{line-height:1.6}.special-list{grid-template-columns:1fr}.collection-aside{grid-template-columns:1fr}.completion-card{grid-row:auto}.placeholder-grid{grid-template-columns:1fr 1fr}}

/* Full checklist data */
.special-detail{grid-column:1/-1;border-top:1px solid #1a2b38}.special-detail .player-grid{grid-template-rows:none;grid-auto-flow:row;grid-template-columns:1fr}.special-detail .player-row,.special-detail .player-row:nth-child(n+10),.special-detail .player-row.split-start{grid-column:auto;grid-row:auto}.special-detail .position-legend{border-top:1px solid #152633}.golden-section .player-grid{grid-template-rows:repeat(5,auto)}.golden-section .player-row:nth-child(n+6){grid-column:2}.golden-section .player-row.split-start{grid-column:2;grid-row:1}.special-row[open]>summary{border-bottom:0}.special-row[open] .special-arrow{transform:rotate(90deg)}
@media(max-width:790px){.golden-section .player-grid{display:block}.golden-section .player-row:nth-child(n+6),.golden-section .player-row.split-start{grid-column:auto;grid-row:auto}.special-detail .player-grid{display:block}}
/* v4: liczba wierszy checklisty wynika z danych kolekcji */
.player-grid{grid-template-rows:repeat(var(--rows,9),auto)}

@media(max-width:560px){.club-title{gap:6px}.club-logo{width:21px;height:21px;flex-basis:21px}}

/* v6: interaktywny stan kart i liczba egzemplarzy */
.tabs button{padding:10px 14px;border:1px solid #1b2b39;border-radius:5px;color:#fff;background:transparent;font:inherit;font-size:11px;cursor:pointer}.tabs button.active{border-color:#5731c9;background:#351895}.tabs button small{margin-left:3px;color:#9ba7b0;font-size:9px}.tabs button.active small{color:#d6ccff}.quantity-help{margin:-9px 2px 13px;color:#7f8e99;font-size:9px}.quantity-help b{color:#c8d2da}.player-row{grid-template-columns:42px 29px minmax(0,1fr) 184px}.card-state-controls{justify-self:end;display:flex;align-items:center;gap:7px}.ownership-toggle{border:0;cursor:pointer;font-family:inherit}.quantity-stepper{height:27px;display:grid;grid-template-columns:25px 36px 25px;align-items:center;border:1px solid #263947;border-radius:5px;overflow:hidden;background:#07131c}.qty-btn{height:100%;border:0;color:#dce5eb;background:#0b1a24;cursor:pointer;font-size:16px;line-height:1}.qty-btn:hover:not(:disabled){background:#132b39}.qty-btn:disabled{opacity:.28;cursor:default}.qty-value{display:grid;place-items:center;height:100%;border-left:1px solid #263947;border-right:1px solid #263947;color:#ffc10d;font-size:10px;font-weight:800}.player-row[data-status="missing"] .qty-value{color:#7c8a95}.player-row[data-status="owned"] .qty-value{color:#24d769}.filtered-out{display:none!important}.filtered-out-group,.filtered-out-section{display:none!important}.aside-button{width:100%;color:#fff;background:transparent;cursor:pointer;font-family:inherit}.completion-ring::after{height:var(--extra-pct,9.6%)}
@media(max-width:790px){.player-row{grid-template-columns:38px 24px minmax(0,1fr) 165px}.card-state-controls{gap:5px}.quantity-stepper{grid-template-columns:23px 32px 23px}}
@media(max-width:560px){.player-row{grid-template-columns:34px 20px minmax(0,1fr);grid-template-areas:"no pos name" "controls controls controls";row-gap:6px;padding-top:7px;padding-bottom:7px}.player-no{grid-area:no}.position{grid-area:pos}.player-name{grid-area:name}.card-state-controls{grid-area:controls;justify-self:end}.quantity-help{line-height:1.5}.tabs button{padding:9px 10px}}

/* v7: czytelniejszy podzial dwoch kolumn i kontrolki blizej nazwiska */
@media(min-width:791px){
  .player-grid{position:relative;column-gap:0}
  .player-grid::after{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:#29404f;pointer-events:none}
  .player-row{grid-template-columns:42px 29px minmax(0,1fr) 164px;padding-left:10px;padding-right:10px}
  .card-state-controls{justify-self:start;margin-left:10px;gap:7px}
  .status{min-width:65px}
  .quantity-stepper{grid-template-columns:25px 32px 25px}
  .special-detail .player-grid::after{display:none}
  .special-detail .card-state-controls{justify-self:end;margin-left:0}
}

/* v8: plaskie listy dla Posiadam / Brakuje / Nadwyzki */
[hidden]{display:none!important}
.flat-card-list{margin:0 0 18px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#06111a}
.flat-list-head,.flat-card-row{display:grid;grid-template-columns:64px 72px minmax(170px,1.25fr) minmax(170px,1fr) 52px 176px;align-items:center;column-gap:10px}
.flat-list-head{min-height:35px;padding:0 12px;border-bottom:1px solid #29404f;background:#091823;color:#7f8f9a;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.flat-card-row{min-height:40px;padding:0 12px;border-bottom:1px solid #152633;font-size:10px}
.flat-card-row:last-of-type{border-bottom:0}.flat-card-row:hover{background:#081924}
.flat-no{font-weight:900;color:#fff}.flat-name{font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flat-group{color:#aeb9c1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flat-logo-wrap{display:flex;align-items:center;justify-content:flex-start}.flat-logo-wrap .club-logo{width:25px;height:25px;flex-basis:25px}.type-badge{width:23px;height:23px;display:grid;place-items:center;border:1px solid #4730a8;border-radius:50%;background:#1b1250;color:#a98cff;font-size:9px;font-weight:900}.flat-card-row .card-state-controls{justify-self:end;margin-left:0}.flat-empty{padding:28px 16px;text-align:center;color:#82909b;font-size:11px}
@media(max-width:1050px){.flat-list-head,.flat-card-row{grid-template-columns:54px 56px minmax(150px,1.2fr) minmax(130px,.9fr) 40px 158px}.flat-card-row .quantity-stepper{grid-template-columns:22px 29px 22px}.flat-card-row .status{min-width:61px}}
@media(max-width:790px){.flat-list-head{display:none}.flat-card-row{grid-template-columns:42px 28px minmax(0,1fr) 34px;grid-template-areas:"no pos name logo" "group group controls controls";row-gap:6px;padding-top:8px;padding-bottom:8px}.flat-no{grid-area:no}.flat-card-row>.position{grid-area:pos}.flat-name{grid-area:name}.flat-group{grid-area:group;padding-left:70px;font-size:9px}.flat-logo-wrap{grid-area:logo}.flat-card-row .card-state-controls{grid-area:controls;justify-self:end}.flat-card-row .club-logo{width:22px;height:22px;flex-basis:22px}}
@media(max-width:560px){.flat-card-row{grid-template-columns:36px 22px minmax(0,1fr) 30px}.flat-group{padding-left:58px}}

/* v9: sortowanie płaskich list Posiadam / Brakuje / Nadwyżki */
.flat-list-head .sort-head{
  appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;
  text-transform:inherit;letter-spacing:inherit;padding:0;margin:0;min-width:0;text-align:left;
  display:flex;align-items:center;gap:5px;cursor:pointer
}
.flat-list-head .sort-head:hover{color:#fff}
.flat-list-head .sort-head:focus-visible{outline:1px solid #7658ff;outline-offset:3px;border-radius:2px}
.flat-list-head .sort-head--right{justify-content:flex-end;text-align:right}
.sort-mark{font-size:10px;line-height:1;color:#7259ff;opacity:.75}
.sort-head.is-active{color:#fff}
.sort-head.is-active .sort-mark{color:#8f78ff;opacity:1}

/* v10 performance: przeglądarka pomija koszt renderowania sekcji poza ekranem. */
@supports (content-visibility:auto){
  #grouped-card-sections .card-section{content-visibility:auto;contain-intrinsic-size:auto 520px}
}

/* v11 mobile: keep club/card type + logo visible on a dedicated second row */
@media(max-width:790px){
  .flat-card-row{
    grid-template-columns:42px 28px minmax(0,1fr) minmax(145px,auto);
    grid-template-areas:
      "no pos name controls"
      "group group group logo";
    row-gap:7px;
    padding-top:9px;
    padding-bottom:9px;
  }
  .flat-no{grid-area:no}
  .flat-card-row>.position{grid-area:pos}
  .flat-name{grid-area:name}
  .flat-card-row .card-state-controls{grid-area:controls;justify-self:end}
  .flat-group{grid-area:group;padding-left:70px;font-size:9px;overflow:visible;text-overflow:clip;white-space:normal}
  .flat-logo-wrap{grid-area:logo;justify-self:end;padding-right:3px}
  .flat-card-row .club-logo{width:22px;height:22px;flex-basis:22px}
}
@media(max-width:560px){
  .flat-card-row{
    grid-template-columns:36px 22px minmax(0,1fr);
    grid-template-areas:
      "no pos name"
      "controls controls controls"
      "group group logo";
    row-gap:7px;
  }
  .flat-card-row .card-state-controls{justify-self:end}
  .flat-group{padding-left:58px}
  .flat-logo-wrap{justify-self:end}
}
.market-card-link{justify-self:start;color:#fff;text-decoration:none;font-size:10px;font-weight:900;background:#2a3139;border:1px solid #3b444f;border-radius:5px;padding:5px 7px;white-space:nowrap}.market-card-link:hover{background:#e8494f;border-color:#e8494f}@media(max-width:720px){.market-card-link{grid-row:2;margin-left:0}}

/* v13: akcje rynku przy karcie */
.card-market-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.market-mini-action{border:1px solid #343c45;background:#1b2127;color:#dce2e8;border-radius:5px;padding:5px 7px;font-size:9px;font-weight:800;cursor:pointer}.market-mini-action:hover,.market-mini-action.active{border-color:#e8494f;color:#fff}.market-watch.active{border-color:#52d273;color:#52d273;background:#132119}@media(max-width:760px){.card-market-actions{grid-column:3/-1;margin-top:4px}.market-mini-action{padding:5px 6px}}


/* v14 performance: izolacja dużych sekcji kolekcji */
@supports (content-visibility:auto){
  details.club-row:not([open]), details.special-row:not([open]){content-visibility:auto;contain-intrinsic-size:44px}
  details.club-row[open]{contain:layout style}
  .player-grid{contain:layout style}
}
.bfcache-restored body{scroll-behavior:auto}
