/* TCG Keeper — gemeinsames Stylesheet, Teil 11: API-Vollausbau und Projektlogbuch (10.10.2026).
   Pocket-Seltenheitssymbole, Sprach-/Kürzel-Abzeichen, Druckvarianten-Tabelle der Kartenseite,
   Booster-Fortschritt, erweiterte Filter der Kartensuche, Pokédex, Nachschlagewerk (Kompendium),
   Tipps des Tages und Projektlogbuch. Wird in includes/layout_top.php nach Teil 10 eingebunden.
   Alle Farben aus den globalen Variablen (Seitenanpassung wirkt also auch hier). */

:root{
  --pc11-diamond:#3D7DC8; --pc11-star:#C9962B; --pc11-shiny:#B4558F; --pc11-crown:#B8860B;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --pc11-diamond:#7FA9E6; --pc11-star:#E0AE4F; --pc11-shiny:#E08BC0; --pc11-crown:#F2C14E; }
}
:root[data-theme="dark"]{ --pc11-diamond:#7FA9E6; --pc11-star:#E0AE4F; --pc11-shiny:#E08BC0; --pc11-crown:#F2C14E; }

/* ------------------------------------------------------------------
   Abzeichen: Pocket-Seltenheit, Sprache, Set-Kürzel
   ------------------------------------------------------------------ */
.pc-rarity-pocket{ gap:5px; }
.pc-rarity-sym{ letter-spacing:1px; font-weight:700; }
.pc-rarity-pocket.is-diamond .pc-rarity-sym, .tile-pocket .pc-rarity-sym{ color:var(--pc11-diamond); }
.pc-rarity-pocket.is-star .pc-rarity-sym{ color:var(--pc11-star); }
.pc-rarity-pocket.is-shiny .pc-rarity-sym{ color:var(--pc11-shiny); }
.pc-rarity-pocket.is-crown .pc-rarity-sym{ color:var(--pc11-crown); }
.pc-lang-badge{ background:var(--accent-soft); color:var(--accent); font-weight:700; margin-left:4px; cursor:help; }
.pc-abbr-badge{ font-family:var(--font-mono); letter-spacing:.5px; margin-left:6px; vertical-align:middle; border:1px solid var(--line); background:transparent; }
.set-name-row{ display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.tile-name .pc-abbr-badge, .tile-name .pc-lang-badge{ font-size:10px; padding:1px 6px; }
.tile-rarity{ margin-left:4px; }

/* ------------------------------------------------------------------
   Kartenseite: Druckvarianten mit eigenem Preis
   ------------------------------------------------------------------ */
.pc-variants-table td, .pc-variants-table th{ vertical-align:middle; }
.pc-variants-table tr.is-owned td{ background:var(--good-soft); }
.pc-variant-links{ white-space:nowrap; }
.pc-variant-links .btn{ margin:2px 4px 2px 0; }
@media (max-width:640px){
  .pc-variants-table th:nth-child(4), .pc-variants-table td:nth-child(4){ display:none; }
  .pc-variant-links{ white-space:normal; }
}

/* ------------------------------------------------------------------
   Pocket-Set: Fortschritt je Booster Pack
   ------------------------------------------------------------------ */
.pc-booster-progress{ display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:8px; margin-top:10px; }
.pc-booster{ display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:12px;
  background:var(--paper-raised); color:var(--ink); text-decoration:none; transition:border-color .15s, transform .15s; }
.pc-booster:hover{ border-color:var(--accent); transform:translateY(-1px); }
.pc-booster.is-active{ border-color:var(--accent); background:var(--accent-soft); }
.pc-booster img{ height:34px; width:auto; max-width:60px; object-fit:contain; }
.pc-booster-text{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.pc-booster-text strong{ font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pc-booster .progress-track{ display:block; height:5px; }
.pc-booster .progress-fill{ display:block; height:100%; }

/* Serien-Kopf: Erscheinungsdatum, erstes/neuestes Set */
.serie-group-meta{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px; font-size:12px; color:var(--ink-faint); margin-left:auto; }
/* .serie-group-meta a: Linkstil in app-12-links.css (Eintrag 130) */
.serie-group-meta .dash-icon{ vertical-align:-2px; }

/* ------------------------------------------------------------------
   Kartensuche: erweiterte Filter und Online-Hinweis
   ------------------------------------------------------------------ */
.adv-filter{ display:grid; gap:4px; margin-bottom:8px; }
.adv-filter label{ font-size:12px; font-weight:600; color:var(--ink-soft); margin-top:4px; }
.adv-range{ display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.pc-online-note{ display:flex; align-items:center; gap:6px; margin:0 0 10px; }

/* ------------------------------------------------------------------
   Gemeinsame Filterzeile (Projektlogbuch, Pokédex)
   ------------------------------------------------------------------ */
.plb-filter{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:10px; align-items:end; }
.plb-filter .field{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.plb-filter label{ display:flex; align-items:center; gap:5px; font-size:12px; font-weight:600; color:var(--ink-soft); }
.plb-filter .plb-q{ grid-column:span 2; }
.plb-filter .plb-actions{ flex-direction:row; flex-wrap:wrap; gap:6px; }
@media (max-width:520px){ .plb-filter .plb-q{ grid-column:auto; } }

/* ------------------------------------------------------------------
   Projektlogbuch
   ------------------------------------------------------------------ */
.plb-list{ display:flex; flex-direction:column; gap:12px; }
.plb-entry{ border:1px solid var(--line); border-radius:14px; background:var(--paper-raised); padding:14px 16px; scroll-margin-top:90px; }
.plb-entry:target{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.plb-head{ display:flex; gap:12px; align-items:flex-start; }
.plb-num{ flex:none; min-width:46px; height:46px; padding:0 6px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:var(--accent-soft); color:var(--accent); font-family:var(--font-mono); font-weight:700; font-size:16px; text-decoration:none; }
.plb-titlewrap{ min-width:0; flex:1; }
.pc-kpi-sub{ overflow-wrap:anywhere; }
.plb-title{ margin:0 0 6px; font-size:15.5px; line-height:1.35; color:var(--ink); overflow-wrap:anywhere; }
.plb-title code{ font-family:var(--font-mono); font-size:.88em; background:var(--paper-sunken); padding:1px 5px; border-radius:5px; }
.plb-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.plb-tag, .plb-date{ display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:600; padding:2px 9px; border-radius:999px;
  background:var(--paper-sunken); color:var(--ink-soft); }
.plb-date{ background:transparent; color:var(--ink-faint); font-weight:500; padding-left:2px; }
.plb-scope-php{ background:var(--accent-soft); color:var(--accent); }
.plb-scope-offline{ background:var(--paper-sunken); color:var(--ink-soft); }
.plb-scope-both{ background:var(--gold-soft); color:var(--gold); }
.plb-kind-feature{ background:var(--good-soft); color:var(--good); }
.plb-kind-fix{ background:var(--danger-soft); color:var(--danger); }
.plb-kind-analyse{ background:var(--gold-soft); color:var(--gold); }
.plb-desc{ margin-top:10px; font-size:13.5px; line-height:1.6; color:var(--ink-soft); overflow-wrap:anywhere; }
.plb-desc ul, .plb-desc ol{ margin:6px 0 6px 20px; padding:0; }
.plb-desc li{ margin:2px 0; }
.plb-desc code{ font-family:var(--font-mono); font-size:.92em; background:var(--paper-sunken); padding:1px 5px; border-radius:5px; }
.plb-desc b, .plb-desc strong{ color:var(--ink); }
.plb-entry mark, .plb-title mark{ background:var(--gold-soft); color:inherit; padding:0 2px; border-radius:3px; }
@media (max-width:520px){
  .plb-entry{ padding:12px; }
  .plb-num{ min-width:38px; height:38px; font-size:14px; }
}

/* ------------------------------------------------------------------
   Projektlogbuch: Reiter Logbuch | Merkzettel (11.10.2026)
   ------------------------------------------------------------------ */
.plb-tabs{ display:flex; gap:4px; border-bottom:1px solid var(--line); margin:0 0 18px; overflow-x:auto; scrollbar-width:none; }
.plb-tabs::-webkit-scrollbar{ display:none; }
.plb-tab{ display:inline-flex; align-items:center; gap:7px; padding:10px 14px; border-radius:10px 10px 0 0; color:var(--ink-soft); text-decoration:none;
  font-weight:600; font-size:14px; white-space:nowrap; border-bottom:2px solid transparent; margin-bottom:-1px; }
.plb-tab:hover{ color:var(--accent); background:var(--paper-raised); }
.plb-tab.is-active{ color:var(--accent); border-bottom-color:var(--accent); background:var(--paper-raised); }
.plb-tab-count{ font-family:var(--font-mono); font-size:11px; padding:2px 8px; border-radius:99px; background:var(--paper-sunken); color:var(--ink-soft); }
.plb-tab-count.is-open{ background:var(--gold-soft); color:var(--gold); }
a.plb-mzref{ background:var(--gold-soft); color:var(--gold); text-decoration:none; }
a.plb-mzref:hover{ outline:1px solid var(--gold); }

.mz-legend{ display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:12px; font-size:12px; color:var(--ink-soft); }
.mz-legend-item{ display:inline-flex; align-items:center; gap:6px; }
.mz-st{ display:inline-flex; align-items:center; gap:4px; font-size:10.5px; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  padding:2px 8px; border-radius:6px; white-space:nowrap; }
.mz-st-offen{ background:var(--gold-soft); color:var(--gold); }
.mz-st-entschieden{ background:var(--accent-soft); color:var(--accent); }
.mz-st-umgesetzt{ background:var(--good-soft); color:var(--good); }
.mz-st-spaeter{ background:var(--paper-sunken); color:var(--ink-soft); border:1px solid var(--line); }

.mz-list{ display:flex; flex-direction:column; gap:14px; }
.mz-card{ border:1px solid var(--line); border-radius:14px; background:var(--paper-raised); overflow:hidden; scroll-margin-top:90px; }
.mz-card.is-done{ background:var(--paper); }
.mz-head{ list-style:none; cursor:pointer; display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:14px 16px; }
.mz-head::-webkit-details-marker{ display:none; }
.mz-head:hover{ background:var(--paper-sunken); }
.mz-chev{ display:inline-flex; color:var(--ink-faint); transition:transform .2s; }
.mz-card[open] > .mz-head .mz-chev{ transform:rotate(90deg); }
.mz-title{ font-size:18px; font-weight:700; }
.mz-card.is-done .mz-title{ color:var(--ink-soft); }
.mz-state{ font-size:11px; font-weight:700; padding:3px 9px; border-radius:99px; background:var(--accent-soft); color:var(--accent); }
.mz-state.is-done{ background:var(--good-soft); color:var(--good); }
.mz-progress{ display:flex; align-items:center; gap:10px; flex:1 1 260px; min-width:0; justify-content:flex-end; }
.mz-progress .progress-track{ display:block; height:5px; width:140px; flex:0 0 auto; }
.mz-progress .progress-fill{ display:block; height:100%; background:var(--good); }
.mz-progress-text{ font-size:12px; color:var(--ink-soft); }
.mz-body{ border-top:1px solid var(--line); padding:12px 16px 4px; }
.mz-meta{ display:flex; flex-wrap:wrap; gap:4px 16px; font-size:12px; color:var(--ink-faint); }
.mz-meta span{ display:inline-flex; align-items:center; gap:4px; }
.mz-meta code{ font-family:var(--font-mono); font-size:11.5px; background:var(--paper-sunken); padding:1px 5px; border-radius:4px; color:var(--ink-soft); }
.mz-intro{ margin:8px 0 4px; font-size:13.5px; color:var(--ink-soft); max-width:75ch; }
.mz-points{ list-style:none; margin:8px -16px 0; padding:0; border-top:1px solid var(--line); }
.mz-point{ border-bottom:1px solid var(--line); scroll-margin-top:90px; }
.mz-point:last-child{ border-bottom:0; }
.mz-point:target{ background:var(--accent-soft); }
.mz-point-head{ list-style:none; cursor:pointer; display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:4px 10px; align-items:baseline; padding:11px 16px; }
.mz-point-head::-webkit-details-marker{ display:none; }
.mz-point-head:hover{ background:var(--paper-sunken); }
.mz-num{ font-family:var(--font-mono); font-weight:700; font-size:13px; color:var(--ink-faint); }
.mz-point-title{ font-weight:600; font-size:14.5px; min-width:0; }
.mz-point-sub{ grid-column:2 / 4; display:flex; flex-wrap:wrap; gap:4px 12px; font-size:12.5px; color:var(--ink-soft); min-width:0; }
.mz-entry-link{ display:inline-flex; align-items:center; gap:4px; font-family:var(--font-mono); font-size:11.5px; }
.mz-details{ margin:0 16px 12px 66px; padding-left:18px; }
.mz-card mark{ background:var(--gold-soft); color:inherit; padding:0 2px; border-radius:3px; }
@media (max-width:520px){
  .mz-point-head{ grid-template-columns:30px minmax(0,1fr); }
  .mz-point-head .mz-st{ grid-column:2; justify-self:start; }
  .mz-point-sub{ grid-column:2; }
  .mz-details{ margin-left:30px; }
  .mz-progress{ justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce){ .mz-chev{ transition:none; } }

/* ------------------------------------------------------------------
   Pokédex (Merkzettel „Pokédex“, 11.10.2026): Reiter TCG / Pocket / Live /
   Vergleich in drei Ansichten (A schlichte Reiter, B Reiter-Karten,
   C farbiger Umschalter), Kacheln einheitlich hoch mit zwei Namenszeilen,
   optional mit Pokémon-Bild (fehlende als Silhouette).
   ------------------------------------------------------------------ */
:root{
  --pdx-tcg:var(--accent);
  --pdx-pocket:#8FAA30;
  --pdx-pocket-soft:#EEF5D0;
  --pdx-pocket-ink:#3D5210;
  --pdx-live:#2F5DA8;
  --pdx-sil:brightness(0) opacity(.2);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --pdx-pocket:#A9C23F; --pdx-pocket-soft:#2A3015; --pdx-pocket-ink:#D2E58A; --pdx-live:#7FA6E6;
    --pdx-sil:brightness(0) invert(1) opacity(.22);
  }
}
:root[data-theme="dark"]{
  --pdx-pocket:#A9C23F; --pdx-pocket-soft:#2A3015; --pdx-pocket-ink:#D2E58A; --pdx-live:#7FA6E6;
  --pdx-sil:brightness(0) invert(1) opacity(.22);
}

/* Umschalter A/B/C oben rechts */
.pdx-views{ display:inline-flex; gap:2px; padding:3px; border:1px solid var(--line); border-radius:12px; background:var(--paper-raised); }
.pdx-view-btn{ display:inline-flex; align-items:center; gap:4px; min-width:44px; min-height:40px; justify-content:center; padding:0 8px;
  border-radius:9px; color:var(--ink-soft); text-decoration:none; }
.pdx-view-btn:hover{ color:var(--accent); background:var(--paper-sunken); }
.pdx-view-btn.is-active{ background:var(--accent); color:var(--accent-ink); }
.pdx-view-key{ font-family:var(--font-mono); font-size:11px; font-weight:700; }
.pdx-backrow{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; }
.pdx-head-actions{ align-items:center; }
.pdx-detail-img{ width:64px; height:64px; object-fit:contain; }
.pdx-detail-img.is-sil{ filter:var(--pdx-sil); }
.pdx-note{ display:flex; align-items:center; gap:8px; background:var(--gold-soft); color:var(--gold); border-radius:10px; padding:10px 14px; font-size:13.5px; margin-bottom:16px; }

.pdx-soon{ font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:99px; background:var(--gold-soft); color:var(--gold); white-space:nowrap; }
.pdx-pill{ font-family:var(--font-mono); font-size:11.5px; padding:2px 8px; border-radius:99px; background:var(--paper-sunken); color:var(--ink-soft); white-space:nowrap; }

/* Ansicht A: schlichte Reiter */
.pdx-tabs{ display:flex; gap:4px; border-bottom:1px solid var(--line); margin:0 0 18px; overflow-x:auto; scrollbar-width:none; }
.pdx-tabs::-webkit-scrollbar{ display:none; }
.pdx-tab{ display:inline-flex; align-items:center; gap:7px; padding:10px 14px; border-radius:10px 10px 0 0; color:var(--ink-soft); text-decoration:none;
  font-weight:600; font-size:14px; white-space:nowrap; border-bottom:2px solid transparent; margin-bottom:-1px; }
.pdx-tab:hover{ color:var(--accent); background:var(--paper-raised); }
.pdx-tab.is-active{ color:var(--accent); border-bottom-color:var(--accent); background:var(--paper-raised); }
.pdx-tab.is-active .pdx-pill{ background:var(--accent-soft); color:var(--accent); }
.pdx-tab.is-off{ color:var(--ink-faint); cursor:default; }
.pdx-tab.is-end{ margin-left:auto; }

/* Ansicht B: große Reiter-Karten mit Fortschritt */
.pdx-tabcards{ display:grid; grid-template-columns:3fr 3fr 3fr 2fr; gap:12px; margin:0 0 18px; }
.pdx-tc{ position:relative; display:flex; flex-direction:column; gap:8px; padding:14px 16px; min-width:0; border:1.5px solid var(--line); border-radius:16px;
  background:var(--paper-raised); color:var(--ink); text-decoration:none; transition:border-color .12s, box-shadow .12s; }
a.pdx-tc:hover{ border-color:var(--accent); }
.pdx-tc.is-active{ border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.pdx-tc.is-off{ border-style:dashed; background:var(--paper); color:var(--ink-soft); }
.pdx-tc-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pdx-tc-icon{ width:34px; height:34px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; background:var(--accent-soft); color:var(--accent); flex:0 0 auto; }
.pdx-area-pocket .pdx-tc-icon{ background:var(--pdx-pocket-soft); color:var(--pdx-pocket-ink); }
.pdx-area-live .pdx-tc-icon{ color:var(--pdx-live); background:var(--paper-sunken); }
.pdx-area-vergleich .pdx-tc-icon{ background:var(--paper-sunken); color:var(--ink); }
.pdx-tc-name{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; font-weight:700; color:var(--ink-soft); }
.pdx-tc.is-active .pdx-tc-name{ color:var(--accent); }
.pdx-tc-mark{ margin-left:auto; display:inline-flex; align-items:center; gap:3px; font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:99px; background:var(--accent); color:var(--accent-ink); }
.pdx-tc .pdx-soon{ margin-left:auto; }
.pdx-tc-big{ font-size:26px; font-weight:700; line-height:1.1; font-variant-numeric:tabular-nums; }
.pdx-tc-big small{ font-size:16px; color:var(--ink-soft); font-weight:600; }
.pdx-tc-big.is-muted{ color:var(--ink-faint); }
.pdx-tc .progress-track{ display:block; height:6px; }
.pdx-tc .progress-fill{ display:block; height:100%; }
.pdx-area-pocket .progress-fill{ background:var(--pdx-pocket); }
.pdx-tc-sub{ font-size:12.5px; color:var(--ink-soft); }
.pdx-tc-marks{ margin-top:4px; }
.pdx-chips{ display:inline-flex; flex-wrap:wrap; gap:6px; }
.pdx-chip{ display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:99px; border:1px solid var(--line); background:var(--paper); font-size:12px; color:var(--ink-soft); white-space:nowrap; }
@media (max-width:900px){ .pdx-tabcards{ grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:520px){ .pdx-tabcards{ grid-template-columns:minmax(0, 1fr); } .pdx-chips{ display:none; } }

/* Ansicht C: farbiger Umschalter */
.pdx-seg{ display:inline-flex; flex-wrap:wrap; gap:4px; padding:4px; background:var(--paper-sunken); border-radius:14px; margin:0 0 18px; }
.pdx-seg-btn{ display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:0 14px; border-radius:10px; font-size:14px; font-weight:600; color:var(--ink-soft); text-decoration:none; white-space:nowrap; }
a.pdx-seg-btn:hover{ background:var(--paper-raised); color:var(--ink); }
.pdx-seg-btn.is-active{ background:var(--paper-raised); color:var(--ink); box-shadow:0 1px 3px rgba(28,34,51,.15); }
.pdx-seg-btn.is-off{ color:var(--ink-faint); cursor:default; }
.pdx-dot{ width:10px; height:10px; border-radius:50%; display:inline-block; flex:0 0 auto; }
.pdx-dot-tcg{ background:var(--pdx-tcg); }
.pdx-dot-pocket{ background:var(--pdx-pocket); }
.pdx-dot-live{ background:var(--ink-faint); }

/* Generationen */
.pdx-gens{ display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:8px; }
.pdx-gen{ display:grid; grid-template-columns:1fr auto; gap:4px 8px; padding:8px 10px; border:1px solid var(--line); border-radius:12px;
  background:var(--paper-raised); color:var(--ink); text-decoration:none; }
.pdx-gen:hover{ border-color:var(--accent); }
.pdx-gen.is-active{ border-color:var(--accent); background:var(--accent-soft); }
.pdx-gen-name{ font-size:12.5px; font-weight:600; }
.pdx-gen-num{ font-size:12px; color:var(--ink-faint); font-family:var(--font-mono); }
.pdx-gen .progress-track{ grid-column:1 / -1; display:block; height:5px; }
.pdx-gen .progress-fill{ display:block; height:100%; }

/* Kacheln: alle gleich hoch, zwei Zeilen für den Namen, Bild oben rechts */
.pdx-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(118px, 1fr)); gap:8px; }
.pdx-tile{ box-sizing:border-box; height:86px; display:grid; grid-template-rows:22px 32px 15px; row-gap:3px; align-content:center;
  padding:6px 10px; border:1px solid var(--line); border-radius:12px; background:var(--paper-raised); color:var(--ink); text-decoration:none;
  min-width:0; overflow:hidden; scroll-margin-top:90px; transition:transform .12s, border-color .12s; }
.pdx-tile:hover{ transform:translateY(calc(-1px * var(--hover-lift, 1))); border-color:var(--accent); }
.pdx-tile.is-owned{ background:var(--good-soft); border-color:var(--good); }
.pdx-tile.is-unknown:not(.is-owned){ opacity:.72; }
.pdx-tile:target{ box-shadow:0 0 0 3px var(--accent-soft); }
.pdx-top{ display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; }
.pdx-nr{ font-size:11px; color:var(--ink-faint); }
.pdx-img{ width:28px; height:28px; object-fit:contain; flex:0 0 auto; margin:-3px -4px -3px 0; }
.pdx-img.is-sil{ filter:var(--pdx-sil); }
.pdx-name{ align-self:start; font-size:13px; font-weight:600; line-height:16px; overflow:hidden; overflow-wrap:anywhere; hyphens:auto;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.pdx-meta{ display:flex; align-items:center; gap:6px; font-size:11px; line-height:15px; color:var(--good); white-space:nowrap; overflow:hidden; }
.pdx-local{ color:var(--ink-faint); display:inline-flex; align-items:center; gap:2px; }
@media (prefers-reduced-motion:reduce){ .pdx-tile, .pdx-tc{ transition:none; } .pdx-tile:hover{ transform:none; } }

/* Vergleich: T / P / L */
.pdx-marks{ display:inline-flex; gap:3px; }
.pdx-m{ font-family:var(--font-mono); font-size:9.5px; font-weight:700; line-height:13px; padding:0 4px; border-radius:4px;
  border:1px solid var(--line); color:var(--ink-faint); background:transparent; }
.pdx-m.is-t{ background:var(--pdx-tcg); border-color:var(--pdx-tcg); color:var(--accent-ink); }
.pdx-m.is-p{ background:var(--pdx-pocket-soft); border-color:var(--pdx-pocket); color:var(--pdx-pocket-ink); }
.pdx-m.is-na{ opacity:.45; text-decoration:line-through; }
.pdx-m.is-l{ border-style:dashed; }
.pdx-tc-marks .pdx-m{ font-size:12px; line-height:18px; padding:0 7px; }

/* ------------------------------------------------------------------
   Nachschlagewerk (Kompendium) und Tipps des Tages
   ------------------------------------------------------------------ */
.kmp-tabs{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.kmp-values{ display:flex; flex-wrap:wrap; gap:6px; }
.kmp-value{ display:inline-flex; align-items:center; gap:8px; padding:5px 6px 5px 12px; border:1px solid var(--line); border-radius:999px;
  background:var(--paper-raised); color:var(--ink); text-decoration:none; font-size:13px; }
.kmp-value:hover{ border-color:var(--accent); }
.kmp-value.is-empty{ color:var(--ink-faint); }
.kmp-value-num{ min-width:26px; text-align:center; padding:1px 7px; border-radius:999px; background:var(--paper-sunken); font-size:11.5px; font-family:var(--font-mono); }
.kmp-value:not(.is-empty) .kmp-value-num{ background:var(--accent-soft); color:var(--accent); }
.kmp-tips{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:12px; }
.kmp-tip{ display:flex; flex-direction:column; gap:8px; }
.kmp-tip-card, .kmp-tip-set{ display:flex; align-items:center; gap:12px; padding:10px; border:1px solid var(--line); border-radius:14px;
  background:var(--paper-raised); color:var(--ink); text-decoration:none; }
a.kmp-tip-card:hover, a.kmp-tip-set:hover{ border-color:var(--accent); }
.kmp-tip-card img{ width:72px; height:auto; border-radius:6px; flex:none; }
.kmp-tip-set img{ width:96px; max-height:48px; object-fit:contain; flex:none; }
.dash-tips .kmp-tips{ margin-top:6px; }

/* Set-Steckbrief (Kartenzahlen je Druckart, TCG-Online-Code, Formate) */
.pc-set-facts{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.pc-set-facts .pc-pill{ background:var(--paper-sunken); color:var(--ink-soft); }
.pc-set-facts .pc-pill b{ color:var(--ink); }
/* Turnierlegalität: Zustandsfarben + Erläuterung (Fix 17.10.2026, Logbuch-Eintrag 151) */
.pc-set-facts .pc-pill.pc-legal-yes b{ color:var(--good); }
.pc-set-facts .pc-pill.pc-legal-no b{ color:var(--danger); }
.pc-set-facts .pc-pill.pc-legal-unknown b{ color:var(--ink-soft); font-weight:600; }
.pc-set-legal-note{ margin:6px 0 0; max-width:72ch; font-size:12px; line-height:1.45; color:var(--ink-soft); }
.pc-set-legal-note svg{ vertical-align:-2px; }
.pc-set-legal-help{ margin:8px 0 0; font-size:12px; line-height:1.45; }
.pc-set-legal-help svg{ vertical-align:-2px; }

/* ---------------------------------------------------------------------
   TCG Pocket Abgleich (Merkzettel „Pocket-Import“, 11.10.2026)
   --------------------------------------------------------------------- */
.pkt-table td, .pkt-table th{ white-space:nowrap; }
.pkt-table td:nth-child(2), .pkt-table td:nth-child(3){ white-space:normal; }
.pc-table-wrap > .data-table.pkt-narrow{ min-width:0; }
.pkt-r{ text-align:right !important; font-variant-numeric:tabular-nums; }
.pkt-nr{ font-family:var(--font-mono); font-size:12px; color:var(--ink-faint); }
.pkt-muted{ color:var(--ink-faint); }
.pkt-of{ color:var(--ink-faint); font-size:11.5px; margin-left:3px; }
.pkt-setcell{ white-space:normal !important; min-width:170px; }
.pkt-setid{ display:block; font-family:var(--font-mono); font-size:11px; color:var(--ink-faint); }
.pkt-date{ font-size:12px; color:var(--ink-soft); }
.pkt-pc{ font-weight:700; font-variant-numeric:tabular-nums; }
.pkt-app{ display:block; font-size:11px; color:var(--ink-faint); font-weight:500; }
.pkt-app.is-dev{ color:var(--gold); font-weight:700; }
.pkt-table tr.pkt-row-dev > td:first-child{ box-shadow:inset 3px 0 0 var(--gold); }
.pkt-table tr.pkt-row-missing td{ color:var(--ink-soft); }
.pkt-table tr.pkt-row-active td{ background:var(--accent-soft); }
.pkt-table tr.pkt-row-name td, .pkt-table tr.pkt-row-seltenheit td{ background:var(--gold-soft); }
.pkt-table tr.pkt-row-fehlt td{ background:var(--danger-soft); }
.pkt-qty{ font-weight:700; }
.pkt-rarity{ white-space:nowrap; }
.pkt-h3{ font-size:13px; font-weight:700; margin:16px 0 8px; }
.pkt-filter{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.pkt-filter a.pc-pill{ text-decoration:none; }
.pkt-summary{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:14px 0 12px; }
.pkt-sep-dot{ color:var(--ink-faint); }
.pc-pill.pkt-check-ok{ background:var(--good-soft); color:var(--good); }
.pc-pill.pkt-check-name, .pc-pill.pkt-check-seltenheit{ background:var(--gold-soft); color:var(--gold); }
.pc-pill.pkt-check-fehlt{ background:var(--danger-soft); color:var(--danger); }
.pc-pill.pkt-act-neu{ background:var(--good-soft); color:var(--good); }
.pc-pill.pkt-act-mehr{ background:var(--accent-soft); color:var(--accent); }
.pc-pill.pkt-act-weniger, .pc-pill.pkt-act-abweichung{ background:var(--gold-soft); color:var(--gold); }
.pc-pill.pkt-act-ausgelassen{ background:var(--danger-soft); color:var(--danger); }
.pkt-warn{ color:var(--gold); font-weight:600; }
.pkt-bad{ color:var(--danger); font-weight:600; }
.pkt-note{ display:block; font-size:11.5px; color:var(--ink-soft); white-space:normal; max-width:320px; }
.pkt-confirm{ display:flex; align-items:center; gap:6px; font-size:12px; margin-top:4px; white-space:nowrap; }
.pkt-checkall{ display:inline-flex; align-items:center; gap:6px; margin-left:8px; font-weight:600; }
.pkt-warnbox{ display:flex; gap:8px; align-items:flex-start; background:var(--gold-soft); color:var(--gold); border-radius:10px; padding:8px 12px; font-size:13px; }
.pkt-devbox{ display:flex; gap:8px; align-items:flex-start; }
.pkt-mapform{ margin:10px 0; }
.pkt-mapname{ font-weight:600; min-width:160px; }
.pkt-points-form{ margin-bottom:6px; }
.pkt-points-form .form-input{ max-width:140px; }
.pkt-points-label{ font-weight:600; font-size:13px; }
.pkt-discard{ margin-top:10px; }
@media (max-width:640px){
  .pc-table-wrap > .data-table.pkt-table{ min-width:0; }
  .pkt-table th, .pkt-table td{ padding:7px 6px; }
  .pkt-rlabel{ display:none; }
  .pkt-table.pkt-sets, .pkt-table.pkt-preview{ min-width:640px !important; }
  .pkt-mapname{ min-width:0; flex:1 1 100%; }
  .pkt-note{ max-width:220px; }
}
