/* search-v1.6/approved-source/wireframe.css */
/* Local v1.7: title and vertex-based radar labels only below the existing 375px boundary. */
:root { --accent:#ffd400; --ink:#111; --muted:#5f5f5a; --page:#f1f1ef; --paper:#fff; --line:#d8d8d5; --focus:#075bc7; --shell-width:1160px; --main-width:1112px; }
*,*::before,*::after { box-sizing:border-box; }
html { color:var(--ink); background:var(--page); font:16px/1.45 system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif; }
html,body { margin:0; padding:0; min-width:0; }
body { min-height:100vh; }
html { scrollbar-width:none; }
html::-webkit-scrollbar { width:0; height:0; }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
[hidden] { display:none !important; }
.screen-reader-only,.semantic-manifest { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
:where(a,button,input) { scroll-margin-block:8px; }
:where(a,button,input):focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
:where(a,button):hover { text-decoration:underline; text-underline-offset:3px; }
.page-shell { width:100%; min-width:0; background:#f1f1ef; }
.search-content-shell { width:min(100%,var(--shell-width)); margin-inline:auto; background:#fff; }
.page-main { width:100%; min-width:0; display:grid; gap:12px; padding:15px 16px 22px; }
.breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; color:#4d4d4d; font-size:11px; }
.breadcrumb a { color:#376b91; text-decoration:underline; }
.page-title { margin:0; font-size:27.3px; line-height:1.25; }
/* Remove the redundant outer search panel while keeping two 44px controls. */
.search-panel { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin:0; }
.search-panel input[type="search"] { width:100%; min-width:0; height:44px; padding:0 12px; border:1px solid #a9a9a5; border-radius:5px; background:#fff; color:var(--ink); font-size:16px; }
.search-panel button { min-height:44px; padding:0 15px; border:1px solid #d2ae00; border-radius:5px; background:var(--accent); font-size:14px; font-weight:800; }
.sort-panel { min-width:0; }
.sort-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); border:1px solid var(--line); border-radius:6px; }
.sort-grid a { min-width:0; height:40px; grid-column:span 3; display:grid; place-items:center; padding:2px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:11px; font-weight:800; line-height:16px; text-align:center; overflow-wrap:anywhere; }
.sort-grid a:nth-child(4),.sort-grid a:last-child { border-right:0; }
.sort-grid a:nth-child(n+5) { grid-column:span 4; border-bottom:0; }
.sort-grid a[aria-current="page"] { background:var(--accent); box-shadow:inset 0 -3px var(--ink); }
.sort-grid a:focus-visible { outline-offset:-4px; }
.sort-grid small { display:none; }
/* v1.3: mobile 07 / 01 / 06, then 02 / 03 / 04 / 05. JS aligns DOM and Tab order. */
@media (max-width:767px) {
  .sort-grid a,.sort-grid a:nth-child(4),.sort-grid a:nth-child(n+5) { height:32px; grid-column:span 4; border-right:1px solid var(--line); border-bottom:1px solid var(--line); white-space:nowrap; overflow-wrap:normal; }
  .sort-grid a:nth-child(n+4) { grid-column:span 3; border-bottom:0; }
  .sort-grid a:nth-child(3),.sort-grid a:last-child { border-right:0; }
  .sort-grid a > span { white-space:nowrap; }
  .sort-grid a br { display:none; }
}
.result-summary { min-width:0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; }
.result-summary p { margin:0; font-size:13px; font-weight:800; }
.result-summary a { min-height:44px; display:inline-flex; align-items:center; padding:0 10px; border:1px solid #a9a9a5; border-radius:4px; font-size:12px; }
.results-panel,.card-list { min-width:0; }
.card-list { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.card-article { min-width:0; display:grid; grid-template-columns:92px minmax(0,1fr) 100px; grid-template-areas:"visual copy radar" "cta cta cta"; gap:8px; align-items:start; padding:9px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.card-visual-link { grid-area:visual; width:100%; min-width:0; align-self:center; display:block; }
/* Geometry is an exact scaled copy of slab_contract v1.1 (800 x 1350). */
.slab { width:100%; aspect-ratio:800/1350; display:grid; grid-template-columns:65fr 670fr 65fr; grid-template-rows:340fr 938fr 72fr; border-radius:5px; background:#e9e9e7; outline:1px solid #888; outline-offset:-1px; }
.slab-label-region { grid-column:1/-1; grid-row:1; min-width:0; min-height:0; display:grid; grid-template-rows:58fr 200fr 82fr; padding-inline:7%; }
.psa-case-label { grid-row:2; display:flex; gap:2px; align-items:center; justify-content:center; min-width:0; padding:0; outline:1px solid #999; background:#fff; font-family:Arial,sans-serif; }
.psa-case-label b { width:21px; flex:none; font-size:10px; line-height:11.5px; font-weight:700; }
.psa-case-label small { font-size:10px; line-height:11.5px; white-space:nowrap; }
.card-image-slot { grid-column:2; grid-row:2; min-width:0; min-height:0; outline:1px dashed #b1b1ab; outline-offset:-1px; }
.card-mount { display:grid; place-items:center; width:100%; height:100%; position:relative; overflow:hidden; background:#f6f6f3; }
/* Image composition only. Page/component layout never uses absolute positioning. */
.card-image { position:absolute; max-width:none; opacity:0; }
.card-image[data-fit-ready="true"] { opacity:1; }
.image-fallback { max-width:100%; font-size:10px; line-height:1.4; text-align:center; }
.card-copy { grid-area:copy; align-self:center; min-width:0; }
.card-facts { display:contents; }
.card-name { display:block; font-size:14px; font-weight:800; line-height:1.5; overflow-wrap:anywhere; }
.card-identity { margin:5px 0 0; color:var(--muted); font-size:10px; line-height:1.4; overflow-wrap:anywhere; }
.price-label { display:block; margin-top:8px; font-size:10px; line-height:1.4; }
.card-price { display:block; margin-top:4px; font-size:20px; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.metric-line { display:flex; flex-wrap:wrap; align-items:center; gap:4px; margin:7px 0 0; font-size:10px; line-height:1.4; }
.metric-line b { max-width:100%; padding:3px 6px; border-radius:4px; background:#151515; color:var(--accent); font-size:11px; overflow-wrap:anywhere; }
.radar-box { grid-area:radar; min-width:0; display:grid; place-items:center; align-self:center; }
.radar-clean { width:100%; overflow:visible; }
.radar-grid polygon,.radar-grid line { fill:none; stroke:#9a9a9a; stroke-width:1; }
.radar-value { fill:#ffd40077; stroke:#605000; stroke-width:1.4; }
.radar-labels { font-size:10px; font-weight:600; fill:#333; }
.radar-status { font-size:11px; line-height:1.4; }
.detail-cta { grid-area:cta; align-self:end; min-width:0; min-height:44px; display:flex; align-items:center; justify-content:center; padding:6px; border:1px solid var(--line); border-radius:4px; background:#fafaf8; color:#222; font-size:12px; font-weight:700; text-align:center; }
/* v1.4: mobile full-width detail CTA is 80% of its former 44px height. */
@media (max-width:767px) { .detail-cta { min-height:35.2px; } }
html[data-cta="legacy"] .card-article { grid-template-areas:"visual copy radar" "visual cta cta"; }
html[data-cta="legacy"] .detail-cta { min-height:30px; border:0; border-top:1px solid var(--line); border-radius:0; padding:3px 7px; font-size:10px; justify-content:flex-end; text-align:right; background:#fff; }
.empty-state { display:grid; gap:7px; padding:24px 16px; border:1px dashed #a9a9a5; border-radius:7px; background:#f8f8f7; text-align:center; }
.empty-state strong { font-size:16px; }
.empty-state p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.page-nav { min-width:0; display:grid; gap:8px; }
.page-link { min-height:50px; display:flex; align-items:center; justify-content:space-between; padding:9px 14px; border:1px solid #d3af00; border-radius:7px; background:var(--accent); font-size:14px; font-weight:800; }
.page-prev { background:#fff; border-color:#a9a9a5; }
.page-nav p { margin:0; color:#666; font-size:10px; text-align:center; }
/* Diagnostic overlays only; both modes keep identical content/font/geometry. */
.id-overlay { position:absolute; top:0; left:0; width:100%; height:0; pointer-events:none; z-index:95; }
.wire-id-badge { position:absolute; font:700 8px/1.1 Consolas,monospace; color:#00376a; background:#e8f4ffff; border:1px solid #3786c2; padding:1px; overflow-wrap:anywhere; }
.show-ids [data-ledger-id]:not([data-ref-id]),.show-ids [data-ledger-ref] { outline:1px dashed #2977b488; outline-offset:-1px; }
@media (min-width:768px) { .search-panel { grid-template-columns:minmax(0,1fr) 150px; } .sort-grid { grid-template-columns:repeat(7,minmax(0,1fr)); } .sort-grid a,.sort-grid a:nth-child(4),.sort-grid a:nth-child(n+5) { grid-column:auto; height:40px; border-bottom:0; border-right:1px solid var(--line); } .sort-grid a:last-child { border-right:0; } }
@media (min-width:1024px) { .card-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
/* Keep the slab's 800:1350 proportions and its readable 10px label at narrow widths. */
@media (max-width:374px) {
  .card-article { grid-template-columns:92px minmax(0,1fr) 84px; grid-template-areas:"visual title title" "visual copy radar" "cta cta cta"; column-gap:6px; }
  .card-copy { display:contents; }
  .card-name { grid-area:title; align-self:end; font-size:12px; }
  .card-facts { display:block; grid-area:copy; align-self:start; min-width:0; }
  .card-identity { margin-top:0; }
  .card-price { font-size:17px; line-height:1.4; }
  .metric-line { gap:3px; }
}
/* One-column tablet cards: cap the information column and center the whole group. */
@media (min-width:768px) and (max-width:1023px) {
  .card-article { grid-template-columns:118px minmax(0,240px) 160px; gap:10px 16px; justify-content:center; }
}
/* Two-column tablet/small-desktop cards; keep this separate from the approved PC rule. */
@media (min-width:1024px) and (max-width:1199px) {
  .card-article { grid-template-columns:92px minmax(0,200px) 112px; gap:10px 12px; justify-content:center; }
}
@media (min-width:1200px) {
  .page-main { max-width:var(--main-width); margin-inline:auto; padding:18px 0 28px; gap:14px; }
  .page-title { font-size:30px; }
  .search-panel input[type="search"],.search-panel button { height:46px; }
  .sort-grid { max-width:980px; }
  .card-article { grid-template-columns:100px minmax(0,238px) 144px; gap:10px 12px; padding:11px; justify-content:center; }
  .card-name { font-size:15px; }
  .card-identity,.price-label { font-size:11px; }
  .card-price { font-size:23px; }
  .metric-line { font-size:11px; }
  .metric-line b { font-size:12px; }
  html[data-container="common1200"] { --shell-width:1280px; --main-width:1200px; }
}


/* search-v1.6/approved-source/assets/common-header-footer-v1.4/components.css */
/* v1.4: no-wrap policy labels at320/375; preserve other widths and44px controls. */
:root {
  --accent:#FFD400; --ink:#111111; --muted:#62625E; --line:#E2E2DC;
  --paper:#fff; --canvas:#F3F3F1; --dark:#171717; --gutter:16px;
  --focus:#175FCA;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  color:var(--ink); background:var(--paper);
}
* {box-sizing:border-box}
body {margin:0; font-size:14px; line-height:1.6}
button,a {-webkit-tap-highlight-color:transparent}
a {color:inherit; text-decoration:none}
button {font:inherit; color:inherit; cursor:pointer}
button,nav a {min-height:44px}
:focus-visible {outline:3px solid var(--focus); outline-offset:3px}
.site-footer :focus-visible {outline-color:#fff}
.common-container {width:min(1200px,calc(100% - var(--gutter)*2)); margin-inline:auto}
.site-header {background:var(--paper); border-bottom:2px solid var(--accent)}
.header-inner {min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:24px}
.header-brand {display:flex; align-items:center; min-height:44px; flex:none}
.logo-window {display:block; width:154px; aspect-ratio:1710/400}
.logo-window svg {display:block; width:100%; height:100%; overflow:hidden}
.quick-nav {display:none; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:0 20px}
.quick-nav a {display:flex; align-items:center; padding-block:8px; font-size:12px; font-weight:700; white-space:nowrap}
.quick-nav a[aria-current="page"] {box-shadow:inset 0 -3px var(--accent)}
.quick-nav a:hover {color:#595018}
.menu-toggle {min-width:92px; display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 12px; border:1px solid #D6B500; border-radius:6px; background:var(--accent); font-size:12px; font-weight:700}
.menu-glyph {font-size:18px; line-height:1}
.site-menu {width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px 16px 16px; margin:auto; border:1px solid #B8B8B1; border-radius:8px; background:var(--paper); color:var(--ink); overflow:auto}
.site-menu::backdrop {background:rgb(17 17 17 / .40)}
html[data-menu-open="1"] {overflow:hidden}
.menu-heading {display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px}
.menu-heading h2 {margin:0; font-size:18px}
.menu-close {padding:8px 12px; min-width:88px; border:1px solid #B8B8B1; border-radius:6px; background:var(--paper); font-size:14px}
.menu-close span:not(.id-tag) {font-size:18px; margin-left:6px}
.drawer-nav {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
.drawer-nav a {display:flex; align-items:center; padding:10px 8px; min-height:64px; border:1px solid var(--line); border-radius:4px; overflow-wrap:anywhere; font-size:13px; font-weight:600; line-height:1.5}
.drawer-nav a[aria-current="page"] {background:#FFF9D9; box-shadow:inset 3px 0 var(--accent)}
.drawer-nav a:hover {background:var(--canvas)}
.site-footer {background:var(--dark); color:#fff}
.footer-inner {padding-block:8px; display:grid; grid-template-columns:100px minmax(0,1fr); gap:0 8px; align-items:center}
.footer-brand {display:flex; justify-content:center; align-items:center; padding:0; min-height:44px; width:100px; background:transparent}
.footer-brand .logo-window {width:100px}
.policy-nav {display:flex; align-items:center; justify-content:flex-end; flex-direction:row; flex-wrap:wrap; gap:0 8px; min-width:0}
.policy-nav a {display:flex; align-items:center; font-size:11px; font-weight:400; line-height:1.4; padding-block:8px; white-space:nowrap; color:#A6A6A6}
.policy-nav a:hover {text-decoration:underline; text-underline-offset:4px}
.copyright {grid-column:1/-1; font-size:10px; line-height:1.2; color:#A6A6A6}
/* Preview-only body: no page content, ledger IDs or production behavior. */
.demo-main {padding-block:32px}
.review-state {margin:0 0 8px; color:var(--muted); font-size:12px}
h1 {margin:0; font-size:24px; line-height:1.4; font-weight:800}
.demo-description {margin:12px 0 24px; font-size:14px}
.body-placeholder {min-height:124px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; padding:20px; border:1px dashed #B8B8B1; background:#FAFAF7; text-align:center}
.body-placeholder strong {font-size:16px}
.body-placeholder span {font-size:12px; color:var(--muted)}
.id-note {margin:20px 0 0; font-size:11px; color:var(--muted)}
/* ID annotations only use absolute positioning; they do not participate in layout. */
[data-ref-id] {position:relative}
.id-tag {position:absolute; z-index:2; top:0; left:0; display:block; max-width:none; white-space:nowrap; padding:0 3px; border:1px solid #929BB7; border-radius:2px; background:#F0F3FF; color:#182B57; font:8px/10px Consolas,monospace; pointer-events:none; opacity:0}
html[data-ids="1"] .id-tag {opacity:1}
.site-header > .id-tag,.site-footer > .id-tag {left:2px}
.header-brand > .id-tag,.footer-brand > .id-tag {top:auto; bottom:-8px}
.site-footer .id-tag {font:8px/8px Consolas,monospace}
.footer-brand > .id-tag {left:0; bottom:1px}
.footer-brand .logo-window > .id-tag {top:-10px; left:40px}
.logo-window > .id-tag {top:-9px}
.header-brand .logo-window > .id-tag {left:70px}
.quick-nav > .id-tag,.policy-nav > .id-tag,.drawer-nav > .id-tag {top:-12px}
.drawer-nav > .id-tag {top:-20px}
.quick-nav a > .id-tag {top:auto; bottom:0}
.quick-nav a:nth-child(5) > .id-tag {left:-2px}
.menu-toggle > .id-tag {top:-10px}
.policy-nav a > .id-tag {top:auto; bottom:1px}
.copyright > .id-tag {top:-10px}
.policy-nav > .id-tag {top:0}
.copyright > .id-tag {top:0; left:170px}
.drawer-nav a > .id-tag {top:-5px}
.menu-close > .id-tag {top:-10px}
.site-menu > .id-tag {top:2px}
html[data-view="wireframe"] {--accent:#969696; --dark:#333; --ink:#222}
html[data-view="wireframe"] .menu-toggle {border-color:#999; background:#eee}
html[data-view="wireframe"] .logo-window {filter:grayscale(1)}
html[data-view="wireframe"] .drawer-nav a[aria-current="page"] {background:#eee}
/* Keep the brand and all three policy links in one row at narrow mobile widths. */
@media(max-width:389px) {
  .policy-nav {display:flex; flex-wrap:nowrap; justify-content:space-between; gap:0 4px}
  .policy-nav a {min-width:44px; flex:none; padding-block:6px; font-size:10px; white-space:nowrap; justify-content:center; text-align:center}
  .policy-nav a wbr {display:none}
  .policy-nav > .id-tag {top:-8px}
  .policy-nav a > .id-tag {top:-20px; bottom:auto; padding-inline:1px}
}
/* Requested narrow-footer exception. Other content remains at least10px. */
@media(max-width:359px) {
  .policy-nav a {font-size:8px}
}
@media(min-width:768px) {
  :root {--gutter:24px}
  .header-inner {min-height:70px}
  .header-brand .logo-window {width:171px}
  .footer-brand {width:138px}
  .footer-brand .logo-window {width:138px}
  .footer-inner {grid-template-columns:138px auto minmax(0,1fr); gap:0 24px}
  .policy-nav {justify-content:flex-start; gap:0 20px}
  .copyright {grid-column:auto; text-align:right}
  .footer-brand > .id-tag {bottom:-7px}
  .copyright > .id-tag {top:16px; left:auto; right:0}
  .demo-main {padding-block:40px}
  .body-placeholder {min-height:128px}
}
/* Common navigation threshold; v1.3 checks 959/960/961 and the legacy 1024 boundary. */
@media(min-width:960px) {
  .quick-nav {display:flex}
  .menu-toggle {display:none}
}


/* search-v1.6/approved-source/common-integration.css */
/* Scope the old search body so approved common CSS/JS/assets remain byte-exact.
   Header/footer: common v1.4 (approved). Search page integration: v1.6 six-width review.
   This file must not override .site-header / .site-footer / .site-menu geometry. */
.page-main {
  --accent:#ffd400; --ink:#111; --muted:#5f5f5a; --line:#d8d8d5; --focus:#075bc7;
  font:16px/1.45 system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;
  color:var(--ink);
}
.page-main .page-title { font-weight:700; }
.page-main .sort-grid a,.page-main .breadcrumb a { min-height:0; }
.page-main :where(a,button,input):focus-visible { outline:3px solid #075bc7; outline-offset:2px; }
.page-main .sort-grid a:focus-visible { outline-offset:-4px; }


/* search-v1.6/approved-source/visual.css */
/* Visual v1.2 — page-body skin; approved v1.7 geometry is retained except
   the explicitly permitted +6px for wrapped nine-digit prices at 375–389px.
   Shared HF v1.4 and B logos remain byte-identical. Slab v1.1 is a review candidate.
   No content, grid, asset or data-contract changes. */
.page-main {
  --visual-ink:#171714;
  --visual-muted:#62625e;
  --visual-rule:#deded8;
  --visual-control:#85857f;
  --visual-accent:#ffd400;
  --visual-accent-soft:#fff8d6;
  --visual-focus:#075bc7;
  color:var(--visual-ink);
}
.page-main .breadcrumb { color:var(--visual-muted); }
.page-main .breadcrumb a { color:#4b4b46; text-decoration-color:#92928b; }
.page-main .page-title,.page-main .card-name,.page-main .card-price { color:var(--visual-ink); }
.page-main .card-identity,.page-main .price-label,.page-main .metric-line,.page-main .page-nav p { color:var(--visual-muted); }

.page-main .search-panel input[type="search"] {
  border-color:var(--visual-control);
  background:#fff;
  box-shadow:inset 0 1px 2px #17171405;
}
.page-main .search-panel input::placeholder { color:var(--visual-muted); opacity:1; }
.page-main .search-panel button,.page-main .page-next {
  color:var(--visual-ink);
  background:var(--visual-accent);
  border-color:#877100;
  box-shadow:0 1px 1px #1717140a;
}
.page-main .sort-grid { border-color:var(--visual-control); background:#fff; }
.page-main .sort-grid a { color:var(--visual-ink); border-color:var(--visual-rule); }
.page-main .sort-grid a[aria-current="page"] {
  background:var(--visual-accent);
  box-shadow:inset 0 -3px var(--visual-ink);
}
.page-main .card-article {
  border-color:var(--visual-rule);
  background:#fff;
  box-shadow:0 2px 8px #17171408;
}
.page-main .metric-line b { color:var(--visual-accent); background:#171714; }
.page-main .detail-cta,.page-main .result-summary a,.page-main .page-prev {
  color:var(--visual-ink);
  border-color:var(--visual-control);
  background:#fafaf7;
}
.page-main .empty-state { color:var(--visual-ink); border-color:var(--visual-control); background:#fafaf7; }
.page-main .empty-state p,.page-main .radar-status,.page-main .image-fallback { color:var(--visual-muted); }

/* Source: shared slab v1.1 clear-case surface. Geometry and compact 10px
   label copy stay v1.7; the source 3.7cqw micro-type is NOT shrunk into this list. */
.page-main .slab {
  position:relative;
  isolation:isolate;
  border-radius:4%;
  outline-color:#8d999d;
  background:linear-gradient(108deg,#fcfdfdee 0%,#dce3e6b8 3%,#ffffffea 5%,#e4eaed7a 9%,#fcfdfdaa 16%,#e5e9eb8a 84%,#fff 94%,#d6dfe2d9 98%,#fff 100%);
  box-shadow:inset 0 0 0 1px #8d999d,inset 0 0 0 3px #fff,0 4px 9px #1c262816;
}
.page-main .slab::before,.page-main .slab::after {
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
}
.page-main .slab::before { inset:1.2% 2%; border-radius:3%; box-shadow:inset 0 0 0 1px #adb9bd,0 0 0 1px #ffffffbf; }
.page-main .slab::after { inset:2.25% 3.65%; border-radius:2.5%; box-shadow:inset 0 0 0 1px #b5c0c488,0 0 0 1px #ffffffd6; }
.page-main .psa-case-label {
  color:#171714;
  background:#fff;
  outline-color:#c92230;
  box-shadow:0 0 0 2px #fff,0 0 0 2.5px #cbd2d6;
}
.page-main .psa-case-label b { color:#b51d29; }
.page-main .card-image-slot {
  outline-style:solid;
  outline-color:#aebbbe;
  background:#f4f5f4;
  box-shadow:inset 0 0 2px #7b898a40;
}
.page-main .card-mount { background:#f4f5f4; }

/* Coordinates, axis order, radius, stroke widths and label metrics are inherited. */
.page-main .radar-grid polygon,.page-main .radar-grid line { stroke:#85857f; }
.page-main .radar-value { fill:#ffd40055; stroke:#373224; }
.page-main .radar-labels { fill:var(--visual-ink); }

@media (hover:hover) {
  .page-main .search-panel button:hover,.page-main .page-next:hover { background:#f3ca00; }
  .page-main .sort-grid a:not([aria-current="page"]):hover,
  .page-main .detail-cta:hover,.page-main .result-summary a:hover,.page-main .page-prev:hover { background:var(--visual-accent-soft); }
  .page-main .card-name:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
}
/* The existing 3px focus outline and inset sort focus remain unchanged. */

/* User-authorized exception, 2026-09-06. A 20px price remains 20px.
   Two lines gain 3px each; the affected card grows naturally by 6px. */
@media (min-width:375px) and (max-width:389px) {
  .page-main .card-price.is-wrapped-nine-digit-price { line-height:27px; }
}

/* v1.6: adopted sort A, independent faces. Link/ID/DOM order and query
   behavior remain inherited. No card, slab, radar or shared HF changes. */
.page-main .sort-grid {
  gap:4px;
  border:0;
  border-radius:0;
  background:transparent;
}
.page-main .sort-grid a {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:4px;
  background:transparent;
  color:var(--visual-ink);
  font-size:11px;
  font-weight:500;
  line-height:1.4;
  white-space:nowrap;
  overflow-wrap:normal;
  box-shadow:none;
}
.page-main .sort-grid a > span {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  height:32px;
  padding:0 1px;
  border:1px solid #d7d7d0;
  border-radius:4px;
  background:#fff;
  white-space:nowrap;
}
.page-main .sort-grid a br { display:none; }
.page-main .sort-grid a[aria-current="page"] {
  background:transparent;
  box-shadow:none;
  font-weight:700;
}
.page-main .sort-grid a[aria-current="page"] > span {
  background:var(--visual-accent);
  border-color:var(--visual-ink);
}
@media (min-width:375px) {
  .page-main .sort-grid a { font-size:12px; }
}
@media (min-width:768px) {
  .page-main .sort-grid a > span { height:40px; }
}
@media (min-width:1024px) {
  .page-main .sort-grid a { font-size:13px; }
}
@media (hover:hover) {
  .page-main .sort-grid a:not([aria-current="page"]):hover { background:transparent; }
  .page-main .sort-grid a:not([aria-current="page"]):hover > span { background:var(--visual-accent-soft); }
}
/* The adopted reference separates the compact face from the touch target.
   Non-overlapping 44px anchor rows apply only to coarse-pointer devices. */
@media (pointer:coarse) {
  .page-main .sort-grid a { height:44px; }
}


/* search-v1.6/approved-source/radar-adjustment.css */
/* Page-local candidate. Shared geometry, artwork originals and HF remain unchanged. */
.page-main .card-image-slot { display:grid; }
.page-main .card-image-slot > .card-mount,
.page-main .card-image-slot > .slab-branding { grid-area:1 / 1; }
.page-main .slab-branding { width:100%; height:100%; z-index:1; pointer-events:none; }
.page-main .card-image-slot:has(.image-fallback:not([hidden])) .slab-branding { visibility:hidden; }
html[data-radar-adjusted] .card-article { grid-template-columns:92px minmax(0,1fr) var(--radar-width); }
@media(max-width:374px){html[data-radar-adjusted] .card-article {grid-template-columns:92px minmax(0,1fr) var(--radar-width)}}
@media(min-width:768px) and (max-width:1023px){html[data-radar-adjusted] .card-article {grid-template-columns:118px minmax(0,240px) var(--radar-width)}}
@media(min-width:1024px) and (max-width:1199px){html[data-radar-adjusted] .card-article {grid-template-columns:92px minmax(0,200px) var(--radar-width)}}
@media(min-width:1200px){html[data-radar-adjusted] .card-article {grid-template-columns:100px minmax(0,238px) var(--radar-width)}}
html[data-radar-editor] .radar-labels text { cursor:grab; touch-action:none; user-select:none; }
html[data-radar-editor] .radar-labels text[data-selected] {fill:#075bc7;paint-order:stroke;stroke:#fff;stroke-width:2px;stroke-linejoin:round}
html[data-radar-editor] .radar-clean {touch-action:none}


/* search-v1.6/search-display.css */
/* Runtime safety only. Approved normal layout remains in the copied styles. */
.page-main .card-image:not([data-fit-ready="true"]) { position:static; width:100%; height:100%; object-fit:contain; opacity:1; }
.page-main .radar-clean:empty { min-height:96px; }

/* Progressive enhancement: original pagination links work without JavaScript. */
.page-nav [aria-disabled="true"] { opacity:.65; cursor:progress; }
.page-nav .search-append-fallback { color:inherit; font-size:12px; text-underline-offset:3px; }
.page-nav [role="status"] { overflow-wrap:anywhere; }
html[data-search-append="ready"] .card-list { overflow-anchor:none; }
.page-main .radar-clean[data-deferred="true"]:empty { min-height:0; }


/* search-v1.6/slab-b.css */
/* Search-only B slab correction. The approved source and shared renderer are not edited.
 * Tracks, outer size, image mount, Method C and surrounding page geometry stay unchanged.
 * Microtype is decoration at native slab scale; do not report it as readable 10px content.
 */
.page-main .slab { container-type:inline-size; }
.page-main .slab-label {
  grid-row:2; display:grid; grid-template-columns:minmax(0,1fr) 24%; align-items:center;
  padding:3.5% 4%; min-height:0; outline:1.05cqw solid #c92230; outline-offset:-1.05cqw;
  border-radius:1.5cqw; background:#fff; box-shadow:0 0 0 .6cqw #cbd2d6,0 0 0 1cqw #fff;
  font-family:"Yu Gothic UI","Meiryo",sans-serif; color:#111;
}
.page-main .label-copy { min-width:0; display:flex; flex-direction:column; gap:1.5cqw; }
.page-main .label-copy span { font-size:3.7cqw; line-height:1.15; font-weight:700; letter-spacing:.05em; }
.page-main .label-copy strong { font-size:3.4cqw; line-height:1.15; white-space:nowrap; letter-spacing:-.02em; }
.page-main .label-copy small { font-size:2.7cqw; line-height:1.15; letter-spacing:.1em; color:#50555a; }
.page-main .label-grade { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.5cqw; min-height:0; box-shadow:-1px 0 #d3d7d9; }
.page-main .label-grade span { font-family:Arial,sans-serif; font-weight:700; font-size:3.1cqw; line-height:1; white-space:nowrap; }
.page-main .label-grade strong { font-family:Arial,sans-serif; font-weight:700; font-size:10.2cqw; line-height:1; }
.page-main .case-neck { grid-row:3; display:grid; grid-template-columns:1fr 16% 1fr; align-items:center; gap:3%; padding-inline:7%; }
.page-main .case-neck span { height:1.4cqw; box-shadow:0 1px #fff,inset 0 1px #b3bec26b; border-radius:2px; background:#dfe5e752; }
.page-main .case-neck i { width:100%; aspect-ratio:2.3; border-radius:1cqw; box-shadow:inset 0 0 0 1px #b5c0c455,0 1px #fff; background:linear-gradient(150deg,#fff9,#dce4e74d); }
.page-main .slab-b-pocket { position:relative; background:#f4f5f4; outline:1px solid #aebbbe; border-radius:1.8cqw; box-shadow:0 0 0 .65cqw #fffffff0,0 0 0 1.2cqw #c3ced2a1,0 0 0 1.65cqw #ffffffad; }

