.vngpc-root{--vngpc-ink:#172033;--vngpc-muted:#627084;--vngpc-line:#dfe5ee;--vngpc-bg:#f6f8fb;--vngpc-brand:#2764d8;--vngpc-green:#16784c;--vngpc-red:#a83a33;color:var(--vngpc-ink);font:inherit;max-width:1180px;margin:24px auto;line-height:1.5}
.vngpc-root *{box-sizing:border-box}
.vngpc-loading{display:flex;align-items:center;gap:10px;padding:24px;background:var(--vngpc-bg);border:1px solid var(--vngpc-line);border-radius:14px}
.vngpc-spinner{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:var(--vngpc-brand);border-radius:50%;animation:vngpcspin .75s linear infinite}
@keyframes vngpcspin{to{transform:rotate(360deg)}}
.vngpc-shell{overflow:hidden;border:1px solid var(--vngpc-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(22,34,55,.06)}
.vngpc-hero{padding:24px 26px;background:linear-gradient(115deg,#14223d,#203d73);color:#fff}
.vngpc-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b9d0ff;margin-bottom:6px}
.vngpc-hero h2{font-size:clamp(24px,3vw,34px);line-height:1.2;margin:0 0 8px;color:#fff;font-weight:800}
.vngpc-hero p{margin:0;max-width:760px;color:#e3ebfb;font-size:15px}
.vngpc-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#edf3ff;color:#214f9f;font-size:12px;font-weight:750;white-space:nowrap}
.vngpc-badge.is-available{background:#e1f5e9;color:#17613f}.vngpc-badge.is-locked{background:#fff0e8;color:#974822}.vngpc-badge.is-unknown{background:#fff6d8;color:#765c0c}.vngpc-badge.is-caught{background:#e7e9ef;color:#435066}
.vngpc-body{padding:22px;background:#fff}
.vngpc-notice{border:1px solid #dbe5f6;background:#f4f8ff;color:#35445e;border-radius:10px;padding:11px 13px;font-size:13px;margin-bottom:18px}
.vngpc-controls{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-bottom:18px}
.vngpc-field{min-width:0;display:flex;flex-direction:column;gap:6px}.vngpc-field label,.vngpc-label{font-size:13px;font-weight:750;color:#334155}
.vngpc-field input,.vngpc-field select,.vngpc-filterbar select,.vngpc-filterbar input[type=search]{width:100%;min-height:43px;border:1px solid #cfd7e3!important;border-radius:9px!important;background:#fff!important;color:#172033!important;padding:9px 11px!important;font-size:14px!important;box-shadow:none!important;max-width:100%}
.vngpc-field input:focus,.vngpc-field select:focus,.vngpc-filterbar select:focus,.vngpc-filterbar input:focus{outline:2px solid #aac7ff;outline-offset:1px;border-color:#7197ea!important}
.vngpc-span-6{grid-column:span 6}.vngpc-span-4{grid-column:span 4}.vngpc-span-3{grid-column:span 3}.vngpc-span-12{grid-column:span 12}
.vngpc-flags{border:1px solid var(--vngpc-line);background:#fbfcfe;border-radius:11px;padding:12px 14px;margin:3px 0 18px}
.vngpc-flags-title{font-size:13px;font-weight:800;margin-bottom:9px}.vngpc-flag-list{display:flex;flex-wrap:wrap;gap:8px 14px}
.vngpc-flag{display:flex;align-items:center;gap:7px;font-size:13px;color:#334155;cursor:pointer}.vngpc-flag input{width:16px;height:16px;margin:0;accent-color:var(--vngpc-brand)}
.vngpc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 20px}
.vngpc-stat{border:1px solid var(--vngpc-line);border-radius:11px;padding:12px 14px;background:#fff}.vngpc-stat strong{display:block;font-size:22px;line-height:1.2;font-weight:850}.vngpc-stat span{display:block;font-size:12px;color:var(--vngpc-muted);margin-top:5px}
.vngpc-results-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px}.vngpc-results-head h3{font-size:19px;margin:0;color:var(--vngpc-ink)}.vngpc-results-sub{color:var(--vngpc-muted);font-size:13px}
.vngpc-filterbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 16px}.vngpc-filterbar select{width:auto;min-width:150px;min-height:39px}.vngpc-filterbar input[type=search]{flex:1;min-width:190px;min-height:39px}
.vngpc-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vngpc-card{border:1px solid var(--vngpc-line);border-radius:13px;padding:15px;min-width:0;background:#fff;transition:border-color .15s,box-shadow .15s}.vngpc-card:hover{border-color:#bdcde8;box-shadow:0 4px 16px rgba(22,34,55,.05)}.vngpc-card.is-caught{background:#f8fafc;border-color:#b6d6c6}
.vngpc-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.vngpc-card h4{font-size:18px;line-height:1.25;margin:0 0 3px;font-weight:850;color:#16223a;overflow-wrap:anywhere}.vngpc-meta{font-size:13px;color:var(--vngpc-muted)}
.vngpc-details{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.vngpc-chip{display:inline-flex;align-items:center;border:1px solid #e0e6ef;background:#f7f9fc;border-radius:7px;padding:4px 7px;font-size:12px;color:#435068}
.vngpc-reason{font-size:13px;color:#85451e;background:#fff8f0;border-left:3px solid #eaa464;border-radius:0 7px 7px 0;padding:8px 10px;margin:10px 0}.vngpc-reason.is-ready{color:#17613f;background:#f0faf4;border-color:#67bd8e}.vngpc-note{font-size:13px;color:#4b5b70;margin:8px 0 0;overflow-wrap:anywhere}
.vngpc-card-footer{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;border-top:1px solid #edf0f5;margin-top:12px;padding-top:11px}.vngpc-caught-label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;cursor:pointer}.vngpc-caught-label input{width:16px;height:16px;accent-color:#168253;margin:0}.vngpc-empty{grid-column:1/-1;border:1px dashed #cbd5e1;background:#f8fafc;color:#526075;text-align:center;padding:28px 18px;border-radius:12px}
.vngpc-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;color:var(--vngpc-muted);font-size:12px;flex-wrap:wrap}.vngpc-reset{border:1px solid #cfd7e3;background:#fff;border-radius:8px;padding:7px 10px;color:#344256;font:inherit;font-weight:700;cursor:pointer}.vngpc-reset:hover{background:#f2f5fa}.vngpc-error{padding:16px;border:1px solid #f1b9b9;background:#fff2f2;color:#8c2222;border-radius:10px}
@media(max-width:760px){.vngpc-hero{padding:20px}.vngpc-body{padding:14px}.vngpc-controls{gap:10px}.vngpc-span-6,.vngpc-span-4,.vngpc-span-3{grid-column:span 12}.vngpc-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vngpc-stat{padding:10px}.vngpc-stat strong{font-size:20px}.vngpc-results{grid-template-columns:1fr}.vngpc-filterbar>*{width:100%!important;min-width:0!important}.vngpc-card{padding:13px}.vngpc-card-top{flex-direction:column;align-items:flex-start}.vngpc-card-footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.vngpc-spinner{animation:none}.vngpc-card{transition:none}}

.vngpc-coordinate-chip{font-weight:800;border-color:#b8caee;background:#eef4ff;color:#244f99}.vngpc-coordinate-note{font-size:12px;color:#3b567b;background:#f4f8ff;border:1px solid #dce8fb;border-radius:7px;padding:7px 9px;margin:7px 0}

.vngpc-location-guides{display:grid;grid-template-columns:1fr;gap:14px;margin:0 0 16px}
.vngpc-location-guide{border:1px solid #dbe4f1;border-radius:13px;padding:16px;background:#fafdff;min-width:0}
.vngpc-location-guide-heading{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.vngpc-location-guide h4{font-size:17px;line-height:1.3;margin:2px 0 0;color:#16223a}
.vngpc-guide-kicker{font-size:10px;letter-spacing:.1em;font-weight:850;color:#2764d8}
.vngpc-location-description{font-size:13px;line-height:1.6;color:#435068;margin:9px 0 12px}
.vngpc-area-map-wrap{padding:10px;border:1px solid #e3eaf4;border-radius:10px;background:#fff;margin:10px 0}
.vngpc-area-map-title{font-size:13px;font-weight:850;color:#253751}
.vngpc-area-map-caption{font-size:11px;line-height:1.4;color:#66758b;margin:2px 0 8px}
.vngpc-area-map{display:block;width:100%;height:auto;max-height:290px;overflow:visible}
.vngpc-map-line{stroke:#8fa4c4;stroke-width:2.2;stroke-dasharray:4 3}
.vngpc-map-node{fill:#eef4ff;stroke:#b8cbed;stroke-width:1.2}
.vngpc-map-node-text{font-size:11px;font-weight:750;fill:#334c72}
.vngpc-map-current{fill:#244f99;stroke:#244f99;stroke-width:1.2}
.vngpc-map-current-text{font-size:12px;font-weight:850;fill:#fff}
.vngpc-map-current-sub{font-size:8.5px;fill:#e0eaff}
.vngpc-landmarks{margin:10px 0 0;padding-left:19px;color:#435068;font-size:12px;line-height:1.6}
.vngpc-connections-list{margin-top:11px;font-size:12px;color:#334155}
.vngpc-connections-list>strong{display:block;margin-bottom:4px}
.vngpc-connections-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.vngpc-connections-list li{border:1px solid #e3eaf4;border-radius:8px;background:#fff;padding:7px 9px;min-width:0;overflow-wrap:anywhere}
.vngpc-connections-list li span{display:block;font-weight:750}
.vngpc-connections-list li small{display:block;color:#66758b;line-height:1.4;margin-top:2px}
.vngpc-location-hint{font-size:12px;line-height:1.5;color:#42526b;background:#f8fafc;border:1px solid #e5eaf2;padding:8px 10px;border-radius:8px;margin:8px 0}
@media(max-width:760px){.vngpc-location-guide{padding:12px}.vngpc-area-map-wrap{padding:6px}.vngpc-area-map{max-height:none}.vngpc-connections-list ul{grid-template-columns:1fr}}

.vngpc-area-image-wrap{margin:10px 0;padding:10px;border:1px solid #e3eaf4;border-radius:10px;background:#fff}.vngpc-area-image-label{font-size:13px;font-weight:850;color:#253751;margin:0 0 8px}.vngpc-area-image{display:block;width:100%;height:auto;max-height:640px;object-fit:contain;border-radius:7px;margin:0 auto}
@media(max-width:760px){.vngpc-area-image-wrap{padding:7px}.vngpc-area-image{max-height:none}}

/* v1.0.9: compact location accordions for large encounter databases */
.vngpc-results{display:flex;flex-direction:column;gap:10px}
.vngpc-results-head>div:first-child{min-width:0}
.vngpc-results-sub{display:block;margin-top:3px}
.vngpc-group-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.vngpc-small-action,.vngpc-load-more{appearance:none;border:1px solid #cfd9e8;background:#fff;color:#25456f;border-radius:8px;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;line-height:1.25}
.vngpc-small-action:hover,.vngpc-load-more:hover{background:#f2f6fd;border-color:#a9bedf}
.vngpc-location-group{border:1px solid #dce4ef;border-radius:12px;background:#fff;overflow:hidden;min-width:0}
.vngpc-location-group[open]{border-color:#bfcee3;box-shadow:0 3px 13px rgba(22,34,55,.045)}
.vngpc-location-summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;background:#f8faff;color:#172b49;min-height:54px}
.vngpc-location-summary::-webkit-details-marker{display:none}
.vngpc-location-summary::after{content:'+';display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #d7e1ef;border-radius:7px;background:#fff;color:#365780;font-size:19px;font-weight:500;line-height:1}
.vngpc-location-group[open]>.vngpc-location-summary::after{content:'−'}
.vngpc-location-summary-name{font-weight:850;font-size:15px;overflow-wrap:anywhere}
.vngpc-location-summary-meta{font-size:12px;color:#64748b;white-space:nowrap}
.vngpc-location-summary-count{font-size:11px;font-weight:800;color:#26724e;background:#eaf8f0;border:1px solid #cfeedd;border-radius:999px;padding:4px 7px;white-space:nowrap}
.vngpc-location-group-body{padding:10px;border-top:1px solid #e7edf5;background:#fbfcfe}
.vngpc-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vngpc-group-grid .vngpc-card{padding:12px;border-radius:10px;box-shadow:none}
.vngpc-group-grid .vngpc-card h4{font-size:16px}
.vngpc-group-grid .vngpc-card-top{margin-bottom:6px}
.vngpc-group-grid .vngpc-reason{font-size:12px;padding:7px 8px}
.vngpc-group-grid .vngpc-note,.vngpc-group-grid .vngpc-location-hint{font-size:12px}
.vngpc-load-more-wrap{display:flex;justify-content:center;padding:8px 0 2px}
.vngpc-load-more{padding:11px 18px;font-size:13px}
@media(max-width:760px){
  .vngpc-results-head{align-items:flex-start}
  .vngpc-group-actions{width:100%}
  .vngpc-small-action{flex:1}
  .vngpc-location-summary{grid-template-columns:minmax(0,1fr) minmax(74px,116px) 25px;gap:5px 7px;padding:11px 12px}
  .vngpc-location-summary-name{grid-column:1;grid-row:1;font-size:14px}
  .vngpc-location-summary-meta{grid-column:1;grid-row:2;white-space:normal}
  .vngpc-location-summary-count{grid-column:2;grid-row:1/3;white-space:normal;text-align:center;max-width:116px}
  .vngpc-location-summary::after{grid-column:3;grid-row:1/3;justify-self:end;width:22px;height:22px}
  .vngpc-group-grid{grid-template-columns:1fr}
  .vngpc-location-group-body{padding:8px}
}

.vngpc-empty{width:100%}


/* v1.9.6: compact title and intro for narrow mobile screens */
@media(max-width:480px){
  .vngpc-hero{padding:17px 15px}
  .vngpc-kicker{font-size:10px;letter-spacing:.08em;margin-bottom:5px}
  .vngpc-hero h2{font-size:clamp(22px,6vw,27px);line-height:1.18;margin-bottom:6px;overflow-wrap:anywhere}
  .vngpc-hero p{font-size:14px;line-height:1.45}
}


/* v1.9.9: compact, theme-resistant hero spacing on desktop and mobile */
.vngpc-root .vngpc-shell > .vngpc-hero {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px 22px !important;
}
.vngpc-root .vngpc-shell > .vngpc-hero .vngpc-kicker {
  display: block !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  letter-spacing: .08em !important;
}
.vngpc-root .vngpc-shell > .vngpc-hero h2 {
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  font-size: clamp(23px, 2.2vw, 30px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: normal !important;
  max-width: 100% !important;
}
.vngpc-root .vngpc-shell > .vngpc-hero p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 760px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
@media (max-width: 760px) {
  .vngpc-root .vngpc-shell > .vngpc-hero { padding: 14px 16px !important; }
  .vngpc-root .vngpc-shell > .vngpc-hero h2 { font-size: clamp(22px, 4.5vw, 27px) !important; margin-bottom: 6px !important; }
  .vngpc-root .vngpc-shell > .vngpc-hero p { font-size: 13px !important; line-height: 1.4 !important; }
}
@media (max-width: 480px) {
  .vngpc-root .vngpc-shell > .vngpc-hero { padding: 12px 13px !important; }
  .vngpc-root .vngpc-shell > .vngpc-hero .vngpc-kicker { font-size: 9px !important; margin-bottom: 4px !important; }
  .vngpc-root .vngpc-shell > .vngpc-hero h2 { font-size: clamp(21px, 6vw, 25px) !important; line-height: 1.16 !important; margin-bottom: 5px !important; }
  .vngpc-root .vngpc-shell > .vngpc-hero p { font-size: 12px !important; line-height: 1.38 !important; }
}
