/* Pokémon Collectie Tracker — dedicated dark + gold theme */
:root {
  --pkt-pokemon-bg: #0a0a18;
  --pkt-pokemon-surface: #10102a;
  --pkt-pokemon-surface-deep: #0c0c20;
  --pkt-pokemon-surface-raised: #18183a;
  --pkt-pokemon-surface-control: #1a1a3a;
  --pkt-pokemon-surface-hover: #14143a;
  --pkt-pokemon-nav-bg: linear-gradient(135deg, #1a0a3a, #0a1a3a);
  --pkt-pokemon-text: #e0e0e0;
  --pkt-pokemon-text-strong: #fff;
  --pkt-pokemon-text-soft: #aaa;
  --pkt-pokemon-text-muted: #a3a3b5;
  --pkt-pokemon-text-faint: #85859b;
  --pkt-pokemon-accent: #ffd700;
  --pkt-pokemon-accent-warm: #ff8800;
  --pkt-pokemon-accent-soft: rgba(255, 215, 0, .08);
  --pkt-pokemon-accent-10: rgba(255, 215, 0, .1);
  --pkt-pokemon-accent-20: rgba(255, 215, 0, .2);
  --pkt-pokemon-accent-25: rgba(255, 215, 0, .25);
  --pkt-pokemon-accent-30: rgba(255, 215, 0, .3);
  --pkt-pokemon-accent-35: rgba(255, 215, 0, .35);
  --pkt-pokemon-accent-40: rgba(255, 215, 0, .4);
  --pkt-pokemon-accent-50: rgba(255, 215, 0, .5);
  --pkt-pokemon-border: #252540;
  --pkt-pokemon-border-strong: #303060;
  --pkt-pokemon-success: #4caf50;
  --pkt-pokemon-success-text: #5cb85c;
  --pkt-pokemon-danger: #d9534f;
  --pkt-radius-sm: 6px;
  --pkt-radius-md: 8px;
  --pkt-radius-lg: 12px;
  --pkt-radius-pill: 999px;
  --pkt-space-1: 4px;
  --pkt-space-2: 5px;
  --pkt-space-3: 6px;
  --pkt-space-4: 8px;
  --pkt-space-5: 10px;
  --pkt-space-6: 12px;
  --pkt-space-7: 14px;
  --pkt-space-8: 16px;
  --pkt-space-9: 18px;
  --pkt-space-10: 20px;
  --pkt-space-11: 24px;
  --pkt-space-12: 26px;
  --pkt-space-13: 30px;
  --pkt-space-14: 32px;
  --pkt-space-15: 36px;
  --pkt-space-16: 50px;
  --pkt-touch-height: 44px;
  --pkt-bottom-nav-height: 54px;
}

*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--pkt-pokemon-bg);color:var(--pkt-pokemon-text);font-family:Segoe UI,sans-serif}
.pkt-nav{display:flex;align-items:center;gap:var(--pkt-space-6);padding:var(--pkt-space-6) var(--pkt-space-10);background:linear-gradient(135deg,#1a0a3a,#0a1a3a);border-bottom:2px solid var(--pkt-pokemon-accent);position:sticky;top:0;z-index:99;overflow:visible}
.pkt-nav-logo{font-weight:900;font-size:1.2rem;color:var(--pkt-pokemon-accent);flex:1;min-width:160px;text-decoration:none}
.pkt-nav-logo em{color:var(--pkt-pokemon-text-strong);font-style:normal}
.pkt-nav-links{display:flex;align-items:center;gap:var(--pkt-space-1);flex-wrap:nowrap}
.pkt-nav-links a{color:var(--pkt-pokemon-text-soft);text-decoration:none;padding:var(--pkt-space-3) var(--pkt-space-5);border-radius:var(--pkt-radius-sm);font-size:.85rem;transition:all .2s;white-space:nowrap}
.pkt-nav-links a:hover{color:var(--pkt-pokemon-accent);background:var(--pkt-pokemon-accent-soft)}
.pkt-nav-av img{width:38px;height:38px;border-radius:50%;border:2px solid var(--pkt-pokemon-accent);object-fit:cover}
.pkt-land{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#160a30 0%,var(--pkt-pokemon-bg) 70%)}
.pkt-land-logo{font-size:2.8rem;font-weight:900;color:var(--pkt-pokemon-accent);text-shadow:0 0 24px var(--pkt-pokemon-accent-50);margin-bottom:var(--pkt-space-3)}
.pkt-land-sub{color:var(--pkt-pokemon-text-muted);margin-bottom:var(--pkt-space-15);font-size:1rem}
.pkt-box{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-14);width:100%;max-width:400px;box-shadow:0 8px 32px #0009}
.pkt-box h2{color:var(--pkt-pokemon-accent);margin-bottom:var(--pkt-space-10);text-align:center}
.pkt-field{margin-bottom:var(--pkt-space-7)}
.pkt-field label{display:block;color:#999;font-size:.82rem;margin-bottom:var(--pkt-space-2)}
.pkt-field input{width:100%;padding:var(--pkt-space-5) var(--pkt-space-6);background:var(--pkt-pokemon-bg);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-md);color:var(--pkt-pokemon-text-strong);font-size:.95rem}
.pkt-field input:focus{outline:none;border-color:var(--pkt-pokemon-accent)}
.pkt-btn{width:100%;padding:var(--pkt-space-6);background:linear-gradient(135deg,var(--pkt-pokemon-accent),var(--pkt-pokemon-accent-warm));border:none;border-radius:var(--pkt-radius-md);color:#000;font-weight:700;font-size:.95rem;cursor:pointer;margin-top:var(--pkt-space-3);transition:opacity .2s}
.pkt-btn:hover{opacity:.85}
.pkt-btn:disabled{opacity:.45;cursor:not-allowed}
.pkt-btn-sec{background:var(--pkt-pokemon-surface-raised);border:1px solid var(--pkt-pokemon-border-strong);color:var(--pkt-pokemon-text-soft)}
.pkt-btn-sec:hover{background:#20205a;opacity:1}
.pkt-lnk{text-align:center;margin-top:var(--pkt-space-7);color:var(--pkt-pokemon-text-muted);font-size:.88rem}
.pkt-lnk a{color:var(--pkt-pokemon-accent);text-decoration:none}
.pkt-msg{padding:var(--pkt-space-4) var(--pkt-space-6);border-radius:var(--pkt-radius-md);margin-bottom:var(--pkt-space-7);display:none;font-size:.88rem}
.pkt-ok{background:#0a200a;border:1px solid #1a501a;color:var(--pkt-pokemon-success-text)}
.pkt-err{background:#200a0a;border:1px solid #501a1a;color:var(--pkt-pokemon-danger)}
.pkt-app{padding:var(--pkt-space-10);max-width:1200px;margin:0 auto}
.pkt-stats{display:flex;gap:var(--pkt-space-7);margin-bottom:var(--pkt-space-10);flex-wrap:wrap}
.pkt-stat{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-7) var(--pkt-space-10);text-align:center;flex:1;min-width:120px}
.pkt-stat-n{font-size:1.9rem;font-weight:700;color:var(--pkt-pokemon-accent)}
.pkt-stat-l{color:var(--pkt-pokemon-text-muted);font-size:.78rem;margin-top:3px}
.pkt-topbar{display:flex;gap:var(--pkt-space-5);margin-bottom:var(--pkt-space-9);flex-wrap:nowrap}
.pkt-topbar input,.pkt-topbar select{padding:var(--pkt-space-4) var(--pkt-space-6);background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-md);color:var(--pkt-pokemon-text-strong);font-size:.88rem;flex:1;min-width:0}
.pkt-serie{margin-bottom:var(--pkt-space-6);border-radius:var(--pkt-radius-lg);overflow:hidden;border:1px solid var(--pkt-pokemon-border)}
.pkt-shdr{display:flex;align-items:center;gap:var(--pkt-space-6);padding:var(--pkt-space-6) var(--pkt-space-8);background:var(--pkt-pokemon-surface);cursor:pointer;transition:border .2s;user-select:none}
.pkt-shdr:hover{background:var(--pkt-pokemon-surface-hover)}
.pkt-shdr.open{border-bottom:1px solid var(--pkt-pokemon-accent-25)}
.pkt-shdr-title,.pkt-shdr-progress{display:flex;align-items:center;gap:var(--pkt-space-6)}
.pkt-shdr-title{flex:1;min-width:0}
.pkt-shdr-progress{flex-shrink:0}
.pkt-sarr{color:var(--pkt-pokemon-accent);font-size:.7rem;transition:transform .2s;flex-shrink:0}
.pkt-sarr.open{transform:rotate(90deg)}
.pkt-sname{font-weight:700;color:var(--pkt-pokemon-text-strong);font-size:.92rem;flex:1}
.pkt-sinfo{color:var(--pkt-pokemon-text-muted);font-size:.76rem}
.pkt-spct{color:var(--pkt-pokemon-accent);font-size:.78rem;font-weight:700;min-width:34px;text-align:right}
.pkt-spg{height:4px;background:var(--pkt-pokemon-border);border-radius:2px;overflow:hidden;width:70px}
.pkt-spg-b{height:100%;background:linear-gradient(90deg,var(--pkt-pokemon-accent),var(--pkt-pokemon-accent-warm));border-radius:2px}
.pkt-sbody{display:none;padding:var(--pkt-space-6);background:var(--pkt-pokemon-surface-deep)}
.pkt-sbody.open{display:block}
.pkt-sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:var(--pkt-space-5)}
.pkt-sc{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-6);cursor:pointer;transition:all .2s}
.pkt-sc:hover{border-color:var(--pkt-pokemon-accent);transform:translateY(-2px);box-shadow:0 4px 18px var(--pkt-pokemon-accent-10)}
.pkt-sc img{width:100%;height:66px;object-fit:contain;margin-bottom:var(--pkt-space-3)}
.pkt-sc h3{font-size:.84rem;color:var(--pkt-pokemon-text-strong);margin-bottom:3px}
.pkt-sc-sub{font-size:.75rem;color:var(--pkt-pokemon-text-faint);margin-bottom:var(--pkt-space-3)}
.pkt-pg{height:4px;background:var(--pkt-pokemon-border);border-radius:2px;overflow:hidden}
.pkt-pg-b{height:100%;background:linear-gradient(90deg,var(--pkt-pokemon-accent),var(--pkt-pokemon-accent-warm));border-radius:2px}
.pkt-pg-t{font-size:.75rem;color:var(--pkt-pokemon-text-muted);margin-top:3px}
.pkt-back{background:none;border:1px solid var(--pkt-pokemon-border-strong);color:var(--pkt-pokemon-text-muted);padding:var(--pkt-space-3) var(--pkt-space-7);border-radius:var(--pkt-radius-md);cursor:pointer;margin-bottom:var(--pkt-space-8);transition:all .2s}
.pkt-back:hover{border-color:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-accent)}
.pkt-sec-title{color:var(--pkt-pokemon-accent);font-size:.88rem;font-weight:700;margin:var(--pkt-space-9) 0 var(--pkt-space-5);padding-bottom:var(--pkt-space-2);border-bottom:1px solid var(--pkt-pokemon-surface-control)}
.pkt-prods{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:var(--pkt-space-5);margin-bottom:var(--pkt-space-3)}
.pkt-prod{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-7);text-align:center;transition:all .2s}
.pkt-prod.owned{border-color:var(--pkt-pokemon-success);background:#071507}
.pkt-prod-ico{font-size:1.8rem;margin-bottom:var(--pkt-space-2)}
.pkt-prod-lbl{font-size:.78rem;color:#ccc;margin-bottom:var(--pkt-space-4)}
.pkt-prod-btn{background:var(--pkt-pokemon-surface-control);border:1px solid var(--pkt-pokemon-border-strong);color:var(--pkt-pokemon-text-soft);padding:var(--pkt-space-2) var(--pkt-space-5);border-radius:var(--pkt-radius-sm);cursor:pointer;font-size:.74rem;transition:all .2s;width:100%}
.pkt-prod-btn:hover{border-color:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-accent)}
.pkt-prod.owned .pkt-prod-btn{background:#0a2a0a;border-color:var(--pkt-pokemon-success);color:var(--pkt-pokemon-success-text)}
.pkt-prod-chk{color:var(--pkt-pokemon-success);font-size:.9rem;margin-bottom:3px;display:none}
.pkt-prod-img{width:100%;height:130px;object-fit:contain;border-radius:var(--pkt-radius-md);margin-bottom:var(--pkt-space-4);background:#181830;opacity:0;transition:opacity .4s}
.pkt-prod-img-ph{width:100%;height:130px;display:flex;align-items:center;justify-content:center;border-radius:var(--pkt-radius-md);margin-bottom:var(--pkt-space-4);background:#181830;font-size:2.5rem}
.pkt-prod-price-wrap{margin:var(--pkt-space-3) 0;font-size:.78rem}
.pkt-prod-price-wrap{margin:var(--pkt-space-3) 0;font-size:.78rem}
.pkt-prod.owned .pkt-prod-chk{display:block}
.pkt-cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:var(--pkt-space-6)}
.pkt-ci{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-5);text-align:center;cursor:pointer;transition:all .2s;position:relative}
.pkt-ci:hover{border-color:var(--pkt-pokemon-accent);transform:translateY(-1px)}
.pkt-ci.own{border-color:var(--pkt-pokemon-success);background:#071507}
.pkt-owned-badge{position:absolute;top:6px;right:6px;width:22px;height:22px;background:#27ae60;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:900;color:var(--pkt-pokemon-text-strong);z-index:4;box-shadow:0 1px 4px rgba(0,0,0,.5)}
.pkt-ci img{width:100%;max-height:168px;object-fit:contain;border-radius:var(--pkt-radius-sm)}
.pkt-ci h4{font-size:.77rem;color:#ccc;margin-top:var(--pkt-space-3)}
.pkt-ci-info{margin-top:var(--pkt-space-1)}
.pkt-ci-name{display:block;font-size:.75rem;color:#eee;font-weight:600;margin-top:var(--pkt-space-1);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pkt-ci-nr{display:block;font-size:.75rem;color:var(--pkt-pokemon-text-muted);margin-top:2px}
.pkt-ci-price{display:block;font-size:.75rem;color:var(--pkt-pokemon-accent);margin-top:2px}
.pkt-ci-price-psa{color:#e67e22!important}
.pkt-ci .cnm{font-size:.75rem;color:var(--pkt-pokemon-text-faint);margin-top:2px}
.pkt-ci .cgr{font-size:.75rem;color:var(--pkt-pokemon-accent);margin-top:2px}
.pkt-ci .cpr{font-size:.75rem;color:var(--pkt-pokemon-success);margin-top:2px;font-weight:600}
.pkt-badge{position:absolute;top:6px;right:6px;background:var(--pkt-pokemon-success);color:var(--pkt-pokemon-text-strong);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.62rem}
.pkt-rar{position:absolute;top:6px;left:6px;background:var(--pkt-pokemon-surface-control);color:var(--pkt-pokemon-accent);border-radius:var(--pkt-radius-sm);padding:2px var(--pkt-space-2);font-size:.75rem;font-weight:700}
.pkt-mbg{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000}
.pkt-modal{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border-strong);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-12);width:90%;max-width:500px;max-height:90vh;overflow-y:auto}
.pkt-modal h3{color:var(--pkt-pokemon-accent);margin-bottom:var(--pkt-space-5)}
.pkt-mc{float:right;background:none;border:none;color:var(--pkt-pokemon-text-muted);font-size:1.4rem;cursor:pointer;line-height:1}
.pkt-mc:hover{color:var(--pkt-pokemon-text-strong)}
.pkt-modal select{width:100%;padding:var(--pkt-space-4);background:var(--pkt-pokemon-bg);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-md);color:var(--pkt-pokemon-text-strong);margin-bottom:var(--pkt-space-5)}
.pkt-modal-img{width:100%;max-height:195px;object-fit:contain;border-radius:var(--pkt-radius-md);margin-bottom:var(--pkt-space-6)}
.pkt-mrow{display:flex;gap:var(--pkt-space-4)}
.pkt-psa-hd{color:var(--pkt-pokemon-accent);font-size:.8rem;margin:var(--pkt-space-6) 0 var(--pkt-space-2);font-weight:700}
.pkt-psa-tbl{width:100%;border-collapse:collapse}
.pkt-psa-tbl tr{border-bottom:1px solid var(--pkt-pokemon-surface-control)}
.pkt-psa-tbl td{padding:var(--pkt-space-3) 3px;font-size:.84rem}
.pkt-psa-tbl td:last-child{text-align:right;font-weight:700}
.pkt-prof{padding:var(--pkt-space-10);max-width:860px;margin:0 auto}
.pkt-ph{display:flex;align-items:center;gap:var(--pkt-space-10);background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-10);margin-bottom:var(--pkt-space-10)}
.pkt-pa{width:90px;height:90px;border-radius:50%;border:3px solid var(--pkt-pokemon-accent);object-fit:cover}
.pkt-pi h2{color:var(--pkt-pokemon-text-strong);font-size:1.3rem}
.pkt-pi p{color:var(--pkt-pokemon-text-muted);font-size:.85rem;margin-top:3px}
.pkt-sec{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-10);margin-bottom:var(--pkt-space-9)}
.pkt-sec h3{color:var(--pkt-pokemon-accent);margin-bottom:var(--pkt-space-7);font-size:1rem}
.pkt-ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--pkt-space-5);max-height:600px;overflow-y:auto}
.pkt-ao{text-align:center;cursor:pointer;padding:var(--pkt-space-2);border-radius:var(--pkt-radius-md);border:2px solid transparent;transition:all .2s}
.pkt-ao:hover{border-color:var(--pkt-pokemon-accent-30)}
.pkt-ao.sel{border-color:var(--pkt-pokemon-accent);background:var(--pkt-pokemon-accent-10)}
.pkt-ao img{width:56px;height:56px;object-fit:contain}
.pkt-ao span{display:block;font-size:.75rem;color:var(--pkt-pokemon-text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pkt-pd{display:flex;align-items:center;gap:var(--pkt-space-5);margin-bottom:var(--pkt-space-7)}
.pkt-dot{width:11px;height:11px;border-radius:50%;background:var(--pkt-pokemon-danger)}
.pkt-dot.ok{background:var(--pkt-pokemon-success-text)}
.pkt-load{text-align:center;padding:var(--pkt-space-16) var(--pkt-space-10);color:var(--pkt-pokemon-text-muted)}
.pkt-spin{width:44px;height:44px;border:4px solid var(--pkt-pokemon-border);border-top-color:var(--pkt-pokemon-accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--pkt-space-7)}
.pkt-hamburger{display:none;flex-direction:column;gap:var(--pkt-space-2);cursor:pointer;padding:var(--pkt-space-1);background:none;border:none;margin-left:var(--pkt-space-4)}
.pkt-hamburger span{display:block;width:22px;height:2px;background:var(--pkt-pokemon-text-soft);border-radius:2px;transition:all .3s}
.pkt-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.pkt-hamburger.open span:nth-child(2){opacity:0}
.pkt-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.pkt-mobile-menu{display:none;background:#1a0a3a;border-bottom:1px solid rgba(255,215,0,.15);padding:var(--pkt-space-6) var(--pkt-space-10);flex-direction:column;gap:var(--pkt-space-3)}
.pkt-mobile-menu.open{display:flex}
.pkt-mobile-menu a{color:var(--pkt-pokemon-text-soft);text-decoration:none;padding:var(--pkt-space-5) var(--pkt-space-7);border-radius:var(--pkt-radius-md);font-size:.95rem}
.pkt-mobile-menu a:hover{background:rgba(255,215,0,.08);color:var(--pkt-pokemon-accent)}
.pkt-mobile-menu a.mob-pokemon{color:var(--pkt-pokemon-accent);font-weight:600}
.pkt-mobile-menu a.mob-disney{color:#c084fc;border:1px solid rgba(192,132,252,.3);border-radius:var(--pkt-radius-pill)}
.pkt-nav-links a.nav-disney{color:#c084fc!important;border:1px solid rgba(192,132,252,.3);border-radius:var(--pkt-radius-pill);padding:var(--pkt-space-3) var(--pkt-space-7)!important}
.pkt-nav-links a.nav-disney:hover{background:rgba(192,132,252,.12)!important}
@media(max-width:640px){.pkt-nav-links{display:none!important}
.pkt-hamburger{display:flex!important}
}
.pwa-mode .pkt-nav-links,html.pwa-mode .pkt-nav-links{display:flex!important}
.pkt-stat-want{cursor:pointer;transition:border-color .2s,background .2s}
.pkt-stat-want:hover{border-color:#e879a0!important;background:#1a0a20!important}
.pkt-stat-want .pkt-stat-n{color:#e879a0}
.pkt-stat-want-active .pkt-stat-n{color:#ff4da6}
.pkt-stat-want-open{border-color:#ff4da6!important;background:#200a18!important}
.pkt-want-btn{border-color:#e879a040!important;color:#e879a0!important}
.pkt-want-btn.active{background:#200a18!important;border-color:#ff4da6!important;color:#ff4da6!important}
.pkt-wl{background:var(--pkt-pokemon-surface);border:1px solid var(--pkt-pokemon-border-strong);border-radius:var(--pkt-radius-lg);margin-bottom:var(--pkt-space-9);overflow:hidden}
.pkt-wl-hdr{display:flex;align-items:center;justify-content:space-between;padding:var(--pkt-space-7) var(--pkt-space-9);background:var(--pkt-pokemon-surface-hover);border-bottom:1px solid #252560;color:#ff4da6;font-weight:700;font-size:.95rem}
.pkt-wl-group{border-bottom:1px solid #1a1a40}
.pkt-wl-group:last-child{border-bottom:none}
.pkt-wl-set{padding:var(--pkt-space-5) var(--pkt-space-9);background:#0c0c22;color:var(--pkt-pokemon-accent);font-size:.8rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.pkt-wl-row{display:flex;align-items:center;gap:var(--pkt-space-5);padding:var(--pkt-space-5) var(--pkt-space-9);border-bottom:1px solid var(--pkt-pokemon-surface-hover);flex-wrap:wrap}
.pkt-wl-row:last-child{border-bottom:none}
.pkt-wl-num{color:var(--pkt-pokemon-text-faint);font-size:.75rem;min-width:36px}
.pkt-wl-name{flex:1;color:#ddd;font-size:.88rem}
.pkt-wl-set-btn,.pkt-wl-own-btn{background:var(--pkt-pokemon-surface-raised);border:1px solid var(--pkt-pokemon-border-strong);color:var(--pkt-pokemon-text-soft);padding:var(--pkt-space-2) var(--pkt-space-6);border-radius:var(--pkt-radius-sm);cursor:pointer;font-size:.78rem;transition:all .2s;white-space:nowrap}
.pkt-wl-set-btn:hover{border-color:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-accent)}
.pkt-wl-own-btn{border-color:#1a501a;color:var(--pkt-pokemon-success-text)}
.pkt-wl-own-btn:hover{background:#0a2a0a;border-color:var(--pkt-pokemon-success-text)}
.pkt-wl-empty{padding:var(--pkt-space-13);text-align:center;color:var(--pkt-pokemon-text-faint);font-size:.9rem}
.pkt-sync-badge{display:block;text-align:right;font-size:.75rem;color:var(--pkt-pokemon-text-faint);padding:0 0 var(--pkt-space-5);white-space:nowrap;cursor:default;transition:color .3s}
.pkt-sync-spin{color:var(--pkt-pokemon-accent);animation:pkt-pulse .9s ease-in-out infinite}
@keyframes pkt-pulse{0%,100%{opacity:1}
50%{opacity:.4}
}
@keyframes spin{to{transform:rotate(360deg)}
}
/* nav-css-in-style.css */
.pkt-scan-btn{background:var(--pkt-pokemon-surface-control);border:1px solid var(--pkt-pokemon-accent-40);color:var(--pkt-pokemon-accent);padding:var(--pkt-space-4) var(--pkt-space-7);border-radius:var(--pkt-radius-md);cursor:pointer;font-size:.88rem;white-space:nowrap;transition:all .2s;flex-shrink:0}
.pkt-scan-btn:hover{border-color:var(--pkt-pokemon-accent);background:#20204a}
.pkt-scan-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--pkt-space-4);max-height:300px;overflow-y:auto;margin-top:var(--pkt-space-5)}
.pkt-scan-card{background:var(--pkt-pokemon-surface-deep);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-md);padding:var(--pkt-space-4);cursor:pointer;transition:all .2s;text-align:center}
.pkt-scan-card:hover{border-color:var(--pkt-pokemon-accent);transform:translateY(-1px)}
.pkt-scan-card img{width:100%;border-radius:var(--pkt-radius-sm);margin-bottom:var(--pkt-space-2)}
.pkt-scan-card-name{font-size:.75rem;color:#eee;display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pkt-scan-card-set{font-size:.75rem;color:var(--pkt-pokemon-text-muted);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pkt-scan-card-num{font-size:.75rem;color:var(--pkt-pokemon-text-faint);display:block}
.pkt-scan-file-lbl{display:block;width:100%;padding:var(--pkt-space-6);background:var(--pkt-pokemon-surface-control);border:1px solid var(--pkt-pokemon-border-strong);border-radius:var(--pkt-radius-md);color:var(--pkt-pokemon-text-soft);font-weight:700;font-size:.9rem;cursor:pointer;text-align:center;transition:all .2s;margin-top:var(--pkt-space-4)}
.pkt-scan-file-lbl:hover{border-color:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-accent)}
.pkt-scan-status{font-size:.82rem;min-height:18px;margin-bottom:var(--pkt-space-4);padding:var(--pkt-space-3) 0}
.pkt-near{margin-bottom:var(--pkt-space-7);border-radius:var(--pkt-radius-lg);overflow:hidden;border:1px solid var(--pkt-pokemon-accent-20);background:linear-gradient(135deg,#0f0e08,var(--pkt-pokemon-bg))}
.pkt-near-hdr{display:flex;align-items:center;gap:var(--pkt-space-5);padding:var(--pkt-space-6) var(--pkt-space-8);cursor:pointer;user-select:none}
.pkt-near-hdr:hover{background:#1a1505}
.pkt-near-body{display:none;padding:var(--pkt-space-6);background:var(--pkt-pokemon-surface-deep)}
.pkt-near-body.open{display:block}
.pkt-ci-sel{border-color:var(--pkt-pokemon-accent)!important;background:#1a1403!important;transform:scale(.97)}
.pkt-bulk-bar{position:fixed;bottom:0;left:0;right:0;z-index:90;background:#12100a;border-top:2px solid var(--pkt-pokemon-accent-40);padding:var(--pkt-space-6) var(--pkt-space-10);display:flex;align-items:center;gap:var(--pkt-space-5)}
@keyframes pkt-fall{0%{opacity:1;transform:translateY(0) rotate(0)}
to{opacity:0;transform:translateY(110vh) rotate(720deg)}
}
.pkt-cp{position:fixed;top:-10px;border-radius:2px;animation:pkt-fall 2s ease-in forwards;z-index:99999;pointer-events:none}
.pkt-t10r{display:flex;align-items:center;gap:var(--pkt-space-5);padding:var(--pkt-space-4) var(--pkt-space-7);border-bottom:1px solid var(--pkt-pokemon-surface-hover)}
.pkt-t10r:last-child{border-bottom:none}
.pkt-t10n{color:var(--pkt-pokemon-accent);font-weight:700;font-size:.88rem;min-width:22px;text-align:right}
.pkt-t10v{color:var(--pkt-pokemon-success);font-weight:700;font-size:.85rem;white-space:nowrap}
.pkt-xbtn{background:var(--pkt-pokemon-surface-control);border:1px solid #252550;color:var(--pkt-pokemon-text-muted);padding:var(--pkt-space-3) var(--pkt-space-5);border-radius:var(--pkt-radius-md);cursor:pointer;font-size:.78rem;transition:all .2s;white-space:nowrap}
.pkt-xbtn:hover,.pkt-xbtn-active{border-color:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-accent)}
.pkt-cal-scroll{display:flex;gap:var(--pkt-space-5);overflow-x:auto;padding:var(--pkt-space-7);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#2a2a4a var(--pkt-pokemon-surface-deep)}
.pkt-cal-scroll::-webkit-scrollbar{height:4px}
.pkt-cal-scroll::-webkit-scrollbar-track{background:var(--pkt-pokemon-surface-deep)}
.pkt-cal-scroll::-webkit-scrollbar-thumb{background:#2a2a4a;border-radius:2px}
.pkt-cal-card{flex-shrink:0;width:120px;background:#131328;border:1.5px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);padding:var(--pkt-space-5) var(--pkt-space-4);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--pkt-space-3)}
.pkt-cal-card.pkt-cal-future{border-color:var(--pkt-pokemon-accent-35);box-shadow:0 0 10px var(--pkt-pokemon-accent-10)}
.pkt-cal-logo{max-width:100%;height:48px;object-fit:contain}
.pkt-cal-no-logo{height:48px;display:flex;align-items:center;justify-content:center;font-size:22px}
.pkt-cal-name{font-size:.75rem;font-weight:700;color:#e8e8f0;line-height:1.3}
.pkt-cal-badge{font-size:.75rem;font-weight:700;padding:2px var(--pkt-space-3);border-radius:var(--pkt-radius-lg);white-space:nowrap}
.pkt-cal-upcoming{background:rgba(255,215,0,.15);color:var(--pkt-pokemon-accent)}
.pkt-cal-today{background:rgba(76,175,80,.2);color:var(--pkt-pokemon-success)}
.pkt-cal-recent{background:rgba(76,175,80,.1);color:var(--pkt-pokemon-success)}
.pkt-cal-old{background:rgba(120,120,160,.1);color:#7878a0}

/* Pokémon-only overrides for the shared PWA shell. */
#pkt-app,
#pkt-profile {
  background: var(--pkt-pokemon-bg);
  color: var(--pkt-pokemon-text);
}

.pkt-theme-pokemon {
  background: var(--pkt-pokemon-nav-bg);
  border-color: var(--pkt-pokemon-accent);
}

.pkt-theme-pokemon .pkt-nav-logo,
.pkt-theme-pokemon .pkt-nav-logo em,
.pkt-theme-pokemon .pkt-nav-links a:hover,
.pkt-theme-pokemon .pkt-app-btn:hover,
.pkt-theme-pokemon .pkt-lang-btn:hover {
  color: var(--pkt-pokemon-accent);
}

.pwa-mode .pkt-pwa-status-bar,
html.pwa-mode .pkt-pwa-status-bar {
  background: var(--pkt-pokemon-bg);
}

.pwa-mode .pkt-nav,
html.pwa-mode .pkt-nav {
  background: var(--pkt-pokemon-nav-bg);
  border-color: var(--pkt-pokemon-accent);
}

.pwa-mode .pkt-bottom-nav,
html.pwa-mode .pkt-bottom-nav {
  background: var(--pkt-pokemon-surface);
  border-top-color: var(--pkt-pokemon-border-strong);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .35);
}

.pkt-bottom-nav-btn {
  min-height: var(--pkt-bottom-nav-height);
  color: var(--pkt-pokemon-text-muted);
}

.pkt-bottom-nav-btn.active,
.pkt-theme-pokemon .pkt-bottom-nav-btn.active {
  color: var(--pkt-pokemon-accent);
  background: var(--pkt-pokemon-accent-soft);
}

.pkt-pwa-profile-dd,
.pkt-app-dd,
.pkt-lang-dd {
  background: var(--pkt-pokemon-surface-raised);
  border-color: var(--pkt-pokemon-border-strong);
  border-radius: var(--pkt-radius-lg);
}

.pkt-pwa-profile-opt,
.pkt-app-dd .pkt-app-dd-opt,
.pkt-lang-dd .pkt-lang-dd-opt {
  color: var(--pkt-pokemon-text) !important;
}

.pkt-pwa-profile-opt:hover,
.pkt-app-dd-opt:hover,
.pkt-lang-dd-opt:hover {
  background: var(--pkt-pokemon-surface-hover) !important;
  color: var(--pkt-pokemon-text-strong) !important;
}

.pkt-pwa-profile-logout {
  color: var(--pkt-pokemon-accent);
  border-top-color: var(--pkt-pokemon-border);
}

.pkt-field input,
.pkt-btn,
.pkt-topbar input,
.pkt-topbar select,
.pkt-scan-btn,
.pkt-scan-file-lbl {
  min-height: var(--pkt-touch-height);
}

@media(max-width:480px){
  .pkt-topbar{flex-wrap:wrap}
  .pkt-topbar input{flex:1 0 100%;width:100%}
  .pkt-topbar select{flex:1 1 0}
  .pkt-topbar .pkt-scan-btn{min-height:var(--pkt-touch-height)}
  .pkt-shdr-series{align-items:stretch;flex-direction:column;gap:var(--pkt-space-4)}
  .pkt-shdr-series .pkt-shdr-title,.pkt-shdr-series .pkt-shdr-progress{width:100%}
  .pkt-shdr-series .pkt-shdr-progress{padding-left:calc(.7rem + var(--pkt-space-6));gap:var(--pkt-space-5)}
  .pkt-shdr-series .pkt-sinfo{flex:0 1 auto}
  .pkt-shdr-series .pkt-spg{flex:1;width:auto}
}

/* Pokémon interne navigatie en views */
.pkt-pokemon-bottom-nav{
  display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:9999;align-items:stretch;justify-content:space-around;
  padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;background:var(--pkt-pokemon-surface);
  border-top:1px solid var(--pkt-pokemon-border-strong);box-shadow:0 -2px 12px rgba(0,0,0,.35)
}
html.pkt-pokemon-nav-ready:not(.pwa-mode) body{padding-bottom:calc(var(--pkt-bottom-nav-height) + env(safe-area-inset-bottom,0px))}
.pkt-pokemon-bottom-nav .pkt-bottom-nav-btn{position:relative}
.pkt-pokemon-bottom-nav .pkt-bottom-nav-add{overflow:visible}
.pkt-pokemon-bottom-nav .pkt-bottom-nav-add .pkt-bnav-icon{
  display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-top:-18px;
  border-radius:50%;background:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-bg);
  border:4px solid var(--pkt-pokemon-surface);font-size:1.8rem;font-weight:700;line-height:1;
  box-shadow:0 5px 14px rgba(0,0,0,.4)
}
.pkt-pokemon-bottom-nav .pkt-bottom-nav-add.active .pkt-bnav-icon{background:#fff;color:var(--pkt-pokemon-bg)}
.pkt-pokemon-bottom-nav .pkt-bottom-nav-add .pkt-bnav-label{margin-top:1px}

.pkt-view{min-height:420px}
.pkt-view-heading{margin-bottom:var(--pkt-space-8)}
.pkt-view-heading h1,.pkt-view-heading h2{color:var(--pkt-pokemon-text-strong);margin:0 0 var(--pkt-space-2)}
.pkt-view-heading h1{font-size:1.65rem}
.pkt-view-heading h2{font-size:1.15rem}
.pkt-view-heading p{margin:0;color:var(--pkt-pokemon-text-muted);font-size:.86rem}
.pkt-home-welcome{display:flex;align-items:center;gap:var(--pkt-space-6);margin-bottom:var(--pkt-space-9)}
.pkt-home-welcome img{width:58px;height:58px;object-fit:cover;border-radius:50%;border:2px solid var(--pkt-pokemon-accent);background:var(--pkt-pokemon-surface)}
.pkt-home-welcome span{display:block;color:var(--pkt-pokemon-text-muted);font-size:.82rem}
.pkt-home-welcome h1{margin:2px 0 0;color:var(--pkt-pokemon-text-strong);font-size:1.55rem}
.pkt-home-streak{display:flex;align-items:center;gap:var(--pkt-space-4);width:max-content;margin:-4px 0 var(--pkt-space-7);padding:var(--pkt-space-4) var(--pkt-space-6);border:1px solid var(--pkt-pokemon-border);border-radius:999px;background:var(--pkt-pokemon-surface-deep);color:var(--pkt-pokemon-text-faint)}
.pkt-home-streak>span{font-size:1.25rem;filter:grayscale(1);opacity:.55}.pkt-home-streak strong,.pkt-home-streak small{display:block}.pkt-home-streak strong{color:var(--pkt-pokemon-text-muted);font-size:.88rem}.pkt-home-streak small{margin-top:1px;font-size:.72rem}.pkt-home-streak.active{border-color:rgba(255,136,0,.36);background:rgba(255,136,0,.08)}.pkt-home-streak.active>span{filter:none;opacity:1}.pkt-home-streak.active strong{color:#ff9b37}
.pkt-home-primary{width:auto;min-width:190px;margin:0 0 var(--pkt-space-10)}
.pkt-home-empty,.pkt-wl-empty{padding:var(--pkt-space-9);border:1px dashed var(--pkt-pokemon-border-strong);border-radius:var(--pkt-radius-lg);text-align:center;color:var(--pkt-pokemon-text-muted)}
.pkt-home-near .pkt-near-hdr{cursor:default}
.pkt-home-near .pkt-near-hdr:hover{background:transparent}
.pkt-home-near .pkt-sc{appearance:none;width:auto;color:inherit;font:inherit}
.pkt-stat-pl{font-size:.75rem;margin-top:1px;font-weight:600}
.pkt-home-view .pkt-stat-want{cursor:default}
.pkt-home-view .pkt-stat-want:hover{border-color:var(--pkt-pokemon-border)!important;background:var(--pkt-pokemon-surface)!important}
.pkt-home-section-heading{margin-top:var(--pkt-space-10)}
.pkt-home-goal-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--pkt-space-6);align-items:center;margin-bottom:var(--pkt-space-10);padding:var(--pkt-space-8);border:1px solid var(--pkt-pokemon-accent-35);border-radius:var(--pkt-radius-lg);background:linear-gradient(135deg,#181507,var(--pkt-pokemon-surface));box-shadow:0 8px 24px rgba(0,0,0,.16)}
.pkt-home-kicker{display:block;margin-bottom:var(--pkt-space-3);color:var(--pkt-pokemon-accent);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.pkt-home-goal-copy h2{margin:0;color:var(--pkt-pokemon-text-strong);font-size:1.25rem}
.pkt-home-goal-copy p{margin:4px 0 0;color:var(--pkt-pokemon-text-muted);font-size:.82rem}
.pkt-home-goal-score{text-align:right}
.pkt-home-goal-score strong{display:block;color:var(--pkt-pokemon-accent);font-size:1.7rem;line-height:1}
.pkt-home-goal-score small{display:block;margin-top:4px;color:var(--pkt-pokemon-text-faint);font-size:.72rem;white-space:nowrap}
.pkt-home-goal-progress{grid-column:1/-1}
.pkt-home-goal-btn{grid-column:1/-1;justify-self:start;min-width:150px}
.pkt-goal-empty{appearance:none;width:100%;display:flex;align-items:center;gap:var(--pkt-space-6);margin-bottom:var(--pkt-space-10);padding:var(--pkt-space-7);border:1px dashed var(--pkt-pokemon-accent-35);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface-deep);color:var(--pkt-pokemon-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.pkt-goal-empty:hover{border-color:var(--pkt-pokemon-accent);background:var(--pkt-pokemon-surface)}
.pkt-goal-empty>span{font-size:1.45rem}.pkt-goal-empty>div{flex:1}.pkt-goal-empty strong{display:block;color:var(--pkt-pokemon-text-strong);font-size:.9rem}.pkt-goal-empty small{display:block;margin-top:3px;color:var(--pkt-pokemon-text-muted);font-size:.76rem}.pkt-goal-empty>b{color:var(--pkt-pokemon-accent);font-size:1.35rem}
.pkt-grail{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--pkt-space-8);align-items:center;margin-bottom:var(--pkt-space-10);padding:var(--pkt-space-8);overflow:hidden;border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:radial-gradient(circle at 12% 20%,var(--pkt-pokemon-accent-10),transparent 42%),var(--pkt-pokemon-surface)}
.pkt-grail>img,.pkt-grail-placeholder{width:150px;aspect-ratio:245/342;object-fit:cover;border-radius:var(--pkt-radius-md);box-shadow:0 10px 24px rgba(0,0,0,.42)}
.pkt-grail-placeholder{display:flex;align-items:center;justify-content:center;background:var(--pkt-pokemon-surface-deep);font-size:3rem}
.pkt-grail-copy{min-width:0}.pkt-grail-copy>span{color:var(--pkt-pokemon-accent);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.pkt-grail-copy h3{margin:var(--pkt-space-3) 0;color:var(--pkt-pokemon-text-strong);font-size:1.35rem}.pkt-grail-copy p{margin:0;color:var(--pkt-pokemon-text-muted);font-size:.82rem}.pkt-grail-copy small{display:inline-block;margin-top:var(--pkt-space-4);padding:3px 7px;border-radius:999px;background:rgba(230,126,34,.14);color:#e99a4e;font-size:.72rem}.pkt-grail-copy>strong{display:block;margin-top:var(--pkt-space-6);color:var(--pkt-pokemon-success);font-size:1.4rem}
.pkt-milestone-toast{position:fixed;right:20px;bottom:calc(var(--pkt-bottom-nav-height,72px) + 20px);z-index:10000;display:flex;align-items:center;gap:var(--pkt-space-5);width:min(360px,calc(100vw - 32px));padding:var(--pkt-space-6) var(--pkt-space-7);border:1px solid var(--pkt-pokemon-accent-40);border-radius:var(--pkt-radius-lg);background:#171408;color:var(--pkt-pokemon-text);box-shadow:0 14px 35px rgba(0,0,0,.5);opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .22s,transform .22s}
.pkt-milestone-toast.active{opacity:1;transform:translateY(0)}
.pkt-milestone-icon{font-size:1.7rem}.pkt-milestone-toast div{min-width:0}.pkt-milestone-toast strong{display:block;color:var(--pkt-pokemon-accent);font-size:.88rem}.pkt-milestone-toast div span{display:block;margin-top:2px;color:var(--pkt-pokemon-text-soft);font-size:.8rem;line-height:1.35}

.pkt-action-view,.pkt-more-view{max-width:760px;margin:0 auto}
.pkt-action-list,.pkt-more-list{display:flex;flex-direction:column;gap:var(--pkt-space-4)}
.pkt-action-card,.pkt-more-row{
  appearance:none;width:100%;display:flex;align-items:center;gap:var(--pkt-space-6);padding:var(--pkt-space-7);
  border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface);
  color:var(--pkt-pokemon-text);text-align:left;text-decoration:none;cursor:pointer;font:inherit;transition:border-color .2s,background .2s
}
.pkt-action-card:hover,.pkt-more-row:hover{border-color:var(--pkt-pokemon-accent);background:var(--pkt-pokemon-surface-hover);color:var(--pkt-pokemon-text-strong)}
.pkt-action-card>span,.pkt-more-row>span{display:flex;align-items:center;justify-content:center;flex:0 0 42px;height:42px;border-radius:50%;background:var(--pkt-pokemon-accent-soft);color:var(--pkt-pokemon-accent);font-size:1.25rem}
.pkt-action-card>div,.pkt-more-row>div{flex:1;min-width:0}
.pkt-action-card strong,.pkt-more-row strong{display:block;color:var(--pkt-pokemon-text-strong);font-size:.95rem}
.pkt-action-card small,.pkt-more-row small{display:block;margin-top:2px;color:var(--pkt-pokemon-text-muted);font-size:.78rem;line-height:1.35}
.pkt-action-card>b,.pkt-more-row>b{color:var(--pkt-pokemon-text-faint);font-size:1.5rem;font-weight:400}
.pkt-more-static{cursor:default}
.pkt-more-static:hover{border-color:var(--pkt-pokemon-border);background:var(--pkt-pokemon-surface)}
.pkt-language-choice{display:flex!important;flex:0 0 auto!important;gap:var(--pkt-space-2)}
.pkt-language-choice button{border:1px solid var(--pkt-pokemon-border-strong);border-radius:var(--pkt-radius-md);background:transparent;color:var(--pkt-pokemon-text-muted);padding:7px 10px;cursor:pointer}
.pkt-language-choice button.active{border-color:var(--pkt-pokemon-accent);background:var(--pkt-pokemon-accent-soft);color:var(--pkt-pokemon-accent)}
.pkt-more-panel{margin-top:var(--pkt-space-7)}
.pkt-feature-panel{padding:var(--pkt-space-8);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface-deep);scroll-margin-top:var(--pkt-space-8)}
.pkt-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--pkt-space-6);margin-bottom:var(--pkt-space-8)}.pkt-panel-heading h2{margin:0 0 3px;color:var(--pkt-pokemon-text-strong);font-size:1.15rem}.pkt-panel-heading p{margin:0;color:var(--pkt-pokemon-text-muted);font-size:.8rem}.pkt-panel-heading .pkt-xbtn{flex:0 0 auto}
.pkt-achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pkt-space-5)}
.pkt-achievement{display:flex;align-items:flex-start;gap:var(--pkt-space-5);padding:var(--pkt-space-6);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface)}.pkt-achievement-icon{display:flex;align-items:center;justify-content:center;flex:0 0 46px;height:46px;border-radius:50%;background:var(--pkt-pokemon-surface-raised);font-size:1.45rem}.pkt-achievement strong{display:block;color:var(--pkt-pokemon-text-strong);font-size:.9rem}.pkt-achievement p{margin:3px 0 var(--pkt-space-3);color:var(--pkt-pokemon-text-muted);font-size:.75rem;line-height:1.35}.pkt-achievement small{color:var(--pkt-pokemon-text-faint);font-size:.7rem;font-weight:700}.pkt-achievement.achieved{border-color:var(--pkt-pokemon-accent-35);background:linear-gradient(135deg,var(--pkt-pokemon-accent-10),var(--pkt-pokemon-surface))}.pkt-achievement.achieved .pkt-achievement-icon{background:var(--pkt-pokemon-accent-soft);box-shadow:0 0 18px var(--pkt-pokemon-accent-20)}.pkt-achievement.achieved small{color:var(--pkt-pokemon-accent)}.pkt-achievement.locked{filter:grayscale(1);opacity:.52}
.pkt-pack-controls{padding:var(--pkt-space-6);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface)}.pkt-pack-controls label{display:block;margin-bottom:var(--pkt-space-3);color:var(--pkt-pokemon-text-muted);font-size:.78rem;font-weight:700}.pkt-pack-controls>div{display:flex;align-items:center;gap:var(--pkt-space-4)}.pkt-pack-controls select{flex:1;min-width:0;min-height:var(--pkt-touch-height);padding:var(--pkt-space-4);border:1px solid var(--pkt-pokemon-border-strong);border-radius:var(--pkt-radius-md);background:var(--pkt-pokemon-bg);color:var(--pkt-pokemon-text)}.pkt-pack-controls .pkt-btn{flex:0 0 auto;width:auto;min-width:170px;margin:0}
.pkt-pack-summary{display:flex;justify-content:space-between;gap:var(--pkt-space-5);margin:var(--pkt-space-8) 0 var(--pkt-space-5)}.pkt-pack-summary strong{color:var(--pkt-pokemon-accent)}.pkt-pack-summary span{color:var(--pkt-pokemon-text-muted);font-size:.78rem}.pkt-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pkt-space-6);perspective:900px}.pkt-pack-card{min-width:0;padding:var(--pkt-space-5);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface);animation:pkt-pack-reveal .58s cubic-bezier(.2,.75,.25,1) var(--pkt-reveal-delay) both;transform-origin:center}.pkt-pack-image{display:flex;align-items:center;justify-content:center;aspect-ratio:245/342;margin-bottom:var(--pkt-space-4);overflow:hidden;border-radius:var(--pkt-radius-md);background:radial-gradient(circle,var(--pkt-pokemon-accent-20),var(--pkt-pokemon-surface-deep))}.pkt-pack-image img{width:100%;height:100%;object-fit:contain}.pkt-pack-image>span{font-size:3rem}.pkt-pack-card>strong,.pkt-pack-card>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pkt-pack-card>strong{color:var(--pkt-pokemon-text-strong);font-size:.84rem}.pkt-pack-card>small{margin-top:2px;color:var(--pkt-pokemon-text-muted);font-size:.7rem}.pkt-pack-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--pkt-space-3);margin-top:var(--pkt-space-5)}.pkt-pack-actions button{min-height:38px;padding:6px;border:1px solid var(--pkt-pokemon-border-strong);border-radius:var(--pkt-radius-md);background:var(--pkt-pokemon-surface-raised);color:var(--pkt-pokemon-text-soft);font-size:.7rem;font-weight:700;cursor:pointer}.pkt-pack-actions button:hover{border-color:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-accent)}.pkt-pack-actions button:disabled{opacity:.48;cursor:default}.pkt-pack-msg{min-height:16px;margin-top:var(--pkt-space-3);color:var(--pkt-pokemon-text-muted);font-size:.68rem}.pkt-pack-msg.success{color:var(--pkt-pokemon-success)}.pkt-pack-msg.error{color:var(--pkt-pokemon-danger,#d9534f)}
@keyframes pkt-pack-reveal{0%{opacity:0;transform:translateY(24px) rotateY(82deg) scale(.92)}100%{opacity:1;transform:translateY(0) rotateY(0) scale(1)}}
.pkt-apps-heading{margin-top:var(--pkt-space-10)}
.pkt-app-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--pkt-space-4)}
.pkt-app-switcher a{padding:var(--pkt-space-6);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface);color:var(--pkt-pokemon-text);text-align:center;text-decoration:none;font-size:.84rem}
.pkt-app-switcher a:hover{border-color:var(--pkt-pokemon-accent);color:var(--pkt-pokemon-accent)}

/* Collectie- en setdetailtabs */
.pkt-tabs{display:flex;gap:var(--pkt-space-2);padding:3px;margin-bottom:var(--pkt-space-8);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface-deep);overflow-x:auto}
.pkt-tabs button{appearance:none;flex:1;min-width:92px;min-height:var(--pkt-touch-height);padding:var(--pkt-space-4) var(--pkt-space-7);border:0;border-radius:var(--pkt-radius-md);background:transparent;color:var(--pkt-pokemon-text-muted);font:inherit;font-size:.86rem;font-weight:700;cursor:pointer;white-space:nowrap}
.pkt-tabs button:hover{color:var(--pkt-pokemon-text-strong);background:var(--pkt-pokemon-surface-hover)}
.pkt-tabs button.active{background:var(--pkt-pokemon-accent-soft);color:var(--pkt-pokemon-accent);box-shadow:inset 0 0 0 1px var(--pkt-pokemon-accent-30)}
.pkt-filterbar{display:flex;gap:var(--pkt-space-4);flex-wrap:wrap;margin-bottom:var(--pkt-space-8)}
.pkt-filterbar select{flex:1;min-width:155px;min-height:var(--pkt-touch-height);padding:var(--pkt-space-4) var(--pkt-space-6);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-md);background:var(--pkt-pokemon-surface);color:var(--pkt-pokemon-text);font-size:.82rem}
.pkt-result-count{margin:0 0 var(--pkt-space-5);color:var(--pkt-pokemon-text-muted);font-size:.8rem}
.pkt-ci-meta{display:block;margin-top:3px;color:var(--pkt-pokemon-text-faint);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pkt-prods-overview .pkt-prod{cursor:pointer;position:relative}
.pkt-prods-overview .pkt-prod:hover{border-color:var(--pkt-pokemon-accent);transform:translateY(-1px)}
.pkt-prod-set{color:var(--pkt-pokemon-text-muted);font-size:.75rem;line-height:1.3}
.pkt-prod-value{margin-top:var(--pkt-space-3);color:var(--pkt-pokemon-accent);font-size:.82rem;font-weight:700}
.pkt-search-state{padding-top:var(--pkt-space-2)}
.pkt-search-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--pkt-space-7);margin-bottom:var(--pkt-space-8)}
.pkt-search-heading h2{margin:0 0 3px;color:var(--pkt-pokemon-text-strong);font-size:1.15rem}
.pkt-search-heading p{color:var(--pkt-pokemon-text-muted);font-size:.8rem}
.pkt-search-heading .pkt-back{flex-shrink:0;margin:0}
.pkt-search-sets{margin-bottom:var(--pkt-space-8)}
.pkt-breadcrumb{display:flex;align-items:center;gap:var(--pkt-space-3);margin-bottom:var(--pkt-space-7);color:var(--pkt-pokemon-text-faint);font-size:.78rem;overflow:hidden}
.pkt-breadcrumb button{appearance:none;padding:4px 2px;border:0;background:none;color:var(--pkt-pokemon-accent);font:inherit;cursor:pointer;white-space:nowrap}
.pkt-breadcrumb button:hover{text-decoration:underline}
.pkt-breadcrumb strong{min-width:0;overflow:hidden;color:var(--pkt-pokemon-text-muted);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.pkt-set-tabs{margin-top:var(--pkt-space-8)}
.pkt-tab-panel{display:none}
.pkt-tab-panel.active{display:block}
.pkt-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pkt-space-6)}
.pkt-overview-card{display:flex;flex-direction:column;min-height:128px;padding:var(--pkt-space-8);border:1px solid var(--pkt-pokemon-border);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface)}
.pkt-overview-card span{color:var(--pkt-pokemon-text-muted);font-size:.78rem}
.pkt-overview-card strong{margin:auto 0 2px;color:var(--pkt-pokemon-accent);font-size:1.65rem}
.pkt-overview-card strong.pkt-overview-name{font-size:1rem;line-height:1.3}
.pkt-overview-card small{color:var(--pkt-pokemon-text-faint);font-size:.75rem}
.pkt-overview-progress{margin-top:var(--pkt-space-7)}
.pkt-set-goal{display:flex;align-items:center;gap:var(--pkt-space-7);margin-top:var(--pkt-space-8);padding:var(--pkt-space-7);border:1px solid var(--pkt-pokemon-accent-20);border-radius:var(--pkt-radius-lg);background:var(--pkt-pokemon-surface-deep)}
.pkt-set-goal>div{flex:1;min-width:0}.pkt-set-goal strong{display:block;color:var(--pkt-pokemon-text-strong);font-size:.9rem}.pkt-set-goal span{display:block;margin-top:3px;color:var(--pkt-pokemon-text-muted);font-size:.76rem}.pkt-set-goal .pkt-btn{flex-shrink:0}

@media(max-width:600px){
  .pkt-view-heading h1{font-size:1.4rem}
  .pkt-home-primary{width:100%}
  .pkt-home-goal-btn{width:100%}
  .pkt-grail{grid-template-columns:105px minmax(0,1fr);gap:var(--pkt-space-6);padding:var(--pkt-space-6)}
  .pkt-grail>img,.pkt-grail-placeholder{width:105px}
  .pkt-grail-copy h3{font-size:1.05rem}
  .pkt-set-goal{align-items:stretch;flex-direction:column}.pkt-set-goal .pkt-btn{width:100%}
  .pkt-action-card,.pkt-more-row{padding:var(--pkt-space-6);gap:var(--pkt-space-5)}
  .pkt-feature-panel{padding:var(--pkt-space-6)}
  .pkt-achievement-grid,.pkt-pack-grid{grid-template-columns:1fr}
  .pkt-pack-controls>div{align-items:stretch;flex-direction:column}.pkt-pack-controls .pkt-btn{width:100%}
  .pkt-app-switcher{grid-template-columns:1fr}
  .pkt-language-choice{margin-left:auto}
  .pkt-search-heading{align-items:stretch;flex-direction:column}
  .pkt-search-heading .pkt-back{width:100%}
  .pkt-overview-grid{grid-template-columns:1fr 1fr;gap:var(--pkt-space-4)}
  .pkt-overview-card{min-height:112px;padding:var(--pkt-space-6)}
}

@media(max-width:390px){.pkt-overview-grid{grid-template-columns:1fr}.pkt-home-goal-card{grid-template-columns:1fr}.pkt-home-goal-score{text-align:left}.pkt-grail{grid-template-columns:82px minmax(0,1fr)}.pkt-grail>img,.pkt-grail-placeholder{width:82px}.pkt-grail-copy>strong{margin-top:var(--pkt-space-4)}.pkt-milestone-toast{right:16px;bottom:calc(var(--pkt-bottom-nav-height,72px) + 12px)}}
