#price-explorer { --pm-yellow:#f59e0b; --pm-ink:#22221f; --pm-muted:#72716a; --pm-line:#d9d8d0; font-family:Arial,"Noto Sans JP","Yu Gothic",sans-serif; color:var(--pm-ink); background:transparent; font-size:16px; line-height:1.6; }
#price-explorer * { box-sizing:border-box; }
#price-explorer button,#price-explorer input,#price-explorer select { font:inherit; color:inherit; }
#price-explorer button { cursor:pointer; }
#price-explorer a { color:inherit; text-decoration:none; }
#price-explorer button:focus-visible,#price-explorer input:focus-visible,#price-explorer select:focus-visible,#price-explorer a:focus-visible { outline:2px solid #b57300; outline-offset:4px; }
#price-explorer .pm-window { background:#fafaf7; max-width:1200px; margin:0 auto; border:0; container-type:inline-size; }
#price-explorer .pm-content { padding:30px 34px 0; }
#price-explorer .pm-breadcrumb { font-size:13px; color:#85837a; margin-bottom:15px; display:flex; gap:9px; }
#price-explorer .pm-title-row { display:flex; justify-content:space-between; align-items:center; gap:12px; }
#price-explorer h1 { font-size:29px; letter-spacing:-1px; font-weight:700; margin:0; }
#price-explorer .pm-subtitle { font-size:14px; color:#66665d; margin:5px 0 20px; }
#price-explorer .pm-notify { font-size:13px; border-bottom:1px solid #bcbab0; padding:3px 0; white-space:nowrap; }
#price-explorer .pm-search { display:flex; gap:10px; max-width:800px; }
#price-explorer .pm-search-field { background:#fff; border:1px solid #95958a; border-radius:2px; padding:0 15px; display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
#price-explorer .pm-search-field svg { width:19px; flex-shrink:0; }
#price-explorer .pm-search input { border:0; background:none; height:50px; width:100%; min-width:0; outline:none; font-size:16px; }
#price-explorer .pm-search input::placeholder { color:#96958e; }
#price-explorer .pm-search-submit { padding:0 24px; font-size:16px; font-weight:700; border:1px solid var(--pm-yellow); background:var(--pm-yellow); border-radius:2px; white-space:nowrap; }
#price-explorer .pm-search-submit span { margin-left:15px; }
#price-explorer .pm-updated { display:flex; gap:18px; flex-wrap:wrap; color:#78766e; font-size:12px; margin:11px 0 26px; }
#price-explorer .pm-updated b { font-weight:500; color:#3f3e37; }
#price-explorer .pm-ranking { border-top:1px solid #97978c; }
#price-explorer .pm-ranking-head { display:flex; justify-content:space-between; align-items:baseline; gap:14px; margin:22px 0 13px; }
#price-explorer h2 { margin:0; font-size:21px; letter-spacing:-.5px; }
#price-explorer .pm-ranking-head p { margin:0; font-size:13px; color:#77756c; }
#price-explorer .pm-toolbar { display:flex; justify-content:space-between; gap:12px; align-items:stretch; border-bottom:1px solid #aaa99f; }
#price-explorer .pm-tabs { display:flex; gap:23px; }
#price-explorer .pm-tabs button { position:relative; background:none; border:0; border-bottom:3px solid transparent; padding:10px 0 11px; font-size:15px; white-space:nowrap; }
#price-explorer .pm-tabs button[aria-selected="true"] { border-bottom-color:var(--pm-yellow); font-weight:700; }
#price-explorer .pm-options { display:flex; align-items:center; gap:10px; padding-bottom:5px; }
#price-explorer .pm-options select { border:0; background:transparent; padding:5px 2px; font-size:13px; }
#price-explorer .pm-filter-toggle { border:1px solid #d0cec4; background:transparent; padding:5px 10px; border-radius:2px; font-size:13px; white-space:nowrap; display:flex; align-items:center; gap:6px; }
#price-explorer .pm-filter-toggle svg { width:13px; height:13px; }
#price-explorer .pm-filters { display:flex; flex-wrap:wrap; align-items:center; gap:15px; padding:15px 0; border-bottom:1px solid var(--pm-line); font-size:14px; }
#price-explorer .pm-filters label { display:flex; gap:8px; align-items:center; }
#price-explorer .pm-filters select { background:#fff; border:1px solid #cbc9be; padding:5px 9px; border-radius:2px; }
#price-explorer .pm-filters button { border:0; border-bottom:1px solid #aaa99f; background:none; padding:2px 0; color:#77756c; margin-left:auto; font-size:13px; }
#price-explorer [hidden] { display:none !important; }
#price-explorer .pm-caption { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:#77756c; padding:12px 0 8px; }
#price-explorer .pm-table-head { display:none; }

/* 一覧：画像の大きいカードを4列（スマホは2列）。カードは7段（画像・名前・版・収録パック・価格・推移・詳細）で、
   同じ行のカードは段の高さを共有する（subgrid）ので、名前や収録パック名の長さで下の段がずれない。 */
#price-explorer .pm-rows { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:26px; border-top:1px solid var(--pm-line); }
#price-explorer .pm-card { display:grid; grid-row:span 7; grid-template-rows:subgrid; row-gap:0; min-width:0; padding:20px 0 22px; border-bottom:1px solid var(--pm-line); }
#price-explorer .pm-card-visual { position:relative; margin-bottom:14px; }
#price-explorer .pm-image-button { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; border-radius:6px; }
#price-explorer .pm-image { display:block; width:100%; height:auto; aspect-ratio:63/88; object-fit:contain; }
#price-explorer .pm-image-missing { display:flex; align-items:center; justify-content:center; border-radius:8px; background:#efeee8; color:#8b897f; font-size:12px; }
#price-explorer .pm-rank { position:absolute; top:6px; left:6px; z-index:1; min-width:28px; padding:3px 8px; border-radius:999px; background:rgba(34,34,31,.84); color:#fff; font:700 13px/1.3 Arial,sans-serif; text-align:center; font-variant-numeric:tabular-nums; pointer-events:none; }
#price-explorer .pm-card-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; align-self:start; font-weight:700; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
#price-explorer .pm-card-name:hover { text-decoration:underline; text-decoration-color:var(--pm-yellow); text-underline-offset:4px; }
#price-explorer .pm-print { margin:4px 0 0; font-size:12px; color:#77756c; overflow:hidden; text-overflow:ellipsis; }
#price-explorer .pm-set { margin:1px 0 0; min-height:1.6em; font-size:12px; color:#8b897f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#price-explorer .pm-figures { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:2px 10px; margin-top:10px; }
#price-explorer .pm-price { text-align:left; }
#price-explorer .pm-value { font-size:22px; font-weight:700; letter-spacing:-.55px; font-variant-numeric:tabular-nums; white-space:nowrap; line-height:1.3; }
#price-explorer .pm-samples { font-size:12px; color:#8a887f; margin-top:2px; }
#price-explorer .pm-change { margin-left:auto; text-align:right; font-variant-numeric:tabular-nums; }
#price-explorer .pm-percent { font-size:16px; font-weight:700; color:#b57604; line-height:1.3; }
#price-explorer .pm-percent.pm-down { color:#484840; }
#price-explorer .pm-difference { font-size:12px; color:#77756c; margin-top:2px; }
#price-explorer .pm-chart { display:flex; flex-direction:column; gap:4px; min-width:0; margin-top:12px; padding-top:10px; border-top:1px dashed #dddcd3; }
#price-explorer .pm-chart-label, #price-explorer .pm-chart-note, #price-explorer .pm-chart-empty { font-size:11px; color:#77756c; }
#price-explorer .pm-chart-plot { display:flex; align-items:center; justify-content:center; aspect-ratio:220/60; }
#price-explorer .pm-chart-plot svg { display:block; width:100%; height:100%; overflow:visible; }
#price-explorer .pm-comparison-values { display:grid; gap:2px; }
#price-explorer .pm-comparison-line { display:flex; justify-content:space-between; align-items:baseline; gap:6px; white-space:nowrap; font-size:12px; font-variant-numeric:tabular-nums; }
#price-explorer .pm-comparison-line span { color:#656359; }
#price-explorer .pm-comparison-line strong { font-size:13px; font-weight:600; color:#292820; }
#price-explorer .pm-card-foot { margin-top:10px; text-align:right; }
#price-explorer .pm-detail { font-size:12px; border-bottom:1px solid #c5c2b6; }
@supports not (grid-template-rows:subgrid) {
 #price-explorer .pm-card { display:flex; flex-direction:column; }
 #price-explorer .pm-card-name { min-height:3em; }
 #price-explorer .pm-card-foot { margin-top:auto; padding-top:10px; }
}

#price-explorer .pm-empty { padding:30px 0; font-size:15px; color:#72716a; }
#price-explorer .pm-list-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:18px 0 25px; }
#price-explorer .pm-list-bottom span { font-size:12px; color:#8b897f; }
#price-explorer .pm-list-bottom a { font-size:14px; font-weight:600; border-bottom:1px solid #b2b0a5; padding:4px 0; }
#price-explorer .pm-guide { border-top:1px solid #aaa99f; padding:23px 0; display:grid; grid-template-columns:1fr 1fr; gap:30px; }
#price-explorer .pm-guide > div+div { border-left:1px solid var(--pm-line); padding-left:30px; }
#price-explorer .pm-guide h3 { font-size:16px; margin:0 0 10px; }
#price-explorer .pm-guide p { font-size:13px; line-height:1.9; margin:0; color:#77756c; }
#price-explorer .pm-pack-links { display:flex; gap:8px 15px; flex-wrap:wrap; }
#price-explorer .pm-pack-links button { border:0; border-bottom:1px solid #d2d0c5; background:none; padding:0 0 3px; font-size:13px; }
#price-explorer .pm-data { border-top:1px solid var(--pm-line); padding:16px 0; }
#price-explorer .pm-data summary { font-size:14px; cursor:pointer; }
#price-explorer .pm-data p { font-size:13px; color:#77756c; line-height:1.9; max-width:650px; }
@container (max-width:960px) {
 #price-explorer .pm-rows { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:20px; }
 #price-explorer .pm-value { font-size:21px; }
}
@container (max-width:680px) {
 #price-explorer .pm-content { padding:23px 20px 0; }
 #price-explorer .pm-breadcrumb { margin-bottom:12px; font-size:12px; }
 #price-explorer h1 { font-size:26px; }
 #price-explorer .pm-notify { display:none; }
 #price-explorer .pm-subtitle { font-size:13px; margin-bottom:17px; }
 #price-explorer .pm-search input { font-size:14px; height:48px; }
 #price-explorer .pm-search-field { padding:0 10px; gap:8px; }
 #price-explorer .pm-search-submit { padding:0 15px; font-size:16px; }
 #price-explorer .pm-search-submit span { display:none; }
 #price-explorer .pm-updated { gap:4px 12px; margin-bottom:24px; font-size:12px; }
 #price-explorer .pm-ranking-head { margin-top:19px; }
 #price-explorer h2 { font-size:19px; }
 #price-explorer .pm-ranking-head p { display:none; }
 #price-explorer .pm-toolbar { flex-direction:column; gap:7px; border-bottom-color:#d9d8d0; }
 #price-explorer .pm-tabs { justify-content:space-between; gap:13px; border-bottom:1px solid #aaa99f; }
 #price-explorer .pm-tabs button { font-size:14px; padding:8px 0 10px; }
 #price-explorer .pm-options { justify-content:space-between; padding:4px 0 9px; }
 #price-explorer .pm-caption { font-size:12px; padding-top:12px; }
 #price-explorer .pm-rows { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; }
 #price-explorer .pm-card { padding:16px 0 18px; }
 #price-explorer .pm-card-visual { margin-bottom:10px; }
 #price-explorer .pm-rank { top:4px; left:4px; min-width:24px; padding:2px 7px; font-size:12px; }
 #price-explorer .pm-card-name { font-size:14px; }
 #price-explorer .pm-print, #price-explorer .pm-set { font-size:11px; }
 #price-explorer .pm-figures { margin-top:8px; }
 #price-explorer .pm-value { font-size:18px; }
 #price-explorer .pm-samples, #price-explorer .pm-difference { font-size:11px; }
 #price-explorer .pm-percent { font-size:14px; }
 #price-explorer .pm-chart { margin-top:10px; padding-top:8px; }
 #price-explorer .pm-comparison-line { font-size:11px; }
 #price-explorer .pm-comparison-line strong { font-size:12px; }
 #price-explorer .pm-list-bottom { align-items:flex-start; gap:12px; }
 #price-explorer .pm-list-bottom span { font-size:12px; }
 #price-explorer .pm-list-bottom a { font-size:13px; white-space:nowrap; }
 #price-explorer .pm-guide { grid-template-columns:1fr; gap:20px; }
 #price-explorer .pm-guide > div+div { border-left:0; border-top:1px solid #dddcd3; padding:18px 0 0; }
}
#price-explorer { max-width:1200px; margin:0 auto; }
#price-explorer .pm-status { font-size:14px; color:#77756c; padding:16px 0; }
#price-explorer .pm-retry, #price-explorer .pm-load-more { background:transparent; border:1px solid #bdbbae; padding:7px 18px; font-size:14px; }
#price-explorer .pm-live-chart { height:230px; margin:20px 0; }
#price-explorer .pm-live-chart canvas { display:block; width:100%; height:100%; }
#price-explorer .pm-list-bottom { flex-wrap:wrap; }
#price-explorer .pm-options select:disabled { color:#77756c; opacity:.65; }
#price-explorer .pm-source-table { width:100%; border-collapse:collapse; margin-top:15px; font-size:14px; }
#price-explorer .pm-source-table td, #price-explorer .pm-source-table th { padding:9px 4px; text-align:right; border-bottom:1px solid #dddcd3; }
#price-explorer .pm-source-table td:first-child, #price-explorer .pm-source-table th:first-child { text-align:left; }
#price-explorer .pm-market-tabs { display:flex; flex-wrap:wrap; gap:14px; margin:16px 0; }
#price-explorer .pm-market-tabs button { background:transparent; border:0; border-bottom:2px solid transparent; padding:5px 0; font-size:14px; }
#price-explorer .pm-market-tabs button[aria-pressed="true"] { border-color:#f59e0b; }

/* Keep enlarged text readable without splitting prices or print identifiers. */
#price-explorer .pm-comparison, #price-explorer .pm-filters > p { font-size:13px !important; line-height:1.8; }
#price-explorer .pm-card-name, #price-explorer .pm-data p { line-break:strict; text-wrap:pretty; }
#price-explorer .pm-print, #price-explorer .pm-samples, #price-explorer .pm-percent, #price-explorer .pm-difference { white-space:nowrap; }
#price-explorer .pm-caption { flex-wrap:wrap; gap:4px 12px; }
#price-explorer .pm-image-dialog { width:min(480px,calc(100vw - 40px)); max-height:calc(100dvh - 144px); margin:auto; padding:0; border:0; border-radius:0; background:transparent; color:#fff; overflow:visible; }
#price-explorer .pm-image-dialog::backdrop { background:rgba(12,14,17,.88); }
#price-explorer .pm-image-close { position:fixed; top:max(16px,env(safe-area-inset-top)); right:max(18px,env(safe-area-inset-right)); display:block; min-height:44px; padding:8px 14px; border:1px solid #ffffff40; border-radius:24px; background:#191b20; color:#fff; font-size:13px; letter-spacing:.04em; }
#price-explorer .pm-image-close:hover { background:#30333a; border-color:#ffffff80; }
#price-explorer .pm-image-title { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#price-explorer .pm-image-full { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100dvh - 210px); margin:0 auto; border-radius:12px; object-fit:contain; filter:drop-shadow(0 12px 24px #0005); }
#price-explorer .pm-image-detail { display:table; margin:24px auto 0; padding:9px 2px; background:transparent; border-bottom:1px solid #ffffff70; color:#fff; text-align:center; font-size:14px; font-weight:500; letter-spacing:.04em; }
#price-explorer .pm-image-detail:hover { color:#fbbf24; border-color:#fbbf24; }
#price-explorer .pm-image-dialog button:focus-visible,#price-explorer .pm-image-dialog a:focus-visible { outline-color:#fbbf24; }
#price-explorer .pm-image-error { margin:24px 0; }
#price-explorer .pm-buy-conditions { font-size:12px; line-height:1.8; color:#5c5b52; }
#price-explorer .pm-buy-conditions summary { cursor:pointer; font-size:12px; color:#3f3e37; }
#price-explorer .pm-buy-conditions p { margin:4px 0; white-space:pre-line; overflow-wrap:anywhere; }
#price-explorer .pm-buy-conditions a { text-decoration:underline; text-underline-offset:3px; }
#price-explorer .pm-buy-conditions span { display:block; font-size:11px; color:#72716a; }
@container (max-width:680px) {
 #price-explorer .pm-tabs { gap:10px; }
 #price-explorer .pm-search input { font-size:16px; }
}
