:root{--ink:#171717;--muted:#5c5c5c;--line:#b8b8b8;--gutter:16px;--slab-width:136px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.6;font-variant-numeric:tabular-nums}
h1,h2,h3,h4,p,dl,dd{margin:0}h1{font-size:22px;line-height:1.35;font-weight:800;overflow-wrap:anywhere}h2{font-size:18px;line-height:1.4;font-weight:800}h3{font-size:16px;line-height:1.5}h4{font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,summary{cursor:pointer}button{border:1px solid #777;background:#fff;border-radius:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,.offer-table-wrap:focus-visible{outline:2px solid #111;outline-offset:3px}small{font-size:12px}[hidden]{display:none!important}
.wrap{width:calc(100% - var(--gutter)*2);max-width:1200px;margin-inline:auto}
.review-strip{background:#eee;font-size:11px;border-bottom:1px solid #ccc}.review-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:38px}.review-strip b{font-weight:500;margin-left:6px}.review-strip button{font-size:11px;padding:4px 8px;min-height:44px;white-space:nowrap}
.update-strip{background:#ddd;font-size:10px;line-height:22px;text-align:center}.legacy-site-header{border-bottom:2px solid #777}
.legacy-header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}.logo-placeholder{width:156px;height:36px;border:1px dashed #999;font-size:12px;display:grid;place-items:center;color:#555}
.button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid #666;background:#eee;font-size:14px;font-weight:700;padding:8px 10px;border-radius:3px}
.desktop-nav{display:none}.breadcrumbs{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;font-size:12px;color:var(--muted);padding-block:14px}.breadcrumbs a{text-decoration:underline;min-height:32px;display:flex;align-items:center}
.analysis-panel{border:1px solid var(--line);border-radius:4px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:10px;padding:20px 12px 12px;background:#eee;align-items:stretch}
.image-price{min-width:0;display:flex;align-items:center;flex-direction:column;gap:10px;padding-top:4px}.slab{width:var(--slab-width);max-width:100%;flex-shrink:0}
#image-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:12px;padding:6px;background:#f3f3f3;line-height:1.5}
.market-price{width:100%;max-width:216px;background:#fff;border:1px solid #aaa;text-align:center}.market-price>span{display:block;border-bottom:1px solid #aaa;background:#ddd;font-size:12px;line-height:24px}.market-price p{display:flex;align-items:baseline;justify-content:center;gap:2px;padding:6px 2px;white-space:nowrap}.market-price strong{font-size:28px;line-height:1.2;letter-spacing:-.04em}.market-price small{font-size:12px}
.radar-panel{min-width:0;background:#fff;padding:18px 0 8px;display:flex;flex-direction:column;justify-content:center;align-items:center}.eyebrow{font-size:10px;letter-spacing:normal;text-align:center;color:var(--muted)}.radar-panel h2{font-size:15px;text-align:center;padding:0 2px}.radar-panel svg{width:100%;max-width:360px;display:block;overflow:visible;height:245px;flex:1}.radar-panel .reference-note{text-align:center;font-size:10px;padding:0 3px}
.identity{padding:20px 12px 16px;border-top:1px solid #bbb;background:#fff}.number{font-size:13px;margin-top:8px}.card-description{font-size:14px;line-height:1.6;margin-top:6px}
.panel{border:1px solid var(--line);border-radius:4px;padding:16px 12px;background:#fff}.evaluation-panel{margin-top:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding-top:16px}.text-link{font-size:12px;display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:3px}.summary{margin-top:8px;padding:20px 12px 12px;border-left:3px solid #888;background:#f3f3f3}.field-label{font-size:12px;color:var(--muted)}.summary p{font-size:14px;line-height:1.6;margin-top:4px}
.buyback-jump{margin-top:12px;padding-top:18px}.buyback-jump>span{font-size:12px;color:#555}.buyback-jump>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.buyback-jump .button{min-height:48px;white-space:nowrap}.buyback-jump small{font-size:12px;font-weight:500}
.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.score-card{min-width:0;border:1px solid #bbb;padding:20px 10px 10px;background:#fff}.score-title{display:flex;align-items:center;gap:6px}.score-title .symbol{font-size:18px;line-height:1;flex-shrink:0}.score-title h3{font-size:14px;line-height:1.4}.score-number{font-size:20px;font-weight:800;line-height:1.2;margin-top:6px}.score-number small{font-size:12px;font-weight:500;margin-left:3px}.score-card.total .score-number{font-size:36px}.score-card.total{background:#e9e9e9}.score-comment{font-size:14px;line-height:1.6;margin-top:6px}.score-number.unknown{font-size:18px}
.detail-replacement{border-top:2px solid #777;margin-top:18px;padding-top:14px}.replacement-heading{padding-top:18px}.checkpoints{padding:22px 0 14px}.check-list{display:grid;gap:10px;margin-top:12px}.check-list p{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.6}.check-list b{font-size:12px;padding-top:2px}
.market-group{border:1px solid #aaa;background:#fafafa}.market-group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px;background:#e9e9e9}.market-group-heading>span{font-size:12px;white-space:nowrap}
.market-panels{display:grid;grid-template-columns:minmax(0,1fr)}.trend,.comparison{min-width:0;padding:24px 12px 12px}.comparison{border-top:1px solid #ccc}.trend-summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.trend-summary>b{font-size:20px;white-space:nowrap}.chart-placeholder{height:120px;border-left:1px solid #aaa;border-bottom:1px solid #aaa;margin-top:12px;background:repeating-linear-gradient(to top,#f7f7f7 0,#f7f7f7 29px,#ddd 30px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:14px;color:#555}.chart-placeholder small{font-size:12px}.chart-axis{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-top:4px}.reference-note{font-size:12px;line-height:1.5;color:var(--muted)}.trend>.reference-note{margin-top:8px}
.comparison-table{margin-top:8px;border:1px solid #bbb}.comparison-table>div{display:flex;justify-content:space-between;gap:6px;align-items:center;padding:7px 8px}.comparison-table>div+div{border-top:1px solid #ccc}.comparison-table>div:first-child{background:#e5e5e5}.comparison-table span{font-size:12px}.comparison-table strong{font-size:18px;white-space:nowrap}.comparison-key{font-size:12px;display:flex;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap}.comparison-key b{white-space:nowrap}
.disclosure{margin-top:8px}.disclosure>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:14px}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary::after{content:"＋";font-size:22px;flex-shrink:0}.disclosure[open]>summary::after{content:"−"}.disclosure-body{padding-top:8px}.relative p{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12px;padding:4px 0}.relative b{white-space:nowrap}.disclosure-body>.reference-note{margin-top:10px}
.premium{margin-top:12px;padding:24px 12px 8px;border:1px solid #aaa}.premium-heading>p{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:12px}.premium-heading b{font-size:20px;white-space:nowrap}.premium .disclosure{border-top:1px solid #ddd;margin-top:10px}.line-table>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1px solid #ddd;padding:8px 0}.line-table dt{font-size:12px;max-width:60%}.line-table dd{font-size:14px;white-space:nowrap;font-weight:700}.premium .disclosure-body{padding-bottom:8px}
.facts{margin-top:12px;border:1px solid #aaa;padding:18px 12px 8px}.facts>summary{min-height:52px}.facts>summary b{font-size:16px}.facts>summary small{font-size:12px;display:block;margin-top:2px;color:#555}.facts-table{display:grid;gap:0 24px}.facts-table>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;border-top:1px solid #ccc;padding:8px 0}.facts-table dt{font-size:12px;color:#555}.facts-table dd{font-size:14px;overflow-wrap:anywhere}
.buyback-grid{display:grid;gap:12px;margin-top:20px}.buyback-panel{border:1px solid #777;background:#fafafa;border-radius:4px;min-width:0;scroll-margin-top:12px}.buyback-panel>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:86px;padding:22px 14px 12px}.buyback-panel>summary::-webkit-details-marker{display:none}.buyback-panel summary b{display:block;font-size:16px}.buyback-panel summary small{display:block;font-size:12px;margin-top:2px;color:#555}.expand-icon{font-size:26px;font-weight:400}.buyback-panel[open] .expand-icon{transform:rotate(45deg)}.buyback-content{padding:14px;border-top:1px solid #aaa}.buyback-content h3{font-size:16px}.offer-content>p{background:#eee;padding:18px 12px;font-size:14px;margin-block:14px}.offer-table-wrap{overflow-x:auto;margin-top:12px}.offer-table{min-width:440px;width:100%;border-collapse:collapse;text-align:left}.offer-table th,.offer-table td{padding:10px 8px;border-bottom:1px solid #bbb;font-size:12px}.offer-table td{font-size:14px}.scroll-hint{font-size:12px;margin-top:8px}
.editorial{margin-top:16px;padding-top:24px}.editorial p{margin-top:10px}.end-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 0;font-size:12px;color:#555}.legacy-site-footer{background:#e4e4e4;border-top:1px solid #999;padding:24px 0}.legacy-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.legacy-footer-brand{min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:700}.legacy-footer-inner nav{display:flex;gap:0 16px;flex-wrap:wrap;width:100%}.legacy-footer-inner nav a{font-size:12px;min-height:44px;display:flex;align-items:center}.legacy-footer-inner>small{font-size:10px;color:#666}
.marker{position:relative}.id-chip{display:none;position:absolute;top:2px;left:3px;z-index:5;font:600 9px/14px Arial,Meiryo,sans-serif;color:#fff;background:#333;border:1px solid #fff;padding:0 3px;white-space:nowrap;pointer-events:none}.show-ids .id-chip{display:block}.legacy-header-inner>.id-chip{top:0}.update-strip>.id-chip{top:3px}.end-row>.id-chip{top:0}.legacy-footer-inner>.id-chip{top:-14px}
dialog{border:1px solid #888;border-radius:4px;padding:22px;max-width:calc(100vw - 28px);width:600px;max-height:calc(100dvh - 28px);color:var(--ink)}dialog::backdrop{background:#0007}.dialog-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.close{width:44px;height:44px;flex-shrink:0;font-size:22px}dialog>p{margin:12px 0;font-size:14px}dialog label{display:block;margin-top:16px;font-size:14px}dialog select{display:block;width:100%;padding:8px;min-height:44px;margin-top:6px;font-size:16px}dialog form>.button{width:100%;margin-block:16px}.checkbox-label{display:flex;gap:10px;align-items:center;min-height:44px}.menu-items{display:grid;padding-top:16px}.menu-items a{padding:12px 0;border-bottom:1px solid #bbb;min-height:48px}.dialog-open{overflow:hidden}
@media(max-width:374px){:root{--gutter:12px;--slab-width:112px}.logo-placeholder{width:144px;height:34px}.hero-grid{gap:8px;padding-inline:10px}.radar-panel h2{font-size:14px}.market-price strong{font-size:28px}.score-card{padding-inline:8px}.score-title h3{font-size:13px}.score-title .symbol{font-size:16px}.buyback-jump .button{font-size:13px;padding-inline:5px;gap:4px}.trend-summary{flex-wrap:wrap}.check-list p{grid-template-columns:56px minmax(0,1fr)}.review-strip b{margin-left:2px}}
@media(min-width:375px) and (max-width:389px){:root{--slab-width:128px}}
@media(min-width:768px){:root{--gutter:24px;--slab-width:176px}body{font-size:15px}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}.legacy-header-inner{min-height:72px}.logo-placeholder{width:190px;height:40px}.hero-grid{grid-template-columns:220px minmax(0,360px);justify-content:center;gap:36px;padding:24px}.image-price{padding-top:6px}.market-price strong{font-size:36px}.radar-panel{padding:18px 10px 10px}.radar-panel h2{font-size:22px}.radar-panel svg{height:268px;max-height:290px}.radar-panel .reference-note,.eyebrow{font-size:12px}.identity{padding:22px 24px}.number{font-size:14px}.card-description{font-size:15px}.panel{padding:20px 24px}.evaluation-panel{margin-top:24px}.summary p{font-size:15px}.buyback-jump{display:flex;align-items:center;gap:16px}.buyback-jump>div{margin:0;flex:1;max-width:470px}.score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.score-card{padding:22px 14px 12px}.score-number{font-size:22px}.score-card.total .score-number{font-size:44px}.check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.checkpoints{padding-bottom:18px}.market-group-heading{padding:12px 16px}.market-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.trend,.comparison{padding-inline:16px}.comparison{border-top:0;border-left:1px solid #ccc}.chart-placeholder{height:142px}.premium{padding-inline:16px}.premium-heading{display:flex;gap:24px;justify-content:space-between;align-items:baseline}.premium-heading>p{gap:12px;justify-content:flex-end}.premium .disclosure-body{max-width:760px}.facts{padding-inline:16px}.facts-table{grid-template-columns:repeat(2,minmax(0,1fr))}.facts-table>div{grid-template-columns:100px minmax(0,1fr)}.buyback-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.buyback-panel summary b{font-size:18px}.legacy-footer-inner nav{width:auto}.legacy-footer-inner>small{width:100%}}
@media(min-width:960px){.desktop-nav{display:flex;align-items:center;gap:14px;font-size:12px}.desktop-nav a{display:flex;align-items:center;min-height:44px}.legacy-header-inner{gap:18px}#menu-button{display:none}.hero-grid{column-gap:56px;grid-template-columns:240px minmax(0,380px)}:root{--slab-width:192px}}
@media(min-width:1200px){:root{--slab-width:200px}.desktop-nav{gap:22px}.hero-grid{grid-template-columns:250px minmax(0,400px)}}
.image-price{padding-top:20px}.desktop-nav{padding-top:18px}.score-title h3>span{display:inline-block;white-space:nowrap}

/* v1.2: compact smartphone overview; shared artwork and score semantics stay intact. */
@media(max-width:767px){
  :root{--slab-width:112px}
  .hero-grid{grid-template-columns:var(--slab-width) minmax(0,1fr);gap:8px;padding:8px;align-items:start}
  .image-price{gap:5px;padding-top:17px}
  .market-price>span{font-size:10px;line-height:14px}
  .market-price p{padding:1px 0;gap:1px}
  .market-price strong{font-size:22px;line-height:1.05;letter-spacing:-.05em}
  .market-price small{font-size:10px}
  .radar-panel{padding:17px 0 4px;justify-content:flex-start}
  .eyebrow,.radar-panel .reference-note{font-size:9px;line-height:1.35}
  .radar-panel h2{font-size:12px;line-height:1.4}
  .radar-panel svg{height:190px;max-height:none;flex:none}
  .identity{padding:18px 10px 4px}
  .identity h1{font-size:14px;line-height:1.3}
  .number{font-size:11px;line-height:1.3;margin-top:2px}
  .card-description{font-size:11px;line-height:1.35;margin-top:2px}
  .evaluation-panel{display:flex;flex-direction:column;margin-top:6px;padding:8px 10px 12px}
  .section-heading{order:1;min-height:44px;padding-top:0;gap:6px}
  .section-heading>.id-chip{top:-8px}
  .section-heading h2{font-size:15px;line-height:1.3}
  .section-heading .text-link{font-size:11px}
  .summary{order:2;margin-top:2px;padding:16px 8px 4px;font-size:12px;line-height:1.3}
  .field-label{font-size:11px;line-height:1.3}
  .summary p{font-size:14px;line-height:1.35;margin-top:2px}
  .score-grid{order:3;gap:4px 6px;margin-top:6px}
  .score-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 4px;padding:18px 7px 6px}
  .score-title{gap:3px;min-width:0}
  .score-title .symbol{font-size:12px;line-height:1.4}
  .score-title h3{font-size:12px;line-height:1.4}
  [data-metric="psa10_premium"] .score-title h3{font-size:11px}
  .score-number{margin:0;font-size:18px;line-height:1.15;white-space:nowrap}
  .score-number small{font-size:10px;margin-left:1px}
  .score-card.total>h3{font-size:13px;line-height:1.4}
  .score-card.total .score-number{font-size:22px}
  .score-card.total .score-number small{font-size:10px}
  .score-number.unknown{font-size:12px}
  .score-comment{grid-column:1 / -1;font-size:14px;line-height:1.35;margin:0}
  .buyback-jump{order:4;margin-top:8px;padding-top:18px}
  .buyback-jump>div{gap:6px;margin-top:2px}
  .buyback-jump .button{min-height:44px}
  .detail-replacement{order:5}
}
@media(max-width:374px){
  :root{--slab-width:98px}
  .hero-grid{gap:6px}
  .radar-panel svg{height:174px}
  .identity h1{font-size:14px}
  .score-card{padding-inline:6px}
  .score-title h3{font-size:11px}
  .score-number{font-size:17px}
  .score-card.total .score-number{font-size:20px}
  .score-card.total>h3{font-size:12px}
  .score-card.total .score-number small{font-size:10px}
}
@media(min-width:375px) and (max-width:389px){
  :root{--slab-width:104px}
  .radar-panel svg{height:176px}
}

/* v1.3: shared A icons and mobile metric hierarchy. */
.score-title .metric-icon{width:20px;height:20px;display:block;flex:none;object-fit:contain}
.score-card.total>h3>span{display:inline-block;white-space:nowrap}
@media(max-width:767px){
  .score-title{gap:4px;align-items:flex-start}
  .score-title .metric-icon{width:16px;height:16px;margin-top:2px}
  .score-title h3,[data-metric="psa10_premium"] .score-title h3{font-size:14px;line-height:1.35}
  .score-card.total>h3{font-size:14px;line-height:1.35}
  .score-comment{font-size:13px;line-height:1.4}
}

/* v1.4: concept-led evaluation hierarchy, using original shared SVG assets. */
.evaluation-panel{border-color:#d7d7d2;padding:16px 14px 18px}
.section-heading{padding-top:8px;min-height:52px;gap:12px}
.section-heading>.id-chip{top:-8px}
.section-heading h2{font-size:20px;line-height:1.4;letter-spacing:.01em}
.section-heading .text-link{font-size:12px;flex-shrink:0}
.evaluation-overview{order:2;min-width:0;margin-top:8px}
.score-card.total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:20px 12px 9px;background:#fafaf7;border:1px solid #c7c7bc;border-left:4px solid #d6b500;border-radius:4px}
.score-card.total>h3{font-size:16px;line-height:1.35;white-space:nowrap}
.score-card.total .score-number{font-size:38px;line-height:1.1;white-space:nowrap;margin:0;font-variant-numeric:tabular-nums}
.score-card.total .score-number small{font-size:12px;font-weight:500;margin-left:4px}
.score-card.total .score-comment{grid-column:1/-1;font-size:12px;line-height:1.4;margin:0;color:#62625e}
.summary{margin-top:8px;padding:20px 0 4px;background:transparent;border:0}
.summary .field-label{font-size:13px;font-weight:700;color:#333}
.summary p{font-size:14px;line-height:1.5;margin-top:4px}
.score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.score-grid .score-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;align-content:start;gap:6px 6px;border:1px solid #d6d6d0;border-radius:4px;padding:20px 10px 10px}
.score-title{gap:6px;align-items:flex-start;min-width:0}
.score-title .metric-icon{width:24px;height:24px;margin:0;flex:none}
.score-title h3,[data-metric="psa10_premium"] .score-title h3{font-size:16px;line-height:1.35;min-width:0}
.score-title h3>span{white-space:nowrap;display:inline-block}
.score-grid .score-number{font-size:24px;line-height:1.1;letter-spacing:0;margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}
.score-grid .score-number.unknown{font-size:13px;line-height:1.5}
.score-grid .score-comment{grid-column:1/-1;font-size:12px;line-height:1.5;margin:0;color:#41413e}
.score-grid [data-metric="psa10_premium"]{grid-column:1/-1}
.score-grid [data-metric="psa10_premium"] .score-title{align-items:center}
.buyback-jump{margin-top:14px}
.detail-replacement{border-top:1px solid #b8b8b1;margin-top:22px;padding-top:10px}
.replacement-heading{padding-top:18px}
.replacement-heading h2{font-size:18px;line-height:1.4}
.checkpoints h3{font-size:16px;line-height:1.5}
.market-group,.premium,.facts{border-color:#d6d6d0;border-radius:4px}
.market-group-heading{background:#f3f3f1}
@media(max-width:374px){
  .evaluation-panel{padding-inline:12px}
  .section-heading h2{font-size:18px}
  .score-card.total{padding-inline:10px}
  .score-card.total .score-number{font-size:34px}
  .score-grid{grid-template-columns:minmax(0,1fr);gap:6px}
  .score-grid .score-card{padding:19px 10px 8px;gap:4px 8px}
  .score-title{align-items:center}
  .score-grid .score-comment{padding-left:30px}
}
@media(min-width:768px){
  .evaluation-panel{padding:20px 24px}
  .section-heading h2{font-size:22px}
  .evaluation-overview{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);align-items:center;gap:24px}
  .score-card.total .score-number{font-size:44px}
  .summary{margin:0;padding-top:20px}
  .summary p{font-size:15px}
  .score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .score-grid [data-metric="psa10_premium"]{grid-column:auto}
  .score-grid .score-card{padding:22px 12px 12px}
  .score-grid .score-comment{font-size:13px}
  .replacement-heading h2{font-size:20px}
  .checkpoints h3{font-size:18px}
}
@media(min-width:1200px){
  .score-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .score-grid .score-title{grid-column:1/-1}
  .score-grid .score-number{grid-row:2;grid-column:1/-1}
}
@media(min-width:375px) and (max-width:767px){
  .score-grid [data-metric="price_growth"]:not([data-status="ready"]) .score-title{grid-column:1/-1}
  .score-grid [data-metric="price_growth"]:not([data-status="ready"]) .score-number{grid-column:1/-1}
}

.market-group-heading{align-items:center;flex-wrap:wrap;padding:12px 14px;gap:4px 12px}
.market-group-heading h3{font-size:18px}
.market-group-heading>span{font-size:11px}
.trend,.comparison{padding:24px 14px 14px}
.trend h4,.comparison h4{font-size:15px;line-height:1.45}
.chart-baseline-copy{font-size:12px;margin-top:6px;color:#41413e}
.chart-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:11px;margin:12px 0 8px}
.chart-legend>span{display:flex;align-items:center;gap:6px}
.chart-legend i{display:block;width:20px;height:0;border-top:3px solid #111}
.chart-legend .series-market{border-top:2px dashed #85857e}
.comparison-chart{position:relative;margin-top:8px;height:150px;border-left:1px solid #b8b8b1;border-bottom:1px solid #b8b8b1;background:repeating-linear-gradient(to bottom,#fafaf7 0,#fafaf7 49px,#e6e6e0 50px)}
.comparison-chart::before{position:absolute;content:"";left:0;right:0;top:50%;border-top:1px solid #a0a09a}
.zero-guide{position:absolute;top:calc(50% - 17px);left:4px;font-size:10px;color:#62625e}
.baseline-date-guide{position:absolute;left:33.3333%;top:0;bottom:0;border-left:1px dashed #a0a09a}
.comparison-chart>p{position:absolute;left:22px;right:8px;top:8px;text-align:center;font-size:12px;font-weight:600;color:#62625e}
.comparison-chart>p>small{display:block;font-size:11px;font-weight:400;margin-top:3px}
.chart-axis{display:block;position:relative;height:32px;font-size:10px;line-height:1.35}
.chart-axis>*{position:absolute;top:0;text-align:center;white-space:nowrap}
.chart-axis>*:first-child{left:0;text-align:left}.chart-axis>*:nth-child(2){left:33.3333%;transform:translateX(-50%)}.chart-axis>*:nth-child(3){left:66.6667%;transform:translateX(-50%)}.chart-axis>*:last-child{right:0;text-align:right}.chart-axis small{font-size:10px;font-weight:400}
.trend>.reference-note{font-size:11px;line-height:1.5}
.comparison-table>div{padding:10px 8px}.comparison-table strong{font-size:18px}
.comparison-key{font-size:12px;padding:10px 0 4px;margin-top:4px}
.premium{padding:26px 14px 12px;margin-top:16px}
.premium-heading{display:block}
.premium-heading h3{font-size:18px;line-height:1.4}
.premium-heading>p{display:block;font-size:12px;margin-top:4px}
.premium-equation{display:grid;grid-template-columns:minmax(0,1fr);margin-top:14px;row-gap:4px}
.equation-term{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;background:#f6f6f3;padding:10px 12px;border-radius:3px}
.equation-term>span{font-size:12px;line-height:1.45}
.equation-term>strong{font-size:24px;white-space:nowrap;line-height:1.2;font-variant-numeric:tabular-nums}
.equation-term>strong>b{font-weight:800}.equation-term small{font-size:12px;margin-left:3px;font-weight:500}
.equation-term>.pending-value{font-size:16px;font-weight:700;color:#62625e}
.equation-operator{font-size:18px;line-height:20px;justify-self:center;font-weight:600}
.equation-result{display:flex;align-items:center;gap:10px;padding:12px;background:#fff9d9;border-top:1px solid #d6b500;margin-top:4px}
.equation-equals{font-size:24px;font-weight:700}.equation-result>div{flex:1;min-width:0}
.equation-result>div>span{display:block;font-size:12px;line-height:1.4}.equation-result strong{display:block;font-size:28px;line-height:1.2;margin-top:4px}
.premium-note{font-size:11px;line-height:1.5;margin-top:10px}
.premium .disclosure>summary{font-size:13px}
@media(min-width:768px){
  .market-group-heading{padding-inline:16px}.market-group-heading h3,.premium-heading h3{font-size:20px}
  .comparison-chart{height:190px}
  .premium{padding-inline:16px}
  .premium-equation{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);align-items:center;column-gap:8px}
  .equation-term{display:block;text-align:center;align-self:stretch;padding:14px 8px}
  .equation-term>span{display:block;min-height:36px}
  .equation-term>strong{display:block;font-size:26px;margin-top:4px}
  .equation-term>.pending-value{font-size:18px}
  .equation-result{grid-column:1/-1;justify-content:center}
  .equation-result>div{flex:none;display:flex;gap:18px;align-items:center}
  .equation-result strong{margin:0}
}

/* v1.5: denser smartphone layout; IDs sit at panel edges without adding space. */
@media(max-width:767px){
  .evaluation-panel{margin-top:4px;padding:4px 10px 10px}
  .evaluation-panel .id-chip{top:-6px;font:600 8px/10px Arial,Meiryo,sans-serif;color:#fff}
  .checkpoints>.id-chip{top:-1px}
  .section-heading{min-height:32px;padding:0;gap:8px}
  .section-heading h2{font-size:14px;line-height:1.4;letter-spacing:0}
  .section-heading .text-link{font-size:11px;margin-block:-6px}
  .evaluation-overview{margin-top:2px}
  .score-card.total{padding:7px 10px 6px;gap:2px 8px}
  .score-card.total>h3{font-size:14px}
  .score-card.total .score-number{font-size:30px}
  .score-card.total .score-number small{font-size:11px;margin-left:3px}
  .score-card.total .score-comment{font-size:11px;line-height:1.4}
  .summary{margin-top:4px;padding:7px 0 2px}
  .summary .field-label{font-size:12px}
  .summary p{font-size:13px;line-height:1.4;margin-top:2px}
  .score-grid{gap:6px;margin-top:4px}
  .score-grid .score-card{padding:7px 8px 6px;gap:3px 5px}
  .score-title h3,[data-metric="psa10_premium"] .score-title h3{font-size:15px;line-height:1.3}
  .score-grid .score-number{font-size:22px}
  .score-grid .score-number.unknown{font-size:12px;line-height:1.4}
  .score-grid .score-comment{font-size:11px;line-height:1.4}
  .buyback-jump{margin-top:6px;padding-top:7px}
  .buyback-jump>span{font-size:11px}
  .buyback-jump .button{font-size:12px}
  .buyback-jump small{font-size:11px}
  .detail-replacement{margin-top:12px;padding-top:8px}
  .replacement-heading{padding-top:6px}
  .replacement-heading h2{font-size:15px}
  .checkpoints{padding:10px 0}
  .checkpoints h3{font-size:14px}
  .check-list{gap:6px;margin-top:6px}
  .check-list p{font-size:13px;line-height:1.45}
  .check-list b{font-size:11px}
  .market-group-heading{padding:8px 10px}
  .market-group-heading h3,.premium-heading h3{font-size:15px}
  .market-group-heading>span{font-size:10px}
  .trend,.comparison{padding:10px}
  .trend h4,.comparison h4{font-size:13px}
  .chart-baseline-copy{font-size:11px;margin-top:3px}
  .chart-legend{margin:7px 0 5px;gap:5px 12px}
  .chart-axis{height:29px}
  .comparison-table>div{padding:7px 6px}
  .comparison-table strong{font-size:16px}
  .comparison-key{padding:6px 0 0;margin-top:2px}
  .comparison .disclosure>summary{font-size:12px}
  .premium{padding:10px 10px 6px;margin-top:10px}
  .premium-heading>p{font-size:11px;margin-top:2px}
  .premium-equation{margin-top:8px;row-gap:2px}
  .equation-term{padding:7px 8px}
  .equation-term>strong{font-size:21px}
  .equation-term>.pending-value{font-size:14px}
  .equation-operator{font-size:16px;line-height:16px}
  .equation-result{padding:8px;margin-top:2px;gap:8px}
  .equation-result>div>span{font-size:11px}
  .equation-result strong{font-size:23px;margin-top:2px}
  .premium-note{margin-top:6px}
  .premium .disclosure{margin-top:6px}
  .premium .disclosure>summary{font-size:12px}
  .facts{margin-top:10px;padding:7px 10px 6px}
  .facts>summary{min-height:44px}
  .facts>summary b{font-size:14px}
  .facts>summary small{font-size:11px}
  .facts-table dd{font-size:13px}
  .buyback-grid{gap:10px;margin-top:12px}
  .buyback-panel>summary{min-height:64px;padding:17px 12px 8px}
  .buyback-panel summary b{font-size:15px}
  .end-row{padding-block:12px}
}

/* v1.11: equal metric heights; full-width mobile premium keeps its natural height. */
.score-grid{grid-auto-rows:1fr}
.evaluation-overview .summary p{margin-top:0}
@media(min-width:375px) and (max-width:767px){
  .score-grid{grid-template-rows:repeat(2,1fr) auto;grid-auto-rows:auto}
}


/* v1.12: user references for 320px rows and the six-cell evaluation at larger widths. */
.evaluation-overview{display:block;margin-top:2px}
#score-overview:empty{display:none}
.evaluation-overview .summary{margin-top:0;padding:8px;border:1px solid #d6d6d0;border-radius:4px;background:#fafaf7}
.evaluation-overview .summary p{font-size:12px;line-height:1.45;margin:0}
.score-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr);grid-auto-rows:1fr;gap:6px;margin-top:8px}
.score-grid .score-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:start;gap:6px;padding:8px 6px;border:1px solid #d6d6d0;border-radius:4px}
.score-grid [data-metric="psa10_premium"]{grid-column:auto}
.score-grid .score-card.total{border-left:1px solid #c7c7bc;border-top:3px solid #d6b500;padding:6px 6px 8px;background:#fafaf7}
.score-grid .metric-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:3px 4px;min-height:56px;align-content:start}
.score-grid .metric-heading .score-title{display:contents}
.score-grid .metric-heading h3{grid-column:1;grid-row:1;font-size:12px;line-height:1.3;font-weight:700;min-height:0;display:block;white-space:normal}
.score-grid .metric-heading h3>span{display:inline-block;white-space:nowrap}
.score-grid .metric-heading .metric-icon{grid-column:1;grid-row:2;width:24px;height:24px;margin:0}
.score-grid .score-card .metric-heading .score-number{grid-column:2;grid-row:1/3;align-self:start;justify-self:end;font-size:24px;line-height:1.1;margin:0;white-space:nowrap}
.score-grid .score-card .metric-heading .score-number.unknown{font-size:10px;line-height:1.4}
.score-grid .score-card .metric-heading .score-number small{display:block;font-size:9px;line-height:1.3;margin:2px 0 0;text-align:right}
.score-grid [data-metric="psa10_premium"] .metric-heading h3{font-size:10px}
.score-grid .score-card .score-comment{grid-column:1;grid-row:auto;align-self:start;font-size:11px;line-height:1.4;padding:0;margin:0}
.score-grid .score-card.total>.id-chip{top:-9px}
@media(max-width:374px){
  .score-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:1fr;gap:6px}
  .score-grid .score-card,.score-grid .score-card.total{grid-template-columns:104px minmax(0,1fr);grid-template-rows:auto;align-items:stretch;gap:0;padding:8px 7px;border:1px solid #d6d6d0}
  .score-grid .score-card.total{border-left:3px solid #d6b500;padding-left:5px}
  .score-grid .score-card .metric-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:0;align-self:center;padding-right:8px}
  .score-grid .metric-heading .score-title{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}
  .score-grid .metric-heading h3,.score-grid [data-metric="psa10_premium"] .metric-heading h3{font-size:13px;line-height:1.3;min-width:0;text-align:left}
  .score-grid .metric-heading .metric-icon{flex:none}
  .score-grid .score-card .metric-heading .score-number{align-self:center;justify-self:auto;font-size:28px;line-height:1.1;text-align:center}
  .score-grid .score-card .metric-heading .score-number.unknown{font-size:13px}
  .score-grid .score-card .metric-heading .score-number small{display:inline;font-size:10px;margin-left:3px}
  .score-grid .score-card .score-comment{grid-column:2;grid-row:1;align-self:stretch;display:flex;align-items:center;border-left:1px solid #d6d6d0;padding:0 0 0 10px;font-size:12px;line-height:1.45}
  .score-grid .score-card.total>.id-chip{top:-6px}
}
@media(min-width:768px){
  .evaluation-overview{margin-top:4px}
  .evaluation-overview .summary{padding:12px 14px}
  .evaluation-overview .summary p{font-size:15px;line-height:1.5}
  .score-grid{gap:12px;margin-top:12px}
  .score-grid .score-card{padding:14px;gap:8px}
  .score-grid .score-card.total{padding:12px 14px 14px}
  .score-grid .metric-heading{min-height:56px;gap:4px 12px}
  .score-grid .metric-heading h3,.score-grid [data-metric="psa10_premium"] .metric-heading h3{font-size:16px;line-height:1.35}
  .score-grid .score-card .metric-heading .score-number{font-size:32px}
  .score-grid .score-card .metric-heading .score-number.unknown{font-size:14px}
  .score-grid .score-card .metric-heading .score-number small{font-size:11px}
  .score-grid .score-card .score-comment{font-size:13px;line-height:1.5}
  .score-grid .score-card.total>.id-chip{top:-2px}
}

/* Annotation placement only; clean and ID layout remain identical. */
@media(min-width:768px){.evaluation-overview .summary>.id-chip,.score-grid .score-card>.id-chip{top:-7px}}

/* v1.19: market labels, premium conditions and populated buyback wireframe. */
.chart-legend{display:grid;gap:6px;margin-block:10px 8px}
.chart-legend>span{align-items:flex-start;min-width:0;line-height:1.5}
.chart-legend i{flex:0 0 20px;margin-top:7px}
.chart-legend b{font-weight:400;min-width:0;overflow-wrap:anywhere}
.chart-legend .series-character{border-top:3px dotted #555}
.chart-axis{height:19px}
.comparison-table>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.comparison-table span{min-width:0;line-height:1.5;overflow-wrap:anywhere}
.premium-conditions{max-width:none!important}
.mock-note{font-size:11px;line-height:1.5;color:#666;margin:0 0 10px}
.condition-grid{display:grid;gap:18px}
.condition-grid h4{font-size:13px;line-height:1.5;padding-bottom:4px;border-bottom:2px solid #ddd}
.condition-table>div{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid #e0e0dc;align-items:start}
.condition-table dt{font-size:12px;line-height:1.5}
.condition-table dd{font-size:13px;line-height:1.5;font-weight:600;min-width:0;overflow-wrap:anywhere}
.condition-total{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3f3ef;padding:10px;margin-top:14px;font-size:12px}
.condition-total strong{font-size:15px;white-space:nowrap}
.condition-exclusions{margin-bottom:8px}
.offer-content>.mock-note{background:transparent;padding:0;margin:8px 0;font-size:11px}
.offer-content>.scroll-hint{background:transparent;padding:0;margin:8px 0;font-size:11px}
.offer-table-wrap{max-width:100%;overscroll-behavior-x:contain;margin-block:8px 12px}
.offer-table{table-layout:fixed;min-width:328px;width:100%}
.offer-table th:nth-child(1){width:28%}.offer-table th:nth-child(2){width:17%}.offer-table th:nth-child(3){width:32%}.offer-table th:nth-child(4){width:23%}
.offer-table th{background:#eee;font-size:12px;padding:9px 7px}
.offer-table td{font-size:12px;line-height:1.5;padding:12px 7px;vertical-align:top;overflow-wrap:anywhere}
.offer-table td small{display:block;font-size:11px;margin-top:3px}
.offer-table .offer-price{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.offer-table .offer-price strong{font-size:15px}
.offer-table th:nth-child(3){text-align:right}.offer-table .offer-date{white-space:nowrap}
@media(min-width:768px){.condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.condition-grid h4{font-size:14px}}

.check-list .advice-label{display:flex;align-items:flex-start;gap:4px;white-space:nowrap}
.advice-label svg{width:18px;height:18px;flex:0 0 18px;margin-top:0}
.offer-table .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* v1.20: period-based explanation, grading-only detail, intact method labels. */
.comparison-comment{margin-top:12px;padding:10px;background:#f5f5f1;border-top:1px solid #d5d5cf}
.comparison-comment .mock-note{margin:0 0 5px;font-size:10px}
#comparison-narrative{font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.premium .condition-grid{grid-template-columns:minmax(0,1fr);max-width:760px}
.offer-table th:nth-child(1){width:23%}.offer-table th:nth-child(2){width:22%}
.offer-table .offer-method{white-space:nowrap;overflow-wrap:normal}
.offer-table .offer-method small{white-space:normal;overflow-wrap:anywhere}
@media(min-width:768px){#comparison-narrative{font-size:14px;line-height:1.7}}

/* v1.23: one label-free heading, retaining separate semantic data nodes. */
.identity-title>span,.identity-title .identity-code{font:inherit;color:inherit;}
.identity-title .identity-code{display:inline-block;max-width:100%;overflow-wrap:anywhere;vertical-align:baseline;}
