.pokemon-page { font-family:var(--site-ui,system-ui,sans-serif); }
.pokemon-home > header { position:relative;top:auto; }
html .pokemon-home .pk-home-art { background:linear-gradient(155deg,var(--surface-2),var(--accent)); }
.pokemon-home .pk-home-art .pk-art { min-height:260px;padding:24px 12px 80px; }
.pokemon-home .set-body { min-width:0; }
.pokemon-home .set-name { overflow-wrap:anywhere; }
.pk-shell { max-width:1200px;margin:auto;padding:32px 24px 60px; }
.pk-hero { display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:40px;margin-bottom:32px;overflow:hidden; }
.pk-eyebrow { color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px; }
.pk-hero h2 { font-size:clamp(30px,4vw,48px);line-height:1.1;letter-spacing:-.045em;margin:0 0 20px; }
.pk-hero p:not(.pk-eyebrow),.pk-muted { color:var(--muted); }
.pk-hero p { max-width:520px; }
.pk-shell .btn.primary { background:var(--accent);border-color:var(--accent);color:var(--accent-ink); }
.pk-results-head>a,.pk-detail>div>a,.pk-muted a { color:var(--accent);text-underline-offset:3px; }
.pk-art { display:flex;justify-content:center;align-items:center;min-height:230px;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%); }
.pk-art img { width:145px;aspect-ratio:600/825;object-fit:contain;filter:drop-shadow(0 12px 12px #0003);transform:rotate(-10deg); }
.pk-art img+img { transform:rotate(12deg) translateY(12px);margin-left:-35px; }
.pk-tabs { display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px; }
.pk-tabs a { text-decoration:none;padding:8px 14px;border:1px solid var(--border);border-radius:9px;color:var(--ink);background:var(--surface-1);font-size:13px; }
.pk-tabs a[aria-current] { background:var(--accent);color:var(--accent-ink);border-color:var(--accent); }
.pk-filters { display:grid;grid-template-columns:2fr 1fr 1.6fr auto;gap:12px;align-items:end;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px; }
.pk-filters label { display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;min-width:0; }
.pk-filters input,.pk-filters select { width:100%;min-width:0;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--ink);font:inherit;min-height:44px; }
.pk-filters .pk-check { flex-direction:row;align-items:center;grid-column:1/-1; }
.pk-check input { width:16px;min-height:16px; }
.pk-filter-help { grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.5; }
.pk-set-search { grid-column:1/-1; }
.pk-set-search > button { max-width:100%;white-space:normal;text-align:left; }
.pk-set-dialog { width:min(640px,calc(100vw - 32px));max-height:80dvh;box-sizing:border-box;overflow:auto;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:0 24px 80px #0005; }
.pk-set-dialog::backdrop { background:#0009; }
.pk-set-dialog-head { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px; }
.pk-set-dialog-head h2 { margin:0;font-size:22px; }
.pk-set-dialog .pk-set-matches { max-height:45dvh; }
.pk-set-search[hidden],.pk-set-matches[hidden] { display:none; }
.pk-set-search .pk-filter-help { margin-top:6px; }
.pk-set-matches { display:grid;gap:4px;max-height:240px;overflow-y:auto;margin-top:8px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1); }
.pk-set-matches button { padding:10px;text-align:left;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;cursor:pointer; }
.pk-set-matches button:hover,.pk-set-matches button:focus-visible { background:var(--surface-2);outline:2px solid var(--accent);outline-offset:-2px; }
.pk-results-head { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0 18px; }
.pk-results-head h2 { margin:0;font-size:24px; }
.pk-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px; }
.pk-card { min-width:0; }
.pk-scan { display:flex;position:relative;align-items:center;justify-content:center;aspect-ratio:1/1.22;padding:18px;background:var(--surface-2);border-radius:16px;text-decoration:none;color:var(--muted);overflow:hidden; }
.pk-scan img { width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 8px #0002);transition:transform .2s; }
.pk-scan:hover img { transform:translateY(-4px); }
.pk-scan .pk-missing { display:none;position:absolute;inset:16px;align-items:center;justify-content:center;text-align:center;font-size:13px; }
.pk-scan.is-missing .pk-missing { display:flex; }
.pk-scan.is-missing img { visibility:hidden; }
.pk-scan-language { position:absolute;bottom:8px;right:8px;padding:4px 8px;border-radius:6px;background:var(--panel);color:var(--ink);font-size:11px; }
.pk-scan.is-missing .pk-scan-language { display:none; }
.pk-card h3 { margin:12px 0 4px;font-size:16px; }
.pk-card h3 a { color:var(--ink);text-decoration:none; }
.pk-card p { margin:4px 0;color:var(--muted);font-size:12px; }
.pk-tag { display:inline-block;margin-top:8px;padding:3px 8px;border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--accent); }
.pk-pagination { display:flex;justify-content:center;align-items:center;gap:18px;margin-top:32px; }
.pk-empty { padding:40px 24px;text-align:center;border:1px dashed var(--border);border-radius:16px;background:var(--panel); }
.pk-detail { display:grid;grid-template-columns:minmax(200px,340px) 1fr;gap:36px;background:var(--panel);padding:28px;border:1px solid var(--border);border-radius:20px;margin-bottom:32px; }
.pk-detail .pk-scan { aspect-ratio:600/825; }
.pk-detail dl { display:grid;grid-template-columns:auto 1fr;gap:8px 20px; }
.pk-detail dd { margin:0; }.pk-detail dt { color:var(--muted); }
.pk-detail > div { min-width:0; }
.pk-prices { margin:24px 0; }
.pk-price-scroll { overflow-x:auto; }
.pk-prices table { width:100%;border-collapse:collapse;font-size:12px;text-align:left; }
.pk-prices th,.pk-prices td { padding:10px 8px;border-bottom:1px solid var(--border); }
.pk-prices td:nth-child(4) { white-space:nowrap;font-weight:700;color:var(--accent); }
.pk-prices > p { font-size:12px;line-height:1.5; }
.pk-attack { border-top:1px solid var(--border);padding-top:12px;margin-top:12px; }
.pk-attack p { font-size:14px;color:var(--muted); }
@media(max-width:900px) { .pk-filters { grid-template-columns:1fr 1fr; }.pk-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .pk-shell { padding:20px 16px 40px; }.pk-hero { padding:24px;grid-template-columns:1fr;gap:8px; }.pk-art { min-height:190px; }.pk-art img { width:110px; }.pk-filters { grid-template-columns:1fr; }.pk-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px; }.pk-scan { padding:12px; }.pk-detail { grid-template-columns:1fr;padding:20px; }.pk-detail .pk-scan { max-width:280px;width:100%;margin:auto; }.pk-results-head { align-items:flex-start;flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { .pk-scan img { transition:none; } }
