/* T23 · M3 相場 + scoped phone finishing for chart/events/report/signals. */
@media (max-width:767px) {
  html.m-shell .m-soba-page > .shell { width:calc(100% - 32px); padding-top:20px !important; padding-bottom:24px !important; }
  html.m-shell .m-soba-page { min-width:0; font-family:var(--f-jp); }
  html.m-shell .m-soba-page .page-lead { margin-bottom:24px; }
  html.m-shell .m-soba-page .page-lead h1 { font-size:28px; line-height:1.4; overflow-wrap:anywhere; }
  html.m-shell .m-soba-page :is(p,small,label,li,dt,dd,th,td,em,.sub,.faint,.hint,.tag,.chip,.stat .k,.stat .h) { font-size:max(13px,1em) !important; }
  html.m-shell .m-soba-page :is(.evt-tag,.evt-dates,.evt-foot,.evt-day small,.evt-note,.evt-bar .chip em,.rp-tag,.rp-meta,.rp-period,.rp-times,.rp-foot,.rp-links,.rp-more,.rp-bar .chip em,.sg-note,.sg-foot,.sg-tag,.sg-thin,.sg-rk,.sg-chg,.sg-turn,.sg-more,.sg-detail,.sg-detail .meta,.sg-nm .meta,.sg-score small,.sg-cond,.sg-text,.sg-badge,.sc-note,.sc-table,.sc-count) { font-size:13px !important; line-height:1.7; }
  html.m-shell .m-soba-page :is(p,.sub,.sg-detail dd,.prose,.rp-doc,.evt-label,.sc-note) { overflow-wrap:anywhere; min-width:0; }
  html.m-shell .m-soba-page :is(button,select,summary,a) { min-height:44px !important; min-width:44px !important; }
  html.m-shell .m-soba-page a { display:inline-flex; align-items:center; max-width:100%; }
  html.m-shell .m-soba-page :is(button,.chip,select) { height:auto; font-size:13px; }
  html.m-shell .m-soba-page :is(.evt-bar .chip,.rp-bar .chip,.evt-sel,.rp-sel) { height:44px; }
  html.m-shell .m-soba-page :is(.evt-rel,.evt-foot,.rp-links) { align-items:center; }
  html.m-shell .m-soba-page .evt-rel a { white-space:normal; overflow:visible; }
  html.m-shell .m-soba-page .rp-doc { padding:20px 16px; }
  html.m-shell .m-soba-page .sg-head { gap:8px; grid-template-columns:20px 40px minmax(0,1fr) auto; }
  html.m-shell .m-soba-page .sg-nm a { display:flex; overflow:visible; line-height:1.5; }
  html.m-shell .m-soba-page .sg-score { font-size:14px; }
  html.m-shell .m-soba-page :is(.table-wrap,.table-scroll,.sc-table-wrap) {
    max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-x:contain;
    background:linear-gradient(90deg,var(--panel) 30%,transparent) left / 32px 100% no-repeat local,
      linear-gradient(270deg,var(--panel) 30%,transparent) right / 32px 100% no-repeat local,
      linear-gradient(90deg,var(--track),transparent) left / 20px 100% no-repeat scroll,
      linear-gradient(270deg,var(--track),transparent) right / 20px 100% no-repeat scroll !important;
  }
  html.m-shell .m-soba-page :is(.table-wrap,.table-scroll,.sc-table-wrap)::before { content:'横にスクロール →'; display:block !important; opacity:1 !important; inset:auto; height:auto; background:none; pointer-events:none; transition:none; padding:8px 0; font:500 13px/1.5 var(--f-jp); color:var(--text-3); position:sticky; left:0; width:max-content; }
  html.m-shell .m-soba-page :is(.vt,.sc-table,.usmi-table) { min-width:640px; }
  html.m-shell .m-soba-page :is(.chart-host,.chart-wrap,.chart-area,.sc-root,.sg-panel,.rp-panel,.evt-panel) { min-width:0; max-width:100%; }
  html.m-shell .m-soba-page :is(.idx-grid,.summary-bar) { min-width:0; }
  html.m-shell .m-soba-page .tabs { flex-wrap:wrap; }
  html.m-shell .m-soba-page .foot { gap:16px; flex-wrap:wrap; font-size:13px; }
  .m-soba-market > h1 { margin:0 0 20px; font:900 32px/1.3 var(--f-jp); color:var(--text-1); }
  .m-soba-map-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:12px; }
  .m-soba-map-heading h2 { font:700 16px/1.4 var(--f-jp); margin:0; }
  .m-soba-map-heading span { font-size:13px; color:var(--text-3); }
  .m-soba-map { display:grid; gap:8px; height:384px; }
  .m-soba-column { display:grid; min-width:0; min-height:0; gap:8px; }
  html.m-shell .m-soba-page .m-soba-tile { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:0; min-width:0; padding:8px; gap:2px; border-radius:20px; text-decoration:none; overflow:hidden; }
  .m-soba-column.up .m-soba-tile { background:var(--up-wash); color:var(--up-text); }
  .m-soba-column.down .m-soba-tile { background:var(--down-wash); color:var(--down-text); }
  .m-soba-tile > span { font:700 13px/1.4 var(--f-jp); word-break:keep-all; overflow-wrap:anywhere; }
  .m-soba-tile b { font:900 26px/1.1 var(--f-num); letter-spacing:-.03em; white-space:nowrap; }
  .m-soba-tile.is-lead b { font-size:36px; }
  html.m-shell .m-soba-page .m-soba-tile small { font:700 14px/1.2 var(--f-num); }
  .m-soba-toolbar { display:flex; align-items:center; gap:12px; margin:24px 0 12px; }
  .m-soba-segments { display:flex; gap:4px; padding:4px; border-radius:999px; background:var(--tray); }
  html.m-shell .m-soba-page .m-soba-segments button { width:48px; height:44px; border:0; border-radius:999px; background:transparent; font:700 20px/1 var(--f-num); color:var(--text-2); }
  .m-soba-segments button[aria-pressed="true"] { background:var(--plate) !important; color:var(--plate-ink) !important; }
  .m-soba-list-count { font:500 13px/1.5 var(--f-jp); color:var(--text-3); }
  .m-soba-list { list-style:none; margin:0; padding:0; }
  .m-soba-list > li { border-bottom:1px solid var(--line); }
  html.m-shell .m-soba-page a.m-soba-row { display:flex; width:100%; gap:14px; min-height:98px; padding:10px 0; text-decoration:none; color:var(--text-1); }
  .m-soba-row img, .m-soba-image-empty { width:56px; height:78px; flex:none; object-fit:contain; border-radius:8px; background:var(--tray); }
  .m-soba-row-main { min-width:0; flex:1; }
  .m-soba-row h3 { margin:4px 0 6px; font:700 16px/1.4 var(--f-jp); overflow-wrap:anywhere; }
  .m-soba-kind { font:700 13px/1.4 var(--f-jp); color:var(--text-3); }
  .m-soba-values { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  .m-soba-values b { font:900 22px/1.2 var(--f-num); }
  .m-soba-values > span { padding:4px 8px; border-radius:999px; font:700 14px/1.2 var(--f-num); }
  .m-soba-values > .up { color:var(--up-text); background:var(--up-wash); }
  .m-soba-values > .down { color:var(--down-text); background:var(--down-wash); }
  .m-soba-row-meta { font:500 13px/1.7 var(--f-jp); margin:10px 0 0; color:var(--text-3); }
  .m-soba-confidence { margin:0 0 12px 70px; }
  .m-soba-data { margin-top:24px; border-bottom:1px solid var(--line); }
  .m-soba-data > summary { display:flex; align-items:center; justify-content:space-between; min-height:56px; list-style:none; font:700 16px/1.5 var(--f-jp); color:var(--text-1); }
  .m-soba-data > summary::after { content:'+'; font-size:22px; }
  .m-soba-data[open] > summary::after { content:'−'; }
  .m-soba-data > summary::-webkit-details-marker { display:none; }
  .m-soba-data .page-lead h1 { font-size:22px !important; margin-top:16px; }
  .m-soba-page :is(button,a,summary) { transition:transform var(--c-d-press) var(--c-e-press); }
  .m-soba-page :is(button,a,summary):active { transform:scale(.96); }
  html.c-still .m-soba-page :is(button,a,summary) { transition:none; transform:none; }
  @media(prefers-reduced-motion:reduce) { .m-soba-page :is(button,a,summary) { transition:none; transform:none; } }
}
@media(max-width:767px) {
  .m-soba-tile { container-type:inline-size; }
  .m-soba-tile b { font-size:22px; }
  .m-soba-tile.is-lead b { font-size:clamp(22px,calc(100cqi / 3.8),36px); }
}
@media(max-width:767px) {
  /* The incumbent phone table hides these fields. Restore them in プロ, keeping the full inventory reachable. */
  html.m-shell body[data-view="pro"] .m-soba-page .sg-hide-sm { display:table-cell !important; }
  html.m-shell body[data-view="pro"] .m-soba-page .sg-show-sm { display:none !important; }
}
@media(max-width:767px) {
  /* chart's four value cards carry legacy inline pastel colors; use the theme's readable numeral ink. */
  html.m-shell .m-soba-page #idx-cards .v.num { color:var(--text-1) !important; }
}

/* T23 review r1. Keep original layouts; repair phone readability and reachability. */
@media(max-width:767px) {
  html.m-shell .m-soba-page .vt :is(th,td):first-child { position:static !important; }
  html.m-shell .m-soba-page :is(summary,span,.sc-tick,.cd-l,.cd-g,.evt-lab,.rp-lab,.tp-tag) { font-size:max(13px,1em) !important; }
  html.m-shell .m-soba-page .page-lead h1 { word-break:keep-all; overflow-wrap:normal; }
  html.m-shell .m-soba-page :is(.evt-bar,.rp-bar) { align-items:flex-start; }
  html.m-shell .m-soba-page :is(.evt-lab,.rp-lab) { width:100%; flex-basis:100%; }
  html.m-shell .m-soba-page .rp-nav { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; }
  .m-soba-map { height:400px; max-height:420px; }
  html.m-shell .m-soba-page .m-soba-tile { position:relative; justify-content:flex-start; padding:10px 8px; min-height:0 !important; min-width:0 !important; overflow:hidden !important; }
  .m-soba-tile > img { position:absolute; bottom:0; right:0; width:90%; height:65%; object-fit:contain; opacity:.18; pointer-events:none; }
  .m-soba-tile > :is(span,b,small) { position:relative; z-index:1; }
  .m-soba-tile > span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; width:100%; }
  .m-soba-tile.is-compact > span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .m-soba-tile.is-compact { justify-content:center !important; }
  .m-soba-tile.no-price > small { display:none; }
  .m-soba-tile.no-price > img { height:100%; }
  .m-soba-market.is-empty .m-soba-map-heading,
  .m-soba-market.is-empty :is(.m-soba-toolbar,.m-soba-list) { display:none; }
  .m-soba-market.is-empty .m-soba-map { height:auto !important; min-height:96px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:16px; border-radius:20px; background:var(--panel); }
  .m-soba-market.is-empty .m-soba-map p { margin:0; }
  .m-soba-market.is-empty button { background:var(--tray); color:var(--text-1); border:1px solid var(--line); border-radius:999px; padding:8px 12px; }
  .m-soba-data > summary::after { content:none; }
  .m-soba-data > summary .ic { transition:transform var(--c-d-press) var(--c-e-press); }
  .m-soba-data[open] > summary .ic { transform:rotate(180deg); }
  html.m-shell .m-soba-page :is(.prose,.rp-correction,.rp-doc li,.rp-doc p) a { display:inline; min-height:0 !important; min-width:0 !important; padding-block:14px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
  html.c-still .m-soba-data > summary .ic { transition:none; }
  @media(prefers-reduced-motion:reduce) { .m-soba-data > summary .ic { transition:none; } }
}
@media(max-width:767px) {
  html.m-shell .m-soba-page :is(.evt-row,.rp-row) { flex-direction:column; align-items:stretch; gap:6px; }
  html.m-shell .m-soba-page :is(.evt-row,.rp-row) > .chips { flex:auto; width:100%; }
  html.m-shell .m-soba-page .rp-row:last-child > .chips { flex-wrap:nowrap; }
  html.m-shell .m-soba-page .rp-row .rp-sel { flex:1; }
  html.m-shell .m-soba-page .rp-correct a { display:inline; min-height:0 !important; min-width:0 !important; padding-block:14px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
}
@media(max-width:767px) {
  html.m-shell .m-soba-page :is(.tp-d,.ch-xdate) { font-size:13px !important; }
  html.m-shell .m-soba-page .vt th:nth-child(3) { display:table-cell !important; }
  html.m-shell body[data-view=pro] .m-soba-page .vt .price-sub { display:block !important; }
  html.m-shell body[data-view=pro] .m-soba-page .vt td.hide-sm { display:table-cell !important; }
}
@media(max-width:767px) {
  .m-soba-toolbar { margin-top:16px; }
}
@media(max-width:767px) {
  .m-soba-data[open] > summary::after { content:none; }
}
@media(max-width:767px) {
  /* Stable text contrast over the decorative product photo. */
  .m-soba-column.up .m-soba-tile > :is(span,b,small) { background-color:var(--up-wash); }
  .m-soba-column.down .m-soba-tile > :is(span,b,small) { background-color:var(--down-wash); }

}

/* T23 review r2: core listing prices and first-stop table readability. */
@media(max-width:767px) {
  html.m-shell .m-soba-page .vt { --m-first-col:clamp(140px,40vw,172px); width:640px; table-layout:fixed; }
  html.m-shell .m-soba-page .vt :is(th,td) { padding:12px 10px; white-space:normal; overflow-wrap:anywhere; }
  html.m-shell .m-soba-page .vt :is(th,td):first-child { width:var(--m-first-col); max-width:46vw; }
  html.m-shell .m-soba-page .vt :is(th,td):nth-child(2) { text-align:left; }
  html.m-shell .m-soba-page .vt .pair { gap:8px; flex-direction:column; align-items:flex-start; }
  html.m-shell .m-soba-page .vt .pair > div { min-width:0; }
  html.m-shell .m-soba-page .vt .nm { white-space:normal; overflow:visible; overflow-wrap:anywhere; }
  html.m-shell .m-soba-page .vt :is(.thumb,.tbox) { flex:none; }
  html.m-shell .m-soba-page [data-panel=box] .vt :is(th,td):nth-child(2),
  html.m-shell .m-soba-page [data-panel=raw] .vt :is(th,td):nth-child(2) { width:calc(400px - var(--m-first-col)); }
  html.m-shell .m-soba-page [data-panel=box] .vt :is(th,td):nth-child(3) { width:120px; }
  html.m-shell .m-soba-page [data-panel=box] .vt :is(th,td):nth-child(n+4) { width:60px; }
  html.m-shell .m-soba-page [data-panel=box] .vt th { white-space:nowrap; overflow-wrap:normal; }
  html.m-shell .m-soba-page [data-panel=box] .vt th:nth-child(3) { white-space:normal; word-break:keep-all; overflow-wrap:normal; }
  html.m-shell .m-soba-page [data-panel=raw] .vt :is(th,td):nth-child(3) { width:160px; }
  html.m-shell .m-soba-page [data-panel=raw] .vt :is(th,td):nth-child(4) { width:80px; }
  html.m-shell .m-soba-page [data-panel=psa] .vt :is(th,td):nth-child(2) { width:64px; }
  html.m-shell .m-soba-page [data-panel=psa] .vt :is(th,td):nth-child(3) { width:200px; }
  html.m-shell .m-soba-page [data-panel=psa] .vt :is(th,td):nth-child(4) { width:calc(296px - var(--m-first-col)); }
  html.m-shell .m-soba-page [data-panel=psa] .vt :is(th,td):nth-child(5) { width:80px; }
  html.m-shell .m-soba-page [data-panel=box] .vt td:nth-child(2),
  html.m-shell .m-soba-page [data-panel=raw] .vt td:nth-child(2),
  html.m-shell .m-soba-page [data-panel=psa] .vt :is(th,td):nth-child(3) { text-align:left; }
  html.m-shell .m-soba-page [data-panel=box] .vt td:nth-child(3) .price-sub { display:block !important; font-size:16px; font-weight:700; color:var(--text-1); }
  html.m-shell body[data-view=simple] .m-soba-page [data-panel=box] .vt td:nth-child(3) .sub { display:none; }
  html.m-shell .m-soba-page :is(.table-wrap,.table-scroll,.sc-table-wrap)::before { padding-left:12px; }
  html.m-shell .m-soba-page :is(.tag-psa10,.tag-psa b) { font-size:13px !important; }
  html.m-shell .m-soba-page :is(.ch-x-label,.ch-y-label) { font-size:13px; }
  html.m-shell .m-soba-page .sc-tick { white-space:nowrap; }
  html.m-shell .m-soba-page .m-soba-tile:focus-visible { outline:2px solid var(--focus-ring); outline-offset:-4px !important; }
}
